文件相似性非常快

Pey*_*ton 5 performance search trigonometry similarity

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

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

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

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

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

我有几个问题:

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

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

  3. 有没有什么方法可以更节俭地用于所有这些向量的内存量?

谢谢!

JSB*_*ոգչ 4

使用贝叶斯过滤。提供的链接涉及垃圾邮件过滤,但您可以轻松地使算法适应多个类别/标签。

关于贝叶斯过滤也有很多很好的问题