Я пытаюсь построить результаты на основе поиска, где у меня будет входной фрейм данных, имеющий одну строку, и я хочу сравнить с другим фреймом данных, имеющим почти 1 миллион строк.Я использую пакет под названием Record Linkage
Однако я не могу обработать опечатки.Допустим, у меня в исходных данных есть «HSBC», а пользователь вводит его как «HKSBC», я хочу вернуть только результаты «HSBC».Сравнивая расстояние сходства строк с jarowinkler, я получаю следующие результаты:
from pyjarowinkler import distance
distance.get_jaro_distance("hksbc", "hsbc", winkler=True, scaling=0.1)
>> 0.94
Однако я не могу дать "HSBC" в качестве вывода, поэтому я хочу создать новый столбец в моих пандахВ кадре данных, где я буду вычислять оценки сходства строк и возьму ту часть оценки, которая имеет оценку выше определенного порога.
Кроме того, основным узким местом является то, что у меня есть почти 1 миллион данных, поэтому мне нужночтобы вычислить это очень быстро.
PS У меня нет намерений использовать fuzzywuzzy
, предпочтительно либо Jaccard
, либо Jaro-Winkler
PPS. Любые другие идеи для обработки опечаток для поиска на основе вещитакже приемлемо