В математике и информатике строковая метрика (также известная как строковая метрика сходства или строковая функция расстояния ) — это метрика , которая измеряет расстояние («обратное сходство») между двумя текстовыми строками для приблизительного сопоставления или сравнения строк и при нечетком поиске строк . Требованием для строковой метрики (например, в отличие от сопоставления строк ) является выполнение неравенства треугольника . Например, строки «Sam» и «Samuel» можно считать близкими. [1] Строковая метрика предоставляет число, указывающее на специфичное для алгоритма указание расстояния.
Наиболее широко известная строковая метрика — это элементарная, называемая расстоянием Левенштейна (также известная как расстояние редактирования). [2] Она работает между двумя входными строками, возвращая число, эквивалентное количеству замен и удалений, необходимых для преобразования одной входной строки в другую. Упрощенные строковые метрики, такие как расстояние Левенштейна, были расширены и теперь включают фонетические, токеновые , грамматические и основанные на символах методы статистических сравнений.
Метрики строк активно используются в интеграции информации и в настоящее время применяются в таких областях, как обнаружение мошенничества , анализ отпечатков пальцев , обнаружение плагиата , слияние онтологий , анализ ДНК , анализ РНК, анализ изображений , машинное обучение на основе фактических данных , дедупликация данных баз данных , интеллектуальный анализ данных , инкрементальный поиск , интеграция данных , обнаружение вредоносного ПО [3] и интеграция семантических знаний .
Существуют также функции, которые измеряют различие между строками, но не обязательно удовлетворяют неравенству треугольника, и как таковые не являются метриками в математическом смысле. Примером такой функции является расстояние Яро–Винклера .
Имя | Описание | Пример |
---|---|---|
Расстояние Хэмминга | Только для строк одинаковой длины. Количество измененных символов. | « ка рол ин » и « ка тр ин » — это 3. |
Расстояние Левенштейна и расстояние Дамерау–Левенштейна | Обобщение расстояния Хэмминга, допускающее строки различной длины и (совместно с Дамеро) транспозиции | котенок и сидящий находятся на расстоянии 3 .
|
Расстояние Яро–Винклера | JaroWinklerDist("МАРТА","МАРХТА") =
| |
Наиболее часто встречающиеся символы k | MostFreqKeyПохожие ( ' исследование ' , 'исследование ' , 2 ) = 2 |
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )