如何爲 標籤集描述的項目實現「類似項目」系統?如何高效地實現文檔相似性搜索系統?
在我的數據庫中,我有三個表,Article,ArticleTag和Tag。每個 文章通過多對多的關係與多個標籤相關。對於每篇文章,我想找到五個最相似的 文章來實施「如果你喜歡這篇文章,你也會喜歡這些 太」系統。
我熟悉Cosine similarity 並且使用該算法效果很好。但這是一種緩慢的方式。對於 每篇文章,我需要對所有文章進行迭代,計算文章對的餘弦相似度 ,然後選擇具有最高相似性評分的五篇 文章。
隨着200k條和30k標籤,它需要我半分鐘到 計算單篇文章的類似文章。所以我需要 另一種算法,其產生的結果大致與cosine 相似,但可以實時運行,並且不需要 me每次遍歷整個文檔語料庫。
也許有人可以爲此提出一個現成的解決方案?我查看的搜索引擎大部分都是 ,它們不會啓用文檔相似性 搜索。
Bjorn,請看看[simbase](https://github.com/guokr/simbase/tree/develop),它仍在開發中,但目的只是你的問題。它已經完成,最後一項工作是持久層和性能調整。如果你有時間,你可以試試。謝謝。 – Mountain 2013-12-29 22:23:21