Введение

Латентный семантический анализ (ЛСА) — это метод в области обработки естественного языка, в частности, в распределённой семантике, для анализа взаимосвязей между набором документов и содержащимися в них терминами путём выделения набора концептов, связанных с документами и терминами. ЛСА исходит из предположения, что слова, близкие по смыслу, будут встречаться в сходных текстовых фрагментах (дистрибутивная гипотеза). Из большого текста строится матрица, содержащая частоту встречаемости слов в документах (строки представляют уникальные слова, а столбцы — каждый документ), и для уменьшения количества строк при сохранении структуры сходства между столбцами применяется математический метод, называемый сингулярным разложением (SVD). Документы затем сравниваются с помощью косинусного сходства между любыми двумя столбцами. Значения, близкие к 1, указывают на высокую степень сходства документов, а значения, близкие к 0, — на их значительные различия. Технология информационного поиска, использующая скрытую семантическую структуру, была запатентована в 1988 году (патент США 4,839,853, срок действия которого истек) Скоттом Дирвестер, Сьюзан Думайс, Джорджем Фурнасом, Ричардом Харшманом, Томасом Ландауэром, Карен Локбаум и Линн Стритер. В контексте применения к информационному поиску она иногда называется латентной семантической индексацией (LSI).

Матрица случаев

LSA может использовать матрицу "термин-документ", которая описывает частоту встречаемости терминов в документах; это разреженная матрица, строки которой соответствуют терминам, а столбцы – документам. Типичным примером взвешивания элементов матрицы является TF-IDF (частота термина – обратная частота документа): вес элемента матрицы пропорционален количеству раз, которое термин встречается в каждом документе, при этом редким терминам присваивается больший вес, чтобы отразить их относительную важность. Эта матрица также часто используется в стандартных семантических моделях, хотя она не всегда явно представляется в виде матрицы, поскольку математические свойства матриц не всегда применяются.

Коммерческие применения

LSA используется для помощи в проведении поиска по уровню техники при экспертизе патентов.

Применение в человеческой памяти

Использование латентного семантического анализа широко распространено в исследованиях человеческой памяти, особенно в областях свободного воспроизведения и поиска информации в памяти. Существует положительная корреляция между семантической схожестью двух слов (измеряемой с помощью LSA) и вероятностью последовательного воспроизведения этих слов в задачах свободного воспроизведения, использующих списки случайных существительных. Также было отмечено, что в таких ситуациях время реакции между схожими словами значительно меньше, чем между несхожими словами. Эти результаты известны как эффект семантической близости. Когда участники допускали ошибки при воспроизведении изученных элементов, эти ошибки, как правило, касались элементов, семантически более близких к целевому элементу и встречавшихся в ранее изученном списке. Эти "вторжения" из предыдущих списков, как их стали называть, по-видимому, конкурируют с элементами текущего списка при воспроизведении. Другая модель, называемая пространством ассоциаций слов (WAS), также используется в исследованиях памяти путем сбора данных свободных ассоциаций в серии экспериментов и включает в себя показатели связанности более чем 72 000 различных пар слов.

Реализация

SVD обычно вычисляется с использованием методов работы с большими матрицами (например, методов Ланцоса), но также может быть вычислен инкрементально и с существенно меньшими затратами ресурсов, используя подход, аналогичный нейронной сети, который не требует хранения большой матрицы полного ранга в памяти. Недавно был разработан быстрый инкрементальный алгоритм SVD для больших матриц с небольшим объемом используемой памяти. Доступны реализации этих быстрых алгоритмов на MATLAB и Python. В отличие от стохастической аппроксимации Горелла и Уэбба (2005), алгоритм Брэнда (2003) предоставляет точное решение. В последние годы достигнут прогресс в снижении вычислительной сложности SVD; например, использование параллельного алгоритма ARPACK для параллельного разложения на собственные значения позволяет ускорить вычисления SVD, сохраняя при этом сопоставимое качество прогнозирования.

