95
Методы кластеризации текстовых данных Слайды адаптированы из курсов: Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, David M. Blei Центр Изучения Интернета и Общества www.newmediacente r.ru Сергей Чернов

Text clustering v1.1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Text clustering v1.1

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

Слайды адаптированы из курсов: Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, David M. Blei

Центр Изучения Интернета и Обществаwww.newmediacenter.ru

Сергей Чернов

Page 2: Text clustering v1.1

Слайд 2 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Текст в электронных библиотеках

30 лет назад мы имели дело с тысячами документов

Page 3: Text clustering v1.1

Слайд 3 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Текст в онлайн-медиа

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

Page 4: Text clustering v1.1

Слайд 4 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Тема семинара Кластерный анализ БОЛЬШИХ объемов

текстовых данных

with word counts

http://wordle.net/ Jonathan Feinberg

Page 5: Text clustering v1.1

Слайд 5 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

Введение в кластерный анализ

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 6: Text clustering v1.1

Слайд 6 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

Введение в кластерный анализ

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 7: Text clustering v1.1

Слайд 7 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Информационный поиск и кластеризация Информационный поиск (Information retrieval) —

процесс поиска неструктурированной документальной информации и наука об этом поиске.

Кластеризация документов — одна из задач информационного поиска. Кластеризация автоматически выявляет группы семантически похожих документов. Группы формируются только на основе попарной схожести описаний документов, и никакие характеристики этих групп не задаются заранее, в отличие от классификации документов, где категории задаются заранее.

Документы в одном кластере ПОХОЖИ Документы в разных кластерах РАЗЛИЧНЫ

Page 8: Text clustering v1.1

Слайд 8 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Данные с простыми кластерами

Page 9: Text clustering v1.1

Слайд 9 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Данные с простыми кластерами

Page 10: Text clustering v1.1

Слайд 10 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Кластеризация для навигации

Page 11: Text clustering v1.1

Слайд 11 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

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

Mapping Russian TwitterMarch 20, 2012By John Kelly, Vladimir Barash, Karina Alexanyan, Bruce Etling, Robert Faris, Urs Gasser, and John Palfrey

Page 12: Text clustering v1.1

Слайд 12 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Кластеризация для агрегации новостей

Page 13: Text clustering v1.1

Слайд 13 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Типы кластерных алгоритмов Плоские алгоритмы

Начинают разделять документы по группам случайным образом

Итеративно улучшают результат Главный алгоритм: K-средних

Иерархические алгоритмы Создают иерархию Снизу-вверх, агломеративные Сверху-вниз, разделяющие

Жесткая кластеризация каждый документ принадлежит строго одному кластеру

Мягкая кластеризация документ может принадлежать нескольким кластерам

Page 14: Text clustering v1.1

Слайд 14 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Векторная модель представления документов

Векторная модель (Vector Space Model) представляет каждый документ в виде вектора, где: Измерение = терм (слово в нормальной форме) Значение = количество упоминаний в документе (в

простом случае) Матрица Терм-ДокументAntony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth

Antony 157 73 0 0 0 0

Brutus 4 157 0 1 0 0

Caesar 232 227 0 2 1 1

Calpurnia 0 10 0 0 0 0

Cleopatra 57 0 0 0 0 0

mercy 2 0 3 5 5 1

worser 2 0 1 1 1 0

Page 15: Text clustering v1.1

Слайд 15 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Определение близости между документамиВ идеале: семантическая

близостьНа практике: близость по

статистике встречаемости термов Дистанция – величина обратная

близости Обычно используется косинусная

мера близости (cosine similarity) В примерах мы используем

Евклидову метрику

Page 16: Text clustering v1.1

Слайд 16 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Этапы обработки текста

Токенизация

Удаление стоп-слов

Стемминг

Создание взвешенной

матрицы терм-документ

Предварительная обработка

Документы

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

документов

Поиск тем(Topic

Discovery)

Маркированные кластеры документов

Из J. Jayabharathy, Dr. S. Kanmani, and A. Ayeshaa Parveen. A Survey of Document Clustering Algorithms with Topic Discovery. Journal of Computing, Volume 3, Issue 2, Feb 2011.

Page 17: Text clustering v1.1

Слайд 17 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

