gpt4 book ai didi

nlp - Spacy的相似性

转载 作者:行者123 更新时间:2023-12-03 15:19:29 30 4
gpt4 key购买 nike

我试图了解Spacy中的相似性是如何工作的。我尝试使用梅拉尼娅·特朗普(Melania Trump)的speech和米歇尔·奥巴马(Michelle Obama)的speech来看看它们有多相似。

这是我的代码。

import spacy
nlp = spacy.load('en_core_web_lg')

file1 = open("melania.txt").read().decode('ascii', 'ignore')
file2 = open("michelle.txt").read().decode('ascii', 'ignore')

doc1 = nlp(unicode(file1))
doc2 = nlp(unicode(file2))
print doc1.similarity(doc2)

我得到的相似分数是0.9951584208511974。在我看来,这个相似度分数非常高。这样对吗?难道我做错了什么?

最佳答案

默认情况下,spaCy计算余弦相似度。 Similarity是通过比较单词向量或单词嵌入(单词的多维含义表示)来确定的。

returns return (numpy.dot(self.vector, other.vector) / (self_norm * other_norm))

text1 = 'How can I end violence?'
text2 = 'What should I do to be a peaceful?'
doc1 = nlp(text1)
doc2 = nlp(text2)
print("spaCy :", doc1.similarity(doc2))

print(np.dot(doc1.vector, doc2.vector) / (np.linalg.norm(doc1.vector) * np.linalg.norm(doc2.vector)))

输出:
spaCy : 0.916553147896471
0.9165532

似乎spaCy的 .vector方法创建了向量。 Documentation说,spaCy的模型是根据GloVe的向量进行训练的。

关于nlp - Spacy的相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453559/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com