2014 04 21_nlp2014_4

39
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Обработка текстов на естественном языке Александр Уланов Лекция 9. Поиск дубликатов в тексте

Transcript of 2014 04 21_nlp2014_4

Page 1: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Обработка текстов на естественном языкеАлександр Уланов

Лекция 9. Поиск дубликатов в тексте

Page 2: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2

Оглавление курса

1. Введение. Слова, фразы, предложения, наборы текстов

2. Статистики, языковые модели

3. Классификация текстов

4. Практика I

5. Кластеризация текстов

6. Разбор текстов по частям речи. Поиск именных сущностей

7. Извлечение отношений из текстов

8. Практика II

9. Поиск дубликатов в тексте

10. Анализ мнений

11. Введение в статистический машинный перевод

12. Практика III

Литература

• Chris Manning and Hinrich Schuetze. Foundations of Statistical Natural Language Processing, MIT Press, 1999

• Philipp Koehn. Statistical Machine Translation, Cambridge Univ. Press, 2010

• Научные статьи по теме (ссылки на слайдах), видеолекции Stanford и Coursera (Manning)

Page 3: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3

Оглавление

Введение

Меры близости строк

Близость записей (наборов строк)

Обучение с учителем

Масштабируемость

Page 4: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4

Введение

Поиск дубликатов

Задача поиска и группировки или согласования различных реализаций одного и того

же объекта

• Различные способы упоминания одного и того же человека в тексте или БД

– При распознавании именованных сущностей в тексте это очень актуально

• Страницы с разными описаниями одних и тех же организаций

• Разные фотографии одних и тех же объектов

• …

• Будем заниматься текстовыми дубликатами

Page 5: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5

Поиск дубликатов

Поиск дубликатов в поиске дубликатов

Задача имеет много различных названий Duplicate detection

Record linkageCoreference resolution

Reference reconciliationMatching Object consolidation

Deduplication Entity clusteringMerge/purge

Hardening soft databases Doubles Entity resolution

Entity linking

Page 6: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6

Примеры. Социальная сеть

Эрик Картман

Стэн Марш

Кайл Брофлофски

Кенни МакКормик

Картман

Кенни

Кайл

Стэн

С. Марш К. Брофлофски

Эрик

К. Маккормик

До поиска дубликатов После поиска дубликатов

Сеть пригодна для анализа

Page 7: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7

Примеры. Топология сети Интернет

Router

Router

Router

Route

r

Router

До поиска дубликатов После поиска дубликатов

Router

Router

Router

Router

Router

Router

Уменьшена сложность графа

Page 8: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8

Примеры. Люди

Микоян

Вагнер

*все фото из Википедии

Page 9: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9

Причины появления дубликатов

Отчего появляются дубликаты?

Основные причины:

• Ошибки ввода

• Пропущенные данные

• Измененные атрибуты

• Формат данных

• Аббревиатуры и сокращения

Page 10: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10

Актуальность

Новые данные для поиска дубликатов

Основные проблемы

• Большие данные (Big Data)

• Гетерогенность

– Неструктурированные, «грязные», неполные данные

– Не просто сравнение фамилий и имен, а сравнение профайла в Фейсбуке со списками

твитов в Твиттере

• Согласование

– Не просто дубликаты, а отношения между реализациями

• Различные приложения

– БД, социальные сети…

Page 11: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11

Постановки задачи

Поиск дубликатов

Список задач

• Поиск дубликатов (duplicate detection, entity resolution)

– Группировка различных реализаций одного и того же объекта

• Согласование записей (record linkage, entity linking)

– Связать записи, которые дублируются в разных источниках

• Ссылки (reference resolution)

– Сопоставить данные с внешними источниками для их «чистки»

Условия

• Каждая реализация может быть ассоциирована только с одним объектом

• В задаче согласования записей в одном из источников нет дубликатов

• Если две реализации идентичны, то они относятся к одному объекту

Page 12: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12

Постановки задачи

Обозначения

• R – набор записей (реализации)

• H – набор отношений (реализации)

• M – набор совпадений