Введение в кластерный анализ

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 18: Text clustering v1.1

Слайд 18 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

K-средних (K-means) Самый популярный и простой алгоритм кластеризации Каждый кластер определяется центроидом. Критерий кластеризации: минимизоровать усредненную

квадратичную дистанцию от центроида Определение центроида:

Где w обозначает кластер. Мы пытаемся найти минимальную усредненную дистанцию

итеративно применяя два шага алгоритма: перераспределение: причисляем каждый вектор (документ)

к ближайшему центроиду перерасчет: заново рассчитываем каждый центроид как

среднее векторов отнесенных к кластеру на предыдущем шаге

Page 19: Text clustering v1.1

Слайд 19 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: кластеризовать набор данных

Page 20: Text clustering v1.1

Слайд 20 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: случайным образом выбираем центроиды для двух кластеров (K=2)

Page 21: Text clustering v1.1

Слайд 21 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем каждую точку к ближайшему центроиду

Page 22: Text clustering v1.1

Слайд 22 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 23: Text clustering v1.1

Слайд 23 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 24: Text clustering v1.1

Слайд 24 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 25: Text clustering v1.1

Слайд 25 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 26: Text clustering v1.1

Слайд 26 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 27: Text clustering v1.1

Слайд 27 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 28: Text clustering v1.1

Слайд 28 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 29: Text clustering v1.1

Слайд 29 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 30: Text clustering v1.1

Слайд 30 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 31: Text clustering v1.1

Слайд 31 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 32: Text clustering v1.1

Слайд 32 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 33: Text clustering v1.1

Слайд 33 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 34: Text clustering v1.1

Слайд 34 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 35: Text clustering v1.1

Слайд 35 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 36: Text clustering v1.1

Слайд 36 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 37: Text clustering v1.1

Слайд 37 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 38: Text clustering v1.1

Слайд 38 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 39: Text clustering v1.1

Слайд 39 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: распределяем точки к ближайшим центроидам

Page 40: Text clustering v1.1

Слайд 40 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: результат распределения

Page 41: Text clustering v1.1

Слайд 41 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: пересчитываем центроиды кластеров

Page 42: Text clustering v1.1

Слайд 42 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример: центроиды и распределение точек по окончании работы алгоритма

Page 43: Text clustering v1.1

Слайд 43 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Вычислительная сложность K-средних между двумя документами O(M), где M

размерность векторов (количество различных термов).

Перераспределение документов между кластерами: O(KN) вычислений дистанций, то есть O(KNM).

Вычисление центроидов: каждый документ единожды причисляется к центроиду O(NM).

Если у нас I итераций, получаем общую сложность: O(IKNM).

Page 44: Text clustering v1.1

Слайд 44 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Проблемы K-средних Неустойчив при обработке изолированных

(необычных) документов Не поддерживает сложную форму

кластеров (только сферические)

Page 45: Text clustering v1.1

Слайд 45 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Как определить количество кластеров? Число кластеров K должно быть задано

заранее Эвристика: зная характер документов,

предположите “приемлемое” число кластеров. Например, для визуализации результатов

поиска идеальное K заранее неизвестно, но используемый пользовательский интерфейс и размер экрана может наложить ограничения на количество кластеров.

Поиск “правильного” числа кластеров часть проблемы кластеризации Можно задать критерий оптимизации К

Page 46: Text clustering v1.1

Слайд 46 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Простая целевая функция для K (1) Основная идея:

Начинаем с одного кластера (K = 1) Продолжаем добавлять кластеры (=

увеличиваем K) Начисляем штраф за каждый новый кластер

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

Выбираем K с наилучшим балансом

Page 47: Text clustering v1.1

Слайд 47 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Простая целевая функция для K (2) Для данной кластеризации, определите

стоимость штраф для документа как квадрат расстояния до центроида

Общий штраф для кластера рассчитайте как сумму штрафов всех документов в кластере RSS(K) (Residual Sum of Squares)

Каждый кластер дополнительно штрафуется фиксированным параметром λ

Для кластеризации из K кластеров общий фиксированный штраф Kλ

Целевая функция – минимизировать RSS(K) + Kλ

Остается проблемой как найти оптимальное значение λ . . .

Page 48: Text clustering v1.1

