用于文本分类的语义相似度
语义相似度的主要目标是度量一对词、短语、句子或文档在语义上的距离。例如,单词 "car" 与 "bus" 的相似度高于它与 "cat" 的相似度。在本练习中,您将从 Amazon Fine Food Reviews 的示例文本中,找出与单词 sauce 最相似的句子。您可以使用 spacy 来计算单词 sauce 与给定 texts 字符串中任一句子的相似度分数,并报告最相似句子的分数。
已预加载一个包含所有评论 Text 数据的 texts 字符串。本练习将使用 en_core_web_md 英语模型,已作为 nlp 提供可用。
本练习是课程的一部分
使用 spaCy 的自然语言处理
练习说明
- 使用
nlp为单词sauce和texts生成Doc容器,分别存入key和sentences。 - 计算单词
sauce与texts字符串中每个句子的相似度分数(四舍五入到小数点后 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)