任何潜在的语义索引?

时间:2009-11-17 04:21:54

标签: java latent-semantic-indexing

Java中是否有LSI的开源实现?我想将该库用于我的项目。我见过jLSI,但它实现了其他一些LSI模型。我想要一个标准模型。

6 个答案:

答案 0 :(得分:5)

您是否考虑过LDA(Latent Dirichlet分配)?我也没有,但我最近遇到了与LSI相同的问题(专利)。根据我的理解,LDA是一种相关/更强大的技术。 http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation显然与开源实现有一些联系。

答案 1 :(得分:1)

google搜索java LSI导致a similar question推荐SemanticVectors。在Lucene之上构建的包与LSI“相似”。我不知道它是否比jLSI实施更接近。

该线程还提到LSI已获得专利,并且没有很多实现。因此,如果您需要标准实现,则可能必须使用java以外的语言。

答案 2 :(得分:1)

S-Space Package具有LSA的开源版本,具有LSI文档向量的绑定。 (两种方法都在相同的术语 - 文档矩阵上运行,除输出外都是等效的。)这是一种使用thin-SVD的相当可扩展的方法。我已经用它在所有维基百科上运行LSI而没有任何问题(在删除不常发生的少于5次的条款之后)。

正如Scott Ray所提到的,SemanticVectors包也有一个很好的LSI实现,最近切换到使用相同的瘦SVD(SVDLIBJ),所以你可能会检查出来,就好像你之前没有。

答案 3 :(得分:1)

谷歌搜索NLP工具提供了这个slides我认为有帮助......

答案 4 :(得分:0)

我相信LSA / LSI在1989年获得专利,这意味着该专利应该刚刚过期。希望我们很快就会看到一些不错的开源应用程序。

答案 5 :(得分:0)

您是否尝试过语义向量包?

http://code.google.com/p/semanticvectors/