始める無料で始める

spaCy での Doc 類似度

意味的類似度とは、複数の文を解析して互いの類似性を見つけることです。この演習では、与えられたドキュメントに対する文書の意味的類似度を計算する練習をします。目的は、canned dog food(犬用缶詰)に関連するレビューを分類することです。

canned dog food のカテゴリは category に保存されています。5件のフードレビューのサンプルは、texts というリストで提供されています。en_core_web_mdnlp として読み込まれています。

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

spaCyで学ぶNatural Language Processing

コースを見る

演習の手順

  • すべての texts から Doc コンテナを作成し、documents リストに格納します。
  • categoryDoc コンテナを作成し、category_document として保存します。
  • documents を反復し、各 Doc コンテナと category_document の類似度スコアを、小数点以下3桁に丸めて出力します。

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

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

# Create a documents list containing Doc containers
documents = [____ for t in texts]

# Create a Doc container of the category
category = "canned dog food"
category_document = ____(____)

# Print similarity scores of each Doc container and the category_document
for i, doc in enumerate(documents):
  print(f"Semantic similarity with document {i+1}:", round(doc.____(____), 3))
コードを編集して実行