spacy相似度大于1

时间:2019-09-06 16:29:28

标签: machine-learning nlp spacy

spaCy相似性有时很奇怪。 如果我们比较完全相等的文本,则得到1.0分。 但文字几乎相等,我们可以得到> 1的分数。 此行为可能会损害我们的代码。 为什么我们得到这个> 1.0的分数,我们可以预测吗?

def calc_score(text_source, text_target):
    return nlp(text_source).similarity(nlp(text_target))

# nlp = spacy.load('en_core_web_md')
calc_score('software development', 'Software development')
# 1.0000000155153665

1 个答案:

答案 0 :(得分:0)

来自https://spacy.io/usage/vectors-similarity

  

相同的令牌显然彼此100%相似(只是不相似)   由于向量数学和浮点数,总是精确为1.0   精确度)。

只需按照https://stackoverflow.com/a/13232356/447599使用np.clip