Векторная модель текста
2009-07-13 21:46Векторная модель текста определяет способ представления текста для последующего использования в алгоритмах классификации и полнотекстового поиска, основанных на анализе статистических характеристик.
Словарь
| Основная форма: | Векторная модель текста |
Векторная модель текста
Векторная модель текста появилась в ответ на появление методов статистической обработки, требовавших представить их в виде векторов в пространстве признаков. Любой текст может быть поставлен в соответствие точке, каждая координата которой соответствует частоте одного из его слов. Если допустить, что сходные мысли выражаются сходными словами, то можно предположить, что тексты сходной тематики будут соответствовать пространственно-близким векторам.
Тематика обычно не зависит от длины текста, поэтому вектора нормируют, чтобы они также не зависили от длины. Для нормированных векторов в качестве меры пространственной близости удобно использовать косинус угла между ними: эта величина легко рассчитывается скалярным произведением (по-координатным умножением) векторов.
Использование
Простейшим применением векторной модели текста является классификация: выявление принадлежности текста одной из нескольких классификационных категорий. Другое очевидное применение - полнотекстовый поиск.
Визуализация тематического распределения текстов
Распределение текстов в пространстве признаков можно визуализировать. При этом в пространстве признаков находится поверхность, оптимальная с точки зрения информативности проекции на нее, и распределение векторов в пространстве представляется проекцией на эту поверхность.
Такое представление называют "картой признаков": плотность распределения векторов выражается яркостью или цветом соответствующих участков карты. На такой карте хорошо заметно, что в распределении текстов существует некий порядок: существуют области, в которых тексты группируются вместе, и которые разделены участками с низкой плотностью распределения векторов.
Исследование таких областей показывает, что они соответствуют текстам сходной тематики, что позволяет использовать карту признаков для навигации по коллекции текстов, как это сделано, например, в проекте WebSOM.
Классификация текста
Так как различным областям распределения векторов можно поставить в соответствие различные темы, то на этой основе можно создать классификатор текста, который выявляет принадлежность текста различным классификационным категорим (тематическим группам). Простейший классификатор текста, построенный таким образом - сеть Кохонена-Гроссберга.
Такой классификатор требует предварительной настройки ("обучения") на примерах классификационных групп: классификатору предъявляется список тематических групп, каждая из которых представлена достаточным количеством текстов. В дальнейшем классификатор размещает предъявленные тексты в группах, содержащих сходные тексты.
Хорошей оценкой качества работы классификатора является 85% (по критериям точности и полноты), но в некоторых вырожденных случаях (например, фильтрация спама) можно достичь более 95%.
Полнотекстовый поиск
Идея полнотекстового поиска состоит в том, чтобы не просто находить ключевые слова в тексте, но учитывать их значение (и может быть даже смысл) в тексте и предоставлять возможность ранжировать тексты по степени соответствия запросу. Векторная модель позволяет это сделать на основе предположения о том, что слово определяет тематику текста в тем большей степени, чем чаще оно в нем встречается. Тогда ранжировать тексты по степени соответствия (релевантности) запросу можно на основе скалярного произведения векторов, представляющих текст и запрос.
Такой подход хорошо срабатывает при необходимости найти тексты с тематикой, близкой к заданному тексту. Хотя использование его на коротких поисковых фразах приводит к менее впечатляющим результатам, это не мешает ему быть теоретической основой практически всех алгоритмов полнотекстового поиска.
Поиск дубликатов
Тексты, являющиеся искаженной копией друг друга, порождают крайне близкие вектора - и тут речь идет уже не о смысле, теме или значении, а просто о статистическом соответствии текстов друг другу. Эта близость много выше, чем близость текстов сходной тематики. Поэтому нахождение векторов, особенно близких к вектору, представляющему данный текст, может использоваться для поиска дубликатов текста.
В последнее время, в связи с особенным увлечением человечества проблемой копирайта, появился ряд алгоритмов, построенных на этой основе, например Алгоритм Шинглов.
Выявление значимых слов предметной области
Вектора, соответствующие текстам, принадлежащим некоторой предметной
области, распределяются в пространстве в виде облака. Изучение формы облака
методами, сходными с
- По удаленности облака по данной координате от некоторого "среднего" значения, такой подход позволяет выявить слова, специфичные для данной предметной области;
- По длине проекции облака на координату, такой подход позволяет выявить слова, которые имеют большое значение для классификации текстов внутри данной предметной области.
Полученные таким образом слова могут использоваться для автоматического выявления тематических рубрик, аннотирования текста и других целей.
Дальнейшее развитие
Тривиальный подход к построению векторного представления текста обладает существенными недостатками, преодоление которых возможно в двух направлениях: изменение того, что определяется как "слово" и изменение способа взвешивания слова.
Что такое слово
В простейшем случае, слово - это фрагмент текста "от одного пробела до другого", что вообще говоря не самый эффективный подход. Повысить эффективность может использование вместо слов классов эквивалентности, при этом все слова, попадающие в общий класс эквивалентности, рассматриваются как одно слово. Классы эквивалентности можно ввести за счет:
- Приведения слов к нормальной форме или
Стемминга ; - Использования словаря синонимов.
Существует много способов введения классов эквивалентности, делающие системы, построенные на основе векторной модели нечувствительными к опечаткам, переформулировкам, синонимизации и прочим искажениям.
Что такое вес слова
Использование в качестве значения координаты частоты слова также является лишь наиболее простым приближением. Развитие в этом направлении основано на полуэмпирических способах изменения веса слова, которые включают в себя:
- Фильтрацию (или занижение веса) слов по некоторым признакам (например, морфологическим: считается, что наиболее информативными для русского языка являются существительные);
- Определение веса слова в зависимости от того, как распространено это слово во всей коллекции документов, наиболее известные способы - IDF, LSA.
Дополнительное взвешивание слов позволяет улучшить соотнесение смысловой близости текста и пространственной близости векторных представлений.
Использования контекста
Также возможно расширение понятия слова за счет использования контекста: одно и тоже слово в разном контексте соответствует разным координатам. Простейший способ достичь этого - использовать словарь распространенных словосочетаний.
Заключение
Хотя в настоящее время поиск и классификация текста продвинулся гораздо дальше первых попыток, непосредственно основанных на векторной модели текста, она была и остается удобной теоретической основой таких разработок. Меняются признаки, словари, механизмы взвешивания и классификации, а иногда, как в случае RAAM, исследователи уходять настолько далеко от первоначального понятия слова, что уже трудно опознать исходный алгоритм. Тем не менее, векторная модель продолжает оставаться отправной точкой разработки новых алгоритмов статистической обработки текста.
| [1] | "A vector space model for automatic indexing.", Salton, G., Wong, A., and Yang, C.S. (1975), Communications of the ACM, 18(11):613-620. |
| [2] |



