Сопоставление текста с использованием библиотеки FuzzyWuzzy приводит к неверным результатам - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь сопоставить слова с ошибками с правильными предложениями из файла CSV.
Для процесса я использую библиотеку FuzzyWuzzy в Python: https://pypi.org/project/fuzzywuzzy/

Ниже приведен краткий фрагмент кода, который я пробовал.

data = pd.read_csv("abc.csv",encoding ='latin1') 
df = data.main_hotel_name.str.lower().tolist()
ds = [str(x) for x in df]
process.extract("radisson",ds,scorer=fuzz.partial_ratio,limit=10)

Результаты этого фрагментав следующем выводе:

[('inn & suite's by radisson, asheville westgate, nc asheville соединенные штаты америки', 100),
('inn & suite suite by radisson, hoffman estates,il hoffman estates Соединенные Штаты Америки ', 100),
(' Country Inn & Suites by Radisson ,АЛЛАНД АФБ (Сан-Антонио), TX Сан-Антонио Соединенные Штаты Америки ', 100),
(' Страна Инн& suites от radisson, mishawaka, в mishawaka, United States of America ', 100)]

Обратите внимание, что каждая строка содержит запрос, т. е. «radisson».Однако, если я изменю одну букву в своем запросе, результаты будут совершенно другими:

Удаление только «s» из запроса:

process.extract("radison",ds,scorer=fuzz.partial_ratio,limit=10)

Вывод:
[('6-й знаменитый роскошный дизайн отмечен наградой виллы фонтан-сюр-внук Швейцарии ', 86),
(' отель Марриотт Мэдисон, центр города Мэдисон, Соединенные Штаты Америки ', 86),
(' Apart Paradiso Mar Azul Argentina ',86),
('apartamento cadiz paradiso cadiz spain', 86),
('квартира Мадисон рядом с центральным парком с видом на город Джакарта Индонезия', 86)]

В новом выходе естьне задействованы ни строки «radison», ни «radisson».
Разница в обоих выходах огромна, я неправильно использую модуль Fuzzywuzzy?

...