48
MPRL: Новая технология InterSystems для создания решений Identity Resolution Cергей Кудинов Дмитрий Засыпкин

MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MPRL: Новая технология InterSystems для создания решений Identity Resolution

Cергей Кудинов

Дмитрий Засыпкин

Page 2: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

•Актуальность задачи •Основные понятия •Методика работы •Упражнения

План

Page 3: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Иван Борисович Рузский был сбит на пешеходном переходе

Пациент был доставлен в отделение скорой медицинской помощи в сознании без документов в шоковом состоянии

Для оказания дальнейшей медицинской помощи пациенту необходимо произвести обезболивание

Медсестра попыталась найти в региональной медицинской системе записи о пациенте «Иван Борисович Русский»

В системе есть записи о том, что у пациента «Иван Борисович Рузский» есть аллергия на ледокоин, приводящая к анафилактическому шоку

Информация об аллергии не была найдена…

Актуальность задачи

Page 4: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Подобные проблемы могут быть в различных отраслях:

• финансовые учреждения

• страховые компании

• ритейл

• медицинские организации

• и т.д.

Актуальность задачи

Число записей Число

ожидаемых

совпадений

%

100,000 1,000 1%

1,000,000 100,000 10%

5,000,000 2,500,000 50%

10,000,000 10,000,000 100%

100,000,000 1,000,000,000 1,000%

Page 5: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

• Ошибки при вводе (орфографические, опечатки…)

• Перестановки полей

• Ввод чужих данных

• Неполнота данных

• Несоответствия значений в разных системах (например, при использование разных словарей)

• Дублирование записей (ввод одного и того же объекта несколько раз в одной или нескольких БД)

Проблемы при идентификации записей

Page 6: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Идентификация пациента-типичные проблемы

A B C

Семак Евгения

Дмитриевна

Скрынник Евгений

Петрович

MRN Name

MRN Name

MRN Name

A0815

A1234

A4711

Скрынник Евгений Петрович

Е.Д. Семак

Скрыник Е.П.

B987 Скрынник Е.П.

… …

C22333 Семак Е.Д.

C22334 Скрынник Е.Д.

C22335 Скрыник Женя

C22336 Скрынник Е.Е.

B911 Симак Е.Д.

… …

Page 7: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

• Типы продуктов

– Identity Management – IdM

– Master Data Management – MDM

– Customer Data Integration – CDI

– Master Person/Patient Index – MPI

• Сценарии применения:

– Разовая очистка существующих данных (во время миграции/интеграции)

– Мастер-индекс объектов из разных источников (кросс-таблица)

– Централизованный репозиторий объектов

Применение решений Identity Resolution

Page 8: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MPI продукты

• Agfa IMPAX Master Patient Index

• IBM Initiate Enterprise Master Person Index

• InterComponentWare (ICW) Master Patient Index

• iWay Enterprise Master Patient Index

• openEMPI

• Oracle Healthcare Master Person Index

• Quadramed Enterprise Master Person Index

• InterSystems MPRL

Page 9: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MPRL

MPRL - Multidimensional Probabilistic Records Linkage (Многомерное вероятностное связывание записей)

• Библиотека, на основе которой создаются Identity Resolution приложения

• В настоящий момент доступна в дистрибутиве HealthShare

• Не привязана к HealthShare и может использоваться в Caché и Ensemble

Page 10: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: Дубль / Линк

• MATCH (ДУБЛЬ) – пара записей об одном и том же объекте (при анализе одной или разных БД)

• NON-MATCH (НЕДУБЛЬ) – пара записей о разных объектах

• LINK (ЛИНК) – пара потенциально совпадающих записей (связанных MPRL)

• POTENTIAL LINK / NON-LINK (ПОТЕНЦИАЛЬНЫЙ ДУБЛЬ / НЕДУБЛЬ) – пара записей, которые MPRL не может классифицировать самостоятельно (требуется решение специалиста)

Page 11: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MRN Name

С22333 Семак Е.Д.

