UserWarning: [W008] Evaluating Doc.similarity based on empty vectors.

使用spacy计算两个token的相似性时,出现标题的警告。

similar_word.similarity(token)

UserWarning: [W008] Evaluating Doc.similarity based on empty vectors.

报错原因:当similar_word不是一个有效的spacy doc时,则会出现如下报错。
栗子

import spacy

nlp = spacy.load('en_core_web_md')
tokens = nlp(u'apple banana')

similar_word = nlp(u'')
for token in tokens:
  print(token.text, similar_word.similarity(token))


similar_word = nlp(u'pear')
for token in tokens:
  print(token.text, similar_word.similarity(token))
  
# 运行结果
apple 0.0
banana 0.0
UserWarning: [W008] Evaluating Doc.similarity based on empty vectors.
UserWarning: [W008] Evaluating Doc.similarity based on empty vectors.

apple 0.5968762355521726
banana 0.6300500965184214

解决方式
在调用 similarity()之前检查相似的单词是否有效,包括是否有一个有效的单词向量。

import spacy

nlp = spacy.load('en_core_web_md')
tokens = nlp(u'apple banana')

similar_word = nlp(u'')
if(similar_word and similar_word.vector_norm):
  for token in tokens:
    if(token and token.vector_norm):
        print(token.text, similar_word.similarity(token))

# 运行结果
无输出
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值