Я пытаюсь разработать поисковую систему, ориентированную на музыку, для моего последнего проекта. Я занимался некоторыми исследованиями в области латентного семантического анализа и как он работает в Интернете. У меня возникли проблемы с пониманием того, где LSI находится точно во всей системе поисковых систем. Должен ли он использоваться после того, как веб-искатель закончил поиск веб-страниц?Какова роль скрытого семантического анализа в разработке поисковых систем?
ответ
Я мало знаю об извлечении музыки, но при поиске текста LSA имеет значение только в том случае, если поисковая система использует модель космического пространства для поиска информации. Большинство обычных поисковых систем, таких как Lucene, разбивают каждый документ на слова (токены), удаляют стоп-слова и помещают остальные из них в индекс, каждый из которых обычно связан с весом , что указывает на важность термина в документе ,
Теперь список пар (токенов, вес) можно рассматривать как вектор, представляющий документ. Если вы объедините все эти векторы в огромную матрицу и примените алгоритм LSA к этому (после обхода и токенинга, но до индекса), вы можете использовать результат алгоритма LSA для преобразования векторов всех документов до индексируя их.
Обратите внимание, что в исходных векторов, то маркеры представлял Размеры векторного пространства. LSA предоставит вам новый набор измерений, и вам придется индексировать их (например, в виде автоматически генерируемых целых чисел) вместо токенов.
Кроме того, вам также придется преобразовать запрос в вектор пар (токенов, вес), а затем применить преобразование на основе LSA к этому вектору.
Я не уверен, что кто-то на самом деле все это делает в любом реальном режиме поиска текста. Одна из проблем заключается в том, что выполнение алгоритма LSA на матрице всех векторов документов потребляет много времени и памяти. Другая проблема связана с обработкой обновлений, то есть при добавлении нового документа или изменении существующего. В идеале вы должны перекомпилировать матрицу, повторно запустить LSA, а затем изменить все существующие векторы документов и повторно сгенерировать весь индекс. Не совсем масштабируемо.