Соответствие имени в питоне
У нас есть сторонний "инструмент", который находит похожие имена и назначает оценку сходства между двумя именами.
Я должен максимально точно имитировать поведение инструмента. После поиска по интернету, дал выстрел на расстоянии метод. Используется нечеткий для того же.
matches = process.extractBests(
name,
choices,
score_cutoff=50,
scorer=fuzz.token_sort_ratio,
limit=1
);
Это дало результаты, близкие к результату инструмента. Однако, есть несколько выбросов - как выделено ниже.
После дальнейших поисков в интернете я понял, что для дальнейшей доработки потребуется реализация своего рода машинного обучения. Я - новичок в мире машинного обучения - поэтому ищу несколько советов о том, куда мне следует обратиться для дальнейшего уточнения кода.
Спасибо!
2 ответа
Взгляните на этот пакет. Он разработан специально для пакета HMNI для сопоставления имен.
Взгляните на алгоритмы Жакара и Левенштейна для нечеткого сопоставления строк. Оба относительно просты и могут быть реализованы в 40 или 50 строк кода.