SlideShare a Scribd company logo
1 of 95
Методы кластеризации текстовых
данных
Слайды адаптированы из курсов: Christopher D. Manning, Prabhakar
Raghavan, Hinrich Schütze, David M. Blei
Центр Изучения
Интернета и Общества
www.newmediacenter.ru
Сергей Чернов
Слайд 2 из 74
Текст в электронных библиотеках
30 лет назад мы имели дело с тысячами документов
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 3 из 74
Текст в онлайн-медиа
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Сегодня публикуется
несколько миллиардов
новых постов в день
Слайд 4 из 74
Тема семинара
 Кластерный анализ БОЛЬШИХ объемов текстовых
данных
with word counts
http://wordle.net/ Jonathan
Feinberg
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Слайд 5 из 74
План семинара
5/24/2013
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 6 из 74
План семинара
5/24/2013
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 7 из 74
Информационный поиск и кластеризация
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Информационный поиск (Information retrieval) — процесс
поиска неструктурированной документальной
информации и наука об этом поиске.
 Кластеризация документов — одна из задач
информационного поиска. Кластеризация автоматически
выявляет группы семантически похожих документов.
Группы формируются только на основе попарной схожести
описаний документов, и никакие характеристики этих
групп не задаются заранее, в отличие от классификации
документов, где категории задаются заранее.
 Документы в одном кластере ПОХОЖИ
 Документы в разных кластерах РАЗЛИЧНЫ
Слайд 8 из 74
Данные с простыми кластерами
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 9 из 74
Данные с простыми кластерами
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 10 из 74
Кластеризация для навигации
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Слайд 11 из 74
Кластеризация в медиа-исследованиях
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Mapping Russian
Twitter
March 20, 2012
By John Kelly, Vladimir
Barash, Karina
Alexanyan, Bruce
Etling, Robert Faris,
Urs Gasser, and John
Palfrey
Слайд 12 из 74
Кластеризация для агрегации новостей
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 13 из 74
Типы кластерных алгоритмов
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Плоские алгоритмы
 Начинают разделять документы по группам случайным образом
 Итеративно улучшают результат
 Главный алгоритм: K-средних
 Иерархические алгоритмы
 Создают иерархию
 Снизу-вверх, агломеративные
 Сверху-вниз, разделяющие
 Жесткая кластеризация
 каждый документ принадлежит строго одному кластеру
 Мягкая кластеризация
 документ может принадлежать нескольким кластерам
