用于电子邮件的GMail diff算法

时间:2010-11-04 17:38:45

标签: algorithm email diff

当您发送电子邮件时,通常邮件客户端会“引用”所有旧电子邮件。 但是因为这是在客户端完成的,所以当然没有标准:

  • 一些插入>在行的开头作为报价的指标
  • 有些人在引用的文字上写了一些新文字,有些是UNDER
  • 例如,
  • webOS没有任何“引用”旧文本的方法。它只是按原样插入。

GMail在过滤已发送电子邮件的旧部分方面做得非常出色,并为用户提供“显示引用文字”选项。

是否有类似的算法来检测那些相似的部分?

1 个答案:

答案 0 :(得分:2)

我不知道使用了什么算法,但由于这是电子邮件而不是代码,因此diff会更容易。基本上,如果您将每一行视为字符串中的字符(使用一些哈希表示),则电子邮件可以表示为字符串(每行一个字符串)。

然后,您可以使用最小编辑距离算法来计算添加的内容以及从一封电子邮件到另一封邮件的删除内容。所有常见的东西都会成为你引用的文字,所有添加的东西都是你的新邮件。

以下是字符串edit distance algo的链接: