Обработка текстов на естественном языке:...

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

description

 

Transcript of Обработка текстов на естественном языке:...

Page 1: Обработка текстов на естественном языке: Кластеризация текстов

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

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

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

Page 2: Обработка текстов на естественном языке: Кластеризация текстов

© 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: Обработка текстов на естественном языке: Кластеризация текстов

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

Введение

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

Автоматически распределить документы по группам (кластерам), при этом внутри

группы документы должны быть максимально похожи, а документы из разных групп

– максимально различаться

• Обучение без учителя - группы выбираются автоматически без подсказки человека

– На основе статистических свойств данных

Применение

• Группировка найденных по запросу документов для бОльшего удобства их просмотра

• Группировка похожих документов в новостных потоках (об одном и том же событии)

• Реферирование докумета/документов

• Вспомогательное для других задач

– Кластер как признак для классификации

– Кластер как набор данных для обучения классификатора

Page 4: Обработка текстов на естественном языке: Кластеризация текстов

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

Введение

Дано

• Набор документов 𝐷 = 𝑑1, … , 𝑑𝑛

– Документы 𝑑 в структурированном виде

• Желаемое кол-во кластеров 𝐾

– опционально

• Целевая функция качества кластеров

– Обычно задается как функция близости между документами

Определить

• Соответствия документов 𝐷 кластерам, то есть соотвествия 𝛾 ∶ 𝐷 → 1,… ,𝐾 , которые

минимизируют целевую функцию

Page 5: Обработка текстов на естественном языке: Кластеризация текстов

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

Оценка качеста кластеризации

При наличии размеченных данных (какой документ относится к какому реальному классу)

