Устойчивая оценка качества алгоритмов сходства символьных строк и их нормализаций

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ т. 9, №4(39), с. 579-596 УДК 004.416

С. В. Знаменский

Устойчивая оценка качества алгоритмов сходства символьных строк и их нормализаций

Аннотация. Выбор средств поиска скрытой общности в данных новой природы требует устойчивых и воспроизводимых сравнительных оценок качества абстрактных алгоритмов близости символьных строк. Обычные оценка на основе искусственно сгенерированных или вручную размеченных тестов существенно разнятся, надёжнее оценивая метод этой искусственной генерации по отношению к алгоритмам сходства, а оценки на базе данных пользователей не могут быть точно воспроизведены.

Предложена простая, прозрачная, объективная и воспроизводимая численная оценка качества метрики на строках. Используются параллельные тексты переводов книг на разные языки. Качество меры оценивается процентом ошибок в возможных различных попытках определения перевода данного абзаца среди двух абзацев книги на другом языке, один из которых действительно является переводом. Устойчивость оценок верифицируется независимостью от выбора книги и пары языков.

Численный эксперимент устойчиво отранжировал по качеству абстрактные алгоритмы сравнения символьных строк и показал сильную зависимость от выбора нормализации.

Ключевые слова и фразы: сходство строк, анализ данных, метрика подобия, метрика расстояния, числовая оценка, оценка качества.

Введение

Задача сравнения символьных строк возникает при обработке больших данных новой неизведанной природы. Методы, привычно использующие синтаксис и семантику, перестают работать. Общие алгоритмы сходства символьных последовательностей пробуются и адаптируются на основе новых знаний о прикладной области. Поэтому важно понимание эффективности известных общие алгоритмов и техник их применения в сравнении между собой.

© С. В. Знаменский, 2018

© Институт программных систем имени А. К. Айламазяна РАН, 2018 © Программные системы: теория и приложения (дизайн), 2018

Сравнение используемых для выделения моделей и алгоритмов нуждается в массивах похожих строк различного происхождения [1], в качестве которых обычно используют либо публично недоступные массивы персональных данных [2—5], либо вручную размеченные лингвистические корпусы или тезаурусы, как в [6], а иногда и искусственно сгенерированные данные [7]. Закрытость одних исключает воспроизводимость экспериментов и независимую оценку качества исходных данных, а высокая трудозатратность других тоже ограничивает их объём и доступность. Труднодоступность, малый объём и неясное происхождение исходных данных лишают эксперименты убедительности.

Замечательна возможность свободно использовать для оценки качества метрик близости параллельные тексты книги на разных языках, которые любезно подобрал и предоставил исследователям на сайте http://www.farkastranslations.com/bilingual_books.php венгерский программист и переводчик Аш^а Еагказ.

1. Цель и шкала оценивания, источники данных

Как влияют модель, алгоритм и метрическая нормализация на эффективность абстрактной (не использующей специфики алфавита, языка и данных) метрики (или меры сходства) символьных строк? В поисках прозрачного ответа на этот вопрос можно ограничиться известными алгоритмами с широко используемым исполняемым хорошо отлаженным исполняемым кодом и с чётко описанной моделью, не требующей эмпирического подбора параметров.

Обычно для оценок используют (например, на рис. 3—6 в [8]) полноту и качество результатов поиска, монотонно связанные через организацию запросов. Однако скалярная характеристика удобнее, чем вектор из двух зависимых характеристик. Простой и ясной скалярной мерой (не)эффективности метрики близости является процент ошибочно выбранных переводов, определённый как средняя доля фрагментов перевода, более близких по тестируемой метрике, чем правильный фрагмент перевода.

Для неё выполнено неравенство 0 ^ ^ 100, идеальное

значение 0, а значение 50 означает результат, эквивалентный случайному угадыванию, а Е8(р) > 50 свидетельствует о неадекватности метрики.

Для исследования были взяты три описанные в таблице 1 книги на английском (еп), венгерском Ьи, испанском (ез), итальянском (11), каталонском (са), немецком ^е), португальском (р1), финском (й), французском (&) языках и языке эсперанто (ео).

Устойчивая оценка качества алгоритмов сходства символьных строк 581 Таблица 1. Использованные параллельные тексты

Автор Название и языки Количество абзацев Размер абзаца

Эдгар По Падение дома Эшеров (еп, Ьи, ев, 11, :1т, de, ео) 7x269 158±211

Марк Твен Том Сойер (еп, de, Ьи, п1, са) 5x4140 102±135

Люис Кэролл Алиса в стране чудес (еп, Ьи, ев, 11, р1, &, de, ео, :й) 9x805 174±245

2. Сравнивавшиеся метрики

В испытаниях участвовали хорошо известные метрики, включённые в широко используемый пакет stringdist языка R. Для ясности обсуждения результатов полезно неформально кратко охарактеризовать сравнивавшиеся метрики.

