Сомнения относительно LSA

Мне нужно найти сходство между справочным документом и набором документов в репозитории.

Method : 

1. I find the term document matrix for all the documents including the reference document 
2. The svd is calculated for this matrix 
3. I take the v array(The third result)
4. I transpose this matrix so that the each row represents a document . 
5. The first row represents the reference document . 
6. I find the cosine similarity beween this row and the rest of the rows 

Мои сомнения:

  1. Поскольку у меня около 7 документов в моей базе данных, я получаю только 8 * 8 varray (матрица документов). ТАК, получу ли я правильный результат, если найду сходство косинуса только с этими 8 значениями?

  2. Применяется ли такой метод вообще?

Я использую Java для кодирования этого. Я использую пакет jama, чтобы найти файл svd.


person CTsiddharth    schedule 27.01.2012    source источник
comment
8 документов - ОЧЕНЬ маленький набор данных   -  person dave    schedule 27.01.2012
comment
хорошо .. но для нахождения подобия косинуса я должен использовать матрицу u или матрицу v в результате матрицы svd (usv)?   -  person CTsiddharth    schedule 27.01.2012


Ответы (1)


  • Я пробовал использовать Matlab с помощью инструментария TMG. Работает нормально.
  • Для получения лучших результатов (или большей точности) используйте большие наборы данных.
  • В LSA svd является его частью (для уменьшения размера). Для расчета косинусного подобия вам потребуется последняя матрица, которую вы получите после этого расчета: A = U * S * V ^ t.

Вы можете прочитать пример LSA

person Debaditya    schedule 27.01.2012