Кластеризация документов

Содержание

Слайд 2

Введение

Кластеризация документов – это процесс обнаружения естественных групп в коллекции документов.
Кластеризацию может

Введение Кластеризация документов – это процесс обнаружения естественных групп в коллекции документов.
служить как чисто исследовательской цели (выяснить структуру коллекции), так и лучшему поиску и представлению информации; классический пример: группировка по темам в системах автоматического сбора новостей.
Кластеризация: мягкая/жесткая, иеррархическая/плоская

Слайд 3

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 4

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

Не существует единого (общепризнанного, применимого во всех случаях) метода оценки
Оценка

Оценка качества кластеризации Не существует единого (общепризнанного, применимого во всех случаях) метода
предполагает, что коллекция (или часть коллекции) размечена человеком
Кластеры – результат кластеризации, классы – результат ручной разметки
Аналогичные методы могут использоваться для оценки классификации

Слайд 5

Матрица несоответствий

- способ примитивный, зато наглядный

Матрица несоответствий - способ примитивный, зато наглядный

Слайд 6

Метрики заимствованные из информационного поиска

Полнота (recall):
R = tp / (tp+fn)
Точность (presicion):
P =

Метрики заимствованные из информационного поиска Полнота (recall): R = tp / (tp+fn)
tp / (tp+fn)
F-мера:
Аккуратность (accuracy):
A = (tp + tn) / (tp + tn +fp +fn)

Слайд 7

Применительно к кластеризации

i – классы, j – кластеры, n – общее

Применительно к кластеризации i – классы, j – кластеры, n – общее
число документов, ni – число документов в классе i
Т.е. для каждого класса выбираем кластер, который ему больше соответствует (argmax), суммируем меры соответствия (F) для всех классов, при этом чем больше класс, тем больше его вес в общей сумме (ni ).
F-мера показывает общее качество кластеризации, но не показывает как устроены сами кластеры.

Слайд 8

Чистота

i – классы, j – кластеры, n – общее число документов, nj

Чистота i – классы, j – кластеры, n – общее число документов,
– число документов в кластере j, P(i,j) – доля документов из класса i в кластере j .
Т.е. берем долю доминирующего (argmax) класса в кластере (P(i,j)), и суммируем по всем кластерам, при этом чем больше кластер, тем больше его вес в сумме (nj ).
Чем выше значение чистоты, тем лучше. В идеальном случае P=1.

Слайд 9

Энтропия

i – классы, j – кластеры, n – общее число документов, nj

Энтропия i – классы, j – кластеры, n – общее число документов,
– число документов в кластере j, P(i,j) – доля документов из класса i в кластере j , k – число кластеров.
Энтропия – степень «размазанности» класса по кластерам. Чем меньше, тем лучше, в идеале E=0.

Слайд 10

Взаимная информация

Чистота и энтропия хороши тогда, когда число классов и кластеров совпадает.

Взаимная информация Чистота и энтропия хороши тогда, когда число классов и кластеров
В других случаях лучше MI (или NMI – нормализованная взаимная информация).

n – общее число документов, nh – число документов в классе h, nl – число документов в кластере l, nh,l – число документов в пересечении.

n

Класс
nh

nh,l Кластер
nl

Слайд 11

Стабильность

С помощью взаимной информации можно считать стабильность, т.е. степень пересечения кластеризации при

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

Λ – множество различных кластеризаций, λ – конкретная кластеризация, r – число кластеров.

Слайд 12

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 13

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

Коллекция из n документов и m различных терминов представляется в виде

Векторная модель Коллекция из n документов и m различных терминов представляется в
матрицы mxn, где каждый документ – вектор в m-мерном пространстве.
Веса терминов можно считать по разному: частота, бинарная частота (входит – не входит), tf*idf…
Порядок слов не учитывается (bag of words)
Матрица очень большая (большое число различных терминов в гетерогенной коллекции).
В матрице много нулей

Слайд 14

Предобработка

