Вы находитесь на странице: 1из 95

Центр Изучения

Интернета и Общества
www.newmediacenter.ru

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


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

Сергей Чернов
Текст в электронных библиотеках
30 лет назад мы имели дело с тысячами документов

Слайд 2 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Текст в онлайн-медиа
Сегодня публикуется
несколько миллиардов
новых постов в день

Слайд 3 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Тема семинара
 Кластерный анализ БОЛЬШИХ объемов текстовых
данных

with word counts

http://wordle.net/ Jonathan Feinberg

Слайд 4 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 5 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 6 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Информационный поиск и
кластеризация
 Информационный поиск (Information retrieval) — процесс
поиска неструктурированной документальной информации и
наука об этом поиске.

 Кластеризация документов — одна из задач информационного


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

 Документы в одном кластере ПОХОЖИ


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

Слайд 7 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Данные с простыми кластерами

Слайд 8 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Данные с простыми кластерами

Слайд 9 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Кластеризация для навигации

Слайд 10 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Кластеризация в медиа-исследованиях
Mapping Russian
Twitter
March 20, 2012
By John Kelly, Vladimir
Barash, Karina
Alexanyan, Bruce Etling,
Robert Faris, Urs Gasser,
and John Palfrey

Слайд 11 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Кластеризация для агрегации
новостей

Слайд 12 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Типы кластерных алгоритмов
 Плоские алгоритмы
 Начинают разделять документы по группам случайным образом

 Итеративно улучшают результат


 Главный алгоритм: K-средних

 Иерархические алгоритмы
 Создают иерархию

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

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

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

Слайд 13 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Векторная модель представления
документов
 Векторная модель (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

Слайд 14 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Определение близости между
документами
В идеале: семантическая близость
 На практике: близость по статистике
встречаемости термов
 Дистанция – величина обратная близости
 Обычно используется косинусная мера
близости (cosine similarity)
 В примерах мы используем Евклидову
метрику

Слайд 15 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Из 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.

Документы

Предварительная
обработка
Кластеризация Поиск тем
Токенизация
документов (Topic Discovery)

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

Стемминг
Маркированные
кластеры
Создание взвешенной документов
матрицы терм-документ

Слайд 16 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 17 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
K-средних (K-means)
 Самый популярный и простой алгоритм кластеризации
 Каждый кластер определяется центроидом.
 Критерий кластеризации: минимизоровать усредненную квадратичную
дистанцию от центроида
 Определение центроида:

 Где w обозначает кластер.


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

Слайд 18 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: кластеризовать набор
данных

Слайд 19 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: случайным образом выбираем
центроиды для двух кластеров (K=2)

Слайд 20 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем каждую точку к
ближайшему центроиду

Слайд 21 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 22 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 23 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 24 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 25 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 26 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 27 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 28 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 29 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 30 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 31 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 32 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 33 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 34 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 35 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 36 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 37 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 38 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: распределяем точки к
ближайшим центроидам

Слайд 39 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: результат распределения

Слайд 40 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: пересчитываем центроиды
кластеров

Слайд 41 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Пример: центроиды и распределение
точек по окончании работы алгоритма

Слайд 42 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Вычислительная сложность K-средних
 между двумя документами O(M), где M размерность
векторов (количество различных термов).
 Перераспределение документов между кластерами:
O(KN) вычислений дистанций, то есть O(KNM).
 Вычисление центроидов: каждый документ единожды
причисляется к центроиду O(NM).
 Если у нас I итераций, получаем общую сложность:
O(IKNM).

Слайд 43 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Проблемы K-средних
 Неустойчив при обработке изолированных
(необычных) документов
 Не поддерживает сложную форму кластеров (только
сферические)

Слайд 44 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Как определить количество
кластеров?
 Число кластеров K должно быть задано заранее
 Эвристика: зная характер документов, предположите
“приемлемое” число кластеров.
 Например, для визуализации результатов поиска идеальное
K заранее неизвестно, но используемый пользовательский
интерфейс и размер экрана может наложить ограничения
на количество кластеров.

 Поиск “правильного” числа кластеров часть проблемы


кластеризации
 Можно задать критерий оптимизации К

Слайд 45 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Простая целевая функция для K (1)
 Основная идея:
 Начинаем с одного кластера (K = 1)
 Продолжаем добавлять кластеры (= увеличиваем K)
 Начисляем штраф за каждый новый кластер

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


меньшей средней дистанции от центроидов
 Выбираем K с наилучшим балансом

Слайд 46 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Простая целевая функция для K (2)
 Для данной кластеризации, определите стоимость штраф
для документа как квадрат расстояния до центроида
 Общий штраф для кластера рассчитайте как сумму
штрафов всех документов в кластере RSS(K) (Residual Sum
of Squares)
 Каждый кластер дополнительно штрафуется
фиксированным параметром λ
 Для кластеризации из K кластеров общий фиксированный
штраф Kλ
 Целевая функция – минимизировать RSS(K) + Kλ
 Остается проблемой как найти оптимальное значение λ . . .

Слайд 47 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Поиск “колена” на кривой

Выберите количество
кластеров, при котором
кривая становится более
«плоской»
В данном случае: 4 or 9.

Слайд 48 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Иерархическая кластеризация
 Задача иерархической кластеризации построить иерархию
кластеров

animal

vertebrate invertebrate

fish reptile amphib. mammal worm insect crustacean

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


вверх.
 Самый известный метод построения снизу-вверх:
иерархическая агломеративная кластеризация.
Слайд 49 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
Иерархическая Агломеративная
Кластеризация (ИАК)
 Строит иерархию в виде двоичного дерева
 Использует меру близости для определения
сходства двух кластеров

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

Слайд 50 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Дендограмма

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

Слайд 51 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Основной вопрос: как вычислить
близость кластеров?
 Одиночная связь: Максимальная близость
 Максимальная близость любых двух документов

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


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

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


 Средняя близость всех пар документов (исключая пары документов
внутри кластеров)
 Равносильно близости центроидов.

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


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

Слайд 52 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Близость кластеров: пример

Слайд 53 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Одиночная связь: Максимальная
близость

Слайд 54 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Полная связь: Минимальная близость

Слайд 55 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Центроид: Средняя межкластерная
близость
 Межкластерная близость = близость двух
документов в разных кластерах

Слайд 56 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Групповое-среднее: Средняя
внутрикластерная близость
 Внутрикластерная близость = близость всех пар,
включая документы внутри кластеров

Слайд 57 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Вычислительная сложность
неоптимизированного алгоритма ИАК
 Сначала, вычисляем близость всех N × N пар документов.
 Затем, на каждой итерации:
 Сканируем O(N × N) близостей для нахождения
максимальной.
 Объединяем два кластера.
 Вычисляем близость между созданным кластером и всеми
оставшимися.
 Всего O(N) итераций, каждая требует O(N × N)
сканирований.
 Общая сложностьO(N3).
 Существуют более рациональная модификация алгоритма
со сложностью O(N2).

Слайд 58 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Плоская или иерархическая кластеризация?
 Плоская кластеризация значительно быстрее, хорошо
подходит для больших объемов данных
 Для стабильного предсказуемого результата используют
ИАК
 Иерархическая кластеризация также требуется там, где
нужны структура кластеров
 Иногда иерархическая кластеризация используется для
определения K, и последующего использования плоской
кластеризации

Слайд 59 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Одна из главных проблем кластерного анализа –
маркировка кластеров

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


словах или фразах)

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


