Научная статья на тему 'Эффективность алгоритмов сопоставления персональных данных'

Эффективность алгоритмов сопоставления персональных данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
208
79
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гусятников В. Н., Палькин Е. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Эффективность алгоритмов сопоставления персональных данных»

ных. Полученной вершине присваивается значение текущей.

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

5. Повторяются пункты 2 и 3, пока не будет построен гамильтонов цикл с квазиминимальной суммарной стоимостью ребер.

6. Конец работы алгоритма.

Решение-потомок в алгоритме формируется

как последовательность вершин графа в том порядке, в котором они становились текущими [1].

На втором этапе, определив аргументы и решения задачи коммивояжера, добавим новые переменные и детализируем вычисления данной функции только через оптимизацию функции вре-Ж Т

мени. Тогда Е = — н--, где FS - функция,

* 8 V N 8

выгр

представляющая общую длину пути в графе С=(Х, и); 8 - расстояние между городами; Т -объем перевозимого товара; Увыгр - скорость выгрузки, загрузки.

В итоге оптимизируемой функцией становится F8, по которой с помощью матрицы расстояний И(1, где 1, ]е1, 2, ..., п, можно определить стоимость переезда из вершины х1 в х^

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

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

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

Литература

1. Норенков И.П., Кузьмин П.К. Информационная поддержка наукоемких изделий. CALS-технологии. М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. 320 с.

2. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы; [под ред. В.М. Курейчика]. М.: Физматлит, 2006. 320 с.

УДК 004.052.42

ЭФФЕКТИВНОСТЬ АЛГОРИТМОВ СОПОСТАВЛЕНИЯ ПЕРСОНАЛЬНЫХ ДАННЫХ

В.Н. Гусятников, д.ф.-м.н.; Е.А. Палькин

(Саратовский государственный социально-экономический университет, [email protected], [email protected])

Рассматривается эффективность работы усовершенствованного алгоритма сравнения данных о физических лицах в разнородных системах на основе фонетических правил русского языка и проводится сопоставление с результатами, полученными с использованием других методов поиска сходных объектов.

Ключевые слова: алгоритмы анализа строк, распознавание речи, фонетический алгоритм, релевантность алгоритма.

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

состав различных информационных систем (ИС). Типичными и часто обсуждаемыми на форумах программистов являются задачи сопоставления и идентификации объектов, сведения о которых хранятся в разных БД. В частности, к подобным задачам относят поиск, сопоставление и слияние персональных данных о физических лицах. Это могут быть, например, списки клиентов телефон-

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

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

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

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

Наиболее простой способ решения данной задачи, часто применяемый в качестве первого шага, - точное сравнение строк с предварительным удалением незначимых символов.

Для последующих шагов существует ряд алгоритмов, таких как алгоритм Вагнера-Фишера [1] или алгоритм Смита-Ватермана [2], позволяющих количественно оценить близость строк между собой, используя в качестве меры близости дистанции редактирования. К подобным мерам относится расстояние Левенштейна, то есть минимальное количество элементарных операций вставки, удаления и замены одного символа, необходимых для превращения одной строки в другую, или расстояние Хэмминга, используемое для сравнения строк одинаковой размерности.

Следует отметить, что ни один из вышеперечисленных алгоритмов изначально не разрабатывался для сравнения данных о физических лицах. Специфика обработки имен физических лиц более полно учтена в известных алгоритмах сравнения двух строк по их звучанию - Ъоипйех и Ме1аРНопе. Описание алгоритма Ъоипйех дано в классическом учебнике по программированию [3], алгоритм Ме1аРкопе адаптирован для русского языка в работе [4]. Эти алгоритмы основаны на построении некоторой хэш-функции, преобразующей исходные строки в хэш-код, одинаковый для схожих строк. Процесс сравнения двух строк сводится к вычислению хэш-кодов этих строк и их последующего строгого сравнения. Строки, имеющие одинаковый хэш-код, считаются похожими.

Об эффективности подобных алгоритмов говорит тот факт, что в некоторых языках программирования сравнение подобного рода организовано в качестве стандартной процедуры. Например, в MySQL и PHP функция Soundex является встроенной [5].

