【发布时间】:2020-06-11 03:42:38
【问题描述】:
我正在开发一个简单的 NLP 项目,其中我们给出了一组单词并从文本中找到相似/语音相似的单词。我找到了很多算法,但没有找到示例应用程序。
它还应该通过比较关键字和找到的单词来给出相似度分数。
谁能帮帮我?
def word2vec(word):
from collections import Counter
from math import sqrt
cw = Counter(word)
sw = set(cw)
lw = sqrt(sum(c*c for c in cw.values()))
return cw, sw, lw
def cosdis(v1, v2):
common = v1[1].intersection(v2[1])
return sum(v1[0][ch]*v2[0][ch] for ch in common)/v1[2]/v2[2]
list_A = ['e-commerce', 'ecomme', 'e-commercy', 'ecomacy', 'E-Commerce']
list_B = ['E-Commerce']
for word in list_A:
for key in list_B:
res = cosdis(word2vec(word), word2vec(key))
print(res)
此代码仅进行逐字比较。
谁能帮帮我?
【问题讨论】:
标签: python python-3.x nlp cosine-similarity