当您通过Wikipedia article观看特定RSS channel的新闻时, 它没有过滤信息而烦人,因为大多数编辑都是垃圾邮件, 故意破坏,小编辑等。
我的方法是创建过滤器。我决定删除所有不包含贡献者昵称但仅由贡献者的IP地址识别的编辑,因为大多数此类编辑都是垃圾邮件(尽管有一些很好的贡献)。这对于正则表达式来说很容易。 我还删除了包含vulgarisms和其他典型垃圾邮件关键字的修改。
您是否知道使用算法或启发式方法,正则表达式,AI,文本处理技术等更好的方法?该方法应该能够检测不良帖子(轻微编辑或故意破坏),并且应该能够逐步了解什么是好/坏贡献并更新其数据库。
谢谢
答案 0 :(得分:1)
您可以在此处采用许多不同的方法,但传统上使用Naive bayesian classifiers实现了增量学习的垃圾邮件过滤器。就个人而言,我更喜欢更容易实现Winnow2算法(详情可在此paper中找到)。
首先,您需要从要分类的文本中提取要素。不幸的是,维基百科RSS提要似乎并不特别适合机器,因此您可能需要进行一些预处理。或者,您可以直接使用Mediawiki API或查看this page底部链接的其中一个机器人框架是否对您有所帮助。
理想情况下,您最终会得到一个已添加的单词列表,已删除的单词,可以从中计算的各种统计数据以及编辑的元数据。我想功能列表看起来像这样:
editComment: wordA
(wordA出现在编辑评论中)-wordB
(wordB已从文章中删除)+wordC
(wordC添加到文章中)numWordsAdded: 17
numWordsRemoved: 22
editIsMinor: Yes
editByAnIP: No
editorUsername: Foo
您认为可能有助于区分好编辑和坏编辑。
提取完功能后,使用它们训练Winnow / Bayesian分类器非常简单。