Кластеризация русскоязычных текстов на основе...

Preview:

DESCRIPTION

Семенов А.С.

Citation preview

Дипломная работа

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

Семенов А.С., 524 группа

Научный руководитель:к.ф.-м.н. Бордаченкова Е.А.

Задача кластеризации текстов

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

Ключевой этап – признаковое описание объектов.

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

Векторная модель - векторное представление коллекции текстовых документов.

Этапы кластеризации коллекции текстов:

• Построение векторной модели по заданной коллекции текстов.

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

Постановка задачи

• Проанализировать существующие решения для каждого этапа кластеризации текстов, выбрать наиболее подходящие из них для русскоязычных текстов.

• Реализовать программную систему, выполняющую кластеризацию входной коллекции русскоязычных текстов.

• Проверить эффективность разработанной системы на предварительно размеченной тестовой коллекции текстов.

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

Терм – семантическая единица (слово).

Документ – отдельный текст:

Text1 Text2 Text3 Text4

Term1 0 0 0 1

Term2 0 1 0 0

Term3 0 1 1 0

Term4 1 0 1 0

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

Рассмотренные методы построения векторной модели:

• Латентно-семантический анализ

• Обобщенная векторная модель

• Случайное проецирование

Латентно-семантический анализ

Представлен и запатентован в 1988 г.

Главная идея – поиск латентных связей между документами.

Инструмент - сингулярное разложение матрицы (SVD):

SVD решает проблему разреженности (до 99% элементов матрицы – нули), повышая вес элементов и снижая влияние шумов.

Столбцы - сжатый вариант векторов документов.

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

• Иерархические

– Агломеративный

– Разделительный

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

K-средних: Иерархический агломеративный:

Анализ программных реализаций

Пакеты для латентно-семантического анализа:• S-Space• Semantic Vectors• Sense Clusters

S-SpaceБиблиотека на Java. Универсальное средство построения векторной модели.

• Полное покрытие настроек и опций метода латентно-семантического анализа.• Ориентированность на скорость работы.• Отсутствие жесткий требований к формату входных данных.

Пакеты для кластеризации:

CLUTO – библиотека для кластеризации. Гибкая настройка методов K-средних и иерархического агломеративного.

Тестовая коллекция

• Машинный фонд русского языка

• Национальный корпус русского языка

• Упсальский корпус

• Корпус текстов русских газет конца ХХ-ого века

• Тюбингенский корпус

Развивающихся проектов с открытым доступом нет.Требуется сбор и формирование собственной коллекции.

Решение: сбор новостных статей с информационного портала lenta.ru.

Рассмотрены следующие текстовые корпуса русского языка:

Разработка программной системы

Язык программирования – Java.

Использованы библиотеки S-Space и CLUTO

Три независимых этапа:

• Сбор/пополнение коллекции текстов (опционально).• Построение векторной модели (ЛСА) с указанием настроек.• Кластеризация документов на основе векторной модели.

Пользовательский интерфейсБиблиотека графического интерфейса – Swing GUI.

Пользовательский интерфейс

Анализ работы программы

Тестовая выборка - 1000 статей:• 500 из категории «спорт»

• 500 из категории «политика»

Оценивались результаты кластеризации при различных настройках векторной модели и алгоритма кластеризации.

Лучшие показатели точности и полноты – 69,2% и 69,4% соответственно.

Среднее время построения векторной модели – 16 сек.

Средняя загрузка оперативной памяти – 400 Мб.

Максимальная загрузка оперативной памяти – 1,5 Гб

Среднее время кластеризации K-means – 7 сек.

Среднее время кластеризации иерархическим методом – 18 сек.

Результаты работы

• Проанализированы существующие решения для каждого этапа кластеризации текстов. Выбраны наиболее подходящие для задачи кластеризации текстов.

• Реализовано ПО, выполняющее кластеризацию входной коллекции русскоязычных текстов с возможностью ее пополнения.

• Эффективность разработанной системы проверена на предварительно размеченной тестовой коллекции текстов.

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

Recommended