С22334 Скрынник Е.Д.

С22335 Скрынник Женя

С22336 Скрынник Е.Е.

MRN Name

B917 Симак Е.Д.

B987 Скрынник Е.П.

… …

MRN Name

A0815 Скрынник Евгений

Петрович

A1234 Е.Д.Семак

A4717 Скрыник Е.П.

… …

Концепции: Процесс идентификации дублей

Дубли Недубли

Page 12: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: Транзитивный линк

• A связана с B

• B связана с C

• Это означает, что A связана с C ТРАНЗИТИВНЫЙ ЛИНК

Page 13: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: MPI-ID

• Записям об одном и том же объекте присваивается единое значение MPI-ID

Источник A Источник B

Скрынник Е.П. Скрыник Евгений

Петрович

10/12/1956

Москва, ул.

Харьковская д1, кв 23

617-555-217 12

10/12/1956

Москва, Харьковская

1-23

619-555-217 12

MPI-ID: 1234

• Исходные данные не меняются

Page 14: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: MPI

Master Person Index:

– классифицирует пары (дубли/недубли)

– присваивает MPI-ID:

MPI-ID Source MRN Name

1 A A0815 Скрынник Евгений Петрович

2 A A1234 Е.Д. Семак

1 A A4711 Скрыник Е.П.

1 B B987 Скрынник Е.П.

2 B B911 Симак Е.Д.

2 C C22333 Семак Е.Д.

2 C C22334 Скрынник Е.Д.

3 C C22335 Скрынник Женя

3 C C22336 Скрынник Е.Е.

Позволяет получить консолидированное представление данных

Page 15: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: Детерминированный / Вероятностный поиск

Детерминированный поиск: ЛОГИЧЕСКИЕ И/ИЛИ

– заданы правила, определяющие, что пара записей - это ДУБЛЬ (совпадение ИНН один человек)

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

невысокий КПД, плохо настраивается

Page 16: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: Детерминированный / Вероятностный поиск Вероятностный поиск: Вычисляется оценка определяющая вероятность дубля

– Используется статистическая теория

– Используются вероятностные алгоритмы для оценки соответствия значений

– Может учитываться специфика конкретных данных

– Позволяет находить дубли со сложными связями

высокий КПД, хорошо настраивается

Page 17: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Вероятностная модель

• Используется модель, впервые описанная в статье Fellegi и Sunter “The Theory for Record Linkage” в1969 году

• Наивный байесовский классификатор (Naїve Bayes) - простой вероятностный классификатор, основанный на применении теоремы Байеса со строгими (наивными) предположениями о независимости

– Пример: если фрукт красный, круглый и размером около 7см, то есть вероятность, что это яблоко. Применяя наивный байесовский классификатор, мы предполагаем, что эти три свойства фрукта не зависят друг от друга, и наличие каждого из них вносит независимый вклад в вероятность того, что фрукт является яблоком.

• http://en.wikipedia.org/wiki/Naive_Bayes_classifier

• http://en.wikipedia.org/wiki/Record_linkage

Page 18: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Концепции: Пороги

Порог Auto-Link

Порог Review

НЕДУБЛЬ

?

?

ДУБЛЬ

?

Порог Validate

Review

Validate

Page 19: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Процесс идентификации дублей

Нормализация Индексация

Классификация

Валидация

Page 20: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Процесс идентификации дублей

Оригинальные данные

Нормализованные данные

Классифицированные пары

school2014.Person school2014 _mprl_Linkage Definition.Normalized

school2014 _mprl_Linkage Definition.Classified

Нормализация Индексирование, Классификация

Валидация

Загрузка

Page 21: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Конфигурация поиска дублей

• LINKAGE DEFINITION - конфигурация поиска дублей

– Интерфейс редактирования (Definition Designer) доступен в Ensemble для “MPRL-enabled” областей

Page 22: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Интерфейс Definition Designer

• Редактирование конфигурации поиска дублей

– Имена классов (класса данных и генерируемых классов)

