Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Artificial intelligence 防止垃圾邮件的最新进展_Artificial Intelligence_Spam_Article_Spam Prevention - Fatal编程技术网

Artificial intelligence 防止垃圾邮件的最新进展

Artificial intelligence 防止垃圾邮件的最新进展,artificial-intelligence,spam,article,spam-prevention,Artificial Intelligence,Spam,Article,Spam Prevention,垃圾邮件预防技术的现状是什么 我已经读过Paul Graham关于贝叶斯过滤的文章。(及) 想知道是否还有更多最新的文章? (最好是与人工智能相关的)我(完全出于懒惰)开始使用的bayes实现已经有一段时间了,它的性能相当差 几个月前,我在我的武器库中增加了协同过滤系统,由SpamAssassin控制,提高了垃圾邮件分数。我半定期地向这两个系统发送垃圾邮件。它仍然不完美,但我的手机现在不那么频繁了 “最新技术”似乎是有效技术的结合。我发现了以下文章: 可能对其他人有用。如果您试图

垃圾邮件预防技术的现状是什么

我已经读过Paul Graham关于贝叶斯过滤的文章。(及)

想知道是否还有更多最新的文章? (最好是与人工智能相关的)

我(完全出于懒惰)开始使用的bayes实现已经有一段时间了,它的性能相当差

几个月前,我在我的武器库中增加了协同过滤系统,由SpamAssassin控制,提高了垃圾邮件分数。我半定期地向这两个系统发送垃圾邮件。它仍然不完美,但我的手机现在不那么频繁了


“最新技术”似乎是有效技术的结合。

我发现了以下文章:


可能对其他人有用。

如果您试图阻止垃圾邮件单词、句子,如“fasdhusdhfi”,而不是其他任何东西,您可以随时拥有一个单词及其同义词数据库。然后,您可以检查输入在数据库中的已知单词是否少于50%,您可以发出一个标志。你可以建立一个离线数据库,我不推荐,或者你可以使用一些在线数据库。对于一个单词列表,我建议

对于这些单词的同义词列表,我建议

我认为这两个可能是最好的,因为它们都有一个API(用于synonyms.net its on page),您可以使用,因此不需要解析返回的页面中的单词

然后,您可以将其与其他方法相结合,如前面所述,如贝叶斯过滤

虽然这并不真正适合您的AI需求,但它确实阻止了一系列消息

为了满足您的“AI”要求,您可能能够适应。它的格式是,但包含大量排列的4符号垃圾邮件。问题是速度太慢

替代Spam.aiml的一种可能方法是使用英语的规则来检测并过滤垃圾邮件。可以使用以下规则:

每个单词必须至少有一个元音。因此,字母“Y”被视为元音。

没有一个单词的辅音超过3个。为此,“TH”被视为一个字母(这样就不会弄乱“streNGTH”之类的单词)。

任何单词的长度都不超过34个字母。例外情况是列出的词语。

某些字母组合不能出现。例如,在常规的非俚语会话中,字母“R”和“C”从不直接出现在彼此旁边。

你可以有一个不可能的组合数据库。我通过在一个包含6578个单词的数据库中运行每个2个字母的排列,得出了一个小结果:

df bf kf gf jk kj sj fj gj hj lj sl
这些都是不可能的组合。当然,省略了诸如“zz”之类的组合。这些是:

aa bb cc dd ee ff gg hh ii jj kk ll mm nn pp qq rr ss tt uu vv ww xx yy zz
“oo”被省略,因为它出现在许多单词中,例如“look”

长度超过2个字符且连续重复的字符串段将被标记为垃圾邮件。在字符串'LOLOLOLOL'中,重复段为'lo',标记为垃圾邮件。

同一单词中超过3个相同元音将被标记为垃圾邮件。例如:“oouuuu”将被标记为垃圾邮件,因为“o”和“u”是重复超过3次的元音。

大于1个字符的单词不能仅由元音组成。在这种情况下,“Y”不会被视为元音,以防止“you”出现假阳性。

任何不符合这些规定15%或以上的输入(拼写错误的余量)将被重定向到垃圾邮件。

如果你决定修改ALICE的文件,你可以得到很多。更新的版本可在上找到

您还可以使用拼写检查器来帮助检测垃圾邮件。您可以对拼写检查器(如Python)运行输入,并阅读建议。如果输入没有建议,那么在大多数情况下,可以安全地假设它是垃圾邮件

它不是完美的,但在一定程度上应该是完美的。我制作了一个小程序来演示这样的垃圾邮件过滤会产生什么结果。这是输出:

>>> fdsahjfsd
'fdsahjfsd' is spam since more than 3 consonants appear in a row
>>> fhsdjhfksd
'fhsdjhfksd' is spam since it has no vowel
>>> jfsdkjl
'jfsdkjl' is spam since it has no vowel
>>> dk
'dk' is spam since it has no vowel
>>> ddds
'ddds' is spam since it has no vowel
>>> uxxs
'uxxs' is not spam
>>> kd
'kd' is spam since it has no vowel
>>> ukd
'ukd' is not spam
>>> asdjaskljlaskjldkasjkljdklas
'asdjaskljlaskjldkasjkljdklas' is spam since it is too long
>>> hdjaskj
'hdjaskj' is spam since invalid sequences detected
正如我之前所说,它并不完美,因为它返回误报(例如“uxx”),但这可以通过拼写检查实现来修复

拼写检查实现的反推是,您的垃圾邮件检测将基于字典中的单词数量。大多数拼写检查器只有前10000个单词,因此一些不常见的单词可能会被屏蔽为垃圾邮件。然而,检查是否超过15%的输入无效可以解决这个问题

如果你认为它可以帮助你,你可以得到我用它制作的小程序。它是用Python编写的

此外,正如其他答案所说,“最先进的”垃圾邮件过滤器需要多种方法的混合

您可以使用、和,但最好的做法可能是尝试将所有这些组合在一起

如果您想使用Lisp实现这一点,可以找到一篇关于Lisp中贝叶斯过滤的文章


若你们想通过神经网络来实现这一点,那个么这篇文章可能会很有用。它利用了一个简单易用的dll,示例代码几乎可以直接用于垃圾邮件过滤任务。

最新技术与其说是任何父系算法,不如说是输入数据的质量和数量。要达到最新水平,您需要数十万活跃用户,每天数百万条消息。换句话说,无论是Gmail、Yahoo还是Hotmail,都可以获得类似的海量实时数据

保存你的