НАУЧНЫЕ ИССЛЕДОВАНИЯ ^ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.832.2
Д. В.Бондарчук
ИСПОЛЬЗОВАНИЕ ЛАТЕНТНО-СЕМАНТИЧЕСКОГО АНАЛИЗА В ЗАДАЧАХ КЛАССИФИКАЦИИ ТЕКСТОВ ПО ЭМОЦИОНАЛЬНОЙ ОКРАСКЕ
Автоматическая классификация текстов в последнее время получила широкое распространение в связи с появлением огромного числа документов в электронном виде и возникновением необходимости их упорядочения.
В данном исследовании, во-первых, была определена возможность применения латентно-семантического анализа для классификации текстов по эмоциональной окраске, во-вторых, разработаны алгоритм и необходимое программное обеспечение. Исследование показало, что применение указанного метода для классификации текстов целесообразно, поскольку по сравнению со стандартными векторными методами он имеет большую эффективность и значительно снижает нагрузку. Результаты исследования расширяют знания о возможности применения латентно-семантического анализа.
латентно-семантический анализ, классификация документов.
Введение
Автоматическая классификация текстов в последнее время получила огромное распространение в связи с увеличением количества документов, хранящихся в электронном виде, и возникшей необходимостью их упорядочения. Наиболее перспективным подходом к решению задач данного класса является применение технологий, основанных на машинном обучении.
Проанализировав известные публикации на эту тему, можно убедиться, что существует колоссальное число методов классификации текстов. Боль-
146
шинство этих методов основано на вероятностном подходе, искусственных нейронных сетях или деревьях решений. Как правило, главными требованиями к методу извлечения знаний являются эффективность и масштабируемость, поскольку в большинстве случаев они применяются для анализа больших объемов данных. Кроме того, следует помнить, что данные зачастую зашумлены лишней информацией, которая может создать дополнительные проблемы для классификации.
1 Предлагаемый метод классификации
Одним из наиболее эффективных и перспективных методов классификации текстов является метод латентно-семантического анализа (ЛСА). ЛСА был запатентован в 1988 году [1]. Он позволяет выявлять значения слов с учетом контекста их использования путем обработки большого объема текстов.
Модель представления текста, используемая в ЛСА, во многом схожа с восприятием текста человеком. Например, с помощью этого метода можно оценить текст на соответствие заданной теме.
В качестве исходной информации используется терм-документная матрица, которая представляет собой математическую матрицу, описывающую частоту терминов, которые встречаются в коллекции документов. Строки соответствуют документам в коллекции, а столбцы - терминам.
Стандартный ЛСА не предусматривает никакой предварительной работы с исходной матрицей, однако ее преобразование может значительно повысить эффективность данного метода. Предлагается произвести с матрицей следующие действия, которые позволят существенно уменьшить ее размерность:
- удалить строки, соответствующие так называемым стоп-словам (кто, куда, ли, лучше, между и т. д.), а также словам, содержащимся почти в каждом тексте и не несущим никакой смысловой нагрузки (следует помнить, что для каждой предметной области может быть свой список стоп-слов);
- удалить строки, соответствующие редким словам, не встречающимся ни в одном тексте из выборки более одного раза;
- привести все словоформы к исходной форме, например с помощью операции стемминга (процесс нахождения основы слова);
- из текстов некоторых тематик полезно удалить имена собственные, которые, так же как стоп-символы, не несут в себе никакой смысловой нагрузки;
- из текстов некоторых тематик имеет смысл удалить всю цифровую информацию (числительные, цифры).
В результате применения указанных действий количество строк в исходной матрице уменьшается в среднем на 60-70 %, при больших выборках
147
этот факт значительно увеличивает скорость обучения классификатора. Однако следует заметить: если целью ЛСА является информационный поиск, то удаление шумовой информации может повлечь за собой снижение результативности поиска.
После того как вся возможная шумовая информация удалена, можно приступать к следующему шагу ЛСА - сингулярному разложению исходной матрицы [2].
Сингулярное разложение - это математическая операция, раскладывающая матрицу на три составляющие. Сингулярное разложение можно представить в виде следующей формулы:
А = USVT, (1)
где А - исходная матрица; U и Vt - ортогональные матрицы; S - диагональная матрица, значения на диагонали которой называются сингулярными коэффициентами матрицы А. Сингулярное разложение позволяет выделить ключевые составляющие исходной матрицы.
Основная идея ЛСА состоит в том, что если в качестве матрицы А использовалась терм-документная матрица, то матрица А*, содержащая только к первых линейно независимых компонент, отражает основную структуру различных зависимостей, присутствующих в исходной матрице. Структура зависимостей определяется весовыми функциями термов.
Как правило, выбор к зависит от поставленной задачи и подбирается эмпирически. Если выбранное значение к слишком велико, то метод теряет свою мощность и приближается по характеристикам к стандартным векторным методам. Слишком маленькое значение к не позволяет улавливать различия между похожими термами или документами. Если необходимо выбирать значение к автоматически, то можно, например, установить пороговое значение сингулярных коэффициентов и отбрасывать все строки и столбцы, соответствующие сингулярным коэффициентам, не превышающим данного порогового значения.
Схожесть между любой комбинацией термов и/или документов чаще всего вычисляют с помощью скалярного произведения их векторов, однако на практике лучший результат дает вычисление схожести с помощью коэффициента корреляции Пирсона.
Дополнительную сложность для любого классификатора текстов представляют синонимия и полисемия. Синонимия - одинаковость или сходство значения различных слов или других однородных языковых единиц. Полисемия - многозначность, многовариантность, то есть наличие у слова (единицы языка, термина) двух и более значений, исторически обусловленных или взаимосвязанных по смыслу и происхождению. Такие слова называют омонимами.
148
ЛСА отображает документы и отдельные слова в так называемое «семантическое пространство», в котором и производятся все дальнейшие сравнения. При этом делаются следующие предположения.
1. Документ - это просто набор слов. Порядок слов в документах игнорируется. Важно только то, сколько раз то или иное слово встречается в документе.
2. Семантическое значение документа определяется набором слов, которые, как правило, идут вместе.
3. Каждое слово имеет единственное значение. Это, безусловно, сильное упрощение, но именно оно делает проблему разрешимой.
2 Экспериментальная часть
Для проведения эксперимента были разработаны алгоритмы и необходимое программное обеспечение.
Поскольку предполагается, что классификация проводится по эмоциональной окраске, то было принято решение взять для примера выборку текстов по кинематографической тематике, как наиболее подходящей для классификации по этому признаку.
Итак, для простоты дальнейшего изложения было взято малое количество, а именно пять текстов описаний известных фильмов, для всех из них заранее известна категория, однако три из них будут использованы для обучения, а оставшаяся часть - для проверки обученного классификатора. Фильмы, для которых заранее известна категория, служат некими эталонами, с которыми сравниваются все остальные для отнесения к той или иной категории. С точки зрения обучающего имеют одинаковую категорию фильмы под номерами: 1 и 3, 4 и 5. Список использованных фильмов с их категориями указан в таблице 1. Категории фильмов несколько утрированны ввиду малого их количества.
ТАБЛИЦА 1. Список использованных фильмов
№ п/п Название фильма Категория фильма
1 «Одиннадцать друзей Оушена» Интеллектуальные
2 «Крупная рыба» Добрые
3 «Побег из Шоушенка» Интеллектуальные
4 «Назад в будущее» Смешные
5 «Иван Васильевич меняет профессию» Смешные
149
Исходная матрица без преобразования имела более 150 строк. После удаления шумовой информации количество строк уменьшилось до 40. В связи с довольно большой размерностью этой матрицы нет необходимости приводить ее здесь. Для удаления словоформ использовался стеммер Портера. Этот алгоритм стемминга не использует баз основ слов, а лишь последовательным применением ряда правил отсекает окончания и суффиксы, основываясь на особенностях языка, в связи с чем работает быстро, но не всегда безошибочно. Для удаления стоп-слов использовался словарь, приведенный в таблице 2.
ТАБЛИЦА 2. Словарь наиболее популярных стоп-слов
быть вот вы да еще на
и как мы не нет него
о они от с сказать них
только у этот большой в один
все говорить для же из который
оно это свой та то что
я бы весь всей год до
знать к мочь наш нее но
она оный по себя такой ты
После этого было произведено сингулярное разложение. В результате разложения получилась следующая диагональная матрица:
6,963 0 0 0 0
0 3,714 0 0 0
0 0 3,424 0 0 -• (2)
0 0 0 2,136 0
0 0 0 0 0,662
Отбросим все строки и столбцы, соответствующие меньшим сингулярным значениям, оставим только первые три. Для классификации нам нужна только ортогональная матрица V, которая соответствует векторам выбранных текстов. Оставшаяся матрица U пригодилась бы для информационного поиска, однако это выходит за рамки поставленной задачи. Кроме того, матрица U может пригодиться для идентификации категорий, если их полный список заранее не известен.
150
Получаем ортогональную матрицу V следующего вида:
0 0 0 0,369 0,929
-0,016 0,251 -0,1 0 0 -• (3)
-0,157 0,238 -0,043 0 0
Каждый столбец в матрице V соответствует вектору определенного текста. Категории известны для фильмов под номерами 1, 2 и 5. Даже без проведения расчетов очевидно, что классификатор отнесет фильм 3 к категории фильма 1, а фильм 4 к категории фильма 5. Именно такой результат и требовался, классификатор справился с поставленной задачей. Так же очевидно, что фильм 5 - более яркий представитель своей категории, чем фильм 4. Вероятно, если бы тестовая выборка была больше, то для фильма 4 нашлась бы более подходящая категория.
Стоит заметить, что результаты данного исследования несколько идеализированы, в реальных условиях пространство будет намного большей размерности. Кроме всего прочего, для более точной классификации рекомендуется сравнивать сразу с несколькими наиболее яркими представителями проверяемой категории.
В случае, когда выборка постоянно обновляется, все матрицы необходимо периодически пересчитывать. Эту операцию не стоит повторять при каждом добавлении материала, потому что на больших выборках это очень затратная с точки зрения ресурсов и времени операция. Периодичность пересчета зависит от объема выборки и количества материалов, добавляемых в единицу времени. В большинстве случаев достаточно производить пересчет не чаще раза в неделю. Кроме того, можно обратить внимание, что исходная матрица сильно разрежена. Этот факт можно использовать для уменьшения потребления памяти и улучшения производительности.
Заключение
Использование латентно-семантического анализа с дополнениями автора для автоматической классификации текстов по эмоциональной окраске целесообразно, поскольку его применение значительно снижает нагрузку по сравнению со стандартными векторными методами.
Кроме действий по фильтрации шумовой информации, приведенных в статье, возможно, было бы эффективно применить какой-нибудь из эволюционных алгоритмов, например генетический. Насколько это оправдано, на данный момент неизвестно.
151
Библиографический список
1. Indexing by Latent Semantic Analysis / Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman // Journal of the American Society for Information Science 41(6): 391-407. DOI:<391::AID-ASI1>3.0.CO;2-9 10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9.
2. Introduction to Latent Semantic Analysis / Thomas Landauer, Peter W. Foltz, Darrell Laham // Discourse Processes 25: 259-284. DOI:10.1080/01638539809545028.
© Бондарчук Д. В., 2012
152