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—- для строки и
её подстроки длины п, а ОСЭ(ж,у) = ^-1(МС8(ж, у)) = ^8МС8(х,у) 1+1. Метрики сходства направлены противоположно метрикам расстояния [13,14] и в качестве метрик расстояния используют по-разному определяемые нормализации метрик расстояния. В ходе экспериментов выделились простые и эффективные функции для использования этих метрик сходства в качестве метрик расстояния для определения отношения порядка на парах:
/(ж) + /(у) - 3 МСЭ(ж, у)
NCSl(x,y) = NCS2(x,y)
l(x)l(y) 1 - NCS(x,y)
l(x) + l(y) ' OCSl(x, y) = l(x) + l(y) - 2 OCS(x, y), l(x)+ l(y) - 2OCS(x,y)
OCS2(x, y) =
v/l(X)%)
Для сопоставления на графиках также присутствует в качестве тестируемой функции расстояния разность длин с отброшенным знаком 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. Значения погрешностей метрик в группе пар языков (1) ({ёв,вп}, {вэДг}, {вэ, {й-, И;})
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. Значения погрешностей метрик в группе пар языков (2) ({вп,во}, {еп, вэ}, {еп, йг}, {еп, 1;}, {во, вэ}, {во, 1;})
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. Значения погрешностей метрик в группе пар языков (3) ({ёв,в8}, {de,eo}, (ёв, й-}, (ёв, (вБ, Ьи}, {Ьи, И;})
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. Значения погрешностей метрик в группе пар языков (4) ({ёе, Ьи}, (вп, Ьи}, (во, Ьи}, {й-, Ьи})
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. Погрешности метрик при равенстве длин аргументов в группе пар языков (1) ({ёв, вп}, (вБ, &}, (вБ, 1;}, {й-,1;})
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 пар языков({еп, ео}, {еп, ее}, {еп, йг}, {еп, 11}, {ео,ев}, {ео,^})
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. Погрешности метрик когда правильный ответ короче (большие 50% не показаны)
З
я >
£ м я о я
К &
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. Погрешности метрик когда правильный ответ длиннее (большие 50% не показаны)
со со
Список литературы
[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: [email protected]
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