Слайд 14 из 74
Векторная модель представления документов
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Векторная модель (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
Слайд 15 из 74
Определение близости между документами
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 В идеале: семантическая близость
 На практике: близость по статистике
встречаемости термов
 Дистанция – величина обратная близости
 Обычно используется косинусная мера
близости (cosine similarity)
 В примерах мы используем Евклидову
метрику
Слайд 16 из 74
Этапы обработки текста
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Токенизация
Удаление стоп-слов
Стемминг
Создание взвешенной
матрицы терм-документ
Предварительная
обработка
Документы
Кластеризация
документов
Поиск тем
(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.
Слайд 17 из 74
План семинара
5/24/2013
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Слайд 18 из 74
K-средних (K-means)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Самый популярный и простой алгоритм кластеризации
 Каждый кластер определяется центроидом.
 Критерий кластеризации: минимизоровать усредненную
квадратичную дистанцию от центроида
 Определение центроида:
 Где w обозначает кластер.
 Мы пытаемся найти минимальную усредненную дистанцию
итеративно применяя два шага алгоритма:
 перераспределение: причисляем каждый вектор (документ) к
ближайшему центроиду
 перерасчет: заново рассчитываем каждый центроид как среднее
векторов отнесенных к кластеру на предыдущем шаге
Слайд 19 из 74
Пример: кластеризовать набор данных
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 20 из 74
Пример: случайным образом выбираем
центроиды для двух кластеров (K=2)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 21 из 74
Пример: распределяем каждую точку к
ближайшему центроиду
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 22 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 23 из 74
Пример: пересчитываем центроиды
кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 24 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Слайд 25 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 26 из 74
Пример: пересчитываем центроиды кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 27 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 28 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 29 из 74
Пример: пересчитываем центроиды
кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 30 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 31 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 32 из 74
Пример: пересчитываем центроиды
кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 33 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 34 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 35 из 74
Пример: пересчитываем центроиды
кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Слайд 36 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 37 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 38 из 74
Пример: пересчитываем центроиды кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 39 из 74
Пример: распределяем точки к ближайшим
центроидам
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 40 из 74
Пример: результат распределения
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 41 из 74
Пример: пересчитываем центроиды кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 42 из 74
Пример: центроиды и распределение точек
по окончании работы алгоритма
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 43 из 74
Вычислительная сложность K-средних
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 между двумя документами O(M), где M размерность
векторов (количество различных термов).
 Перераспределение документов между кластерами:
O(KN) вычислений дистанций, то есть O(KNM).
 Вычисление центроидов: каждый документ
единожды причисляется к центроиду O(NM).
 Если у нас I итераций, получаем общую сложность:
O(IKNM).
Слайд 44 из 74
Проблемы K-средних
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Неустойчив при обработке изолированных
(необычных) документов
 Не поддерживает сложную форму кластеров (только
сферические)
Слайд 45 из 74
Как определить количество кластеров?
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
 Число кластеров K должно быть задано заранее
 Эвристика: зная характер документов, предположите
“приемлемое” число кластеров.
 Например, для визуализации результатов поиска
идеальное K заранее неизвестно, но используемый
пользовательский интерфейс и размер экрана может
наложить ограничения на количество кластеров.
 Поиск “правильного” числа кластеров часть проблемы
кластеризации
 Можно задать критерий оптимизации К
Слайд 46 из 74
Простая целевая функция для K (1)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Основная идея:
 Начинаем с одного кластера (K = 1)
 Продолжаем добавлять кластеры (= увеличиваем K)
 Начисляем штраф за каждый новый кластер
 Балансируем штрафы за новые кластеры и выгоду от
меньшей средней дистанции от центроидов
 Выбираем K с наилучшим балансом
Слайд 47 из 74
Простая целевая функция для K (2)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Для данной кластеризации, определите стоимость штраф
для документа как квадрат расстояния до центроида
 Общий штраф для кластера рассчитайте как сумму штрафов
всех документов в кластере RSS(K) (Residual Sum of
Squares)
 Каждый кластер дополнительно штрафуется
фиксированным параметром λ
 Для кластеризации из K кластеров общий фиксированный
штраф Kλ
 Целевая функция – минимизировать RSS(K) + Kλ
 Остается проблемой как найти оптимальное значение λ . . .
Слайд 48 из 74
Поиск “колена” на кривой
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Выберите количество
кластеров, при котором
кривая становится более
«плоской»
В данном случае: 4 or 9.
Слайд 49 из 74
Иерархическая кластеризация
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Задача иерархической кластеризации построить
иерархию кластеров
 Иерархия строится автоматически, сверху-вниз
или снизу-вверх.
 Самый известный метод построения снизу-вверх:
иерархическая агломеративная кластеризация.
animal
vertebrate
fish reptile amphib. mammal worm insect crustacean
invertebrate
Слайд 50 из 74
Иерархическая Агломеративная Кластеризация
(ИАК)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Строит иерархию в виде двоичного дерева
 Использует меру близости для определения
сходства двух кластеров
 Алгоритм:
 Вначале каждый документ это отдельный кластер
 Поочередно объединяем два наиболее похожих кластера
 До тех пор пока не останется один кластер
 История объединений формирует дерево иерархии
 Такая история изображается дендограммой
Слайд 51 из 74
Дендограмма
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Мы можем отсечь
дендограмму на
любом шаге для
получения плоской
кластеризации
Слайд 52 из 74
Основной вопрос: как вычислить близость
кластеров?
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Одиночная связь: Максимальная близость
 Максимальная близость любых двух документов
 Полная связь: Минимальная близость
 Минимальная близость любых двух документов
 Центроид: Средняя межкластерная близость
 Средняя близость всех пар документов (исключая пары
документов внутри кластеров)
 Равносильно близости центроидов.
 Групповое-среднее: Средняя внутрикластерная близость
 Средняя близость всех пар документов, включая пары внутри
кластеров.
Слайд 53 из 74
Близость кластеров: пример
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 54 из 74
Одиночная связь: Максимальная близость
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 55 из 74
Полная связь: Минимальная близость
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 56 из 74
Центроид: Средняя межкластерная близость
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Межкластерная близость = близость двух
документов в разных кластерах
Слайд 57 из 74
Групповое-среднее: Средняя внутрикластерная
близость
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Внутрикластерная близость = близость всех пар,
включая документы внутри кластеров
Слайд 58 из 74
Вычислительная сложность
неоптимизированного алгоритма ИАК
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
 Сначала, вычисляем близость всех N × N пар документов.
 Затем, на каждой итерации:
 Сканируем O(N × N) близостей для нахождения
максимальной.
 Объединяем два кластера.
 Вычисляем близость между созданным кластером и всеми
оставшимися.
 Всего O(N) итераций, каждая требует O(N × N)
сканирований.
 Общая сложностьO(N3).
 Существуют более рациональная модификация алгоритма
со сложностью O(N2).
Слайд 59 из 74
Плоская или иерархическая
кластеризация?
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Плоская кластеризация значительно быстрее, хорошо
подходит для больших объемов данных
 Для стабильного предсказуемого результата используют
ИАК
 Иерархическая кластеризация также требуется там, где
нужны структура кластеров
 Иногда иерархическая кластеризация используется для
определения K, и последующего использования плоской
кластеризации
Слайд 60 из 74
Одна из главных проблем кластерного
анализа – маркировка кластеров
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Когда кластеры созданы, их необходимо маркировать (описать в
нескольких словах или фразах)
 Селективная маркировка – анализирует все кластеры и выбирает
наиболее специфичные термы, отличая кластер от остальных
 Неселективная маркировка – выбирает термы и фразы исходя
только из содержимого кластера, обычно самые частые слова
 Маркировка по заголовкам документов кластера
 Каждый из методов может быть эффективен, все зависит от
конкретных данных
Слайд 61 из 74
Как определить качество кластеризации?
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
 Внутренние критерии
 Например: Сумма квадратов отклонений в K-средних
 Но внутренние критерии часто не оценивают практическую
полезность кластеризации
 Альтернатива: Внешние критерии
 Сравните с классификацией составленной человеком
Слайд 62 из 74
Внешние критерии для оценки кластеризации
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Основаны на «золотом стандарте», например известной
коллекции документов, используемой для классификации
 Цель: кластеризация должна воспроизвести классы
«золотого стандарта»
 Оговорка: мы лишь пытаемся оценить распределение
документов по классам, игнорируя маркировку классов
(class labels)
 Простая метрика для оценки: Чистота (purity)
Слайд 63 из 74
Внешние критерий: Чистота
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Простая метрика: чистота (purity), отношение
доминирующего класса в кластере πi к размеру
кластера ωi
 Метрика смещена, поскольку имея n кластеров
мы ее максимизируем
 Другие меры включают энтропию, взаимную
информацию, индекс ранда, f-метрику,
точность, полноту
Cjn
n
Чистота ijj
i
i )(max
1
)(
Слайд 64 из 74
Пример вычисления Чистоты
5/24/2013Сергей Чернов, Методы кластеризации текстовых
данных, Центр Изучения Интернета и Общества, РЭШ
Кластер 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
Слайд 65 из 74
План семинара
5/24/2013
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 66 из 74
Тематические Модели
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Тематические Модели основаны на следующих
принципах:
 Внутри коллекции документов присутствую латентные
(скрытые) темы
 Мы можем описать каждый документ с помощью тем
 Такое описание позволяет легко кластеризовать
документы
Слайд 67 из 74
Формальное описание
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Тяжело уместить в пару слайдов
 Попробуем описать общую идею, избегая формул
Слайд 68 из 74
Два слова о Латентном Семантическом Анализе
(Deerwester et al., 1990)
 Латентный Семантический Анализ (LSA)
 Популярный метод последнего десятилетия
 Использует декомпозицию по собственным значениям для
выделения латентных тем
 Эффективно решает проблему синонимии и полисемии
 Главный минус: медленный и требовательный к ресурсам
 Побочный минус: не имеет четкой вероятностной модели
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 69 из 74
Как ускорить вычисления?
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Параллелизация алгоритмов
 Для многих алгоритмов, включая LSA, существуют версии,
обрабатывающие части матрицы терм-документ на разных
процессорах
 Онлайн-алгоритмы
 Базовая модель вычисляется на части данных, оставшиеся
данные разбиваются на небольшие части и поочередно
используются для обновления модели
 Приблизительные алгоритмы
 Точность результата незначительно уменьшается, время
работы сокращается в десятки раз
Слайд 70 из 74
Латентное размещение Дирихле (LDA)
 LDA основан на генеративной (порождающей)
вероятностой модели. Мы предполагаем, что
документы могут быть представлены распределением
латентных тем, каждая из которых представлена
распределением термов.
 Примеры тем:
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Человек
Геном
ДНК
генетика
Эволюция
Вид
Организм
жизнь
Заболевание
Бактерия
штамм
Компьютер
Модель
Информация
данные
Слайд 71 из 74
Генеративная модель LDA
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Каждая тема характеризуется распределение термов
 Каждый документ характеризуется распределение тем
 Каждый терм выбран из распределения в одной из тем
Темы Документы Пропорции тем и
распределение термов
Слайд 72 из 74
Сколько тем использовать?
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Количество тем зависит от задачи. Значение по
умолчанию 10-30 дает общее представление о
содержимом коллекции документов.
 Чем больше документов, тем больше тем может
понадобиться.
 Интервал от 200 до 400 позволяет добиться
детализированной кластеризации.
Слайд 73 из 74
План семинара
5/24/2013
 Введение в кластерны анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 74 из 74
Приложения для кластеризации текстов
Веб-
приложения
Приложения в
командной
строке
Приложения с
пользовательским
интерфейсом
Программные
интерфейсы
приложений
(API)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 75 из 74
Используемые языки программирования
 На чем запрограммировано основное ПО?
 Perl
 Классический скриптовый язык для обработки текстов с
удобными механизмами регулярных выражений
 Python
 Более современный скриптовый язык, используется в одной из
лучших по качеству документации систем обработки текстов
NLTK.
 Java
 Самый распространенный язык для средств обработки текстов,
хорошая поддержка регулярных выражений, Юникод, и т.д.
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 76 из 74
Популярные пакеты кластеризации текстов
 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
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 77 из 74
GATE
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 78 из 74
Stanford Topic Modeling Toolkit
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 79 из 74
TMT on PubMed Data
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 80 из 74
Media Cloud (www.mediacloud.org)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 81 из 74
Media Cloud – Twitter vs LiveJournal
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 82 из 74
Media Cloud – Twitter vs LiveJournal
(экономика)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 83 из 74
Media Cloud – Twitter vs LiveJournal
(цензура)
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 84 из 74 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 85 из 74
Russian Media Cloud
Слайд 86 из 74
Russian Media Cloud (2)
Слайд 87 из 74
Russian Media Cloud (3)
Слайд 88 из 74
Russian Media Cloud (4)
Слайд 89 из 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
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 90 из 74
Другие пакеты (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/over
view
 The Lemur Toolkit
 http://www.lemurproject.org/
 А также
 The Semantic Engine, The Semantic Vectors Package,
Terrier IR Platform, и другие.
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 91 из 74
Практика обработки текста
1. Большинство пакетов работает с кодировкой
Юникод, так что кириллица поддерживается
корректно
2. Большинство пакетов работают с обработанным
текстом, без HTML или XML тегов
3. По умолчанию, все классификаторы натренированы
на корпусах англоязычных новостей
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 92 из 74
Какое «железо» необходимо?
 Софт для кластеризации часто требует много
оперативной памяти и мощности процессора
 Но современные ноутбуки мощнее многих серверов
десятилетней давности
 Для коллекций в десятки тысяч документов подойдет
любой ПК
 Сотни тысяч документов лучше обрабатывать с
оперативной памятью в 4GB
 Десятки миллионов документов кластеризуйте на
серверах с 16 GB RAM и несколькими процессорами
 Кластеризация больших коллекций может занимать
несколько дней…
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 93 из 74
План семинара
5/24/2013
 Введение в кластерный анализ
 Базовые методы кластерного анализа
 Тематические методы кластерного анализа
 Программные пакеты для кластеризации текстов
 Заключение
Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Слайд 94 из 74
Заключение
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
 Кластеризация текстовых данных необходима для
многих приложений
 Основные алгоритмы включают K-средних,
иерархические алгоритмы, LSA и LDA
 Один из главных критериев при выборе алгоритма это
его скорость и маштабируемость
 Вы можете использовать для кластеризации один из
готовых программных пакетов, выбор конкретного
средства зависит от ваших данных и общих
предпочтений
Слайд 95 из 74
Время для вопросов
5/24/2013Сергей Чернов, Методы кластеризации текстовых данных,
Центр Изучения Интернета и Общества, РЭШ
Спасибо за внимание!

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Text clustering v1.1

  • 1. Методы кластеризации текстовых данных Слайды адаптированы из курсов: Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, David M. Blei Центр Изучения Интернета и Общества www.newmediacenter.ru Сергей Чернов
  • 2. Слайд 2 из 74 Текст в электронных библиотеках 30 лет назад мы имели дело с тысячами документов 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 3. Слайд 3 из 74 Текст в онлайн-медиа 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Сегодня публикуется несколько миллиардов новых постов в день
  • 4. Слайд 4 из 74 Тема семинара  Кластерный анализ БОЛЬШИХ объемов текстовых данных with word counts http://wordle.net/ Jonathan Feinberg 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 5. Слайд 5 из 74 План семинара 5/24/2013  Введение в кластерный анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 6. Слайд 6 из 74 План семинара 5/24/2013  Введение в кластерный анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 7. Слайд 7 из 74 Информационный поиск и кластеризация 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Информационный поиск (Information retrieval) — процесс поиска неструктурированной документальной информации и наука об этом поиске.  Кластеризация документов — одна из задач информационного поиска. Кластеризация автоматически выявляет группы семантически похожих документов. Группы формируются только на основе попарной схожести описаний документов, и никакие характеристики этих групп не задаются заранее, в отличие от классификации документов, где категории задаются заранее.  Документы в одном кластере ПОХОЖИ  Документы в разных кластерах РАЗЛИЧНЫ
  • 8. Слайд 8 из 74 Данные с простыми кластерами 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 9. Слайд 9 из 74 Данные с простыми кластерами 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 10. Слайд 10 из 74 Кластеризация для навигации 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 11. Слайд 11 из 74 Кластеризация в медиа-исследованиях 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Mapping Russian Twitter March 20, 2012 By John Kelly, Vladimir Barash, Karina Alexanyan, Bruce Etling, Robert Faris, Urs Gasser, and John Palfrey
  • 12. Слайд 12 из 74 Кластеризация для агрегации новостей 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 13. Слайд 13 из 74 Типы кластерных алгоритмов 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Плоские алгоритмы  Начинают разделять документы по группам случайным образом  Итеративно улучшают результат  Главный алгоритм: K-средних  Иерархические алгоритмы  Создают иерархию  Снизу-вверх, агломеративные  Сверху-вниз, разделяющие  Жесткая кластеризация  каждый документ принадлежит строго одному кластеру  Мягкая кластеризация  документ может принадлежать нескольким кластерам
  • 14. Слайд 14 из 74 Векторная модель представления документов 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Векторная модель (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
  • 15. Слайд 15 из 74 Определение близости между документами 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  В идеале: семантическая близость  На практике: близость по статистике встречаемости термов  Дистанция – величина обратная близости  Обычно используется косинусная мера близости (cosine similarity)  В примерах мы используем Евклидову метрику
  • 16. Слайд 16 из 74 Этапы обработки текста 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Токенизация Удаление стоп-слов Стемминг Создание взвешенной матрицы терм-документ Предварительная обработка Документы Кластеризация документов Поиск тем (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.
  • 17. Слайд 17 из 74 План семинара 5/24/2013  Введение в кластерный анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 18. Слайд 18 из 74 K-средних (K-means) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Самый популярный и простой алгоритм кластеризации  Каждый кластер определяется центроидом.  Критерий кластеризации: минимизоровать усредненную квадратичную дистанцию от центроида  Определение центроида:  Где w обозначает кластер.  Мы пытаемся найти минимальную усредненную дистанцию итеративно применяя два шага алгоритма:  перераспределение: причисляем каждый вектор (документ) к ближайшему центроиду  перерасчет: заново рассчитываем каждый центроид как среднее векторов отнесенных к кластеру на предыдущем шаге
  • 19. Слайд 19 из 74 Пример: кластеризовать набор данных 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 20. Слайд 20 из 74 Пример: случайным образом выбираем центроиды для двух кластеров (K=2) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 21. Слайд 21 из 74 Пример: распределяем каждую точку к ближайшему центроиду 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 22. Слайд 22 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 23. Слайд 23 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 24. Слайд 24 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 25. Слайд 25 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 26. Слайд 26 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 27. Слайд 27 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 28. Слайд 28 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 29. Слайд 29 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 30. Слайд 30 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 31. Слайд 31 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 32. Слайд 32 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 33. Слайд 33 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 34. Слайд 34 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 35. Слайд 35 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 36. Слайд 36 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 37. Слайд 37 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 38. Слайд 38 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 39. Слайд 39 из 74 Пример: распределяем точки к ближайшим центроидам 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 40. Слайд 40 из 74 Пример: результат распределения 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 41. Слайд 41 из 74 Пример: пересчитываем центроиды кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 42. Слайд 42 из 74 Пример: центроиды и распределение точек по окончании работы алгоритма 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 43. Слайд 43 из 74 Вычислительная сложность K-средних 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  между двумя документами O(M), где M размерность векторов (количество различных термов).  Перераспределение документов между кластерами: O(KN) вычислений дистанций, то есть O(KNM).  Вычисление центроидов: каждый документ единожды причисляется к центроиду O(NM).  Если у нас I итераций, получаем общую сложность: O(IKNM).
  • 44. Слайд 44 из 74 Проблемы K-средних 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Неустойчив при обработке изолированных (необычных) документов  Не поддерживает сложную форму кластеров (только сферические)
  • 45. Слайд 45 из 74 Как определить количество кластеров? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Число кластеров K должно быть задано заранее  Эвристика: зная характер документов, предположите “приемлемое” число кластеров.  Например, для визуализации результатов поиска идеальное K заранее неизвестно, но используемый пользовательский интерфейс и размер экрана может наложить ограничения на количество кластеров.  Поиск “правильного” числа кластеров часть проблемы кластеризации  Можно задать критерий оптимизации К
  • 46. Слайд 46 из 74 Простая целевая функция для K (1) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Основная идея:  Начинаем с одного кластера (K = 1)  Продолжаем добавлять кластеры (= увеличиваем K)  Начисляем штраф за каждый новый кластер  Балансируем штрафы за новые кластеры и выгоду от меньшей средней дистанции от центроидов  Выбираем K с наилучшим балансом
  • 47. Слайд 47 из 74 Простая целевая функция для K (2) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Для данной кластеризации, определите стоимость штраф для документа как квадрат расстояния до центроида  Общий штраф для кластера рассчитайте как сумму штрафов всех документов в кластере RSS(K) (Residual Sum of Squares)  Каждый кластер дополнительно штрафуется фиксированным параметром λ  Для кластеризации из K кластеров общий фиксированный штраф Kλ  Целевая функция – минимизировать RSS(K) + Kλ  Остается проблемой как найти оптимальное значение λ . . .
  • 48. Слайд 48 из 74 Поиск “колена” на кривой 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Выберите количество кластеров, при котором кривая становится более «плоской» В данном случае: 4 or 9.
  • 49. Слайд 49 из 74 Иерархическая кластеризация 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Задача иерархической кластеризации построить иерархию кластеров  Иерархия строится автоматически, сверху-вниз или снизу-вверх.  Самый известный метод построения снизу-вверх: иерархическая агломеративная кластеризация. animal vertebrate fish reptile amphib. mammal worm insect crustacean invertebrate
  • 50. Слайд 50 из 74 Иерархическая Агломеративная Кластеризация (ИАК) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Строит иерархию в виде двоичного дерева  Использует меру близости для определения сходства двух кластеров  Алгоритм:  Вначале каждый документ это отдельный кластер  Поочередно объединяем два наиболее похожих кластера  До тех пор пока не останется один кластер  История объединений формирует дерево иерархии  Такая история изображается дендограммой
  • 51. Слайд 51 из 74 Дендограмма 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Мы можем отсечь дендограмму на любом шаге для получения плоской кластеризации
  • 52. Слайд 52 из 74 Основной вопрос: как вычислить близость кластеров? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Одиночная связь: Максимальная близость  Максимальная близость любых двух документов  Полная связь: Минимальная близость  Минимальная близость любых двух документов  Центроид: Средняя межкластерная близость  Средняя близость всех пар документов (исключая пары документов внутри кластеров)  Равносильно близости центроидов.  Групповое-среднее: Средняя внутрикластерная близость  Средняя близость всех пар документов, включая пары внутри кластеров.
  • 53. Слайд 53 из 74 Близость кластеров: пример 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 54. Слайд 54 из 74 Одиночная связь: Максимальная близость 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 55. Слайд 55 из 74 Полная связь: Минимальная близость 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 56. Слайд 56 из 74 Центроид: Средняя межкластерная близость 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Межкластерная близость = близость двух документов в разных кластерах
  • 57. Слайд 57 из 74 Групповое-среднее: Средняя внутрикластерная близость 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Внутрикластерная близость = близость всех пар, включая документы внутри кластеров
  • 58. Слайд 58 из 74 Вычислительная сложность неоптимизированного алгоритма ИАК 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Сначала, вычисляем близость всех N × N пар документов.  Затем, на каждой итерации:  Сканируем O(N × N) близостей для нахождения максимальной.  Объединяем два кластера.  Вычисляем близость между созданным кластером и всеми оставшимися.  Всего O(N) итераций, каждая требует O(N × N) сканирований.  Общая сложностьO(N3).  Существуют более рациональная модификация алгоритма со сложностью O(N2).
  • 59. Слайд 59 из 74 Плоская или иерархическая кластеризация? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Плоская кластеризация значительно быстрее, хорошо подходит для больших объемов данных  Для стабильного предсказуемого результата используют ИАК  Иерархическая кластеризация также требуется там, где нужны структура кластеров  Иногда иерархическая кластеризация используется для определения K, и последующего использования плоской кластеризации
  • 60. Слайд 60 из 74 Одна из главных проблем кластерного анализа – маркировка кластеров 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Когда кластеры созданы, их необходимо маркировать (описать в нескольких словах или фразах)  Селективная маркировка – анализирует все кластеры и выбирает наиболее специфичные термы, отличая кластер от остальных  Неселективная маркировка – выбирает термы и фразы исходя только из содержимого кластера, обычно самые частые слова  Маркировка по заголовкам документов кластера  Каждый из методов может быть эффективен, все зависит от конкретных данных
  • 61. Слайд 61 из 74 Как определить качество кластеризации? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Внутренние критерии  Например: Сумма квадратов отклонений в K-средних  Но внутренние критерии часто не оценивают практическую полезность кластеризации  Альтернатива: Внешние критерии  Сравните с классификацией составленной человеком
  • 62. Слайд 62 из 74 Внешние критерии для оценки кластеризации 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Основаны на «золотом стандарте», например известной коллекции документов, используемой для классификации  Цель: кластеризация должна воспроизвести классы «золотого стандарта»  Оговорка: мы лишь пытаемся оценить распределение документов по классам, игнорируя маркировку классов (class labels)  Простая метрика для оценки: Чистота (purity)
  • 63. Слайд 63 из 74 Внешние критерий: Чистота 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Простая метрика: чистота (purity), отношение доминирующего класса в кластере πi к размеру кластера ωi  Метрика смещена, поскольку имея n кластеров мы ее максимизируем  Другие меры включают энтропию, взаимную информацию, индекс ранда, f-метрику, точность, полноту Cjn n Чистота ijj i i )(max 1 )(
  • 64. Слайд 64 из 74 Пример вычисления Чистоты 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Кластер 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
  • 65. Слайд 65 из 74 План семинара 5/24/2013  Введение в кластерный анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 66. Слайд 66 из 74 Тематические Модели 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Тематические Модели основаны на следующих принципах:  Внутри коллекции документов присутствую латентные (скрытые) темы  Мы можем описать каждый документ с помощью тем  Такое описание позволяет легко кластеризовать документы
  • 67. Слайд 67 из 74 Формальное описание 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Тяжело уместить в пару слайдов  Попробуем описать общую идею, избегая формул
  • 68. Слайд 68 из 74 Два слова о Латентном Семантическом Анализе (Deerwester et al., 1990)  Латентный Семантический Анализ (LSA)  Популярный метод последнего десятилетия  Использует декомпозицию по собственным значениям для выделения латентных тем  Эффективно решает проблему синонимии и полисемии  Главный минус: медленный и требовательный к ресурсам  Побочный минус: не имеет четкой вероятностной модели 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 69. Слайд 69 из 74 Как ускорить вычисления? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Параллелизация алгоритмов  Для многих алгоритмов, включая LSA, существуют версии, обрабатывающие части матрицы терм-документ на разных процессорах  Онлайн-алгоритмы  Базовая модель вычисляется на части данных, оставшиеся данные разбиваются на небольшие части и поочередно используются для обновления модели  Приблизительные алгоритмы  Точность результата незначительно уменьшается, время работы сокращается в десятки раз
  • 70. Слайд 70 из 74 Латентное размещение Дирихле (LDA)  LDA основан на генеративной (порождающей) вероятностой модели. Мы предполагаем, что документы могут быть представлены распределением латентных тем, каждая из которых представлена распределением термов.  Примеры тем: 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Человек Геном ДНК генетика Эволюция Вид Организм жизнь Заболевание Бактерия штамм Компьютер Модель Информация данные
  • 71. Слайд 71 из 74 Генеративная модель LDA 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Каждая тема характеризуется распределение термов  Каждый документ характеризуется распределение тем  Каждый терм выбран из распределения в одной из тем Темы Документы Пропорции тем и распределение термов
  • 72. Слайд 72 из 74 Сколько тем использовать? 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Количество тем зависит от задачи. Значение по умолчанию 10-30 дает общее представление о содержимом коллекции документов.  Чем больше документов, тем больше тем может понадобиться.  Интервал от 200 до 400 позволяет добиться детализированной кластеризации.
  • 73. Слайд 73 из 74 План семинара 5/24/2013  Введение в кластерны анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 74. Слайд 74 из 74 Приложения для кластеризации текстов Веб- приложения Приложения в командной строке Приложения с пользовательским интерфейсом Программные интерфейсы приложений (API) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 75. Слайд 75 из 74 Используемые языки программирования  На чем запрограммировано основное ПО?  Perl  Классический скриптовый язык для обработки текстов с удобными механизмами регулярных выражений  Python  Более современный скриптовый язык, используется в одной из лучших по качеству документации систем обработки текстов NLTK.  Java  Самый распространенный язык для средств обработки текстов, хорошая поддержка регулярных выражений, Юникод, и т.д. 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 76. Слайд 76 из 74 Популярные пакеты кластеризации текстов  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 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 77. Слайд 77 из 74 GATE 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 78. Слайд 78 из 74 Stanford Topic Modeling Toolkit 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 79. Слайд 79 из 74 TMT on PubMed Data 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 80. Слайд 80 из 74 Media Cloud (www.mediacloud.org) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 81. Слайд 81 из 74 Media Cloud – Twitter vs LiveJournal 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 82. Слайд 82 из 74 Media Cloud – Twitter vs LiveJournal (экономика) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 83. Слайд 83 из 74 Media Cloud – Twitter vs LiveJournal (цензура) 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 84. Слайд 84 из 74 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 85. Слайд 85 из 74 Russian Media Cloud
  • 86. Слайд 86 из 74 Russian Media Cloud (2)
  • 87. Слайд 87 из 74 Russian Media Cloud (3)
  • 88. Слайд 88 из 74 Russian Media Cloud (4)
  • 89. Слайд 89 из 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 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 90. Слайд 90 из 74 Другие пакеты (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/over view  The Lemur Toolkit  http://www.lemurproject.org/  А также  The Semantic Engine, The Semantic Vectors Package, Terrier IR Platform, и другие. 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 91. Слайд 91 из 74 Практика обработки текста 1. Большинство пакетов работает с кодировкой Юникод, так что кириллица поддерживается корректно 2. Большинство пакетов работают с обработанным текстом, без HTML или XML тегов 3. По умолчанию, все классификаторы натренированы на корпусах англоязычных новостей 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 92. Слайд 92 из 74 Какое «железо» необходимо?  Софт для кластеризации часто требует много оперативной памяти и мощности процессора  Но современные ноутбуки мощнее многих серверов десятилетней давности  Для коллекций в десятки тысяч документов подойдет любой ПК  Сотни тысяч документов лучше обрабатывать с оперативной памятью в 4GB  Десятки миллионов документов кластеризуйте на серверах с 16 GB RAM и несколькими процессорами  Кластеризация больших коллекций может занимать несколько дней… 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 93. Слайд 93 из 74 План семинара 5/24/2013  Введение в кластерный анализ  Базовые методы кластерного анализа  Тематические методы кластерного анализа  Программные пакеты для кластеризации текстов  Заключение Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ
  • 94. Слайд 94 из 74 Заключение 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ  Кластеризация текстовых данных необходима для многих приложений  Основные алгоритмы включают K-средних, иерархические алгоритмы, LSA и LDA  Один из главных критериев при выборе алгоритма это его скорость и маштабируемость  Вы можете использовать для кластеризации один из готовых программных пакетов, выбор конкретного средства зависит от ваших данных и общих предпочтений
  • 95. Слайд 95 из 74 Время для вопросов 5/24/2013Сергей Чернов, Методы кластеризации текстовых данных, Центр Изучения Интернета и Общества, РЭШ Спасибо за внимание!