Aan de slagGa gratis aan de slag

Woordbetekenis-ontleding met spaCy

WSD is een klassiek probleem waarbij je bepaalt in welke betekenis een woord in een zin wordt gebruikt. Het bepalen van de juiste betekenis kan cruciaal zijn voor zoekmachines, machinevertaling en vraag-antwoordsystemen. In deze oefening ga je oefenen met het gebruik van POS-tagging voor woordbetekenis-ontleding.

Er zijn twee zinnen met het woord jam, met twee verschillende betekenissen. Jij moet de POS-tags identificeren om zo de juiste betekenis van het woord in een gegeven zin te bepalen.

De twee zinnen staan in de lijst texts. Het model en_core_web_sm is al geladen en beschikbaar als nlp.

Deze oefening maakt deel uit van de cursus

Natural Language Processing met spaCy

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

texts = ["This device is used to jam the signal.",
         "I am stuck in a traffic jam"]

# Create a list of Doc containers in the texts list
documents = [____ for t in texts]

# Print a token's text and POS tag if the word jam is in the token's text
for i, doc in enumerate(documents):
    print(f"Sentence {i+1}: ", [(____, ____) for token in doc if "jam" in token.text], "\n")
Code bewerken en uitvoeren