lcs(x, y) — суммарное количество удалений и вставок при кратчайшем переходе от одной подстроки к другой. Является метрической нормализацией длины LCS(x,y) длиннейшей общей подпоследовательности по формуле lcs(x, y) = l(x) + l(y) — 2LCS(x,y), где l означает длину строки. lv(x, y) — классическая метрика Левенштейна считающая общее количество замен, удалений и вставок при переходе от одной подстроки к другой, dl(x, y) — метрика Левенштейна-Дамеро, дополнительно считающая

единичные перестановки. osa(x, y) (Optimal string aligment) — вариация метрики Левенштейна-

Дамеро, допускающая кратные перестановки. jw(x, y) (метрика Джаро) — не являющееся метрикой в строгом математическом смысле расстояние между строками, более изощрённо учитывающее транспозиции, совпадение и положение символов. jwp(x, y) (метрика Джаро-Винклера) — предложенное Винклером коррекция метрики Джаро с дефортным параметром коррекции p = 0.1.

qgraml(x, y) — количество различных символов с учётом повторений, то есть сумма по всем буквам Sj G {si,..., sn} алфавита выражений IX — Yj| где X и Y вектора количеств вхождений всех символов алфавита в каждую из сравниваемых строк.

cosinel(x,y) вычисляется по формуле 1 — .

qgram2

символов с учётом повторений. соБ1пе2(ж, у) вычисляется по аналогичной соБ1пе1 формуле для диграмм.

qgram3

символов с учётом повторений. соБ1пе3(ж, у) вычисляется по аналогичной формуле для триграмм. Подробное описание этих метрик приведено в [9] со ссылками на источники.

Дополнительно в рассмотрение вошли экспериментально отобранные нормализации метрик сходства N08/008, пропагандируемые автором в качестве более эффективной альтернативы к ЬС8, предложенной и исследованной в [10-12]. Кратко повторяя, N08 это максимально возможное количество различных общих подстрок в общей подпоследо-

/ / \ п

вательности, которое ограничено значением ^(п) = —1—- для строки и

её подстроки длины п, а ОСЭ(ж,у) = ^-1(МС8(ж, у)) = ^8МС8(х,у) 1+1. Метрики сходства направлены противоположно метрикам расстояния [13,14] и в качестве метрик расстояния используют по-разному определяемые нормализации метрик расстояния. В ходе экспериментов выделились простые и эффективные функции для использования этих метрик сходства в качестве метрик расстояния для определения отношения порядка на парах:

/

NCSl

l

l

OCS2(x, y) =

v/l

Для сопоставления на графиках также присутствует в качестве тестируемой функции расстояния разность длин с отброшенным знаком LENGTH(x, y) = |l(x) — l(y)| а также среднее результатов по всем метрикам AVERAGE. Подобно метрикам пакета stringdist, все эти функции кроме OCS1 не являются метриками в строгом смысле этого слова, но могут с небольшим усложнением (конструкцией из пункта Basic definitions в [15]) быть заменены метриками в строгом смысле, задающими то же отношение порядка на парах.

Для вычислений дополнительно к stringdist рассматриваемых метрик использовался код на C, опубликованный в [16] и запускавшийся из Perl XS. Для основной обработки использовался скрипт на языке Perl. Архив со скриптами и основными результатами обработки приложен

к файлу статьи.

3. Постановка и результат первого эксперимента

Поскольку не все процедуры вычисления метрик поддерживают utf8, то потребовалась транслитерация диакритики. Для этой цели пакеты Text::Unaccent и Text::Unidecode были использованы в процедуре sub{unac_string('utf8', unidecode(lc $_[0]))} после чего из строк были удалены все не-ascii символы.

Скрипт извлекал информацию о языках из имени очередного файла книги и генерировал программу на R для вычисления метрик. Вычисленные значения записывались в отдельный файл с указанием в имени файла метрики и языков. Немедленная архивация Bzip2 примерно втрое (до 14 Гб) уменьшила объём записываемой информации о метриках. Использованные книги составили менее 3% доступных текстов. Обработать больше мешает квадратичная вычислительная сложность задачи. В частности, для книги "Три мушкетёра"описанными средствами матрица расстояний на 64-битном компьютере вообще не считается.

В случае зависания компьютера или непреднамеренного отключения питания (вычисление метрик на PC c четырёхядерным процессором и 16 Gb оперативной памяти потребовало нескольких суток) такая организация позволила продолжать вычисления с момента с последней записи архива. Повторное использование вычисленных значений метрик cэкономило время на эксперименты по отбору подходящих нормализаций метрик NCS и OCS.

Обработка каждого перевода состояла в подсчёте погрешности метрики

^ |{y € Y : m(x,y) < m(x,yx)}| (1) E (m) = ^-X|-|Y--1°0%,

где X и Y — множества абзацев параллельного текста на двух разных языках, |X | и |Y| — мощности этих множеств, m — тестируемая метрика, а yx — перевод абзаца x в множестве Y.

Пары общих языков книг разделились на четыре группы по близости транслитерированных абзацев: (1) наиболее близкие {de, en}, {es, fr}, {es, it}, {fr, it};

Таблица 2. Значения погрешностей метрик в группе пар языков

metric OCS2 NCS2 NCS1 qgraml jwp jw

LENGTH dl osa lv

cosine3

