テキスト分類のための意味的類似度
意味的類似度の主な目的は、単語、句、文、文書の意味の「距離」を測ることです。たとえば、単語 “car” は “cat” よりも “bus” に近い意味を持ちます。この演習では、Amazon Fine Food Reviews の例文から、単語 sauce に似ている文を見つけます。spacy を使って、与えられた texts 文字列内の各文について、単語 sauce との類似度スコアを計算し、最も類似した文のスコアを報告できます。
すべてのレビューの Text データを含む texts 文字列があらかじめ読み込まれています。この演習では英語モデル en_core_web_md を使用し、すでに nlp として利用可能です。
この演習はコースの一部です
spaCyで学ぶNatural Language Processing
演習の手順
nlpを使って、単語sauceとtextsのDocコンテナを生成し、それぞれkeyとsentencesに保存します。- 文字列
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)