我正在测试SpaCy文档中的this basic example,并得到一些奇怪的结果。
import spacy
nlp = spacy.load('en_core_web_md')
tokens = nlp(u'dog cat banana')
for token1 in tokens:
for token2 in tokens:
print(token1.text, token2.text, token1.similarity(token2))
我的设置:
预期结果:
dog dog 1.0
dog cat 0.80168545
dog banana 0.24327646
cat dog 0.80168545
cat cat 1.0
cat banana 0.2815437
banana dog 0.24327646
banana cat 0.2815437
banana banana 1.0
我的结果:
dog dog 1.0
dog cat 0.0
dog banana 0.0
cat dog 0.0
cat cat 1.0
cat banana -0.0446812
banana dog -7.82874e+17
banana cat -8.24222e+17
banana banana 1.0
我尝试卸载并重新安装SpaCy以及所有各种型号,甚至SpaCy本身。我还尝试了一个更简单的示例:
import spacy
nlp = spacy.load('en_core_web_md')
cat = nlp(u'cat')
dog = nlp(u'dog')
print(cat.similarity(dog)) # 0.0
答案 0 :(得分:0)
我通过创建一个使用Python 3.7而不是3.6的新的Conda环境解决了这一问题。我现在看到的与SpaCy文档中的演示所产生的结果相同。