AVERAGE

cosine2

cosinel

qgram2

lcs

qgram3 OCS1

Fall 1.6% ± 1.7% 2.2% ± 2.6% 4.5% ± 5.6% 4.9% ± 2.9% 5.6% ± 3.4% 5.6% ± 3.7% 6.8% ± 1.2% 6.4% ± 8.1% 6.5% ± 8.1% 6.5% ± 8.2% 10.3% ± 10.2% 13.8% ± 6.7% 16.6% ± 10.4% 25.7% ± 7.3% 20.0% ± 15.6% 18.8% ± 16.1% 38.7% ± 6.0% 47.2% ± 1.8%

Tom 4.4% ± 0.9% 4.6% ± 0.2% 8.1% ± 0.9% 9.8% ± 2.5% 7.4% ± 0.3% 8.4% ± 0.9% 11.9% ± 0.9% 17.1% ± 7.9% 17.2% ± 7.9% 17.3% ± 8.0% 17.3% ± 0.7% 21.8% ± 1.5% 21.3% ± 1.1% 29.5% ± 2.0% 44.1% ± 1.3% 41.8% ± 2.2% 49.4% ± 0.2% 51.3% ± 0.1%

Alice 4.1% ± 0.7% 4.1% ± 0.6% 7.0% ± 1.5% 8.9% ± 2.1% 9.3% ± 1.3% 9.1% ± 1.4% 11.2% ± 1.4% 13.3% ± 6.5% 13.3% ± 6.6% 13.5% ± 6.6% 17.3% ± 4.4% 19.8% ± 2.7% 24.2% ± 4.7% 33.1% ± 5.5% 31.1% ± 10.0% 36.4% ± 5.8% 44.6% ± 2.4% 48.0% ± 0.8%

total 3.1% ± 1.8% 3.3% ± 2.0% 6.0% ± 4.1% 7.2% ± 3.3% 7.4% ± 3.0% 7.5% ± 3.2% 9.3% ± 2.6% 10.7% ± 8.4% 10.7% ± 8.4% 10.8% ± 8.5% 14.2% ± 8.2% 17.4% ± 5.9% 20.5% ± 8.4% 29.4% ± 7.0% 27.6% ± 14.6% 29.2% ± 14.8% 42.5% ± 5.7% 48.0% ± 1.8%

Таблица 3. Значения погрешностей метрик в группе пар языков

metric OCS2 NCS2 LENGTH NCS1 qgram1 jw jwp dl osa lv

cosine3

AVERAGE

cosine2

cosine1

qgram2

lcs

qgram3 OCS1

Fall 1.6% ± 0.8% 2.4% ± 0.8% 7.3% ± 1.4% 5.2% ± 1.7% 7.4% ± 1.8% 8.7% ± 2.0% 9.0% ± 2.0% 11.1% ± 6.1% 11.1% ± 6.1% 11.3% ± 6.1% 12.3% ± 2.9% 19.0% ± 1.7% 22.4% ± 2.8% 32.8% ± 1.9% 36.5% ± 5.8% 39.4% ± 2.4% 44.3% ± 1.6% 48.5% ± 0.6%

Alice 5.8% ± 1.1% 6.7% ± 0.9% 11.1% ± 1.4% 12.5% ± 2.3% 11.9% ± 2.5% 12.4% ± 1.1% 12.4% ± 1.2% 19.7% ± 6.3% 19.8% ± 6.3% 20.0% ± 6.3% 21.9% ± 2.2% 24.8% ± 1.5% 31.7% ± 1.5% 39.8% ± 1.8% 42.0% ± 4.5% 44.6% ± 1.3% 47.0% ± 0.8% 48.9% ± 0.5%

total 3.7% ± 2.3% 4.6% ± 2.4% 9.2% ± 2.4% 8.8% ± 4.2% 9.6% ± 3.1% 10.5% ± 2.5% 10.7% ± 2.4% 15.4% ± 7.6% 15.5% ± 7.6% 15.6% ± 7.6% 17.1% ± 5.4% 21.9% ± 3.3% 27.0% ± 5.2% 36.3% ± 3.9% 39.2% ± 5.9% 42.0% ± 3.3% 45.7% ± 1.8% 48.7% ± 0.6%

(2) относительно близкие {еп, ео}, {еп, ез}, {еп, &}, {еп, 11}, {ео, ез}, {ео, 11};

