【问题标题】:Doubts regarding LSA对 LSA 的怀疑
【发布时间】:2012-01-27 02:53:05
【问题描述】:

我必须找到参考文档和存储库中的文档集之间的相似性。

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. 由于我的 db 中有大约 7 个文档,因此我只得到 8*8 varray(document matrix) 。那么,如果我仅找到这 8 个值的余弦相似度,我会得到正确的结果吗?

  2. 这种方法普遍采用吗?

我使用 java 来编写代码。我使用 jama 包来查找 svd 。

【问题讨论】:

  • 8 个文档是一个非常小的数据集
  • 好的.. 但是为了找到余弦相似度,我必须在 svd (usv) 矩阵结果中使用 u 矩阵还是 v 矩阵?

标签: text similarity text-mining lsa


【解决方案1】:
  • 我已经使用 TMG 工具箱尝试了 Matlab。效果很好。
  • 要获得更好的结果(或更高的准确性),请使用更大的数据集。
  • 在 LSA 中,svd 是其中的一部分(用于降维)。为了 计算你的余弦 相似性,您将需要在此计算后获得的最后一个矩阵 A = U * S * V^t 。

您可以阅读 LSA 的示例Here

【讨论】:

  • 谢谢!但是是否可以使用 LSA 来查找两个文档之间的相似性(不涉及查询)?在那种情况下,我们应该考虑 svd 中的第一个矩阵还是最后一个矩阵来计算余弦相似度。请帮忙!
  • 在 SVD 中,我们将一个矩阵划分为 3 个矩阵。同样,我们需要将这 3 个矩阵相乘,然后我们得到另一个矩阵,它大约是。类似于 A。 像 A = U * S * V^t 。然后我们应用余弦相似度。这不像考虑第一个或最后一个矩阵。按照我提到的例子。点击此链接了解余弦相似度:[链接] (appliedsoftwaredesign.com/cosineSimilarityCalculator.php) 如果您还有疑问,请告诉我。
  • 请看我的问题link 并告诉我哪里出错了