文件相似性非常快

时间:2010-05-13 18:23:31

标签: performance search similarity cosine

我正在尝试尽快确定单个文档与大量文档(n~ = 100万)之间的文档相似性。更具体地说,我正在比较的文件是电子邮件;它们被分组(即有文件夹或标签),我想确定哪个组最适合新的电子邮件。快速的性能至关重要。

我的先验假设是术语向量之间的余弦相似性适合于这种应用;请评论这是否是一个好用的措施!

我已经考虑了以下加速表现的可能性:

  1. 预先标准化所有术语向量

  2. 计算每组的术语向量(n~ = 10,000)而不是每封电子邮件(n~ = 1,000,000);这可能是我的申请可以接受的,但是如果你能想到不这样做的理由,请告诉我!

  3. 我有几个问题:

    1. 如果新电子邮件中有一个以前从未见过的新电子邮件,这是否意味着我需要重新计算所有我的术语向量?这似乎很贵。

    2. 是否有一些聪明的方法只考虑可能接近查询文档的向量?

    3. 对于我用于所有这些载体的内存量,有什么方法可以更节俭吗?

    4. 谢谢!

1 个答案:

答案 0 :(得分:4)

使用Bayesian filtering。提供的链接指的是垃圾邮件过滤,但您可以非常轻松地将算法调整为多个类别/标记。

也有很多好SO question about Bayesian filtering