Латентно-семантический анализ (ЛСА) (англ. 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). Наиболее распространенный вариант ЛСА основан на использовании разложения матрицы по сингулярным значениям (SVD — Singular Value Decomposition). С помощью SVD-разложения любая матрица раскладывается во множество ортогональных матриц, линейная комбинация которых является достаточно точным приближением к исходной матрице.
Говоря более формально, согласно теореме о сингулярном разложении[9], любая вещественная прямоугольная матрица может быть разложена на произведение трех матриц:
A = U S V T {\displaystyle {\begin{matrix}A=USV^{T}\end{matrix}}} ,
где матрицы U {\displaystyle {\textbf {U}}} и V {\displaystyle {\textbf {V}}} — ортогональные, а S {\displaystyle {\textbf {S}}} — диагональная матрица, значения на диагонали которой называются сингулярными значениями матрицы A {\displaystyle {\textbf {A}}} . Буква Т в выражении V T {\displaystyle {\textbf {V}}^{T}} означает транспонирование матрицы.
Такое разложение обладает замечательной особенностью: если в матрице S {\displaystyle {\textbf {S}}} оставить только k {\displaystyle {\textbf {k}}} наибольших сингулярных значений, а в матрицах U {\displaystyle {\textbf {U}}} и V {\displaystyle {\textbf {V}}} — только соответствующие этим значениям столбцы, то произведение получившихся матриц S {\displaystyle {\textbf {S}}} , U {\displaystyle {\textbf {U}}} и V {\displaystyle {\textbf {V}}} будет наилучшим приближением исходной матрицы A {\displaystyle {\textbf {A}}} к матрице A ^ {\displaystyle {\hat {\textbf {A}}}} ранга k {\displaystyle {\textbf {k}}} :
A ^ ≈ A = U S V T {\displaystyle {\begin{matrix}{\hat {A}}\approx A=USV^{T}\end{matrix}}} ,
Основная идея латентно-семантического анализа состоит в том, что если в качестве матрицы A {\displaystyle {\textbf {A}}} использовалась матрица термы-на-документы, то матрица A ^ {\displaystyle {\hat {\textbf {A}}}} , содержащая только k {\displaystyle {\textbf {k}}} первых линейно независимых компонент A {\displaystyle {\textbf {A}}} , отражает основную структуру различных зависимостей, присутствующих в исходной матрице. Структура зависимостей определяется весовыми функциями термов.
Таким образом, каждый терм и документ представляются при помощи векторов в общем пространстве размерности k {\displaystyle {\textbf {k}}} (так называемом пространстве гипотез). Близость между любой комбинацией термов и/или документов легко вычисляется при помощи скалярного произведения векторов.
Как правило, выбор k {\displaystyle {\textbf {k}}} зависит от поставленной задачи и подбирается эмпирически. Если выбранное значение k {\displaystyle {\textbf {k}}} слишком велико, то метод теряет свою мощность и приближается по характеристикам к стандартным векторным методам. Слишком маленькое значение k не позволяет улавливать различия между похожими термами или документами.
Существуют три основных разновидности решения задачи методом ЛСА:
Достоинства метода:
Недостатки: