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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Латентно-семантический анализ (ЛСА) (англ. Latent semantic analysis, LSA) — это метод обработки информации на естественном языке, анализирующий взаимосвязь между библиотекой документов и терминами, в них встречающимися, и выявляющий характерные факторы (тематики), присущие всем документам и терминам.

В основе метода латентно-семантического анализа лежат принципы факторного анализа, в частности, выявление латентных связей изучаемых явлений или объектов. При классификации / кластеризации документов этот метод используется для извлечения контекстно-зависимых значений лексических единиц при помощи статистической обработки больших корпусов текстов[1].

История[править | править код]

ЛСА был запатентован в 1988 году[2] Scott Deerwester, Susan Dumais, George Furnas, Richard Harshman, Thomas Landauer, Karen Lochbaum и Lynn Streeter. В области информационного поиска данный подход называют латентно-семантическим индексированием (ЛСИ).

Впервые ЛСА был применен для автоматического индексирования текстов, выявления семантической структуры текста и получения псевдодокументов[3]. Затем этот метод был довольно успешно использован для представления баз знаний[4] и построения когнитивных моделей[5].

В последние годы метод ЛСА часто используется для поиска информации (индексация документов), классификации документов[6], моделях понимания[7] и других областях, где требуется выявление главных факторов из массива информационных данных .

Описание работы ЛСА[править | править код]

Анимация процесса обнаружения тематик в матрице «документы-слова». Каждый столбец матрицы соответствует документу, каждая строка — слову. Ячейки матрицы содержат веса слов в документах (например, значения TF-IDF), более тёмные оттенки соответствуют более высокому весу. Алгоритм LSA группирует как документы, которые используют похожие слова, так и слова, которые встречаются в похожем наборе документов. Полученные кластеры в матрице используются для обнаружения латентных (скрытых) компонентов в исходных данных, соответствующих определённым тематикам.[8]

ЛСА можно сравнить с простым видом нейросети, состоящей из трех слоев: первый слой содержит множество слов (термов), второй — некое множество документов, соответствующих определённым ситуациям, а третий, средний, скрытый слой представляет собой множество узлов с различными весовыми коэффициентами, связывающих первый и второй слои.

В качестве исходной информации ЛСА использует матрицу термы-на-документы, описывающую набор данных, используемый для обучения системы. Элементы этой матрицы содержат, как правило, веса, учитывающие частоты использования каждого терма в каждом документе и участие терма во всех документах (TF-IDF). Наиболее распространенный вариант ЛСА основан на использовании разложения матрицы по сингулярным значениям (SVD — Singular Value Decomposition). С помощью SVD-разложения любая матрица раскладывается во множество ортогональных матриц, линейная комбинация которых является достаточно точным приближением к исходной матрице.

Говоря более формально, согласно теореме о сингулярном разложении[9], любая вещественная прямоугольная матрица может быть разложена на произведение трех матриц:

,

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

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

,

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

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

Как правило, выбор зависит от поставленной задачи и подбирается эмпирически. Если выбранное значение слишком велико, то метод теряет свою мощность и приближается по характеристикам к стандартным векторным методам. Слишком маленькое значение k не позволяет улавливать различия между похожими термами или документами.

Применение[править | править код]

Существуют три основных разновидности решения задачи методом ЛСА:

  • сравнение двух термов между собой;
  • сравнение двух документов между собой;
  • сравнение терма и документа.

Достоинства и недостатки ЛСА[править | править код]

Достоинства метода:

  • метод является наилучшим для выявления латентных зависимостей внутри множества документов;
  • метод может быть применен как с обучением, так и без обучения (например, для кластеризации);
  • используются значения матрицы близости, основанной на частотных характеристиках документов и лексических единиц;
  • частично снимается полисемия и омонимия.

Недостатки:

  • Существенным недостатком метода является значительное снижение скорости вычисления при увеличении объёма входных данных (например, при SVD-преобразовании). Как показано в[10], скорость вычисления соответствует порядку , где  — сумма количества документов и термов ,  — размерность пространства факторов.
  • Вероятностная модель метода не соответствует реальности. Предполагается, что слова и документы имеют Нормальное распределение, хотя ближе к реальности Распределение Пуассона. В связи с этим для практических применений лучше подходит Вероятностный латентно-семантический анализ, основанный на мультиномиальном распределении.

Примечания[править | править код]

  1. Thomas Landauer, Peter W. Foltz, & Darrell Laham. Introduction to Latent Semantic Analysis (англ.) // Discourse Processes (англ.) : journal. — 1998. — Vol. 25. — P. 259—284. — DOI:10.1080/01638539809545028.
  2. U.S. Patent 4 839 853
  3. Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman. Indexing by Latent Semantic Analysis (англ.) // Journal of the American Society for Information Science (англ.) : journal. — 1990. — Vol. 41, no. 6. — P. 391—407. — DOI:10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9. Архивировано 17 июля 2012 года.
  4. Thomas Landauer, Susan T. Dumais. A Solution to Plato's Problem: The Latent Semantic Analysis Theory of Acquisition, Induction, and Representation of Knowledge (англ.) // JPsychological Review. : journal. — 1997. — Vol. 104. — P. 211—240. Архивировано 14 марта 2012 года.
  5. B. Lemaire, G. Denhière. Cognitive Models based on Latent Semantic Analysis (неопр.) // Tutorial given at the 5th International Conference on Cognitive Modeling (ICCM'2003), Bamberg, Germany, April 9 2003.. — 2003. (недоступная ссылка)
  6. Некрестьянов И. С. Тематико-ориентированные методы информационного поиска / Диссертация на соискание степени к. ф-м.н. СПбГУ, 2000.
  7. Соловьев А. Н. Моделирование процессов понимания речи с использованием латентно-семантического анализа / Диссертация на соискание степени к.ф.н. СПбГУ, 2008.
  8. http://topicmodels.west.uni-koblenz.de/ckling/tmt/svd_ap.html
  9. Голуб Дж., Ван Лоун Ч. Матричные вычисления. М.: «Мир», 1999.
  10. Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman. Indexing by Latent Semantic Analysis (англ.) // Journal of the American Society for Information Science (англ.) : journal. — 1990. — Vol. 41, no. 6. — P. 391—407. — DOI:10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9. Архивировано 17 июля 2012 года.

Ссылки[править | править код]