В настоящее время я работаю над проектом, в котором хочу найти сходство между двумя строками (адресами). Я использую несколько алгоритмов для процесса сопоставления, включая расстояние Левенштейна и алгоритм Яро-Винклера. Мы получаем результаты в виде процента сходства строк, которое говорит нам, насколько похожи эти две строки.
В некоторых классических c случаях мы имеем адреса в форме 5-й этаж, Башня 1, Северная улица и 6-й этаж, Tower2, Северная улица. Эти адреса, хотя и находятся рядом, имеют существенно различное значение в случае, если мы должны идентифицировать бизнес-объект через него. Мне удалось изменить алгоритм расстояния Левенштейна, чтобы ввести штраф в случае несоответствия di git, как в приведенном выше случае. Я хочу понять, есть ли что-то, что я могу использовать, чтобы ввести штраф и для алгоритма Яро-Винклера.