• Попарные (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 6: Обработка текстов на естественном языке: Кластеризация текстов

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

Представление данных

• Вес слова (также, как в классификации)

– Бинарный 0/1 (для коротких документов)

– Частота в документе (term frequency)

– TF-IDF (наиболее популярный вариант)

• 𝑡𝑓𝑖𝑑𝑓(𝑡𝑘 , 𝑑𝑗)= 𝑁(𝑡𝑘, 𝑑𝑗) ∙ log𝐷

𝑁 𝑑 𝑤𝑖𝑡ℎ 𝑡𝑘

• Нормализация 𝑤𝑗𝑘 =𝑡𝑓𝑖𝑑𝑓(𝑡𝑘,𝑑𝑗)

𝑡𝑓𝑖𝑑𝑓(𝑡𝑠,𝑑𝑗)2𝑇

𝑠=1

Page 7: Обработка текстов на естественном языке: Кластеризация текстов

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

Методы кластеризации

Виды кластеризации

По структуре результата

• Плоская и иерархическая

По вхождению документов в разные кластеры

• Жесткая и нечеткая (soft, дословно – мягкая) кластеризация

По наличию неоткластеризованных документов

• Полная и частичная

По типу модели данных

• На основе связей

• На основе центроида

• На основе распределений

• Плотности

• …

Page 8: Обработка текстов на естественном языке: Кластеризация текстов

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

Методы кластеризации

Aggarwal, Charu C., and ChengXiang Zhai. "A survey of text clustering

algorithms." Mining text data. Springer US, 2012. 77-128.

Andrews, Nicholas O., and Edward A. Fox. "Recent developments in

document clustering." Computer Science, Virginia Tech, Tech Rep (2007).

Chris Manning and Hinrich Schuetze. Foundations of Statistical Natural

Language Processing, MIT Press, 1999

Page 9: Обработка текстов на естественном языке: Кластеризация текстов

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

К-средних

К-means

Целевая функция – сумма квадратов расстояний документов до своих центроидов

𝑅𝑆𝑆 = 𝑑 − 𝜇 𝜔2

𝑑∈𝜔𝐾𝑘=1 Алгоритм:

1. Задать число кластеров 𝐾

2. Случайно выбрать 𝐾 документнов в качестве центроидов кластеров

3. Включить остальные документы в ближайший кластер

4. Вычислить центроиды кластеров

𝜇 𝜔 =1

𝜔 𝑑

𝑑 ∈𝜔

5. Повторять 4,5 до:

– Опр количество итераций

– Разбиение перестает меняться

– Центроиды не изменяются

http://stanford.edu/~cpiech/cs221/handouts/kmeans.html

Page 10: Обработка текстов на естественном языке: Кластеризация текстов

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

Bishop, Christopher M. Pattern recognition and machine

learning. Vol. 1. New York: springer, 2006.

Page 11: Обработка текстов на естественном языке: Кластеризация текстов

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

К-средних

К-means

Как выбирать 𝐾

• Перебор

• Эвристика 𝐾 ≈𝐷

2

• Угадать

Особенности

• Сложность 𝑂 𝐾 𝐷 𝐼𝑀 , 𝐼 – число итераций, 𝑀 –

стоимость вычисления Эвклидовой дистанции

• Алгоритм не гарантирует глобального максимума

• Предполагается, что данные «кучкуются» в

сфере вокруг центроида

• Можно неудачно выбрать начальные точки

Chris Manning and Hinrich Schuetze. Foundations of Statistical

Natural Language Processing, MIT Press, 1999

Bishop, Christopher M. Pattern recognition and

machine learning. Vol. 1. New York: springer, 2006.

Page 12: Обработка текстов на естественном языке: Кластеризация текстов

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

Expectation maximization

EM

Другой взгляд на К-средних

• Выбрать такие центроиды Θ = 𝜇1, … , 𝜇𝑛 , чтобы вероятность сгенерировать данные 𝐷 по ним была

максимальна, то есть подобрать параметры модели, чтобы максимизировать функцию

правдоподобия (данным):

– Θ = argmaxΘ 𝐿 𝐷|Θ = argmaxΘ log 𝑃 𝑑𝑛|Θ𝑁𝑛=1 = argmaxΘ log𝑃 𝑑𝑛|Θ

𝑁𝑛=1

• Можем посчитать 𝑃 𝑑|𝜔𝑘; Θ

– Нечеткая кластеризация (в отличие от К-средних) – есть вероятность попадания в кластер

– Можем задавать вид распределения (в отличе от К-средних, где данные в сфере у центроида)

Page 13: Обработка текстов на естественном языке: Кластеризация текстов

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

Expectation maximization

EM

EM-алгоритм

• Распишем вероятность попадания документа в кластер в предположении, что она имеет

распределение Бернулли (желательно вывести это дома):

– 𝑃 𝑑|𝜔𝑘; Θ = 𝑞𝑚𝑘𝑡𝑚∈𝑑 1 − 𝑞𝑚𝑘𝑡𝑚∉𝑑

– где параметры модели Θ = Θ1, … , Θ𝐾 , Θ𝑘 = 𝛼𝑘, 𝑞1𝑘, … , 𝑞𝑀𝑘 , 𝑞𝑚𝑘 = 𝑃 𝑈𝑚 = 1|𝜔𝑘 - вероятность

того, что документ из кластера 𝜔𝑘 содержит слово (терм) 𝑡𝑚. 𝛼𝑘 - априорная вероятность

кластера

• А теперь смесь вероятностных распределений (сумма по всем кластерам):

– 𝑃 𝑑|Θ = 𝛼𝑘 𝑞𝑚𝑘𝑡𝑚∈𝑑 1 − 𝑞𝑚𝑘𝑡𝑚∉𝑑

𝐾𝑘=1

• В результате, надо определить 𝛼𝑘 и 𝑞𝑚𝑘

Page 14: Обработка текстов на естественном языке: Кластеризация текстов

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

Expectation maximization

EM

У нас есть модель. Надо подобрать такие параметры, чтобы она наилучшим образом

соответствовала нашим данным. Как можно поступить: градиентный спуск, как в задаче

регрессии, например. Надо дифферецировать по многим переменным. Есть алгоритм

решения в более общем случае:

• Инициализация: присваиваем к-то значения параметрам (выбираем центроиды)

• Expectation (шаг): вычисление «результатов» модели в соответствии с текущими параметрами

– Соответствие документа кластеру: 𝑟𝑛𝑘 =𝛼𝑘 𝑞𝑚𝑘𝑡𝑚∈𝑑

1−𝑞𝑚𝑘𝑡𝑚∉𝑑

𝛼𝑘 𝑞𝑚𝑘𝑡𝑚∈𝑑 1−𝑞𝑚𝑘𝑡𝑚∉𝑑

𝐾𝑘=1

– Аналог для К-средних - определение кластеров для документов

• Maximization (шаг): пересчет параметров модели в соответствии с данными

– Аналог для К-средних - вычисление центроидов

– 𝑞𝑚𝑘 = 𝑟𝑛𝑘𝐼 𝑡𝑚∈𝑑𝑁𝑛=1

𝑟𝑛𝑘𝑁𝑛=1

, 𝛼𝑘 = 𝑟𝑛𝑘𝑁𝑛=1

𝑁, где 𝐼 𝑡𝑚 ∈ 𝑑 равна 1, если 𝑡𝑚 ∈ 𝑑

Xu L and Jordan MI (1996). On Convergence Properties of the EM Algorithm for Gaussian

Mixtures. Neural Computation 2: 129-151

Page 15: Обработка текстов на естественном языке: Кластеризация текстов

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 15 Bishop, Christopher M. Pattern recognition and machine

learning. Vol. 1. New York: springer, 2006.

Page 16: Обработка текстов на естественном языке: Кластеризация текстов

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

Иерархическая кластеризация

Hierarchical clustering

Результат кластеризации – иерархия документов.

• Подход «снизу вверх» последовательно объединяет похожие

документы

• Подход «сверху вних» последовательно разбивает кластеры

• Необходимо задать меру близости между документом и кластером

• Критерий остановки

– До полной иерархии

– По порогу близости

– По изменению порога близости

– По минимуму 𝑅𝑆𝑆 и числа кластеров

– По заданному числу кластеров

Page 17: Обработка текстов на естественном языке: Кластеризация текстов

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

Иерархическая кластеризация

Hierarchical clustering

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

• Одиночная свяь (single link): 𝑑 𝜔𝑖 , 𝜔𝑗 = min 𝑑𝑘 − 𝑑𝑚 , 𝑑 𝑘 ∈ 𝜔𝑖 , 𝑑 𝑚 ∈ 𝜔𝑗

– Эффект «цепи»

• Полная связь (complete link): 𝑑 𝜔𝑖 , 𝜔𝑗 = max 𝑑𝑘 − 𝑑𝑚 , 𝑑 𝑘 ∈ 𝜔𝑖 , 𝑑 𝑚 ∈ 𝜔𝑗

– Чувствительность к «выбросам»

• Центроид (centroid link): 𝑑 𝜔𝑖 , 𝜔𝑗 = 𝜇𝑖 − 𝜇𝑗

– Может произойти инверсия

• Групповое усреднение (group avg): 𝑑 𝜔𝑖 , 𝜔𝑗 =1

𝜔𝑖 𝜔𝑗 𝑑𝑘 − 𝑑𝑚𝑚𝑘 , 𝑑 𝑘 ∈ 𝜔𝑖 , 𝑑 𝑚 ∈ 𝜔𝑗

– Обычно применяется

Особенности

• Сложность 𝑂 𝑛3 , 𝑂 𝑛2 log𝑛

• Выбор меры близости

Page 18: Обработка текстов на естественном языке: Кластеризация текстов

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

Матричное разложение

Matrix decomposition

Рассмотрим матрицу С𝑀×𝑁, 𝑀 – кол-во разных слов, 𝑁 – кол-во документов, каждая

ячейка – наличие (или вес) слова в документе. Ранг матрицы 𝑟

• Сингулярное разложение (singular value decomposition): 𝐶 = 𝑈Σ𝑉𝑇

– 𝑈𝑀×𝑀 содержит в колонках левые сингулярные вектора, это собственные вектора матрицы 𝐶𝐶𝑇

– 𝑉𝑁×𝑁 содержит в колонках правые сингулярные ветора, это собственные вектора матрицы 𝐶𝑇𝐶

– Σ𝑀×𝑁 диагональная матрица с сингулярными значениями в порядке убывания, это 𝜆𝑖,

собственных чисел матрицы 𝐶𝑇𝐶, всего 𝑟 штук

Page 19: Обработка текстов на естественном языке: Кластеризация текстов

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

Приближение матрицей меньшего ранга

SVD

Приближение матрицы 𝐶 матрицей ранга 𝑘 должно минимизировать норму

𝐶 − 𝐶𝑘 = 𝑐𝑖𝑗 − 𝑐𝑘𝑖𝑗2𝑁

𝑗=1𝑀𝑖=1

• Использование SVD удовлетворяет этому условию

• Заменяем 𝑟 − 𝑘 наименьших сингулярных чисел в Σ нулями

• Вычисляем 𝐶𝑘 = 𝑈Σ𝑘𝑉𝑇

Page 20: Обработка текстов на естественном языке: Кластеризация текстов

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

Latent Semantic Indexing (Analysis)

LSI (LSA)

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

• По идее может решить проблему синонимов, группы синонимов

перейдут в к-то новое измерение

• По идее, слова с множественным значением будут представлены

разными измерениями

• Это должно помочь лучше считать, например, близость между

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

LSI

• Формула для перевода документа (или запроса) в векторном

пространстве в пространство меньшей размерности:

– 𝑞 𝑘 = Σ𝑘−1𝑈𝑘𝑇𝑞

• Можно также считать близость между словами

Разложение

• 𝐶 = 𝑈Σ𝑉𝑇

• Σ−1𝑈𝑇𝐶 = Σ−1𝑈𝑇𝑈Σ𝑉𝑇

• Σ−1𝑈𝑇𝐶 = 𝑉𝑇

Page 21: Обработка текстов на естественном языке: Кластеризация текстов

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

Применимость LSI

Особенности

• Вычислительно сложно

• Увеличивает полноту

• Полезно, когда вектора в обычном пространстве имеют мало общих слов

Page 22: Обработка текстов на естественном языке: Кластеризация текстов

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

Кластеризация слов и фраз

Применение

• Для уменьшения размерности задачи, как LSI (разных слов очень много, поэтому много шума)

– В векторном пространстве заменяем слова на их кластеры

• Для борьбы с разреженностью данных (разных слов очень много, статистики по ним мало)

– При классификации

• Слово, не встречавшееся в тренировочном наборе, заменять на его кластер (кластеры

строятся по большому набору неразмеченных текстов)

– При моделировании языка

• Статистику слова, если его встречаемость низкая, считать с учетом его кластера

Baker, L. Douglas, and Andrew Kachites McCallum. "Distributional clustering of words for text classification." Proceedings of the 21st

annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1998.

Brown, Peter F., et al. "Class-based n-gram models of natural

language."Computational linguistics 18.4 (1992): 467-479.

Page 23: Обработка текстов на естественном языке: Кластеризация текстов

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

Кластеризация слов и фраз

Примеры

Brown clusters [Brown et al. 1992]

• Иерархическая кластеризация слов с критерием максимальности

взаимной информации слов внутри кластера. Близость между

кластерами – групповое усреднение. 1000 кластеров

Clark clusters [Clark 2001]

• Вариация к-средних, критерий – минимальность среднего расстояния

Кульбака-Лейблера внутри кластера (KL-divergence), которое

вычисляется по распределению левого и правого слова (контекста)

данного слова 𝐷𝐾𝐿 𝑃||𝑄 = 𝑃 𝑤𝑖 log𝑃 𝑤𝑖

𝑄 𝑤𝑖𝑖

Distributional clusters [Baker, McCallum 1998]

• Качественная классификация достигается всего с 60 кластерами-

признаками Pereira, Fernando, Naftali Tishby, and Lillian Lee. "Distributional clustering of English words." Proceedings of the 31st annual

meeting on Association for Computational Linguistics. Association for Computational Linguistics, 1993.

Baker, L. Douglas, and Andrew Kachites McCallum. "Distributional clustering of words for text classification." Proceedings of

the 21st annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1998.

Page 24: Обработка текстов на естественном языке: Кластеризация текстов

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

Спасибо!

[email protected]