• N – набор несовпадений

• E – набор объектов (в реальности)

• L – набор связей (в реальности)

Проверка правильности решения

• Реальные (Mtrue, Ntrue, Etrue, Ltrue) сравниваются с (Mpred, Npred, Epred, Lpred), найденными

алгоритмом

Mtrue

Mpred

Page 13: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13

Меры эффективности

Измерение точности поиска дубликатов

• Попарные (N(N-1)/2)

– Точность, полнота, F1-мера (precision, recall, F1-measure)

– Количество правильно найденных совпадающих пар

• Групповые (кластерные)

– Чистота (purity)

k

jkj

cN

Cpurity max1

,

fptp

tpP

fntp

tpR

RP

PRF

1

Тот же кластер Другой кластер

Тот же объект True positive (tp) False negative

(fn)

Другой объект False positive (fp) True negative (tn)

кластеры объекты Предполагается, что каждый кластер представляет

тот объект, реализаций которых в нем больше всего

Page 14: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14

Решение

Как задача классификации

Классифицировать все пары записей в «совпадение» и «не совпадение»

• Несбалансированные данные – «не совпадений» намного больше

• Пары записей не независимы:

– (A,B)==match, (B,C)==match (A,C)==match

Как задача кластеризации

Кластеризовать все записи так, чтобы кластеры соответствовали объектам

• В популярных алгоритмах кластеризации предполагается, что количество кластеров намного

меньше R

• В задаче поиска дубликатов количество кластеров O(R), зачастую близко к R, так как много

синглетонов (кластеров с одним элементом)

Page 15: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15

Алгоритм решения

Обычно задача включает в себя следующие шаги

• Подготовка данных и выделение атрибутов

• Попарное сравнение

– Атрибутов

– Записей (реализаций)

• Применение ограничений

Особенности

• Метод агрегации атрибутов перед сравнением

– Конкатенация в одну строку vs. отдельно

• Подбор параметров метода сравнения (если они есть)

• Подбор порога метода сравнения, по которому определяются дубликаты

– Для каждого типа атрибута, если их несколько

• Свертка значений в случае сравнения различных атрибутов отдельно

Можно применить

обучение с учителем

Page 16: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16

Подготовка данных

• Нормализация схемы данных

– Схема – «телефон» и «контактный телефон»

– Сложные атрибуты - адрес

– Вложенные атрибуты

– Наборы атрибутов

– Сегментация данных

• Нормализация данных

– Строчные буквы, пробелы

– Исправление заранее известных ошибок

– Расшифровка аббревиатур

– Часто используются словари

Page 17: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Меры близости строк

Page 18: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18

Сравнение атрибутов записей

• Для каждой пары реализаций составить вектор

близости их признаков

– S(A,B)=(sim(A.phone,A.phone),sim(A.name,B.n

ame),…)

– Элементами вектора могут быть как

булевские значения так и значения функций

близости

SecondString, http://secondstring.sourceforge.net/

Simmetrics: http://sourceforge.net/projects/simmetrics/

LingPipe, http://alias‐i.com/lingpipe/index.html

• Меры близости

− Булевская

− Дистанция редактирования

• Levenshtein, Jaro-Winkler, Monge-Elkan

− Фонетичекая

• Soundex

− На основе множеств

• Dice, Jaccard

− На основе векторов

• TF-IDF, softTF-IDF

− Перевод

• Аббревиатуры

Page 19: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19

Меры близости. Levenstein

Levenshtein

Стоимости

• Совпадение: если символ совпадает, взять стоимость из левой верхней диагонали

• Несовпадение (выбирается минимальная стоимость)

– Замена: если символ не совпадает, взять стоимость из левой верхней диагонали и добавить 1

– Вставка: взять стоимость слева и добавить 1

– Удаление: взять стоимость сверху и добавить 1

t h i s

0 1 2 3 4

h 1 1 1 2 3

a 2 2 2 2 3

s 3 3 3 3 2 Расстояние

Модификации Levenstein

• Needleman-Wunsch: разные стоимости

• Damerau-Levenstein: +транспозиция

