2015-10-18 27 views
0

我试图检测类似的文本片断,以阻止垃圾邮件发布者发布与小改动相同的垃圾邮件。用哈希检测重复的文本片段

为此,我想使用散列而不是将所有句子保存在数据存储中。节省空间并快速查找。

我哈希整个文本,没有标点或怪异的字符,和比较哈希来查找重复的垃圾邮件。

但是,只要垃圾邮件发送者添加一个随机值,系统就会失败。

有没有人有办法改进这个系统?我尝试了感知哈希,但这似乎只对大块文本有效。

回答

0

那么,哈希基本上是,你不会使用哈希算法检测'相似'的文本片段,因为它们被设计为完全改变两个不同的测试用例,即使差异是逗号。雪崩效果:https://en.wikipedia.org/wiki/Avalanche_effect

不错的想法删除标点符号/怪异的字符虽然。如果您可以找出垃圾邮件发送者在哪里添加该值(例如,第1行),则可以删除文本并从开始到结尾2散列(只是一个想法)。 你也可以散列文本的关键字(标题,产品...)