Вывод FuzzyWuzzy странный при сравнении строки с предложением - PullRequest
0 голосов
/ 23 сентября 2019

Использование библиотеки 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)

Вывод:

[('Country Inn & Suites by Radisson, Эшвилл Вестгейт, Нью-Йорк Эшвилл, Соединенные Штаты Америки', 100), ('Country Inn & Suites by Radisson, Дели Сакет, Нью-Дели Индия', 100), ('Country Inn & Suites by Radisson, Effingham, Il Effingham Соединенные Штаты Америки, 100), ('Country Inn & Suites от Radisson, Hoffman Estates, Il Hoffman Estates, Соединенные Штаты Америки', 100), ('Country Inn & SuitesАвтор: Radisson, хватает Ирландии (Сан-Антонио), Техас Сан-Антонио, Соединенные Штаты Америки, 100), ('Inn Inn & Suites by Radisson, Mishawaka, в Мишавака, Соединенные Штаты Америки', 100), ('Country Inn & Suitesby radisson, norman, ok norman United States of America ', 100)]

Хотя приведенный выше вывод является точным, однако, если я изменю одну букву в своем запросе, результаты будут совершенно другими:

Например:

# Removing just an "s" from the query:

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

Выход:

[('6-я знаменитая роскошная дизайнерская награда виллы fontaines-sur-grandson Switzerland', 86), ('отель в отеле Marriott Madison в центре Мэдисона, Соединенные Штаты Америки', 86), ('apart paradiso mar azul argentina', 86), ('apartamento cadiz paradiso cadiz spain', 86), ('aparthotel paradisoНесебр Болгария ', 86), (' квартира Мэдисон возле центрального парка с видом на город Джакарта Индонезия ', 86)]

Разница в обоих выходах огромна, я неправильно использую модуль Fuzzywuzzy?

...