• Smith-Waterman: учет начала и конца

• Affine gap: последовательная

вставка/удаление дешевле

• Monge-Elkan: Smith-Waterman+affine

Page 20: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20

Меры близости. Jaro-Winkler

s

s

t

t

s

stsJaro

3

1),(

1

2

,max

tsd

ts , – последовательности общих символов

Два символа считаются общими, если они не дальше чем

– половина кол-ва перестановок в последовательности общих символов

Алексей

Алескей 12d 95.07

17

7

7

7

7

3

1

Jaro

),(11.0),(),( tsJaroitsJarotsrJaroWinkle

i – общий префикс (но не больше 4)

Page 21: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21

Меры близости. Множества, вектора

Jaccard

TF-IDF

Вычисление косинуса векторов с весами слов

Soft TF-IDF

BA

BABAJaccard

),(

Сравниваемые строки разбиваются на слова

Отношение пересечения и объединения слов

TSw

TFIDF TwVSwVTSSim ,,),(

wSwV

SwVSwV

2,

,),( wSw IDFTFSwV log1log, ,

TSCLOSEw

TFIDF TwNTwVSwVTSSimSoft,,

,,,),(

vwsimCLOSE ,CLOSETw simTwN max),(

w

wd

DIDF

Page 22: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.22

Сравнение эффективности мер близости

Средние значения по 11 наборам данных, в том числе научные статьи, названия

животных, адреса и названия ресторанов (записи были соединены в одну строку)

M. Bilenko, R. Mooney, W. Cohen, P. Ravikumar and S. Fienberg. Adaptive Name Matching in Information

Integration. IEEE Intelligent Systems, Vol. 18 Is 5, 2003

Page 23: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Подбор параметров мер близости

Page 24: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.24

Меры близости. Обучение с учителем

Обучение параметров мер близости

• Веса операций меры Левенштейна + Affine gap при помощи HMM [Bilenko & Mooney, KDD03], CRF

[McCallum et al. 2012]

– Позволяет «выучивать» особенности типа высокой стоимости редактирования чисел в адресе,

либо низкой стоимости удаления при сравнении с аббревиатурой

• Косинусная при помощи SVM [Bilenko & Mooney, KDD03]

• Веса для каждого измерения

• Проблемы

– Необходим набор данных для обучения

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

Page 25: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.25

Сравнение эффективности мер близости

McCallum, Andrew, Kedar Bellare, and Fernando Pereira. "A conditional random field for discriminatively-trained finite-state string edit distance." arXiv preprint arXiv:1207.1406 (2012).

Максимальная F-мера по одному текстовому полю записи

Максимальная F-мера по всей записи

Page 26: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.26

Эффективность мер близости

Bilenko, Mikhail, and Raymond J. Mooney. "Adaptive duplicate detection using learnable string similarity measures." Proceedings of the ninth ACM SIGKDD international

conference on Knowledge discovery and data mining. ACM, 2003.

Page 27: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Свертка значений мер близости отдельных атрибутов записи

Page 28: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.28

Сравнение записей

Задача: вычислить близость между записями, представленными в

виде векторов значений близости

• Взвешенная сумма (или среднее) дистанций атрибутов

– Необходимо определять порог

• Правила

– Необходимо писать правила

• Машинное обучение

– Необходим набор данных для обучения

Page 29: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.29

Обучение с учителем

Вероятностная модель [Fellegi & Sunter 1969]

• Байесовское правило принятия решения

• 𝛼, 𝛽 𝜖 𝑀 если 𝑝 𝑀|𝑥 ≥ 𝑝 𝑈|𝑥

𝑈

• 𝛼, 𝛽 𝜖 𝑀 если

𝑝 𝑥|𝑀

𝑝 𝑥|𝑈=

𝑖=1..𝑛 𝑝 𝑥𝑖|𝑀

𝑖=1..𝑛 𝑝 𝑥𝑖|𝑈≥

𝑝 𝑈

𝑝 𝑀

𝑈

– 𝛼, 𝛽 – записи, 𝑥 = 𝑠𝑖𝑚 𝑎1, 𝑏1 …𝑠𝑖𝑚 𝑎𝑛, 𝑏𝑛 (обычно 0 и 1)

– 𝑝 𝑥𝑖|𝑀 и 𝑝 𝑥𝑖|𝑈 определяются на тренировочном наборе данных

– Необходимо определять порог

– Решения, близкие к порогу, отдавать человеку на проверку

Page 30: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.30

Обучение с учителем

Попарная классификация

• SVM

– [Bilenko & Mooney, KDD03]

• Ансамбль классификаторов

– [Chen et al., SIGMOD09]

– Кроме решений других классификаторов происходит добавление контекстуальных признаков –

размер кластера и кол-во соседей

• Conditional Random Fields (CRF)

– [Gupta & Sarawagi, VLDB09]

• Проблемы

– Необходим набор данных для обучения

– Дисбаланс классов

– Большая стоимость ошибки

Page 31: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.31

Обучение с учителем [Bilenko et al. 2003]

Page 32: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.32

Сравнение программных пакетов [Koepcke et al. 2010]

• COSY – commercial system

• PPJoin+

– Cosine, Jaccard, ручной порог

• FEBRL - Freely Extensible Biomedical Record Linkage

– Winkler, Tokenset, Trigram ручной порог, а также SVM

• MARLIN - Multiply Adaptive Record Linkage with INduction)

