Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 奇怪的相似性导致空间性_Python_Spacy - Fatal编程技术网

Python 奇怪的相似性导致空间性

Python 奇怪的相似性导致空间性,python,spacy,Python,Spacy,我在玩Spacy中的相似函数,观察到一些我不理解的东西: import spacy nlp = spacy.load('en_core_web_sm') doc1 = nlp("Honda Civic Toyota") doc2 = nlp("Honda Civic Toyota car Christian God") for token in doc1: print (token.text, doc1[0].similarity(token)) for token in doc2

我在玩Spacy中的相似函数,观察到一些我不理解的东西:

import spacy
nlp = spacy.load('en_core_web_sm')  
doc1 = nlp("Honda Civic Toyota")
doc2 = nlp("Honda Civic Toyota car Christian God")

for token in doc1:
    print (token.text, doc1[0].similarity(token))
for token in doc2:
    print (token.text, doc2[0].similarity(token))
输出:

Honda 1.0
Civic 0.6631208
Toyota 0.4700994
Honda 1.0
Civic 0.6806056
Toyota 0.54713947
car 0.22469836
Christian 0.5016042
God 0.4778438
本田一词与doc1和doc2中的所有其他词进行比较,可以观察到,当本田与思域和丰田进行比较时,doc1和doc2中的相似性是不同的。 我的理解是,相似度是根据单词手套向量的一致相似度计算的,该向量是从“en_core_web_sm”加载的。如果是这样的话,那么同一对词之间的相似性不应该与上下文无关吗

我想我显然误解了什么,如果有人能澄清一下,我将不胜感激。

如文件中所述:

相似性是通过比较单词向量或“单词嵌入”(单词的多维意义表示)来确定的。为了使它们紧凑和快速,spaCy的小型模型(所有软件包 以sm结尾)不要附带单词向量,只包括 上下文敏感张量。这意味着您仍然可以使用
similarity()
比较文档、跨度和标记的方法–但是 结果不会那么好,而且单个令牌不会有任何向量 所以为了使用真实的词向量,你需要下载一个更大的模型

所以小模型不使用词向量来表示相似性