– Параметры поиска дублей

– Индексы для первичного определения потенциальных дублей

• Настройка

– Настройка порогов

– MLE калибровка

• Запуск процесса идентификации дублей

Page 23: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Нормализация

Page 24: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Нормализация

• LINKAGE TYPE управляет процессом нормализации

– преобразование к нижнему регистру

– удаление лишних символов (пробелы, непечатаемые…)

– может быть очень сложным (например, для адреса)

• Доступны стандартные типы

– %MPRL.LinkageType.*

Page 25: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Индексирование

Page 26: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Число записей Число пар

2 1

3 3

4 6

5 10

10 45

100 4,950

500 124,750

1,000 499,500

10,000 49,995,000

100,000 4,999,950,000

1,000,000 499,999,500,000

необходимо сравнивать только похожие записи!

Индексирование

Page 27: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Индексирование

Page 28: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Индексирование

• LINK-KEY ИНДЕКСЫ используются для быстрого отбора потенциально совпадающих записей в таблицу Classified

• В одном LINKAGE DEFINITION возможно определить несколько индексов

• Каждый индекс может содержать несколько полей

• Компилируется в Normalized класс

Page 29: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Возможные проблемы индексирования:

• Слишком «жесткие» условия индексирования: мало записей в индексе и в Classified классе много ненайденных дублей

• Слишком «мягкие» условия индексирования: слишком много записей проблемы с производительностью

Индексирование

Page 30: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Классификация

• Для основных параметров конфигурации поиска дублей задаются веса

– Agreement (вес совпадения)

– Disagreement (вес несовпадения)

Page 31: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Классификация

• LINK WEIGHT (вес пары) состоит из суммы весов параметров, рассчитываемых с использованием:

– словарей синонимов

– частотных словарей

– фонетических алгоритмов

• Soundex, Metaphone

( Семак и Симак)

– алгоритмов сравнения строк

• jaroSimilarity, winklerSimilarity, hammingSimilarity, hammingDistance, editDistance, editSimilarity, editexSimilarity, bigramSimilarity

( 012-32-343 45 и 012-32-343 35 )

Page 32: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Фонетические алгоритмы индексирования слов по их звучанию • soundex

– Все гласные отбрасываются кроме первой буквы слова

– Генерирует ключи заданной длины (или короче)

USER>w ##class(%MPRL.Utils.Phonic).soundex("robert", 4)

R163

USER>w ##class(%MPRL.Utils.Phonic).soundex("rupert", 4)

R163

• metaphone

– Генерирует ключи переменной длины

– Был разработан в 1990 году в качестве альтернативы алгоритму Soundex, обладающему рядом недостатков

USER>w ##class(school2014.mprl.util.Phonic).metaphoneru("семак")

СИМАК

Page 33: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Алгоритмы сравнения строк • jaroSimilarity – классическая мера близости Джаро (Jaro

similarity measure) рассчитывается по формуле

• Здесь |s1| и |s2| - длины сравниваемых строк, m – количество

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

• winklerSimilarity – мера близости Джаро-Винклера

– Усовершенствование jaroSimilarity: при наличии у строк общего префикса результат увеличивается по формуле

JWSimilarity = JSimilarity + (0.1 * PrefixLength) * (1 – JSimilarity)

Page 34: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Алгоритмы сравнения строк (продолжение)

• hammingSimilarity

– Количество позиций, в которых соответствующие символы двух строк совпадают, отнесенное к количеству символов в строке большей длины. Результат – число от 0 до 1.

USER>w ##class(%MPRL.Utils.Compare).hammingSimilarity("привет",

"привте")

.6666666666666666297

• hammingDistance

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

USER>w ##class(%MPRL.Utils.Compare).hammingDistance("привет",

"привте")

2

Page 35: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Алгоритмы сравнения строк (продолжение)

• editDistance – расстояние Дамерау-Левенштейна

– Разновидность «расстояния редактирования»

