始める無料で始める

spaCyでの語義曖昧性解消(WSD)

WSD(語義曖昧性解消)は、文中で単語がどの意味で使われているかを判定する古典的な課題です。検索エンジン、機械翻訳、質問応答システムでは、単語の意味を特定することが非常に重要です。この演習では、語義曖昧性解消のためにPOS(品詞)タグ付けを使う練習をします。

ここでは、単語 jam を含む2つの文があり、それぞれ異なる意味を持ちます。与えられた文で該当する意味を見極める手がかりとして、どのPOSタグかを特定してください。

2つの文は texts リストに用意されています。en_core_web_sm モデルはすでに読み込まれており、nlp として利用できます。

この演習はコースの一部です

spaCyで学ぶNatural Language Processing

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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")
コードを編集して実行