我想找到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
和out2=0.4
。评分应基于单词级别的相似性。
任何替代解决方案都会有所帮助。
提前致谢!
编辑:通过参考 vpekar 所接受的解决方案,使用余弦相似性作为衡量标准来解决此问题: How to calculate cosine similarity given 2 sentence strings? - Python