– Подсчитывается минимальная стоимость набора операций, необходимых для превращения одной строки в другую

– Рассматривается четыре типа операций: вставка одного символа, удаление одного символа, замена одного символа на другой, транспозиция - перестановка двух соседних символов

– В MPRL реализован алгоритм Вагнера-Фишера. Стоимость одной операции любого типа принимается за единицу. Описание алгоритма на Хабре - http://habrahabr.ru/post/114997/

USER>w ##class(%MPRL.Utils.Compare).editDistance("привет",

"привте")

1

Page 36: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Классификация

Linkage

Definition

Agree:+10

Disagree: -5

Agree:+8

Disagree: -8

Agree:+15

Disagree: -9

Agree:+6

Disagree: -1

Agree:+4

Disagree: -2

Name DOB SNILS Address Phone

Источник A Иванов

Дмитрий

Иванович

10/12/1956 123-456-789

01

555, г. Москва,

ул. Харьковская

д.1, кв. 23

617-551-2171

Источник В Иванов Д.И. - 123-456-789

01

555, Москва,

Харьковская 1-

23

234-355-2356

+8 0 +15 +5.5 -2

Вес пары: 26.5

Page 37: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Классификация: этапы

• Установить начальные веса для параметров

• Установить начальные пороговые значения

• Запустить процесс идентификации дублей

• Запустить калибровку

Review

Autolink

Validate

Недубли Потенциальные недубли

Потенциальные дубли

Дубли

Page 38: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Калибровка

• КАЛИБРОВКА позволяет настроить значения весов атрибутов при установленных порогах в соответствии со статистическими данными

• Доступны два стандартных алгоритма:

– MLE (Maximum Likelihood Estimation)

– EM (Expectancy Maximization)

Page 39: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MLE калибровка

• “Maximum likelihood estimation” (http://en.wikipedia.org/wiki/Maximum_likelihood)

• Выполняется для случайно отобранных пар

– Ограниченное число сравнений или пока колебания весов не станут незначительными

– Обработка 1 млн. пар ~½ часа на ноутбуке

• После завершения калибровки необходимо:

– Заново запустить процесс идентификации дублей

– Провести валидацию результатов

– Скорректировать пороговые значения

• Необходимо несколько итераций

Page 40: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

EM калибровка

• “Expectation Maximization” (http://en.wikipedia.org/wiki/Expectation_maximization)

• Достаточно одной итерации калибровки

• Не требуется валидация результатов

– Результаты близки к идеальным

• Значительное время вычислений

– Обычно выполняется на репрезентативной выборке, например, 50 000 записей

– 50 000 записей могут потребовать несколько дней вычислений!

Page 41: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Сравнение MLE и EM калибровок

• MLE – быстрая и эффективная, требует значительной ручной работы

– Зависит от качества ручной валидации

– Может быть выполнено на скромном «железе»

• EM – полностью автоматическая, результат близок к идеальному

– Требует значительных вычислительных мощностей

Page 42: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Запуск процесса идентификации дублей

Page 43: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Валидация: интерфейс WorkList

Page 44: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Валидация: интерфейс WorkList

Категории пар записей:

• Review – потенциальные недубли

• Validate – потенциальные дубли

• Duplicate – дубли и потенциальные дубли

• Overlap – связанные записи с разными MPI-ID

• Overlay – несвязанные записи с одинаковыми MPI-ID

• Open-chaining – связанные записи, разрывающие цепочку транзитивности

Page 45: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Путь к успеху проекта

• Реальные данные для тестирования и отладки

• Локализация и кастомизация

• Валидация предметными специалистами

• Баланс между точностью и практичностью

Page 46: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Упражнения

Page 47: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

Вопросы и ответы

Page 48: MPRL: Новая технология InterSystems для создания ... · 2018. 6. 26. · MPRL: Новая технология InterSystems для создания решений

MPRL: Новая технология InterSystems для создания решений Identity Management

Сергей Кудинов

Дмитрий Засыпкин

Спасибо!