специфичные термы, отличая кластер от остальных

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


содержимого кластера, обычно самые частые слова

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

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


данных

Слайд 60 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Как определить качество
кластеризации?
 Внутренние критерии
 Например: Сумма квадратов отклонений в K-средних

 Но внутренние критерии часто не оценивают практическую


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

 Альтернатива: Внешние критерии


 Сравните с классификацией составленной человеком

Слайд 61 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Внешние критерии для оценки
кластеризации
 Основаны на «золотом стандарте», например известной
коллекции документов, используемой для классификации
 Цель: кластеризация должна воспроизвести классы
«золотого стандарта»
 Оговорка: мы лишь пытаемся оценить распределение
документов по классам, игнорируя маркировку классов
(class labels)
 Простая метрика для оценки: Чистота (purity)

Слайд 62 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Внешние критерий: Чистота
 Простая метрика: чистота (purity), отношение
доминирующего класса в кластере πi к размеру
кластера ωi
1
Чистота(i )  max j (nij ) j C
ni

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


ее максимизируем
 Другие меры включают энтропию, взаимную
информацию, индекс ранда, f-метрику, точность,
полноту
Слайд 63 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
Пример вычисления Чистоты

     
     
    

Кластер 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

Слайд 64 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 65 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Тематические Модели
 Тематические Модели основаны на следующих
принципах:
 Внутри коллекции документов присутствую латентные
(скрытые) темы
 Мы можем описать каждый документ с помощью тем
 Такое описание позволяет легко кластеризовать
документы

Слайд 66 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Формальное описание
 Тяжело уместить в пару слайдов
 Попробуем описать общую идею, избегая формул

Слайд 67 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Два слова о Латентном Семантическом Анализе
(Deerwester et al., 1990)
 Латентный Семантический Анализ (LSA)
 Популярный метод последнего десятилетия
 Использует декомпозицию по собственным значениям для
