spaCy での Doc 類似度
意味的類似度とは、複数の文を解析して互いの類似性を見つけることです。この演習では、与えられたドキュメントに対する文書の意味的類似度を計算する練習をします。目的は、canned dog food(犬用缶詰)に関連するレビューを分類することです。
canned dog food のカテゴリは category に保存されています。5件のフードレビューのサンプルは、texts というリストで提供されています。en_core_web_md は nlp として読み込まれています。
この演習はコースの一部です
spaCyで学ぶNatural Language Processing
演習の手順
- すべての
textsからDocコンテナを作成し、documentsリストに格納します。 categoryのDocコンテナを作成し、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))