我理解spacy 2 alpha(或称为spacy-nightly)是根据其上下文构建单词的向量 - 所以我确实理解nlp中单词的相似度值之间的差异(' apple oranges')和分离的nlp(' apples')和nlp(' oranges')(当然我使用spacy 1和spacy 2的不同模型)。但是我不明白我怎么想调用/输入字符串让我们说相似的方法。
他们是否改变了数据模型?我在文档中找不到任何内容...... 我做错了什么 - 即我的结果合理吗?
当然我在分离的虚拟环境中运行这些代码
spacy 1 - 这很好用:
print(nlp('apples').similarity(nlp('oranges')))
# 0.77809414836
spacy 2 - 返回0.0 - 因此不起作用:
print(nlp('apples').similarity(nlp('oranges')))
# 0.0
有什么想法吗?下面的代码显示了什么对我有用,什么不对..
import spacy # version spacy (1.9.0)
nlp = spacy.load('en_core_web_md')
doc = nlp('apples oranges')
print(doc[0].similarity(doc[1]))
#0.77809414836
print(nlp('apples')[0].similarity(nlp('oranges')[0]))
#0.77809414836
print(nlp('apples').similarity(nlp('oranges')))
# 0.77809414836
#----------------
import spacy # spacy-nightly (2.0.0a14)
nlp = spacy.load('en_core_web_sm')
doc = nlp('apples oranges')
print(doc[0].similarity(doc[1]))
# 0.630915
print(nlp('apples')[0].similarity(nlp('oranges')[0]))
# 0.892392
print(nlp('apples').similarity(nlp('oranges')))
# 0.0