2009-11-17 46 views
6

在Java中是否有任何開源的LSI實現?我想爲我的項目使用該庫。我已經看到jLSI,但它實現了一些其他LSI的模型。我想要一個標準模型。任何潛在的語義索引?

+0

感謝。 – Nettogrof

回答

5

你有沒有考慮LDA(潛伏狄利克雷分配)?我也沒有,但是我最近遇到了與LSI相同的問題(專利)。據我所知,LDA是一種相關/更強大的技術。 http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation顯然有一些鏈接到開源實現。

+0

雖然你特意要求LSI不是你。哦,值得一試...... –

1

谷歌搜索java LSI導致a similar question推薦SemanticVectors。在Lucene之上構建的與LSI「相似」的軟件包。我不知道它是否比jLSI實現更接近。

該線程還提到LSI獲得專利並且沒有太多的實現。所以如果你需要一個標準的實現,你可能不得不使用Java以外的語言。

0

我相信LSA/LSI在1989年獲得專利,這意味着專利應該已經過期。希望我們很快會看到一些不錯的開源應用程序。

1

S-Space Package具有LSA的開放源代碼版本,並具有對LSI文檔向量的綁定。 (這兩種方法都是在相同的術語 - 文檔矩陣上運行,除輸出外相同)。這是一種使用薄SVD的相當可擴展的方法。我用它在所有維基百科上運行LSI,沒有問題(在刪除少於5次的頻繁項目後)。正如Scott Ray所提到的,SemanticVectors軟件包也有一個很好的LSI實現,最近轉換到使用相同的薄SVD(SVDLIBJ),所以你可能會檢查出來,就好像你之前沒有。

1

谷歌搜索NLP工具加入約jLSI意見提供這種slides我認爲這有助於...