Text clustering v1.1

Preview:

DESCRIPTION

 

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

with word counts

http://wordle.net/ Jonathan Feinberg

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

Слайд 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

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

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

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

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

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

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

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

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

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

Слайд 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

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

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

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

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

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

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

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

Слайд 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.

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.

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

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

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

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

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

animal

vertebrate

fish reptile amphib. mammal worm insect crustacean

invertebrate

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

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

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

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

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

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

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

Дендограмма

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

человеком

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

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

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

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

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

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

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

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

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

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

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

Cjnn

Чистота ijji

i )(max1

)(

Слайд 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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

формул

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Темы

Документы

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

я

Приложения в

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

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

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

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

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

Программные

интерфейсы

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

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

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

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

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

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

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

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

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

Слайд 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

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

GATE

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

Stanford Topic Modeling Toolkit

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

TMT on PubMed Data

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

Media Cloud (www.mediacloud.org)

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

Media Cloud – Twitter vs LiveJournal

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

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

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

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

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

Слайд 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 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

Слайд 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, и другие.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

Recommended