【发布时间】:2019-12-18 02:37:01
【问题描述】:
所以我是 NLP 新手,我正在尝试我的文档中的示例代码,但它给了我错误。
如
"ModelsWarning: [W007] 你使用的模型没有加载词向量,所以 Token.similarity 方法的结果会基于标注器、解析器和 NER,可能无法给出有用的相似度判断。如果您使用的是小型模型之一,例如en_core_web_sm,则可能会发生这种情况,该模型不附带词向量,仅使用上下文相关的张量。您始终可以添加自己的词向量,或使用较大的词向量之一替代模型(如果有)”
我从文档中准确输入的第二句话给出了这个错误
"只能将str(不是"numpy.float64")连接到str"
我可能只是在做一些愚蠢的事情,但我希望能提供一些见解,为什么会发生这种情况
import spacy
nlp = spacy.load('en')
tokens = nlp('cat apple monkey banana')
for token1 in tokens:
for token2 in tokens:
print(token1.text, token2.text, token1.similarity(token2))
print("\nWorking With Sentences\n")
sentence_to_compare = 'Why is my cat on the car'
sentences = ["Where did my dog go",
'hello, where is my car',
'I\'ve lost my car in my car',
'i\'d like my boat back',
'I will name my dog Diana'
]
model_sentences = nlp(sentence_to_compare)
for sentence in sentences:
similarity = nlp(sentence).similarity(model_sentences)
print(sentence + "-" + similarity)
【问题讨论】:
-
尝试使用
str()将相似度转换为字符串 -
@joppich 谢谢!但仍然收到错误代码 ModelsWarning: [W007] 每次打印输出
-
而且我没有使用核心语言,我是 nlp 的完整语言
标签: python-3.x nlp spacy