Нуждаюсь в помощи в латентно-семантическом индексировании

Я сожалею, если мой вопрос звучит глупым :) Можно ли рекомендовать мне какой-либо псевдо код или хороший алгоритм для реализации LSI в Java? Я не математический эксперт. Я пытался прочитать некоторые статьи о Википедии и других веб-сайтах о LSI (латентно-семантическое индексирование), они были полны математики. Я знаю, что LSI полон математики. Но если я вижу некоторый исходный код или алгоритм. Я понимаю вещи более легко. Вот почему я спросил здесь, потому что так многие ГУРУ здесь!Заранее спасибо

7
задан starblue 8 January 2010 в 19:19
поделиться

1 ответ

Возможно, это немного поздно, но мне всегда нравился блог Sujit Pal http://sujitpal.blogspot.com/2008/09/ir-math-with-java-tf-idf-and-lsi.html, и я написал немного на своем сайте, если вам интересно.

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

Если вам интересно, я могу объяснить в нескольких коротких фрагментах:

1) Вы создаете матрицу/набор данных/etc с количеством слов в различных документах - различные документы будут вашими столбцами, а строки - отдельными словами.

2) После создания матрицы вы используете библиотеку типа Jama (для Java) или SmartMathLibrary (для C#) и выполняете разложение по единичному значению. Все, что это делает, это берет вашу исходную матрицу и разбивает ее на три различные части/матрицы, которые по существу представляют ваши документы, ваши слова и своего рода множитель (сигма), которые называются векторами.

3) После того как у вас есть векторы слов, документов и сигмы, вы уменьшаете их одинаково (k), просто копируя меньшие части вектора/матрицы, а затем снова умножаете их вместе. Уменьшая их, вы как бы нормализуете данные, а это и есть LSI.

вот несколько достаточно понятных ресурсов:

http://puffinwarellc.com/index.php/news-and-articles/articles/30-singular-value-decomposition-tutorial.html

http://lsa.colorado.edu/papers/JASIS.lsi.90.pdf http://www.soe.ucsc.edu/classes/cmps290c/Spring07/proj/Flynn_talk.pdf

Надеюсь, это вам немного поможет.

Эрик

1
ответ дан 6 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: