Get startedGet started for free

Word-sense disambiguation with spaCy

WSD is a classical problem of deciding in which sense a word is used in a sentence. Determining the sense of the word can be crucial in search engines, machine translation, and question-answering systems. In this exercise, you will practice using POS tagging for word-sense disambiguation.

There are two sentences containing the word jam, with two different senses and you are tasked to identify the POS tags to help you determine the corresponding sense of the word in a given sentence.

The two sentences are available in the texts list. The en_core_web_sm model is already loaded and available for your use as nlp.

This exercise is part of the course

Natural Language Processing with spaCy

View Course

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

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")
Edit and Run Code