【发布时间】:2017-09-24 23:27:21
【问题描述】:
我正在尝试 spacy,但似乎文档存在缺陷。刚开始就花了我很长时间。我遇到的第一个问题是:-
import spacy
nlp = spacy.load("en")
Warning: no model found for 'en'
Only loading the 'en' tokenizer.
我通过导入模块解决了这个问题
import en_core_web_sm as en_core
nlp=en_core.load()
但是现在当我尝试运行这段代码时
from numpy import dot
from numpy.linalg import norm
from spacy.en import English
parser = English()
#Generate word vector of the word - apple
apple = parser.vocab[u'apple']
#Cosine similarity function
cosine = lambda v1, v2: dot(v1, v2) / (norm(v1) * norm(v2))
others = list({w for w in parser.vocab if w.has_vector and w.orth_.islower() and w.lower_ != unicode("apple")})
# sort by similarity score
others.sort(key=lambda w: cosine(w.vector, apple.vector))
others.reverse()
print "top most similar words to apple:"
for word in others[:10]:
print word.orth_
我来了
>>top most similar words to apple:
而我应该得到
>> top most similar words to apple:
>> apples iphone fruit juice cherry lemon banana pie mac orange
【问题讨论】:
-
这对我来说很好。
标签: python machine-learning nlp spacy