Фильтрация (удаление спецсимволов и пунктуации)
Токенизация (разбиваем текст на термины – слова

Предобработка Фильтрация (удаление спецсимволов и пунктуации) Токенизация (разбиваем текст на термины –
или словосочетания)
Стемминг (приведение слова к основе)
Удаление стоп-слов
Сокращение (удаление низкочастотных слов)

Слайд 15

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 16

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

На начальной стадии каждый документ – сам себе кластер.
На каждом

Иерархическая кластеризация На начальной стадии каждый документ – сам себе кластер. На
шаге документы объединяются до построения полного дерева.
Число кластеров заранее не оговаривается.
Не подходит для больших объемов данных (подсчет расстояния на каждой стадии).

Слайд 17

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 18

«Разделяющая» кластеризация

Классический пример - kmeans:
Выбирается k случайных документов, которые считаются центроидами кластеров,

«Разделяющая» кластеризация Классический пример - kmeans: Выбирается k случайных документов, которые считаются
все остальные документы распределяются по кластерам по степени близости к центроидам
На следующих итерациях центроиды пересчитываются и документы перераспределяются
Косинусная метрика лучше, чем Евклидово расстояние

Слайд 19

Недостатки kmeans

Результаты могут быть различными в зависимости от инициализации.
Может останавливаться на субоптимальном

Недостатки kmeans Результаты могут быть различными в зависимости от инициализации. Может останавливаться
локальном минимуме
Чувствителен к шуму и случайным выбросам
Вычислительная сложность:
где n – число документов, k – число кластеров, l – число итераций.

Слайд 20

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 21

Генеративные алгоритмы

Дискриминативные алгоритмы, которые основаны на попарной близости документов, имеют сложность O(n2)

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

Слайд 22

Гауссова модель

Предполагается, что распределение документов в векторном пространстве – это набор Гауссовых

Гауссова модель Предполагается, что распределение документов в векторном пространстве – это набор
распределений; каждый кластер ассоциирован со средним распределения и матрицей ковариации.

Ковариация:
Если между x и у нет корреляции, то ковариация равна нулю.
Матрица ковариации: матрица, элементы которой – это попарные ковариации двух векторов.
Если речь идет об одном и том же наборе векторов (наш случай: одни и те же документы в столбцах и строках), то матрица ковариации – это обобщение дисперсии для многомерной случайной величины.

Слайд 23

Гауссова модель

Вероятность того, что документ d принадлежит кластеру θ из набора Θ:

P(d|

Гауссова модель Вероятность того, что документ d принадлежит кластеру θ из набора
θ) - вероятность того, что документ d принадлежит кластеру θ, m – размерность пространства, μ – центроид, Σ – матрица ковариации.
Общая вероятность (правдоподобие того, что данный документ описывается моделью):
Задача кластеризации: максимизировать это число, максимизировав каждое из слагаемых (т.е. найдя наилучшее среднее и матрицу ковариации для каждого кластера).

Слайд 24

Expectation maximization (EM-алгоритм)

Итеративная процедура для нахождения максимального правдоподобия параметров модели.
Две стадии:
E(xpectation)

Expectation maximization (EM-алгоритм) Итеративная процедура для нахождения максимального правдоподобия параметров модели. Две
– вывод скрытых данных из наблюдаемых данных (документы) и текущей модели (кластеры)

M(aximization) – максимизация правдоподобия в предположении, что скрытые данные известны

Слайд 25

EM-алгоритм

Большое число свободных параметров может приводить к переобучению.
Сокращение размерности: выбор дискриминирующих

EM-алгоритм Большое число свободных параметров может приводить к переобучению. Сокращение размерности: выбор
свойств для каждого кластера.
Сложность: O(k2n)
Нестабильность, зависимость от инициализации.

Слайд 26

Модель фон Мисес-Фишера

На самом деле, распределение текстов по кластерам гауссианами описывается плохо.

Модель фон Мисес-Фишера На самом деле, распределение текстов по кластерам гауссианами описывается
Было доказано, что лучше всего подходит vMF-распределение:

Z – функция Бесселя (фактор нормализации). Затем используют алгоритм, похожий на em. Качество получается лучше, чем spherical k-means.

Слайд 27

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 28

Спектральная кластеризация

Основная гипотеза: термины, которые часто встречаются вместе, описывают близкие понятия. Поэтому

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

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

Слайд 29

Алгоритм divide & merge

Нахождение оптимального разбиения в графе – NP-полная задача (на

Алгоритм divide & merge Нахождение оптимального разбиения в графе – NP-полная задача
практике означает, что алгоритм экспоненциальный). Однако существует аппроксимация.
Две стадии:
Иерархическая кластеризация (существует метод с использованием собственных векторов матрицы, который позволяет избежать неэффективного попарного сравнения)
Кластеризация результатов предыдущей стадии с использованием стандартных алгоритмов – kmeans, либо другие алгоритмы, с неизвестным заранее числом кластеров

Слайд 30

Алгоритм divide & merge

Алгоритм divide & merge

Слайд 31

Нечеткая совместная корреляция

Кластеризуются сразу и термины, и документы
Границы между кластерами нечеткие -

Нечеткая совместная корреляция Кластеризуются сразу и термины, и документы Границы между кластерами
термин или документ может входить сразу в несколько кластеров (с различными весами)
Пример: Fuzzy Codok алгоритм

uci – степень вхождения документа i в кластер с, vcj – степень вхождения термина j в кластер с, dij – уровень корреляции между документом и термином; m – число терминов, n – число документов, С – число кластеров документов, K – число кластеров терминов.
Tu, Tv – параметры, их надо подбирать – слабое место алгоритма; оптимальные значения параметров зависят от коллекции.

Слайд 32

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 33

Снижение размерности

Матрица термин документ А аппроксимируется матрицей меньшего ранга k Ak.
Принятая

Снижение размерности Матрица термин документ А аппроксимируется матрицей меньшего ранга k Ak.
мера качества такой аппроксимации – норма Фробениуса (чем меньше, тем лучше):

Слайд 34

Метод главных компонентов (PCA)

Главные компоненты – ортогональные (независимые) проекции, которые вместе описывают

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

Главные компоненты получаются из сингулярного разложения матрицы:
A = UΣVT,
Σ – диагональная
Σk – диагональная матрица меньшего ранга, в нее входят k наибольших чисел из Σ
Искомая проекция:
A = UΣkVT
Чем больше k, тем лучше аппроксимация

Слайд 35

Метод главных компонентов

+ В результате получается оптимальная аппроксимация
+ Различие в расстояниях

Метод главных компонентов + В результате получается оптимальная аппроксимация + Различие в
внутри кластеров и между кластерами становится более резким
В новом пространстве остаются недискриминирующие свойства – т.е. результаты метода нельзя рассматривать как готовую кластеризацию
Компоненты должны быть ортогональными – не совсем подходит для текстов, которые могут покрывать несколько тем
Вычислительно сложный алгоритм, не может использоваться итеративно

Слайд 36

Неотрицательная факторизация (NMF)

Цель: получить аппроксимацию, которая содержит только дискриминирующие факторы
Исходная матрица аппроксимируется

Неотрицательная факторизация (NMF) Цель: получить аппроксимацию, которая содержит только дискриминирующие факторы Исходная
произведением:
A ≈ UVT
U – базовые вектора mxk, V – матрица коэффициентов nxk
U может интерпретироваться как набор семантических переменных, V - распределение документов по этим темам
Начальные значения U и V инициализируются случайно, затем итеративно улучшаются (em-алгоритм)
Мера качества – обычно Евклидово расстояние (чем меньше, тем лучше):
Вместо случайно инициализации можно использовать результаты более простого метода кластеризации (skmns)
Быстрее, чем метод главных компонентов

Слайд 37

Мягкая спектральная кластеризация

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

Мягкая спектральная кластеризация Из редуцированного пространства трудно породить нечеткую кластеризацию, потому что
матрицы приводит к искажениям
Выход: независимая кластеризация терминов и документов; на основе кластеризации терминов порождается нечеткая кластеризация документов и vice versa

Слайд 38

Мягкая спектральная кластеризация

Пространство редуцируется методом главных компонентов
Проводится кластеризация методом kmeans (или другим)
Для

Мягкая спектральная кластеризация Пространство редуцируется методом главных компонентов Проводится кластеризация методом kmeans
этих кластеров порождается матрица
P1 описывает распределение терминов по кластерам, P2 – документов
Веса терминов высчитываются с помощью трансформации A P2 – проекция ценроидов в исходное пространство
Аналогичная матрица S порождается из кластеризации исходного пространства
ATS1 используется как функция вхождения для документов, AP2 – для терминов (используются только дискриминирующие термины)
Хорошее качество для пересекающихся тем, но высокая вычислительная сложность

Слайд 39

Lingo

“description comes first”
Сокращается размерность пространства
Базисные вектора полученной редуцированной матрицы воспринимаются как метки

Lingo “description comes first” Сокращается размерность пространства Базисные вектора полученной редуцированной матрицы
кластеров
Эти метки используются для «поиска» документов (как в информационном поиске)

Слайд 40

Содержание
Оценка качества кластеризации
Применение векторной модели в кластеризации
Иерархическая кластеризация
«Разделяющая» кластеризация
Генеративные алгоритмы
Спектральная кластеризация
Снижение размерности
Модели

Содержание Оценка качества кластеризации Применение векторной модели в кластеризации Иерархическая кластеризация «Разделяющая»
с учетом порядка слов

Слайд 41

Модели с учетом порядка слов

Маша любит Васю, Вася любит Машу – векторная

Модели с учетом порядка слов Маша любит Васю, Вася любит Машу –
модель не учитывает различие, но оно есть
Гипотеза: учет порядка слов может улучшить качество кластеризации
Кроме того, он позволит создавать более разумные описания кластеров (не набор слов, а короткие фразы)

Слайд 42

Кластеризация на основе суффиксных деревьев

Суффикс – несколько слов с конца предложения (вплоть

Кластеризация на основе суффиксных деревьев Суффикс – несколько слов с конца предложения
до предложения целиком)
Суффиксное дерево: описывает все общие суффиксы документов

Общие суффиксы используются для выделения базовых кластеров, которые затем объединяются методом связанных компонентов
Общая сложность алгоритма: O(n log(n))

dog chased cat,
dog chased mailman

Слайд 43

Кластеризация на основе суффиксных деревьев

Кластеры включают не все документы (документ может иметь

Кластеризация на основе суффиксных деревьев Кластеры включают не все документы (документ может
суффикс, которые не пересекается ни с одним другим)
Не учитывается распределение слов по коллекции (не все слова одинаково полезны)
Учитываются только совпадающие суффиксы, не совпадающие суффиксы не учитываются
Проверялось на сниппетах, на длинных текстах и больших коллекциях работает плохо
Можно совмещать учет порядка слов с обычной косинусной мерой

Слайд 44

Граф документа

Doc1: “cat chased rat”, “dog chased rat”
Doc2: “angry dog chased fat

Граф документа Doc1: “cat chased rat”, “dog chased rat” Doc2: “angry dog
mailman” “mailman ran”
Doc3: “little dog chased ran”

Слова хранятся в вершинах, с учетом частоты
Нет избыточной информации (как в суффиксных деревьях)
Это не алгоритм кластеризации, а модель документа; мера близости основана на перекрывающихся подграфах
Лучше работает совместно с косинусной метрикой, но это – двойная стоимость вычислений

Слайд 45

Заключение

Качество кластеризации определяется по стандартным мерам, при этом итоговая кластеризация не всегда

Заключение Качество кластеризации определяется по стандартным мерам, при этом итоговая кластеризация не
выглядит «естественно»
Проблема инициализации (итеративные алгоритмы используют случайную инициализацию)
Проблема описания кластеров (меток)
Проблема числа кластеров
Существуют другие методы кластеризации, возможно, они окажутся хороши для текстовых данных
Возможно другие меры близости, помимо косинусной, окажутся применимы
Имя файла: Кластеризация-документов.pptx
Количество просмотров: 190
Количество скачиваний: 0