Семантическая хешировка

В семантическом хэшировании документы отображаются в адреса памяти посредством нейронной сети таким образом, что семантически близкие документы располагаются по соседним адресам. Глубокая нейронная сеть, по сути, строит графическую модель векторов частоты слов, полученных из большого корпуса документов. Документы, похожие на поисковый документ, можно найти, просто обращаясь ко всем адресам, которые отличаются от адреса поискового документа лишь на несколько битов. Этот подход к повышению эффективности хэш-кодирования для приближенного поиска значительно быстрее, чем хэширование с учетом локальности, которое является самым быстрым из современных методов.

Латентная семантическая индексация

Латентная семантическая индексация (LSI) — это метод индексирования и поиска, использующий математический метод, называемый сингулярным разложением (SVD), для выявления закономерностей во взаимосвязях между терминами и понятиями, содержащимися в неструктурированном текстовом корпусе. LSI основан на принципе, что слова, употребляемые в одинаковых контекстах, как правило, имеют близкое значение. Ключевой особенностью LSI является его способность извлекать концептуальное содержание текста, устанавливая ассоциации между терминами, которые встречаются в схожих контекстах. LSI также представляет собой применение анализа соответствий, многомерного статистического метода, разработанного Жаном Полем Бензекри в начале 1970-х годов, к таблице сопряженности, построенной на основе подсчета слов в документах. Названный "латентной семантической индексацией" благодаря способности выявлять корреляции между семантически связанными терминами, скрытыми в текстовом корпусе, он был впервые применен к тексту в Bellcore в конце 1980-х годов. Метод, также известный как латентный семантический анализ (LSA), обнаруживает лежащую в основе скрытую семантическую структуру в использовании слов в тексте и то, как ее можно использовать для извлечения смысла текста в ответ на запросы пользователей, обычно называемые концептуальным поиском. Запросы или концептуальный поиск по набору документов, обработанных с помощью LSI, вернут результаты, концептуально близкие по значению к критериям поиска, даже если эти результаты не содержат конкретных слов, совпадающих с критериями поиска.

Преимущества LSI

LSI помогает преодолеть синонимию, повышая полноту поиска, одно из наиболее сложных ограничений булевых запросов по ключевым словам и векторных моделей. В результате булевые или ключевые запросы часто возвращают нерелевантные результаты и пропускают важную информацию. LSI также используется для автоматической категоризации документов. Фактически, ряд экспериментов продемонстрировал наличие корреляций между тем, как LSI и люди обрабатывают и категоризируют текст. Категоризация документов – это отнесение документов к одной или нескольким предопределенным категориям на основе их сходства с концептуальным содержанием этих категорий. LSI использует примеры документов для установления концептуальной основы каждой категории. В процессе категоризации концепции, содержащиеся в классифицируемых документах, сравниваются с концепциями, содержащимися в примерах, и документу (или документам) присваивается категория (или категории) на основе сходства между содержащимися в них концепциями и концепциями, содержащимися в примерах. Динамическое кластерирование, основанное на концептуальном содержании документов, также может быть выполнено с использованием LSI. Кластеризация – это способ группировки документов на основе их концептуальной схожести друг с другом без использования примеров документов для установления концептуальной основы каждого кластера. Это особенно полезно при работе с неизвестной коллекцией неструктурированного текста. Поскольку LSI использует строго математический подход, он по своей сути не зависит от языка. Это позволяет LSI извлекать семантическое содержание информации, написанной на любом языке, без использования вспомогательных структур, таких как словари и тезаурусы. LSI также может выполнять кросс-лингвистический поиск концептов и категоризацию на основе примеров. Например, запросы могут быть сделаны на одном языке, например, на английском, и будут возвращены концептуально похожие результаты, даже если они составлены на совершенно другом языке или на нескольких языках. LSI не ограничивается работой только со словами. Он также может обрабатывать произвольные строки символов. Любой объект, который можно представить в виде текста, может быть представлен в векторном пространстве LSI. Например, тесты с аннотациями MEDLINE показали, что LSI способен эффективно классифицировать гены на основе концептуального моделирования биологической информации, содержащейся в заголовках и аннотациях цитат MEDLINE. LSI автоматически адаптируется к новой и изменяющейся терминологии и, как было показано, очень устойчив к шуму (т.е. опечаткам, типографским ошибкам, нечитаемым символам и т.п.). Это особенно важно для приложений, использующих текст, полученный с помощью оптического распознавания символов (OCR) и преобразования речи в текст. LSI также эффективно справляется с разреженными, неоднозначными и противоречивыми данными. Для эффективной работы LSI текст не обязательно должен быть представлен в виде предложений. Он может работать со списками, заметками в свободной форме, электронной почтой, веб-контентом и т.д. До тех пор, пока коллекция текста содержит несколько терминов, LSI можно использовать для выявления закономерностей в отношениях между важными терминами и концепциями, содержащимися в тексте. LSI оказался полезным решением для ряда задач концептуального сопоставления. Было показано, что эта техника позволяет выявлять ключевую информацию о взаимосвязях, включая причинно-следственные, целеориентированные и таксономические связи.

