问题描述
我正在使用fuzzywuzzy和Rapidfuzz来查找注释中提到的名称。我通读了“ token_set_ratio”函数的文档,但仍然不了解以下内容:
# I preprocessed the comments to remove stop words and commonly mentioned other words
fuzz.token_set_ratio("reporting michael anders sven straumann guy called jonatjan smith partners","jonathan smith")
# returns 52.6
此外,是否可以解决该问题,让乔纳森获得更高的分数?
感谢您的帮助, 迈克尔
解决方法
Fuzz.token_set_ratio
并不是真正适合您的问题的比率,因为它会对单词进行排序,而您希望保留名字和名字的配对。您可以使用fuzz.partial_ratio
来比较长字符串和短字符串中最匹配的子字符串。
fuzz.partial_ratio(
"reporting michael anders sven straumann guy called jonatjan smith partners","jonathan smith")
# returns 92.85714285714286