14
Дипломная работа Кластеризация русскоязычных текстов на основе латентно-семантического анализа Семенов А.С., 524 группа Научный руководитель: к.ф.-м.н. Бордаченкова Е.А.

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

  • Upload
    -

  • View
    2.273

  • Download
    1

Embed Size (px)

DESCRIPTION

Семенов А.С.

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Text1 Text2 Text3 Text4

Term1 0 0 0 1

Term2 0 1 0 0

Term3 0 1 1 0

Term4 1 0 1 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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