УДК 6213 Н.И. Лиманова, М.Н. Седов
Поиск реквизитов физических лиц в базах данных с использованием технологии Data Mining
При передаче данных от одного учреждения к другому возникает проблема персональной идентификации физических лиц, у которых частично или полностью не совпадают реквизиты. В работе оптимальный алгоритм идентификации, позволяющий выполнять поиск физических лиц в базе данных на основе нечёткого сравнения, представлен в виде процесса Data Mining. Алгоритм реализован на языке PL-SQL в СУБД Oracle 11g.
Ключевые слова: межведомственный информационный обмен, идентификация, нечёткое сравнение, поиск реквизитов физических лиц, функция интеллектуального сравнения, персональный идентификационный номер (ПИН).
SEARCH OF ESSENTIAL ELEMENTS OF PHYSICAL PERSONS IN DATABASES WITH THE USE OF TECHNOLOGY OF DATA MINING
When transferring data from one institution to another is a problem of personal identification of individuals who have part or all of the same information. In an optimal identification algorithm, which allows you to search individuals in the database based on fuzzy comparison, presented in the form of Data Mining. The algorithm is implemented in the language PL-SQL in Oracle 11g.
Keywords: Interdepartmental Informative Exchange, Identification, Indistinct Matching, Search of Requisites of Physical Persons, Function of Intellectual Matching, Personal Identification Number (PIN).
Введение
Для оптимального управления большими массивами данных, связанных с реквизитами физических лиц, необходимо обеспечивать централизованные регламенты хранения таких характеристик, как Ф.И.О., дата рождения, адрес, паспортные данные и т.д. В последнее время различные ведомства
- держатели локальных баз данных - стремятся объединить массивы для упрощения и повышения качества работы. Но возникает проблема - как сопоставить реквизиты физических лиц из одной БД реквизитам в другой? На помощь приходит интеллектуальный алгоритм поиска физических лиц в базах данных, или, по-другому, идентификация реквизитов физических лиц.
Для удобства обработки данных каждому набору реквизитов в базах данных присваивается так называемый персональный идентификационный номер (ПИН). В случае обработки или передачи данных о физическом лице вся привязка осуществляется именно к этому ПИНу. В России, к сожалению, пока нет единой базы с реквизитами всех жителей, и поэтому в разных ведомствах ведется свой отдельный реестр физических лиц и заводятся свои ПИНы. Проблема возникает при осуществлении обмена информацией о жителях между организациями, т.к. необходимо выполнить привязку входящих реквизитов к уже имеющимся. Для однозначной привязки необходимо выполнить интеллектуальный поиск физического лица в базе-приёмнике, кото-
рый должен учитывать множество факторов: и потенциальные ошибки при ручном вводе, и отсутствующие или устаревшие реквизиты и т.п. Естественно предположить, что подобный поиск целесообразно реализовать в виде специализированного программного обеспечения [2].
В результате поиска решения описанной проблемы была найдена технология для построения и реализации процедуры идентификации физических лиц в базах данных. Это технология Data Mining [1].
Data Mining - мультидисципли-нарная область (рис. 1), возникшая и развивающаяся на базе таких наук, как прикладная статистика, распознавание образов, искусственный интеллект, теория баз данных и др.
Н.И. Лиманова,
д.т.н., профессор Тольяттинский государственный университет Тел.: (8482) 53-95-14 E-mail: [email protected]
М.Н. Седов,
инженер-программист I-й категории Мэрия городского округа Тольятти Тел.: (8482) 48-56-01 E-mail: [email protected]
Термин Data Mining получил свое название от двух понятий: поиска ценной информации в большой базе данных (data) и добычи горной руды (mining). Оба процесса требуют или просеивания огромного количества сырого материала, или разумного исследования и поиска искомых ценностей.
Суть и цель технологии Data Mining можно охарактеризовать так: это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей.
Данная технология очень хорошо подходит для реализации решения описанной проблемы межведомственного информационного обмена, т.к. позволяет сформировать алгоритм с встроенной системой принятия решений для повышения качества идентификации реквизитов физических лиц. Также инструменты этой технологии позволяют производить интеллектуальное сравнение двух наборов данных и производить выявление закономерностей в схожих данных для повышения качества поиска на основе нечёткого сравнения.
1. Представление алгоритма идентификации физических лиц в виде процесса Data Mining
Идентификация физических лиц в базах данных призвана решить одну из важнейших проблем при межведомственном информационном обмене, возникающую в результате отсутствия единого персонального идентификационного номера (ПИНа): отсутствие одно-
значного соответствия физического лица с набором его основных реквизитов (Ф.И.О., дата рождения, адрес и т.д.).
Проектирование алгоритма идентификации с учётом технологии Data Mining позволило создать самообучающуюся процедуру, работающую в автоматическом режиме.
В работе предложен алгоритм поиска, включающий следующие стадии:
СВОБОДНЫЙ ПОИСК (в том числе ВАЛИДАЦИЯ) -> ПРОГНОСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ -> АНАЛИЗ ИСКЛЮЧЕНИЙ
1.1. Свободный поиск (Discovery)
На этой стадии осуществляется исследование исходного набора данных с целью поиска скрытых закономерностей. Предварительные гипотезы относительно вида закономерностей здесь не определяются.
Применительно к рассматриваемой процедуре идентификации данная стадия реализована в виде поиска по запросу (см. 3 этап), широко ограниченному и возвращающему лишь данные, отдалённо схожие с набором реквизитов искомого физического лица. Именно на этом этапе ищутся закономерности, позволяющие потом, при следующих идентификациях, применить найденное правило, что ускоряет весь процесс в десятки раз.
1.2. Прогностическое моделирование (Predictive Modeling)
Вторая стадия использует результаты работы первой стадии.
Теория БД Другие дисциплины Статистика
> f ^
Машинное Data Minina Визуализация
обучение >
А
Алгоритмизация Искусственный интеллект Распознавание образов
Рис. 1. Data Mining как мультидисциплинарная область
Здесь обнаруженные закономерности используются непосредственно для прогнозирования.
На данном этапе работы алгоритм идентификации аккумулирует так называемый опыт прошлых идентификаций и записывает его в специально отведённое место, для использования в следующий раз.
1.3. Анализ исключений (Forensic Analysis)
На третьей стадии анализируются исключения или аномалии, выявленные в найденных закономерностях. Действие, выполняемое на этой стадии, - выявление отклонений (deviation detection). Для выявления отклонений необходимо определить норму, которая рассчитывается на стадии свободного поиска.
На третьей стадии процедура идентификации удаляет из набора выявленных закономерностей все данные, полученные ошибочным путём. Например, некорректность и отсутствие некоторых реквизитов у физического лица может привести к выявлению ошибочной закономерности, которая, в свою очередь, при условии её использования даст неверные выводы об идентификации подобных наборов данных. Поэтому в предложенном алгоритме заключительным этапом проводится именно третья стадия
- анализ исключений.
2. Классификация технологических методов алгоритма
Все методы рассматриваемого алгоритма, с учётом классификаций методов Data Mining [1], подразделяются на две большие группы по принципу работы с исходными обучающими данными.
2.1. Непосредственное использование данных, или сохранение данных
В этом случае исходные данные хранятся в явном детализированном виде и непосредственно используются на стадиях прогностического моделирования и/или анализа исключений. Проблема этой группы методов □ при их использовании могут возникнуть сложно-
сти анализа сверхбольших баз данных.
2.2. Выявление и использование формализованных закономерностей, или дистилляция шаблонов
При технологии дистилляции шаблонов один образец (шаблон) информации извлекается из исходных данных и преобразуется в некие формальные конструкции, вид которых зависит от используемого метода этой группы: логические методы; методы визуализации; методы кросс-табуляции; методы, основанные на уравнениях.
Логические методы, или методы логической индукции, включают: нечеткие запросы и анализы; символьные правила; деревья решений; генетические алгоритмы.
В разработанном алгоритме идентификации применяются оба вида технологических методов.
Первый вид, или непосредственное использование данных, проявляется на этапе прямой работы с выборками из баз данных и внесения необходимых изменений в наборы реквизитов физических лиц.
Второй вид, или выявление и использование формализованных закономерностей, используется при нечётком поиске конкретного физического лица из множеств наборов данных, присутствующих в базе.
Предлагаемый алгоритм, представленный в виде процесса Data Mining, включает следующие этапы [1]:
• анализ предметной области;
• постановка задачи;
• подготовка данных;
• построение моделей;
• проверка и оценка моделей;
• выбор модели;
• применение модели;
• коррекция и обновление модели.
а) Анализ предметной области
Предметная область - наборы данных с основными реквизитами физических лиц в разных организациях и ведомствах.
б) Постановка задачи
Задача - в условиях отсутствия
единого персонального идентифи-
кационного номера (ПИНа) производить поиск набора реквизитов в одной базе данных, соответствующего реквизитам физического лица в другой базе данных.
в) Подготовка данных Производится укрупнённая выборка, включающая около 300-500 наборов, отдалённо похожих на искомый. Например:
CURSOR persons IS
SELECT p.person_id, p.lastname, p.firstname, p.patronymic, p.birthdate
FROM work.person p WHERE (((SOUNDEX(TO_TRANSLIT(p.lastname)) = SOUNDEX(TO_TRANSLIT(fo_Lastname))) AND (SOUNDEX(TO_TRANSLIT(p.firstname)) = SOUNDEX(TO_TRANSLIT(fo_Firstname)))) OR ((SOUNDEX(TO_TRANSLIT(p.lastname)) = SOUNDEX(TO_TRANSLIT(fo_Lastname))) AND (SOUNDEX(TO_TRANSLIT(p.patronymic)) = SOUNDEX(TO_TRANSLIT(fo_Patronymic)))) OR ((SOUNDEX(TO_TRANSLIT(p.firstname)) = SOUNDEX(TO_TRANSLIT(fo_Firstname))) AND (SOUNDEX(TO_TRANSLIT(p.patronymic)) = SOUNDEX(T O_TRAN SLIT (fo_Patronymic)))));
г) Построение моделей
В процессе анализа данных, полученных в результате этапа 3, производится выявление моделей закономерностей, проявившихся именно в этом наборе данных и, возможно, подходящих для будущих наборов.
д) Проверка и оценка моделей Тестирование моделей закономерностей на количество удовлетворяющих им наборов данных. Чем больше наборов подходят для конкретной модели, тем более ценной становится выявленная закономерность.
е) Выбор модели
Из найденных закономерностей выявляются наиболее значимые для дальнейшего использования при будущих запусках процедуры идентификации.
ж) Применение модели Использование модели закономерности, полученной и утверждённой при прошлом запуске процедуры идентификации, на текущих наборах данных.
з) Коррекция и обновление модели
Анализ результата приложения закономерности к новому набору данных и при необходимости коррекция модели для расширения круга подходящих наборов при нечётком поиске соответствия реквизитов физического лица.
В разработанной реализации алгоритма на языке PL-
900000т 800000 700000 600000 500000-1'''' 400000 300000 200000 100000 0
□Фонд зарплаты ■Накладны е расходы □Общие затраты
Прямое сравнение Нечёткое сравнение
Рис. 2. Диаграмма для сравнительного анализа стоимостных показателей при использовании методов прямого и нечёткого сравнения
SQL СУБД Огас1е Щ [8] ключевые функции отводятся логически выделенным процедурам COMPARISON_STRING и ТОМРАККО^ШМВЕЯ, кото-
рые позволяют проводить интеллектуальное сравнение двух похожих строк или чисел, с учётом возможных неточностей или ошибок ввода. Данные процедуры могут применяться не только для идентификации реквизитов, но также везде, где требуется полнотекстовый поиск с нечётко заданными входными данными.
3. Технические и экономические показатели алгоритма
Для сравнительного анализа разработанного алгоритма рассмотрим технологию идентификации на основе прямого сравнения. При использовании данной технологии упор идёт на скорость обработки записей, а не на качество принятия решения системой. В итоге, после окончания работы процедуры на основе прямого сравнения остаётся много данных (около 20-30% от общего количества строк), не связанных с исходными, которые необходимо отрабатывать вручную, что крайне затруднительно при больших объемах обрабатываемых данных.
При сравнении рабочих показателей двух алгоритмов выявлено:
Алгоритм прямого сравнения:
Скорость обработки данных: ~100000 строк в час;
Точность идентификации (вероятность точного поиска реквизитов): ~ 80%.
Алгоритм идентификации на основе нечёткого сравнения:
Скорость обработки данных: ~80000 строк в час;
Точность идентификации (вероятность точного поиска реквизитов): ~ 99,9%.
Отсюда можно сделать вывод, что у разработанного алгоритма минимизирована работа оператора по ручной отработке результатов, т.е., хотя скорость обработки несколько меньше, алгоритм позволяет существенно разгрузить операторов за счёт интеллектуальной си-
стемы принятия решений, чего не может предложить алгоритм прямого сравнения.
При сравнении экономических характеристик разработанного программного обеспечения на основе описываемого алгоритма с процедурой прямого сравнения для годового объёма идентификации в 1 200 000 физических лиц были получены следующие данные: трудовые затраты на обработку информации по методу нечёткого сравнения по сравнению с методом прямого сравнения уменьшены в 6,7 раза, абсолютное снижение трудовых затрат составило 1446 часов, годовые затраты при использовании метода нечёткого сравнения уменьшились в 3 раза по сравнению с аналогичным периодом применения метода прямого сравнения, а годовой экономический эффект превысил 580000 руб. Для наглядности некоторые стоимостные показатели, формирующиеся при использовании разработанного и применявшегося до настоящего времени программного обеспечения, отображены на диаграмме, приведенной на рис. 2. Величины затрат отложены по оси ординат в рублях.
Заключение
Самообучающиеся системы позволяют освободить человеческие ресурсы для выполнения творческих задач. В этой области технология Data Mining предоставляет полный набор теоретических и практических средств для выбора, разработки или использования интеллектуальных компьютерных систем.
Рассмотренную в статье процедуру идентификации можно рассматривать как часть системы поддержки принятия решений (СППР). Процедура не требует вмешательство оператора, накапливает опыт и самообучается в процессе работы, позволяя, тем самым, полностью освободить специалистов от низкопрофильной, неэффективной, ручной работы напрямую с наборами реквизитов физических лиц, хранящимися в базах данных. Данная процедура реализована на языке PL-SQL СУБД Огас1е 1^ и успешно функционирует с ноября 2007 г. в муниципальном учреждении «Тольяттинский городской информационный центр». Логическая структура разработанного алгоритма (рис. 3) позволяет реализовать его на любом популярном языке программирования.
В перспективе данный алгоритм обладает возможностью успешного внедрения в системы глобального объединения хранилищ государственных или коммерческих организаций, для ведения единой базы данных населения любой страны мира. Масштабируемость алгоритма позволяет применять программные процедуры на его основе как в малых организациях, так и в крупных корпорациях - везде, где ведётся и актуализируется реестр данных физических лиц. Возможные примеры использования: портал госуслуг, медицинские электронные системы, кадровые и бухгалтерские системы учёта служащих, банковские системы хранения данных о клиентах и т.п.
Рис. 3. Упрощенный алгоритм программы поиска физических лиц на основе нечёткого сравнения
Литература
1. Чубукова И.А. Data Mining: учебный курс. - Изд-во Интернет-университета информационных технологий (http://www.intuit.ru/), 2006.
2. Международный фонд автоматической идентификации. Технологии автоматической идентификации. -http://www.fond-ai.ru/art1/art223.html.
3. Подборка материалов о международном опыте законодательного регулирования использования систем идентификации личности. - http://www.kongord.ru/Index/Prison/SViP.htm.
4. Отчёт о выполнении научно-исследовательской, опытно-конструкторской работы «Разработка механизмов однозначной идентификации данных о физических лицах и объектах недвижимости, хранящихся в различных информационных системах органов государственной власти и местного самоуправления. - http://www.nisse.ru/ business/article/article_464.html.
5. Положение о персональном идентификационном номере граждан Российской Федерации, проживающих или пребывающих на территории Санкт-Петербурга. - http://iac.spb.ru/shablon.asp?subpage=171&id=40&dir=0.
6. Проект «Социальная карта москвича». - http://www.soccard.ru.
7. Сборник тезисов городской научно-практической конференции студентов, аспирантов, преподавателей вузов и специалистов муниципальных учреждений г. Тольятти «Информатизация в социальной сфере». - http:// it-exclusive.ru/idperson/docs/stat.doc.
8. Скотт Урман. ORACLE 9i - Программирование на языке PL/SQL: Учебное пособие. - Oracle Press; Лори, 2004.