始める無料で始める

語彙内の類似語

意味的に類似した用語を見つけることは、情報検索などで幅広く使われます。この演習では、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)
コードを編集して実行