– Edit distance, Cosine. SVM, деревья решений

Для 2х атрибутов – лучше обучение с учителем

Page 33: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Дополнительно: ограничения и масштабируемость

Page 34: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.34

Применение ограничений

Виды ограничений

• Транзитивность (для поиска дубликатов)

– Если M1 и M2, а также M2 и M3 совпадают, то M1 и M3 тоже совпадают

– Следствие: если M1 и M2, а также M2 и M3 не совпадают, то M1 и M3 не могут совпадать

• Эксклюзивность (для согласования данных)

– Если M1 и M2 совпадают, то M2 и M3 не могут совпадать

– Следствие: M3 может совпадать с M4

• Функциональная зависимость (для очистки данных)

– Если M1 и M2 совпадают, то M3 и M4 тоже совпадают

– Следствие: как в транзитивности

• В зависимости от данных

Page 35: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.35

Применение ограничений при кластеризации

Дубликаты

Дано: попарные расстояния между записями. Найти: группы записей,

представляющих один и тот же объект

• Попарное сравнение может дать неполноценный результат (не выполняется транзитивность)

• Иногда транзитивность может быть вредной

• Кластеризация

– Иерархическая [Bilenko et al, ICDM 05]

– К-ближайщих соседей [Chaudhuri et al, ICDE 05]

• Проблема транзитивности остается

• Сложность определения шага остановки кластеризации

Page 36: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.36

Масштабируемость

Попарных сравнений может быть очень

много

Пример

• Население СПб 5*106 человек, сравнений будет

~25*1012. Если одно сравнение занимает 1 мкс, то

весь процесс займет 8 лет

Традиционное решение

• Предварительная разбивка на наборы данных, между

которыми сравнение не будет произведено

– Minwise Independent Permutations (minHash),

SimHash (Google) (Jaccard)

– Canopies [McCallum et al., SIGKDD 2000]

– Зависящая от типа данных

Page 37: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.37

Заключение и ссылки

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

На базовом уровне согласования двух БД проблему можно считать решенной

• Большие данные (Big Data)

• Гетерогенность данных

• Масштабируемость

Ссылки

• L. Getoor, A. Machanavajjhala. VLDB 2012 Tutorial on Entity Resolution

• Elmagarmid et al., Duplicate Record Detection: A Survey. IEEE Transactions on Knowledge and Data

Engineering, Vol. 19, No. 1. (January 2007) (все, что надо знать о поиске дубликатов на 16

страницах текста)

Page 38: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.38

Содержание

Введение

Меры близости строк

Близость записей (наборов строк)

Обучение с учителем

Масштабируемость

Page 39: 2014 04 21_nlp2014_4

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.39

Спасибо!

[email protected]