spaCy での Span 類似度
意味的な類似度を測ると、テキストをあらかじめ定義したカテゴリに分類したり、関連するテキストを検出したり、重複コンテンツにフラグを立てたりできます。この演習では、与えられた文書と、その文書内のスパンとの意味的類似度を計算する練習をします。目的は、canned dog food(犬用ウェット缶詰)に最も関連する、3 トークンからなる Span を見つけることです。
カテゴリ canned dog food は category に保存されています。テキスト文字列はすでに text に格納され、en_core_web_md は nlp として読み込まれています。text の Doc コンテナも作成済みで、document に保存されています。
この演習はコースの一部です
spaCyで学ぶNatural Language Processing
演習の手順
categoryのDocコンテナを作成し、category_documentに保存します。- 与えられた
Spanとcategory_documentの類似度スコアを、小数点以下 3 桁に丸めて出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a Doc container for the category
category = "canned dog food"
category_document = nlp(____)
# Print similarity score of a given Span and category_document
document_span = document[0:3]
print(f"Semantic similarity with", document_span.text, ":", round(document_span.____(____), 3))