我想找到 2 个字符串/短语之间的部分匹配,并以[0,1]
. 我尝试使用SequenceMatcher
相同的。
请在下面找到示例代码:
from difflib import SequenceMatcher
out1 = SequenceMatcher(lambda x:x == " ",'this is a private museum','temporary vice prez').ratio()
out2 = SequenceMatcher(lambda x:x == " ",'this is a private museum','museum').ratio()
在这里,我得到的分数out1
是0.279
和。然而,在语义上不是匹配,虽然是有道理的。如何在单词级别评估字符串?out2
0.4
out1
out2
预期输出将类似于out1 = 0
and out2=0.4
。评分应基于单词级别的相似性。
任何替代解决方案都会有所帮助。
提前致谢!
编辑:通过参考vpekar接受的解决方案,使用余弦相似度作为衡量标准解决了这个问题: 如何计算给定 2 个句子字符串的余弦相似度?- Python