Расстояние Яро–Винклера использует шкалу префиксов , которая дает более благоприятные оценки строкам, которые совпадают с самого начала для заданной длины префикса .
Чем выше расстояние Яро–Винклера для двух строк, тем менее похожи строки. Оценка нормализована таким образом, что 0 означает точное совпадение, а 1 означает, что сходства нет. Оригинальная статья фактически определила метрику в терминах сходства, поэтому расстояние определяется как инверсия этого значения (расстояние = 1 − сходство).
Хотя расстояние Джаро–Винклера часто называют метрикой расстояния , оно не является метрикой в математическом смысле этого термина, поскольку не подчиняется неравенству треугольника .
Определение
сходство Джаро
Сходство Джаро двух данных строк и равно
Где:
длина строки ;
количество совпадающих символов (см. ниже);
— число транспозиций (см. ниже).
Показатель сходства Jaro равен 0, если строки вообще не совпадают, и 1, если они точно совпадают. На первом этапе каждый символ из сравнивается со всеми соответствующими ему символами в . Два символа из и соответственно считаются совпадающими , только если они одинаковы и не дальше символов друг от друга. Например, следующие две строки длиной в девять символов, FAREMVIEL и FARMVILLE, имеют 8 совпадающих символов. «F», «A» и «R» находятся в одной и той же позиции в обеих строках. Также «M», «V», «I», «E» и «L» находятся в пределах трех (результат ) символов друг от друга. [3] Если совпадающих символов не найдено, то строки не похожи, и алгоритм завершается, возвращая показатель сходства Jaro 0.
Если найдены ненулевые совпадающие символы, следующим шагом будет поиск количества транспозиций. Транспозиция — это количество совпадающих символов, которые не находятся в правильном порядке, деленное на два. В приведенном выше примере между FAREMVIEL и FARMVILLE, 'E' и 'L' — это совпадающие символы, которые не находятся в правильном порядке. Таким образом, количество транспозиций равно одному.
Наконец, подставив число совпадающих символов и число транспозиций, можно рассчитать сходство Джаро между FAREMVIEL и FARMVILLE,
Сходство Яро–Винклера
Сходство Джаро–Винклера использует шкалу префиксов , которая дает более благоприятные оценки строкам, которые совпадают с самого начала для заданной длины префикса . Для двух строк и их сходство Джаро–Винклера равно:
где:
есть подобие Джаро для струн и
длина общего префикса в начале строки, максимум до 4 символов
— постоянный коэффициент масштабирования, указывающий, насколько оценка корректируется в сторону увеличения из-за наличия общих префиксов. не должно превышать 0,25 (т.е. 1/4, где 4 — максимальная длина рассматриваемого префикса), в противном случае сходство может стать больше 1. Стандартное значение этой константы в работе Винклера равно
Расстояние Яро–Винклера определяется как .
Хотя расстояние Яро–Винклера часто называют метрикой расстояния , оно не является метрикой в математическом смысле этого термина, поскольку не подчиняется неравенству треугольника . [4] Расстояние Яро–Винклера также не удовлетворяет аксиоме тождества .
Связь с другими показателями расстояния редактирования
Существуют и другие популярные меры расстояния редактирования , которые рассчитываются с использованием другого набора допустимых операций редактирования. Например,
расстояние Левенштейна допускает удаление, вставку и замену;
расстояние Дамерау –Левенштейна допускает вставку, удаление, замену и перестановку двух соседних символов;
Расстояние Хэмминга допускает только замену, поэтому оно применимо только к строкам одинаковой длины.
Расстояние редактирования обычно определяется как параметризуемая метрика, вычисляемая с помощью определенного набора разрешенных операций редактирования, и каждой операции назначается стоимость (возможно, бесконечная). Это далее обобщается алгоритмами выравнивания последовательностей ДНК , такими как алгоритм Смита-Уотермана , которые делают стоимость операции зависящей от того, где она применяется.
^ Джаро, Мэтью А. (1 июня 1989 г.). «Достижения в методологии связывания записей применительно к сопоставлению переписи 1985 г. в Тампе, Флорида». Журнал Американской статистической ассоциации . С. 414–420 . doi :10.1080/01621459.1989.10478785.
^ Винклер, Уильям Э. (1990). «Метрики компаратора строк и улучшенные правила принятия решений в модели Феллеги-Сантера связи записей».
^ «Что такое сходство Яро-Винклера?». www.baseclass.io . Архивировано из оригинала 28 января 2024 г. . Получено 26 июля 2012 г. .{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
^ "Jaro-Winkler «Inviting Epiphany". RichardMinerich.com . Получено 12 июня 2017 г. .
Ссылки
Cohen, WW; Ravikumar, P.; Fienberg, SE (2003). "Сравнение метрик расстояния строк для задач сопоставления имен" (PDF) . Семинар KDD по очистке данных и консолидации объектов . 3 : 73– 8.
Jaro, MA (1989). «Достижения в методологии связывания записей применительно к переписи населения 1985 года в Тампе, Флорида». Журнал Американской статистической ассоциации . 84 (406): 414– 20. doi :10.1080/01621459.1989.10478785.
Jaro, MA (1995). «Вероятностная связь большого файла данных общественного здравоохранения». Статистика в медицине . 14 ( 5– 7): 491– 8. doi : 10.1002/sim.4780140510. PMID 7792443.
Winkler, WE (1990). «Метрики компаратора строк и улучшенные правила принятия решений в модели Феллеги-Сантера для связывания записей» (PDF) . Труды секции по методам исследования опросов . Американская статистическая ассоциация: 354–359 .
Винклер, У. Э. (2006). «Обзор связей записей и текущие направления исследований» (PDF) . Серия исследовательских отчетов, RRS .
Внешние ссылки
strcmp.c — Оригинальная реализация на языке C от автора алгоритма