В основе алгоритма Фонетик, реализованного в данной работе в среде Delphi 7, лежит вариант алгоритма MetaPhone, предложенный в [4].

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

Алгоритм включает следующие шаги.

1. Преобразование строки в верхний регистр (это позволяет уменьшить алфавит в 2 раза и отсечь ошибки, связанные со случайными заглавными буквами в середине слова.)

2. Удаление непроизносимых букв, а также знаков препинания.

3. Замена сходных по начертанию латинских букв (A, B, C, E, H, O, P, TX, Y) на русские аналогичного начертания (А, В, С, Е, Н, О, Р, Т, Х, У).

4. Выработка ключа с использованием имени и отчества либо только инициалов в зависимости от выбранной настройки и полноты исходных данных.

5. Замена гласных букв на те, которые слышатся на их месте в безударном слоге. Буквы О, Ы, А, Я заменяются на А; Ю, У на У; Е, Е, Э, И на И. Несмотря на то, что в русском языке произношение буквы часто не соответствует написанию, сокращать слова до одних согласных нельзя, поскольку существует ряд парных глухих и звонких. С точки зрения грамматики русского языка такой подход не является абсолютно верным, но на практике показывает хорошие результаты.

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

7. Замена последовательностей букв, которые не встречаются в русском языке, на необходимые из словаря слогов.

8. Удаление парных согласных. Частой ошибкой является некорректное написание парных согласных. Для этих ситуаций создаются одинаковые ключи с одной повторяющейся буквой, которые будут найдены независимо от написания.

9. Замена типовых для русского языка окончаний фамилий на специальные символы. Эта команда сокращает время обработки и экономит ме-

сто для хранения ключей. Данное преобразование имеет смысл только для фамилий.

Пункты 1, 2, 5, 6, 8, 9 с некоторыми изменениями заимствованы из реализации алгоритма Мв1аРкспв [4]. Для повышения качества сравнения алгоритм дополнен следующими этапами.

10. В большинстве случаев в информационной системе вместе с фамилией присутствуют имя и отчество, тогда имеет смысл привязать их к ключу. Имя и отчество обрабатываются отдельно от фамилии согласно пп. 1-6 алгоритма и дополняют ключ, полученный на основе фамилии. Если в одной системе в данных присутствуют лишь инициалы, то у обеих строк данные для обработки сокращаются до фамилии и первых букв имени и отчества, преобразованных к верхнему регистру.

11. В связи с тем, что персональные данные нередко получают из источника данных невысокого качества, о чем свидетельствует наличие инициалов вместо полноценных имени и отчества, имеет смысл заменять в ключе символы инициалов на сходные по написанию. Если рассмотреть графическое начертание букв, то И имеет сходство с Н, следовательно, в инициалах они могут быть заменены друг на друга. Замены производятся следующим образом:

Исходный символ А, Л Б, В, Е Г, Т И, Н, П Ц, Ш, Щ

Заменяющий символ А В Т Н Ш

Остальные буквы остаются без изменений.

12. Итоговый ключ формируется конкатенацией ключа, полученного из фамилии, и результатов обработки имени и отчества или инициалов.

В таблице 1 приведен пример списка, подаваемого на вход алгоритма, и соответствующих выходных значений.

Таблица 1

Исходное слово Ключ

Годеева А.В. ГАД9АВ

Годиева И.А. ГАД9ИА

Иванюков П.В. ИВАНУК4ПВ

Иванников С.А. ИВАНИК4СА

Ковалева С.А. КАВАЛИВА СА

Ковалева О.А. КАВАЛИВА ОА

Голушков О.В. ГАЛУШК4ОВ

Колушков С.П. КАЛУШК4СП

Куликов А.А. КУЛИК4АА

Куликова О.И. КУЛИК9ОИ

Белов А.А. БИЛ4АА

Соколова Т.В. САКАЛ9ТВ

Азовская А.С. АЗ$АС

Ильина И.П. ИЛ1ИП

Алиева А.Т. АЛ9АТ

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

Для проверки релевантности алгоритма Фоне-тик из автоматизированной банковской системы было выгружено 25907 записей о физических лицах. Этот массив данных был получен слиянием нескольких БД и содержал некоторое количество дублирующих записей о физических лицах, которые не были обнаружены средствами СУБД во время слияния. Весь массив данных обработан экспертами, которые выявили в нем 661 дублирующую запись.