Слайд 48 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Поиск “колена” на кривой

Выберите количествокластеров, при которомкривая становится

более«плоской»В данном случае: 4 or

9.

Page 49: Text clustering v1.1

Слайд 49 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Иерархическая кластеризация Задача иерархической кластеризации

построить иерархию кластеров

Иерархия строится автоматически, сверху-вниз или снизу-вверх.

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

animal

vertebrate

fish reptile amphib. mammal worm insect crustacean

invertebrate

Page 50: Text clustering v1.1

Слайд 50 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Иерархическая Агломеративная Кластеризация (ИАК)

Строит иерархию в виде двоичного дерева Использует меру близости для

определения сходства двух кластеров

Алгоритм: Вначале каждый документ это отдельный кластер Поочередно объединяем два наиболее похожих

кластера До тех пор пока не останется один кластер История объединений формирует дерево иерархии Такая история изображается дендограммой

Page 51: Text clustering v1.1

Слайд 51 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Дендограмма

Мы можем отсечь дендограмму на любом шаге для получения плоской кластеризации

Page 52: Text clustering v1.1

Слайд 52 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Основной вопрос: как вычислить близость кластеров?

Одиночная связь: Максимальная близость Максимальная близость любых двух документов

Полная связь: Минимальная близость Минимальная близость любых двух документов

Центроид: Средняя межкластерная близость Средняя близость всех пар документов (исключая пары

документов внутри кластеров) Равносильно близости центроидов.

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

внутри кластеров.

Page 53: Text clustering v1.1

Слайд 53 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Близость кластеров: пример

Page 54: Text clustering v1.1

Слайд 54 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Одиночная связь: Максимальная близость

Page 55: Text clustering v1.1

Слайд 55 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Полная связь: Минимальная близость

Page 56: Text clustering v1.1

Слайд 56 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Центроид: Средняя межкластерная близость Межкластерная близость = близость

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

Page 57: Text clustering v1.1

Слайд 57 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Групповое-среднее: Средняя внутрикластерная близость Внутрикластерная близость = близость

всех пар, включая документы внутри кластеров

Page 58: Text clustering v1.1

Слайд 58 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Вычислительная сложность неоптимизированного алгоритма ИАК

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

Затем, на каждой итерации: Сканируем O(N × N) близостей для нахождения

максимальной. Объединяем два кластера. Вычисляем близость между созданным

кластером и всеми оставшимися. Всего O(N) итераций, каждая требует O(N × N)

сканирований. Общая сложностьO(N3). Существуют более рациональная модификация

алгоритма со сложностью O(N2).

Page 59: Text clustering v1.1

Слайд 59 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Плоская или иерархическая кластеризация?

Плоская кластеризация значительно быстрее, хорошо подходит для больших объемов данных

Для стабильного предсказуемого результата используют ИАК

Иерархическая кластеризация также требуется там, где нужны структура кластеров

Иногда иерархическая кластеризация используется для определения K, и последующего использования плоской кластеризации

Page 60: Text clustering v1.1

Слайд 60 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Одна из главных проблем кластерного анализа – маркировка кластеров

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

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

Неселективная маркировка – выбирает термы и фразы исходя только из содержимого кластера, обычно самые частые слова

Маркировка по заголовкам документов кластера

Каждый из методов может быть эффективен, все зависит от конкретных данных

Page 61: Text clustering v1.1

Слайд 61 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Как определить качество кластеризации?

Внутренние критерии Например: Сумма квадратов отклонений в K-

средних Но внутренние критерии часто не оценивают

практическую полезность кластеризации

Альтернатива: Внешние критерии Сравните с классификацией составленной

человеком

Page 62: Text clustering v1.1

Слайд 62 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Внешние критерии для оценки кластеризации

Основаны на «золотом стандарте», например известной коллекции документов, используемой для классификации

Цель: кластеризация должна воспроизвести классы «золотого стандарта»

Оговорка: мы лишь пытаемся оценить распределение документов по классам, игнорируя маркировку классов (class labels)

Простая метрика для оценки: Чистота (purity)

Page 63: Text clustering v1.1

Слайд 63 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Внешние критерий: Чистота Простая метрика: чистота (purity),

отношение доминирующего класса в кластере πi к размеру кластера ωi

