在Sphinx中计算文档相似度矩阵?

时间:2014-10-10 21:26:33

标签: ruby lucene similarity tf-idf cosine-similarity

Sphinx是否提供预先计算文档相似性矩阵的方法?我看过Sphinx / Solr / Lucene;似乎Lucene能够使用术语向量Computing Document Similarity with Term Vectors间接地做到这一点。

目前我正在使用tf-idf-similarity gem进行这些计算,但随着数据集的增长,它的速度非常慢;类似On ^(n-1!)。

目前正在尝试寻找更快的替代方案。 Lucene似乎是一个潜在的解决方案,但它在Ruby社区中没有那么多的支持,所以如果Sphinx有一个很好的方法来做到这一点是理想的。

只是为了澄清;我不是要尝试进行实时搜索相似性匹配,这似乎是Lucene和Sphinx最常见的用例,我试图预先计算一个相似性矩阵,它将在所有文档与数据集之间创建相似性。随后,这将用于不同类型的用户分析的数据可视化。

任何有过这方面经验的人我都对基准测试感到好奇。它是如何看待处理时间以及您使用多少计算能力和/或并行化而参考文档数量和平均文档大小。

目前我需要大约40分钟来处理大约4000个文档,大约需要2个小时来处理6400条记录。提供2种不同的大小和时间来表示增长扩展,以便您可以看到这对于大量数据集来说会有多慢。

0 个答案:

没有答案