在潜在的语义索引中需要帮助
对不起,如果我的问题听起来很愚蠢:)
你可以向我推荐一些伪代码或者很好的算法来实现java中的LSI吗?
我不是数学专家。我试着读一些关于维基百科和其他网站的文章
LSI(潜在的语义索引)他们充满了数学。
我知道LSI充满了数学。但如果我看到一些源代码或算法。我更了解事情
容易。这就是我在这里问的原因,因为有很多GURU在这里!
提前致谢
没有找到相关结果
已邀请:
3 个回复
链眷克袒姜
代表文档
中单词
的频率。频率可以通过多种方式计算,IIRC,原始LSA使用tf-idf索引。 有了这样的矩阵,你可以通过比较相应的列找到两个文档的相似性。如何比较它们?同样,有几种方法。最受欢迎的是余弦距离。你必须记住从学校数学,矩阵可以被视为一堆向量,所以每列只是一个多维空间中的向量。这就是为什么这个模型被称为“矢量空间模型”。更多关于VSM和余弦距离的信息。 但我们对这种矩阵有一个问题:它很大。非常非常大。使用它的计算成本太高,所以我们必须以某种方式减少它。 LSA使用SVD技术来保持最“重要”的向量。减少矩阵后即可使用。 因此,LSA的算法看起来像这样: 收集所有文件和所有独特的单词。 提取频率信息并建立共生矩阵。 用SVD减少矩阵。 如果您要自己编写LSA库,那么首先要做的是Lucene搜索引擎,这将使第1步和第2步更容易,以及一些具有SVD功能的高维矩阵的实现,如Parallel Colt或UJMP。 还要注意从LSA长大的其他技术,如随机索引。 RI使用相同的想法并显示大致相同的结果,但不使用完整的矩阵阶段并且是完全递增的,这使得它在计算上更有效。
稳赣苍卯改
捻盒愧杯