выделения латентных тем

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


 Главный
Слайд 68 из 74 минус:
Сергей медленный и требовательный
Чернов, Методы кластеризации к ресурсам
текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
Как ускорить вычисления?
 Параллелизация алгоритмов
 Для многих алгоритмов, включая LSA, существуют версии,
обрабатывающие части матрицы терм-документ на разных
процессорах
 Онлайн-алгоритмы
 Базовая модель вычисляется на части данных, оставшиеся
данные разбиваются на небольшие части и поочередно
используются для обновления модели
 Приблизительные алгоритмы
 Точность результата незначительно уменьшается, время
работы сокращается в десятки раз

Слайд 69 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Латентное размещение Дирихле (LDA)
 LDA основан на генеративной (порождающей)
вероятностой модели. Мы предполагаем, что
документы могут быть представлены распределением
латентных тем, каждая из которых представлена
распределением термов.

 Примеры тем:

Человек Эволюция Заболевание Компьютер


Геном Вид Бактерия Модель
ДНК Организм штамм Информация
генетика жизнь данные

Слайд 70 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Генеративная модель LDA
Темы Документы Пропорции тем и
распределение термов

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


 Каждый документ характеризуется распределение тем
 Каждый терм выбран из распределения в одной из тем
Слайд 71 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
Сколько тем использовать?
 Количество тем зависит от задачи. Значение по
умолчанию 10-30 дает общее представление о
содержимом коллекции документов.
 Чем больше документов, тем больше тем может
понадобиться.
 Интервал от 200 до 400 позволяет добиться
детализированной кластеризации.

Слайд 72 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерны анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 73 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Приложения для кластеризации
текстов

Веб- Программные
приложения интерфейсы
приложений
(API)

Приложения с
пользовательским Приложения в
интерфейсом командной Большинство
строке ПО попадает
сюда

Слайд 74 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Используемые языки
программирования

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


 Perl
 Классический скриптовый язык для обработки текстов с
удобными механизмами регулярных выражений
 Python
 Более современный скриптовый язык, используется в одной из
лучших по качеству документации систем обработки текстов
NLTK.
 Java
 Самый распространенный язык для средств обработки текстов,
хорошая поддержка регулярных выражений, Юникод, и т.д.

Слайд 75 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Популярные пакеты кластеризации
текстов
 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
Слайд 76 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
GATE

Слайд 77 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Stanford Topic Modeling Toolkit

Слайд 78 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
TMT on PubMed Data

Слайд 79 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Media Cloud (www.mediacloud.org)

Слайд 80 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Media Cloud – Twitter vs LiveJournal

Слайд 81 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Media Cloud – Twitter vs LiveJournal
(экономика)

Слайд 82 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Media Cloud – Twitter vs LiveJournal
(цензура)

Слайд 83 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


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

Слайд 85 из 74
Russian Media Cloud (2)

Слайд 86 из 74
Russian Media Cloud (3)

Слайд 87 из 74
Russian Media Cloud (4)

Слайд 88 из 74
Другие пакеты (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

Слайд 89 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Другие пакеты (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, и другие.

Слайд 90 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Практика обработки текста
1. Большинство пакетов работает с кодировкой
Юникод, так что кириллица поддерживается
корректно
2. Большинство пакетов работают с обработанным
текстом, без HTML или XML тегов
3. По умолчанию, все классификаторы натренированы
на корпусах англоязычных новостей

Слайд 91 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Какое «железо» необходимо?

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


памяти и мощности процессора
 Но современные ноутбуки мощнее многих серверов
десятилетней давности
 Для коллекций в десятки тысяч документов подойдет
любой ПК
 Сотни тысяч документов лучше обрабатывать с
оперативной памятью в 4GB
 Десятки миллионов документов кластеризуйте на
серверах с 16 GB RAM и несколькими процессорами
 Кластеризация больших коллекций может занимать
несколько дней…
Слайд 92 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020
Центр Изучения Интернета и Общества, РЭШ
План семинара
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение

Слайд 93 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Заключение
 Кластеризация текстовых данных необходима для
многих приложений
 Основные алгоритмы включают K-средних,
иерархические алгоритмы, LSA и LDA
 Один из главных критериев при выборе алгоритма это
его скорость и маштабируемость
 Вы можете использовать для кластеризации один из
готовых программных пакетов, выбор конкретного
средства зависит от ваших данных и общих
предпочтений

Слайд 94 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ
Время для вопросов

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

Слайд 95 из 74 Сергей Чернов, Методы кластеризации текстовых данных, 10/07/2020


Центр Изучения Интернета и Общества, РЭШ