Метрика смещена, поскольку имея n кластеров мы ее максимизируем

Другие меры включают энтропию, взаимную информацию, индекс ранда, f-метрику, точность, полноту

Cjnn

Чистота ijji

i )(max1

)(

Page 64: Text clustering v1.1

Слайд 64 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Пример вычисления Чистоты

Кластер 1 Кластер 2 Кластер 3

Кластер 1: Чистота = 1/6 (max(5, 1, 0)) = 5/6

Кластер 2: Чистота = 1/6 (max(1, 4, 1)) = 4/6

Кластер 3: Чистота = 1/5 (max(2, 0, 3)) = 3/5

Page 65: Text clustering v1.1

Слайд 65 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

Введение в кластерный анализ

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 66: Text clustering v1.1

Слайд 66 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Тематические Модели Тематические Модели основаны на

следующих принципах: Внутри коллекции документов

присутствую латентные (скрытые) темы Мы можем описать каждый документ с

помощью тем Такое описание позволяет легко

кластеризовать документы

Page 67: Text clustering v1.1

Слайд 67 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Формальное описание Тяжело уместить в пару слайдов Попробуем описать общую идею, избегая

формул

Page 68: Text clustering v1.1

Слайд 68 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Два слова о Латентном Семантическом Анализе(Deerwester et al., 1990)

Латентный Семантический Анализ (LSA) Популярный метод последнего десятилетия Использует декомпозицию по собственным

значениям для выделения латентных тем

Эффективно решает проблему синонимии и полисемии

Главный минус: медленный и требовательный к ресурсам

Побочный минус: не имеет четкой вероятностной модели

Page 69: Text clustering v1.1

Слайд 69 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Как ускорить вычисления? Параллелизация алгоритмов

Для многих алгоритмов, включая LSA, существуют версии, обрабатывающие части матрицы терм-документ на разных процессорах

Онлайн-алгоритмы Базовая модель вычисляется на части данных,

оставшиеся данные разбиваются на небольшие части и поочередно используются для обновления модели

Приблизительные алгоритмы Точность результата незначительно

уменьшается, время работы сокращается в десятки раз

Page 70: Text clustering v1.1

Слайд 70 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Латентное размещение Дирихле (LDA)

LDA основан на генеративной (порождающей) вероятностой модели. Мы предполагаем, что документы могут быть представлены распределением латентных тем, каждая из которых представлена распределением термов.

Примеры тем:ЧеловекГеномДНКгенетика

ЭволюцияВидОрганизмжизнь

ЗаболеваниеБактерияштамм

КомпьютерМодельИнформацияданные

Page 71: Text clustering v1.1

Слайд 71 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Генеративная модель LDA

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

Темы

Документы

Пропорции тем и распределение термов

Page 72: Text clustering v1.1

Слайд 72 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Сколько тем использовать? Количество тем зависит от задачи.

Значение по умолчанию 10-30 дает общее представление о содержимом коллекции документов.

Чем больше документов, тем больше тем может понадобиться.

Интервал от 200 до 400 позволяет добиться детализированной кластеризации.

Page 73: Text clustering v1.1

Слайд 73 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

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

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 74: Text clustering v1.1

Слайд 74 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Приложения для кластеризации текстов

Веб-приложени

я

Приложения в

командной строке

Приложения с пользовательс

ким интерфейсом

Большинство ПО

попадает сюда

Программные

интерфейсы

приложений (API)

Page 75: Text clustering v1.1

Слайд 75 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Используемые языки программирования

На чем запрограммировано основное ПО? Perl

Классический скриптовый язык для обработки текстов с удобными механизмами регулярных выражений

Python Более современный скриптовый язык, используется

в одной из лучших по качеству документации систем обработки текстов NLTK.

Java Самый распространенный язык для средств

обработки текстов, хорошая поддержка регулярных выражений, Юникод, и т.д.

Page 76: Text clustering v1.1

Слайд 76 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Популярные пакеты кластеризации текстов GATE – General Architecture for Text Engineering

http://gate.ac.uk/ Java, «все что вы хотели сделать с текстом», самый большой

функционал, активно развивается и поддерживается, содержит огромное количество компонентов

Mahout http://mahout.apache.org/ Java, новая профессиональная платформа для алгоритмов

машинного обучения, фокус на масштабируемости вычислений

Stanford Topic Modeling Toolbox http://nlp.stanford.edu/software/tmt/tmt-0.4/ Java, небольшой пакет с ограниченным функционалом,

разработан специально для LDA

Mallet http://mallet.cs.umass.edu/ Java, еще один пакет, больше чем Stanford TMT, но меньше

Mahout или GATE

Page 77: Text clustering v1.1

Слайд 77 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

GATE

Page 78: Text clustering v1.1

Слайд 78 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Stanford Topic Modeling Toolkit

Page 79: Text clustering v1.1

Слайд 79 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

TMT on PubMed Data

Page 80: Text clustering v1.1

Слайд 80 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Media Cloud (www.mediacloud.org)

Page 81: Text clustering v1.1

Слайд 81 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Media Cloud – Twitter vs LiveJournal

Page 82: Text clustering v1.1

Слайд 82 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Media Cloud – Twitter vs LiveJournal (экономика)

Page 83: Text clustering v1.1

Слайд 83 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Media Cloud – Twitter vs LiveJournal (цензура)

Page 84: Text clustering v1.1

Слайд 84 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Page 85: Text clustering v1.1

Слайд 85 из 74

Russian Media Cloud

Page 86: Text clustering v1.1

Слайд 86 из 74

Russian Media Cloud (2)

Page 87: Text clustering v1.1

Слайд 87 из 74

Russian Media Cloud (3)

Page 88: Text clustering v1.1

Слайд 88 из 74

Russian Media Cloud (4)

Page 89: Text clustering v1.1

Слайд 89 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Другие пакеты (1) UIMA – Unstructured Information Management Architecture

http://uima.apache.org/ Профессиональное, масштабируемое, и т.д. Требует хороших навыков работы с Xml, Eclipse, Java or C++. Не

очень подходит для новичков.

NLTK – Natural Language Toolkit http://www.nltk.org/ Python, большое количество разработчиков; много дополнительных

модулей Содержит в основном программные модули и API, без

пользовательского интерфейса или командной строки

LingPipe http://alias-i.com/lingpipe/

RapidMiner http://rapid-i.com/ Вычисление близости документов и кластеризация в

RapidMiner

Page 90: Text clustering v1.1

Слайд 90 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Другие пакеты (2) Carrot2

http://project.carrot2.org/ Weka

http://www.cs.waikato.ac.nz/ml/weka/ gCluto

http://nhttp://glaros.dtc.umn.edu/gkhome/cluto/gcluto/overview

The Lemur Toolkit http://www.lemurproject.org/

А также The Semantic Engine, The Semantic Vectors

Package, Terrier IR Platform, и другие.

Page 91: Text clustering v1.1

Слайд 91 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Практика обработки текста1. Большинство пакетов работает с

кодировкой Юникод, так что кириллица поддерживается корректно

2. Большинство пакетов работают с обработанным текстом, без HTML или XML тегов

3. По умолчанию, все классификаторы натренированы на корпусах англоязычных новостей

Page 92: Text clustering v1.1

Слайд 92 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Какое «железо» необходимо?

Софт для кластеризации часто требует много оперативной памяти и мощности процессора

Но современные ноутбуки мощнее многих серверов десятилетней давности

Для коллекций в десятки тысяч документов подойдет любой ПК

Сотни тысяч документов лучше обрабатывать с оперативной памятью в 4GB

Десятки миллионов документов кластеризуйте на серверах с 16 GB RAM и несколькими процессорами

Кластеризация больших коллекций может занимать несколько дней…

Page 93: Text clustering v1.1

Слайд 93 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

План семинара

Введение в кластерный анализ

Базовые методы кластерного анализа

Тематические методы кластерного анализа

Программные пакеты для кластеризации текстов

Заключение

Page 94: Text clustering v1.1

Слайд 94 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Заключение Кластеризация текстовых данных

необходима для многих приложений Основные алгоритмы включают K-средних,

иерархические алгоритмы, LSA и LDA Один из главных критериев при выборе

алгоритма это его скорость и маштабируемость

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

Page 95: Text clustering v1.1

Слайд 95 из 74 04/10/2023Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ

Время для вопросов

Спасибо за внимание!