Анализ сформированного массива данных о физических лицах проведен алгоритмами Фоне-тик, прямого сравнения, Ъсипйех и алгоритмом, рассчитывающим дистанцию Левенштейна. Алгоритмы запускались на данной выборке по очереди, по принципу сравнения каждой записи с каждой. В алгоритме, вычисляющем дистанцию Левен-штейна, записи считались различными, если дистанция редактирования превышала единицу. Перед применением алгоритма Ъсипйех, разработанного для английского языка, записи подвергались транслитерации.

В качестве нулевой гипотезы Н0 полагалось, что сравниваемые записи соответствуют одному физическому лицу. Типы ошибок в работе алгоритмов определялись по таблице 2, в которой символом Н обозначена гипотеза, противоположная Н0.

Таблица 2

Результат работы алгоритма Верная гипотеза для входных данных

Но Н!

Но Н0 верно принята Н0 неверно принята (ошибка второго рода)

Н! Н0 неверно отвергнута (ошибка первого рода) Н0 верно отвергнута

Подсчет ошибок для каждого алгоритма производился по схеме, приведенной на рисунке.

Всего объектов 25907

_I_

Сходные объекты

_I_

Выявлено сходство

_Т_

Различные объекты 25246

Выявлено различие (ошибка 1-го рода)

Выявлено сходство (ошибка 2-го рода)

Выявлено различие

Схема подсчета ошибок при сопоставлении объектов

По итогам работы всех алгоритмов была заполнена результирующая таблица с количеством ошибок для каждого алгоритма (табл. 3).

Таблица 3

Алгоритм Выявлено сходство Ошибка 1-го рода Ошибка 2-го рода Выявлено различие

Фонетик 660 1 0 25246

Дистанция Левенштейна 653 8 74 25172

Soundex 650 11 48 25198

Прямое сравнение 638 23 0 25246

По общему количеству ошибок сравнения наихудшие результаты показал алгоритм, вычисляющий дистанцию Левенштейна. Второе место по общему количеству ошибок после алгоритма Фонетик занимает алгоритм прямого сравнения. Однако в данном случае значимость ошибок первого и второго рода различна. Наиболее критичными являются ошибки первого рода, поскольку сходные объекты, классифицированные как различные, не попадут в итоговую выборку, то есть будут потеряны. Наличие ошибки второго рода не столь критично, так как на практике все объекты, классифицированные как сходные, будут представлены для последующей обработки в ручном режиме, а значит, будут проконтролированы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

По количеству ошибок первого рода алгоритм Фонетик на порядок эффективнее алгоритмов, вычисляющих дистанцию Левенштейна, и алгоритма Ъоипйех. Алгоритм прямого сравнения оказался наименее эффективным по количеству ошибок 1-го рода.

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

Литература

1. Wagner R.A., Fischer M.J. The string-to-string correction problem / Journal of the ACM, 1974. Vol. 21, № 1, pp. 168-173.

2. Smith T.F., Waterman M.S. Identification of common molecular subsequences / Journal of Molecular Biology, 1981. Vol. 147, pp. 195-197.

3. Дональд Э. Кнут. Искусство программирования. Т. 3. Сортировка и поиск. M.: Издат. дом «Вильямс», 2005. 824 с.

4. Каньковски П. «Как ваша фамилия», или Русский MetaPhone // Программист. 2002. № 8. С. 36-39.

5. Гешвинде Э., Шениг Г. Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора. СПб: ДиаСофтЮП, 2003. б08 с.

УДК 65.011.56:004.75

СЕРВИС-ОРИЕНТИРОВАННЫЙ ПОДХОД К МОДЕРНИЗАЦИИ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНОЙ СЕТИ ВУЗА

Д.В. Христенко, к.т.н.; В.Г. Гришаков, к.т.н.; И.В. Логинов

(Академия Федеральной службы охраны Российской Федерации, г. Орел, [email protected])

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

Ключевые слова: информационно-вычислительная сеть, АСУ вуза, сервис-ориентированная архитектура, модернизация.

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.