Python 模糊抽取中的奇怪行为

Python 模糊抽取中的奇怪行为,python,fuzzy-search,fuzzywuzzy,Python,Fuzzy Search,Fuzzywuzzy,我正在尝试使用fuzzyfuzzy来更正文本中拼写错误的名称。但是,我无法让process.extract和process.extractOne按照我期望的方式运行 from fuzzywuzzy import process the_text = 'VICTOR HUGO e MARIANA VEIGA' search_term = 'VEYGA' the_text = the_text.split() found_word = process.extract(search_term, t

我正在尝试使用fuzzyfuzzy来更正文本中拼写错误的名称。但是,我无法让process.extract和process.extractOne按照我期望的方式运行

from fuzzywuzzy import process

the_text = 'VICTOR HUGO e MARIANA VEIGA'
search_term = 'VEYGA'

the_text = the_text.split()
found_word = process.extract(search_term, the_text)

print(found_word)
这导致:

[('e', 90), ('VEIGA', 80), ('HUGO', 22), ('VICTOR', 18), ('MARIANA', 17)]

如何让fuzzyfuzzy正确地将“VEIGA”识别为正确的响应?

您可以尝试使用:fuzz.token\u set\u ratio或fuzz.token\u sort\u ratio 这里的答案是:给出了一个很好的解释

下面是一些代码:

from fuzzywuzzy import process
from fuzzywuzzy import fuzz

the_text = 'VICTOR HUGO e MARIANA VEIGA'
search_term = 'VEYGA'

the_text = the_text.split()
found_word = process.extract(search_term, the_text, scorer=fuzz.token_sort_ratio)

print(found_word)
输出:


[('VEIGA',80),('e',33),('HUGO',22),('VICTOR',18),('MARIANA',17)]

非常感谢。另一个答案的链接非常有用!