始める無料で始める

テキスト分類のための意味的類似度

意味的類似度の主な目的は、単語、句、文、文書の意味の「距離」を測ることです。たとえば、単語 “car” は “cat” よりも “bus” に近い意味を持ちます。この演習では、Amazon Fine Food Reviews の例文から、単語 sauce に似ている文を見つけます。spacy を使って、与えられた texts 文字列内の各文について、単語 sauce との類似度スコアを計算し、最も類似した文のスコアを報告できます。

すべてのレビューの Text データを含む texts 文字列があらかじめ読み込まれています。この演習では英語モデル en_core_web_md を使用し、すでに nlp として利用可能です。

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

spaCyで学ぶNatural Language Processing

コースを見る

演習の手順

  • nlp を使って、単語 saucetextsDoc コンテナを生成し、それぞれ keysentences に保存します。
  • 文字列 texts 内の各文について、単語 sauce との類似度スコアを計算します(小数点以下2桁に丸めます)。

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

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

# Populate Doc containers for the word "sauce" and for "texts" string
key = ____
sentences = ____

# Calculate similarity score of each sentence and a Doc container for the word sauce
semantic_scores = []
for sent in sentences.____:
	semantic_scores.append({"score": round(sent.____(____), 2)})
print(semantic_scores)
コードを編集して実行