Математика LSI

LSI использует стандартные методы линейной алгебры для выявления концептуальных связей в корпусе текстов. Как правило, процесс включает в себя создание взвешенной матрицы "термин-документ", выполнение сингулярного разложения этой матрицы и использование полученной матрицы для определения концепций, представленных в текстах.

Проблемы с LSI

Ранние проблемы, связанные с LSI, касались масштабируемости и производительности. LSI требует относительно высокой вычислительной мощности и объема памяти по сравнению с другими методами информационного поиска. Однако, с появлением современных высокоскоростных процессоров и доступностью недорогой памяти, эти ограничения в значительной степени были преодолены. В некоторых приложениях LSI часто встречаются реальные примеры работы с коллекциями, содержащими более 30 миллионов документов, которые полностью обрабатывались с использованием матричных операций и вычислений SVD. Полностью масштабируемая (неограниченное количество документов, онлайн-обучение) реализация LSI включена в программный пакет с открытым исходным кодом gensim. Другой проблемой LSI является сложность определения оптимального числа размерностей для выполнения SVD. Как правило, меньшее число размерностей позволяет проводить более широкие сравнения концепций, представленных в текстовой коллекции, в то время как большее число размерностей обеспечивает более точные (или более релевантные) сравнения концепций. Фактическое число размерностей, которое можно использовать, ограничено размером коллекции документов. Исследования показали, что около 300 размерностей обычно дают наилучшие результаты для коллекций умеренного размера (сотни тысяч документов), и, возможно, 400 размерностей для более крупных коллекций (миллионы документов). Однако, недавние исследования указывают на то, что от 50 до 1000 размерностей могут быть подходящими в зависимости от размера и специфики коллекции документов. Проверка доли объясненной дисперсии, аналогичная методам PCA или факторного анализа, не подходит для определения оптимальной размерности в LSI. Два возможных способа найти правильную размерность – использование теста синонимов или предсказание пропущенных слов. Если темы LSI используются в качестве признаков в методах обучения с учителем, можно использовать метрики ошибки предсказания для определения оптимальной размерности.

Статьи о LSA

Латентный семантический анализ, статья в Scholarpedia о ЛСА, написанная Томом Ландауэром, одним из создателей ЛСА.

Выступления и демонстрации

Обзор LSA, доклад профессора Томаса Хофмана, описывающий LSA, его применение в информационном поиске и связь с вероятностным латентным семантическим анализом. Полный пример кода LSA на C# для Windows. Демонстрационный код включает перечисление текстовых файлов, фильтрацию стоп-слов, стемминг, создание матрицы "документ-термин" и сингулярное разложение (SVD).