(3) относительно далёкие {(е, ез}, {de, ео}, {(е, &}, {de, И}, {ез, Ьи}, {hu, 11};

(4) наиболее далёкие {(е, Ьи}, {еп, Ьи}, {ео, Ьи}, {&, Ьи}. Результаты эксперимента показали в таблицах 2, 3, 4 и 5 высокую

Таблица 4. Значения погрешностей метрик в группе пар языков

metric OCS2 LENGTH NCS2 qgraml jw jwp NCS1 dl osa lv

AVERAGE

cosine3

cosine2

cosinel

qgram2

lcs

qgram3 OCSl

Fall 7.1% ± 1.1% 9.2% ± 1.0% 12.2% ± 1.5% 12.6% ± 3.6% 16.0% ± 2.6% 16.4% ± 2.5% 22.7% ± 3.0% 24.6% ± 7.1% 24.7% ± 7.1% 24.9% ± 7.1% 29.6% ± 1.4% 35.1% ± 1.0% 39.6% ± 1.0% 41.7% ± 1.4% 48.2% ± 0.6% 48.4% ± 0.7% 49.8% ± 0.4% 50.6% ± 0.3%

Alice 9.4% ± 2.2% 12.1% ± 2.4% 12.0% ± 1.8% 14.9% ± 3.9% 16.5% ± 2.8% 16.4% ± 2.8% 21.0% ± 2.7% 25.5% ± 6.7% 25.6% ± 6.7% 25.8% ± 6.7% 29.6% ± 1.8% 32.6% ± 1.8% 38.4% ± 2.2% 43.7% ± 2.4% 46.9% ± 0.9% 47.5% ± 0.6% 48.7% ± 0.5% 49.3% ± 0.4%

total 8.2% ± 2.1% 10.6% ± 2.4% 12.1% ± 1.7% 13.7% ± 3.9% 16.2% ± 2.7% 16.4% ± 2.7% 21.9% ± 3.0% 25.1% ± 6.9% 25.2% ± 6.9% 25.3% ± 6.9% 29.6% ± 1.6% 33.9% ± 1.9% 39.0% ± 1.8% 42.7% ± 2.2% 47.5% ± 1.0% 47.9% ± 0.8% 49.2% ± 0.7% 50.0% ± 0.8%

Таблица 5. Значения погрешностей метрик в группе пар языков

metric OCS2 LENGTH NCS2 qgraml jw jwp NCSl dl osa lv

AVERAGE

cosine3

cosine2

cosinel

qgram2

lcs

qgram3 OCSl

Fall 7.2% ± 1.8% 8.7% ± 2.2% 13.6% ± 1.7% 14.0% ± 5.2% 18.5% ± 3.2% 19.3% ± 3.1% 25.9% ± 3.5% 26.0% ± 9.3% 26.0% ± 9.3% 26.2% ± 9.3% 30.9% ± 1.6% 35.9% ± 1.0% 40.0% ± 1.3% 42.1% ± 1.6% 48.6% ± 0.7% 49.2% ± 0.5% 50.3% ± 0.4% 51.0% ± 0.2%

Tom 11.5% ± 0.8% 14.7% ± 1.2% 17.5% ± 0.7% 19.8% ± 2.8% 21.0% ± 0.5% 21.2% ± 0.3% 26.1% ± 0.9% 29.5% ± 3.9% 29.6% ± 3.9% 29.7% ± 3.9% 32.5% ± 0.7% 31.0% ± 0.5% 36.5% ± 0.6% 40.9% ± 0.7% 50.3% ± 0.5% 50.1% ± 0.5% 51.7% ± 0.4% 52.5% ± 0.4%

Alice 12.8% ± 1.7% 15.2% ± 2.0% 15.6% ± 1.2% 18.9% ± 5.1% 20.8% ± 1.8% 20.9% ± 1.7% 26.2% ± 2.4% 28.4% ± 8.4% 28.4% ± 8.4% 28.5% ± 8.4% 32.3% ± 1.7% 35.5% ± 1.3% 41.3% ± 0.6% 45.8% ± 0.9% 47.7% ± 0.7% 48.2% ± 0.6% 48.8% ± 0.5% 49.2% ± 0.5%

total 10.3% ± 3.0% 12.5% ± 3.6% 15.2% ± 2.0% 17.1% ± 5.4% 19.9% ± 2.6% 20.3% ± 2.4% 26.0% ± 2.7% 27.6% ± 8.2% 27.7% ± 8.2% 27.8% ± 8.2% 31.8% ± 1.7% 34.8% ± 2.2% 39.8% ± 2.0% 43.4% ± 2.4% 48.6% ± 1.2% 49.0% ± 0.9% 50.0% ± 1.2% 50.6% ± 1.3%

устойчивость ранжирования метрик по качеству, почти не зависящего ни от книги, ни от конкретной пары языков в группе. Графически результаты представлены на рис. 1; процент ошибки отложен по вертикали, пары языков упорядочены вправо по убыванию средней ошибки. На графиках видно, что резко повышенный разброс метрик dl, lv, osa тесно связан со значимым влиянием порядка языков в паре и разностью длин абзацев.

OCS1 qgram3 Ics

qgram2

cosinel

cosine2

AVERAGE

cosine3

Iv

OCS1

- qgram3

- Ics qgram2

- cosinel

- cosine2 -AVERAGE

cosine3 I- lv

- NCS1 •-jwp

— jw qgram1

I- LENGTH NCS2 OCS2

(ft) Эдгар По. Падение дома Эшеров

(б) Марк Твен. Том Сойер

OCS1 ¡- qgram3 Mcs

Н qgram2 cosine1 cosine2 -AVERAGE

cosine3 I- lv osa dl

NCS1 jwp

— jw

— qgram1 I-LENGTH

NCS2 OCS2

fi fr hu fi it fi fi es de fi hu fr hu de hu eo en fi eofi hu es pt fi hu pt hu en hu it de eo de it de es pt de de fr en eo en it eo es eo fr en es eo it en fr pt eo en de es fr pt fr it fr pt it en pt it es pt es fr fi fi hu fi it esfi fi defr hudehueohufi enfi eoeshu fi pt pt huenhuit hueode it deesdedept fr deeoenit eneseofr eoesenit eofr eneopt deenfr es fr pt fr it it pt pt enesit espt

(в) Люис Кэролл. Алиса в стране чудес

Рис. 1. Процент ошибки бинарного выбора правильного перевода абзаца в многоязычной книге

Таблица 6. Погрешности метрик при равенстве длин аргументов в группе пар языков

metric

NCS1, NCS2,

OCS1, OCS2

dl,lv,osa

qgram3

AVERAGE

qgram2

cosine3

jwp

cosine2

jw

qgram1 cosine1

Fall 7.4% ± 10.0%

8.4% ± 10.3%

8.7% ± 9.4% 8.5% ± 9.5% 11.7% ± 10.0% 11.5% ± 12.0% 10.4% ± 10.5% 15.7% ± 8.2% 14.5% ± 11.6% 16.6% ± 9.0% 17.1% ± 10.4% 24.6% ± 9.1%

Tom 8.9% ± 0.2%

8.6% ± 0.1%

9.3% ± 0.2% 13.1% ± 0.3% 13.6% ± 0.3% 14.4% ± 0.4% 17.0% ± 0.4% 15.0% ± 0.4% 20.0% ± 0.4% 17.5% ± 0.4% 19.0% ± 0.8% 29.1% ± 1.1%

Alice 8.6% ± 2.3%

8.0% ± 2.2%

9.7% ± 2.4% 11.3% ± 4.2% 13.9% ± 3.0% 13.3% ± 4.1% 14.9% ± 4.7% 20.8% ± 3.0% 19.2% ± 4.6% 20.7% ± 3.4% 21.1% ± 3.8% 30.5% ± 4.6%

total 8.1% ± 6.9%

8.2% ± 7.0%

9.2% ± 6.5% 10.3% ± 7.1% 12.9% ± 7.0% 12.6% ± 8.5% 13.2% ± 8.1% 17.9% ± 6.4% 17.2% ± 8.7% 18.5% ± 6.7% 19.1% ± 7.6% 27.8% ± 7.4%

Обращает внимание, что ранжирование метрик по качеству выглядит почти не связанным со сложностью алгоритмов: самый простой алгоритм, вычисляющий разность длин абзацев, оказался одним из лучших. Это подтверждает гипотезу об исключительной важности правильного выбора нормализации метрики.

4. Эксперимент, исключающий влияние нормализации

Для исключения влияния нормализации модифицируем формулу (1) следующим образом:

^ |{у € У : т(ж, у) < т(ж, уж)&/(у) = /(уж)}| (2) Е=(т) = ^-Х|-|у--100%'

Жёсткий отбор аргументов метрик по равенству длин естественно выравнивает разброс результатов и резко меняет рейтинг. В этих условиях нормализация простой формулой отключается и на первый план выступает качество сложных вычислений.

Теперь и на графиках на рис. 2 явно виден резко иной порядок метрик. В частности, две метрики с наибольшими погрешностями !сб и qgram3 оказываются лучшими после N08/008.

Возникает гипотеза о возможности лучшего подбора нормализации, дающей много меньшую ошибку для этих метрик в общей ситуации. Естественно ожидать, что при оптимальном выборе нормализаций рейтинг для общей ситуации приблизится к рейтингу для равенства длин. Например, нормализация \\LCS [17] метрики Ь08 задаёт близкий к ОСБ2 порядок и может примкнуть к лидерам.

qgram2 -AVERAGE cosine3

lcs

OCS1 OCS2 NCS2 NCS1

— cosine1 ( cosine2

— qgram1

— jw •-jwp

Н qgram2 ¡- cosine3 AVERAGE

- lcs

- ГЧС51 OCS1 OCS2 NCS2

(а) Эдгар По. Падение дома Эшеров

(б) Марк Твен. Том Сойер

cosine1 cosine2

- qgram1

— jw

•^р

cosine3 qgram2 AVERAGE I- qgram3

I- IV

osa Чсэ NCS1 OCS1 ! OCS2 !- NCS2

Лг А А Ии А es А it ео А hu ео с!е А Л hu Ье hu А еп А р! hu р! hu еп hu es с!е it it hu с!е ео р Ье с!е es с!е Л еп it ео еп ео es еп es ео i ! ео Лг Лг еп с!е еп ео р! Лг it Лг es р! Лг р еп р! К es it es р А Лг ИиА esfi it А А еоеоИиА dehufr р! fi р! huenhueshuit eodedept esdefr deit eneneoeseoesenit еоЛг еоепЛ endept ео it Лг esfr Лг р епр! it р! it espt es

(в) Люис Кэролл. Алиса в стране чудес

Рис. 2. Погрешности метрик при равенстве длин аргументов

Таблица 7. Погрешности метрик при равенстве длин аргументов в группе 2 пар языков

metric NCS1, NCS2, OCS1, OCS2 lcs

qgram3

dl,lv,osa

cosine3

AVERAGE

qgram2

cosine2

jwp

jw

qgraml cosine1

Fall

7.3% ± 3.0%

8.0% ± 2.5% 9.1% ± 2.7% 10.0% ± 3.9% 11.2% ± 3.0% 13.9% ± 2.6% 13.5% ± 3.1% 19.4% ± 3.8% 21.9% ± 3.5% 22.3% ± 3.8% 23.8% ± 3.3% 32.1% ± 3.3%

Alice 14.2% ± 1.4%

total 10.7% ± 4.2%

16.0% 16.4% 17.3% 20.8% 21.0% 21.4% 27.8% 28.2% 28.8% 28.9% 37.0%

± 2.2% ± 2.1% ± 2.4% ± 2.2% ± 1.6% ± 1.6% ± 1.9% ± 1.5% ± 1.6% ± 1 . 4% ± 2.0%

12.0% 12.8% 13.7% 16.0% 17.4% 17.5% 23.6% 25.0% 25.6% 26.3% 34.6%

± 4.7% ± 4.4% ± 4.9% ± 5.5% ± 4.2% ± 4.7% ± 5.1% ± 4.2% ± 4.3% ± 3.6% ± 3.7%

Таблица 8. Погрешности метрик при равенстве длин аргументов в группе 3 пар языков:

metric NCS1, NCS2,

OCS1, OCS2 lcs

dl,lv,osa

qgram3

AVERAGE

qgram2

cosine3

jwp

qgraml

jw

cosine2 cosine1

Fall 29.8% ± 3.4%

31.9% 32.9% 34.9% 34.4% 36.6% 36.7% 36.3% 36.0% 36.7% 39.9% 42.5%

Alice 24.3% ± 2.0%

± 3.3% ± 3.0% ± 4.1% ± 1.2% ± 2.0% ± 3.8% ± 2.4% ± 3.1% ± 2.6% ± 3.1% ± 2.4%

26.2% 28.2% 29.0% 31.0% 32.7% 32.9% 36.0% 36.5% 36.4% 37.4% 43.8%

total 27.1% ± 3.9%

± 2.7% ± 2.8% ± 2.3% ± 1.9% ± 2.5% ± 2.2% ± 2.3% ± 3.2% ± 2.3% ± 2.1% ± 2.3%

29.0% 30.6% 32.0% 32.7% 34.6% 34.8% 36.1% 36.3% 36.5% 38.7% 43.2%

± 4.1% ± 3.8% ± 4.4% ± 2.3% ± 3.0% ± 3.7% ± 2.4% ± 3.2% ± 2.5% ± 2.9% ± 2.5%

5. Другие ситуации сравнения

Выбор подходящей метрики и нормализации очевидно должен ориентироваться на особенности конкретной задачи. Для этой цели могут быть полезны результаты с другими ограничениями на длины метрик, приложенными к файлу статьи.

Для примера на рис. 3 представлены графики для 10%-ограничения на разность длин.

h LENGTH

cosinel OCS1 I- qgraml — jw jwp

cosine2 f- qgram3 *• qgram2 -AVERAGE cosine3

NCS1 NCS2 OCS2

I- LENGTH

— cosinel OCSl

— qgraml

— jw jwp

cosine2 qgram3 qgram2 -AVERAGE cosine3

NCS1 NCS2 OCS2

(ft) Эдгар По. Падение дома Эшеров

(б) Марк Твен. Том Сойер

LENGTH -cosinel OCSl cosine2 - qgram1 i- qgram3 -jw l-jwp i- qgram2 -AVERAGE cosine3

NCS1 NCS2 OCS2

fr fi hu fi fi es fi it eo fi de fi eo hu fi en fi pt de hu fr hu hu en hu pt hu es it hu de it de eo de es de pt de fr eo en it en eo es es en eo it eo fr fr en de en eo pt fr it fr es fr pt pt en pt it it es pt es fi fr fi huesfi it fi fi eofi dehueoenfi pt fi hudehufr enhupt hueshuhuit it deeodeesdept defr deeneoenit eseoenesit eofr eoenfr endept eo it fr esfr pt fr enpt it ptesit espt

(в) Люис Кэролл. Алиса в стране чудес

Рис. 3. Погрешности метрик для длин аргументов, различающихся ^ 10%

Таблица 9. Погрешности метрик при равенстве длин аргументов в группе пар языков 4

metric NCS1, NCS2, OCS1, OCS2 lcs

qgram3

dl,lv,osa

cosine3

AVERAGE

qgram2

qgraml

jwp

jw

cosine2 cosine1

Fall

Тот

Alice

total

32.8% ± 2.4% 29.5% ± 1.0% 30.4% ± 1.4% 31.2% ± 2.3%

33.2% 33.4% 34.3% 35.1% 36.3% 37.0% 39.6% 41.0% 41.1% 40.8% 43.1%

± 2.4% ± 3.3% ± 4.3% ± 3.1% ± 2.2% ± 3.2% ± 3.4% ± 2.3% ± 2.4% ± 3.5% ± 3.4%

30.8% 28.9% 32.6% 31.9% 33.6% 34.7% 37.4% 36.3% 36.9% 38.5% 43.4%

± 1.3% ± 0.6% ± 1.0% ± 0.6% ± 1.0% ± 0.8% ± 1.0% ± 1.3% ± 1.2% ± 0.8% ± 1.1%

32.2% 33.0% 33.5% 35.6% 35.6% 37.8% 39.9% 39.6% 40.0% 41.2% 46.0%

± 1 . 8% ± 1.5% ± 1.1% ± 1 . 4% ± 0.9% ± 1.9% ± 1.3% ± 1 . 4% ± 1 . 4% ± 1 . 0% ± 0.8%

32.3% 32.3% 33.6% 34.7% 35.5% 36.8% 39.3% 39.5% 39.8% 40.5% 44.3%

± 2.2% ± 2.9% ± 2.9% ± 2.6% ± 1.9% ± 2.6% ± 2.5% ± 2.5% ± 2.4% ± 2.5% ± 2.7%

Неожиданно резко проявилось различие практических задач, по природе которых правильный выбор обычно имеет близкую к наименьшей либо близкую к наибольшей длину. На рис. 4 представлены графики с ограничением на длины 1(у) ^ 1(ух), а на рис. 5 графики с противоположным ограничением 1(у) ^ 1(ух).

Заключение

Проведённые эксперименты показали, что результативность метрик сходства символьных строк критично зависит от соответствия выбора нормализации алгоритма распределению длин строк в данных.

Открылись трудные вопросы:

• Как вычислить наиболее эффективную формулу нормализации заданной метрики по конкретным данным?

• Дадут ли вычисленные формулы существенный выигрыш для рассмотренных метрик?

• Как по статистикам вычислить подходящую нормализацию заданной метрики?

• Как по статистикам оценить адекватность нормализации заданной метрики?

Разумно продолжить исследования в поисках ответов на эти вопросы.

OCS1 qgram3

-AVERAGE cosinel qgraml cosine2 cosine3 LENGTH

OCS2 NCS2 NCS1

\I\N\a к

к Л

\ A A "vi W

я

(ft) Эдгар По. Падение дома Эшеров

(б) Марк Твен. Том Сойер

OCS1

- qgram3

- qgram2

-AVERAGE qgram1

— cosinel H LENGTH

cosine3 cosine2 OCS2 jwp

— jw NCS2

— NCS1

OCS1 г qgram3

osa dl

-AVERAGE - qgram1 cosine1 cosine3 LENGTH cosine2 OCS2 I-jwp -jw

NCS2 -NCS1

1 1 hu 11 1 de 1 es hu de К 1 en 1 1 pt hu 1 11 eo 11и eo hu pt hu es hu it hu en eo de pt de it de de es en eo de 1 eo 1 eo es it en en es eo pt it eo en 1 en de it 1 pt 1 1 es en pt it pt it es pt es 1г 1 1 Ьн^еА esfi de hu 1 ^ 1 еп pt 1 1 ИиеоА eohupt hueshu it huenhudeeodept deit esdeeoenfr defr eoeseoenit esenpt eoeoit 1 endeen 1 it 1г ptesfr pt еп pt it es it espt

(в) Люис Кэролл. Алиса в стране чудес

Рис. 4. Погрешности метрик когда правильный ответ короче

З

я >

£ м я о я

К &

cosine1 cosine2 cosine3 NCS1 jwp -jw

-AVERAGE

NCS2 I- LENGTH - qgram1 OCS2 f- qgram2 «-dl osa

qgram3 OCS1

cosine1 cosine2 cosine3 NCS1 — jw I-jwp

NCS2 -AVERAGE HLENGTH OCS2 qgram1 -dl osa

qgram3 OCS1

(ft) Эдгар По. Падение дома Эшеро

(б) Марк Твен. Том Сойер

fi hu fr fi fi it es fi eo hu fr hu de fi eofi de hu en hu es hu it hu enfi pt hu pt fi de it de eo de es de fr de pt en it eo en eo it es eo es en fr enfr eo es fr de en pt fr pt eo fr it pt it pt en es it pt es hufi fi fr it fi fi eshueohufr fi defi eohudehuenhueshuit fi enhupt fi pt it deeodeesdefr dept deit eneneoit eoeoesenesenfr eofr fr esendefr pteopt it fr it ptenpt it esespt

О &

X к

to >

л с J=!

M

я

я >

cosine1 cosine2 cosine3 NCS1 I-jwp -jw

-AVERAGE ! NCS2 I-LENGTH

OCS2 - qgram1 "-dl osa

i- qgram3

OCS1

(в) Люис Кэролл. Алиса в стране чудес

X О T=\ о H

Ш >

Рис. 5. Погрешности метрик когда правильный ответ длиннее

со со

Список литературы

[1] W. W. Cohen, P. Ravikumar, S. Fienberg. "A comparison of string distance metrics for name-matching tasks", IIWEB'03 Proceedings of the 2003 International Conference on Information Integration on the Web (August 09-10, 2003, Acapulco, Mexico), 2003, pp. 73-78. .url 680

[2] K. Branting. "A comparative evaluation of name-matching algorithms", ICAIL '03 Proceedings of the 9th international conference on Artificial intelligence and law (June 24-28, 2003, Scotland, United Kingdom), 2003, pp. 224-2.32.

[3] P. Christen. "A comparison of personal name matching: Techniques and practical issues", Proceedings of the Sixth IEEE International Conference on Data Mining - Workshops (ICDMW'06) (December 18-22, 2006, Hong Kong, China), IEEE, New York, 2006, pp. 290-294. I 1680

[4] G. Recchia, M. Louwerse. "A comparison of string similarity measures for toponym matching", COMP '13 Proceedings of The First ACM SIGSPATIAL International Workshop on Computational Models of Place (November 05—08, 2013, Orlando FL, USA), 2013, pp. 54-61. .url t680

[5] N. Gali, R. Mariescu-Istodor, P. Franti. "Similarity measures for title matching', 2016 23rd International Conference on Pattern Recognition (ICPR) (December 4-8, 2016, Cancun, México). ' 680

[6] Yufei Sun, Liangli Ma, Shuang Wang. "A comparative evaluation of string similarity metrics for ontology alignment", Journal of Information & Computational Science, 12:3 (2015), pp. 957-964. (url; 680

[7] M. del Pilar Angeles, A. Espino Gamez. "Comparison of methods Hamming Distance, Jaro, and Monge-Elkan", DBKDA 2015: The Seventh International Conference on Advances in Databases, Knowledge, and Data Applications (May 24-29, 2015, Rome, Italy), (url) 680

[8] C. Varol, C. Bayrak. "Hybrid matching algorithm for personal names", ACM Journal of Data and Information Quality, 3:4 (2012), 8. I ' 680

[9] M.P.J. van der Loo. "The stringdist package for approximate string matching", R Journal, 6:1 (2014), pp. 111-122. url 682

[10] S. V. Znamenskij. "Simple essential improvements to ROUGE-W algorithm", Journal of Siberian Federal University. Mathematics & Physics, 8:4 (2015), pp. 258-270.

[11] S. V. Znamenskij. "A belief framework for similarity evaluation of textual or structured data, similarity search and applications", Similarity Search and Applications, SISAP 2015, Lecture Notes in Computer Science, vol. 9371, eds. G. Amato, R. Connor, F. Falchi, C. Gennaro, 2015, pp. 138-149. J 682

[12] S. V. Znamenskij. "A model and algorithm for sequence alignment", Program systems: theory and applications, 6:1 (2015), pp. 189-197. .ijrí) j682

[13] С. В. Знаменский. "Модель и аксиомы метрик сходства", Программные системы: теория и приложения, 8:4(35) (2017), pp. 349-360. url)^582

[14] S.V. Znamenskij. "From similarity to distance: axoim set, monotonic transformatons and metric determinacy", Journal of Siberian Federal University. Mathematics & Physics, 11:3 (2018), pp. 331-341. 582

[15] M. M. Deza, E. Deza. Encyclopedia of distances, Springer-Verlag, Berlin, 2009, 583 p. же i • 582

[16] С. В. Знаменский, В. А. Дьяченко. «Альтернативная модель сходства символьных строк», Труды XIX Международной конференции «Аналитика и управление данными в областях с интенсивным использованием данных» DAMDID/RCDL'2017 (10-13 октября 2017 года, Москва, Россия), CEUR Workshop Proceedings, т. 2022, с. 177-183. @ 583

[17] A. Islam, D. Inkpen. "Semantic text similarity using corpus-based word similarity and string similarity", ACM Transactions on Knowledge Discovery from Data, 2:2 (2008), 10, 25 p. 587

Поступила в редакцию 17.04.2018 Переработана 03.12.2018

Опубликована 28.12.2018

Рекомендовал к публикации к.т.н. Е.П. Куршев

Пример ссылки на эту публикацию:

С. В. Знаменский. «Устойчивая оценка качества алгоритмов сходства символьных строк и их нормализаций». Программные системы: теория и приложения, 2018, 9:4(39), с. 579—596.

10.25209/2079-3316-2018-9-4-579-596 @ http://psta.psiras.ru/read/psta2018_4_579-596.pdf

Об авторе:

Сергей Витальевич Знаменский

Научные интересы мигрировали от функционального анализа и комплексных аналогов выпуклости к основаниям разработки коллаборативного ПО, метрикам сходства и теории интерполяции

e-mail: svz@latex.pereslavl.ru

596

C. B. 3HAMEHOKHH

Sample citation of this publication:

Sergej Znamenskij. "Stable assessment of the quality of similarity algorithms of character strings and their normalizations". Program Systems: Theory and Applications, 2018, 9:4(39), pp. 579-596. (In Russian).

10.25209/2079-3316-2018-9-4-579-596 URL http://psta.psiras.ru/read/psta2018_4_579-596.pdf

The same article in English: 10.25209/2079-3316-2018-9-4-561-578