語彙内の類似語
意味的に類似した用語を見つけることは、情報検索などで幅広く使われます。この演習では、en_core_web_md モデルの語彙から、単語 computer に最も意味的に近い用語を見つける練習をします。
単語 computer のベクトルはすでに抽出され、word_vector として保存されています。en_core_web_md モデルは nlp として、NumPy は np として読み込まれています。
nlp.vocab.vectors オブジェクトの .most_similar() 関数を使うと、意味的に最も近い用語を見つけられます。この関数の出力に対して [0][0] でインデックス指定すると、類似用語の単語IDが得られます。nlp.vocab.strings[<a given word>] を使うと、ある単語の単語IDを取得でき、同様に特定の単語IDに対応する単語も取得できます。
この演習はコースの一部です
spaCyで学ぶNatural Language Processing
演習の手順
en_core_web_mdの語彙から、最も意味的に近い用語を見つけてください。- 得られた類似用語の単語IDから、類似語のリストを取得してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Find the most similar word to the word computer
most_similar_words = nlp.vocab.vectors.____(np.asarray([____]), n = 1)
# Find the list of similar words given the word IDs
words = [nlp.____.____[____] for w in most_similar_words[0][0]]
print(words)