0

当你通过其RSS channel, 其烦不进行过滤的信息看为特定Wikipedia article消息,因为大多数的编辑是垃圾邮件, 破坏,小编辑等不如过滤维基百科的方式编辑

我方法是创建过滤器。我决定删除所有不包含贡献者昵称但仅由贡献者的IP地址标识的编辑,因为大部分此类编辑都是垃圾邮件(虽然有一些很好的贡献)。这与正则表达式很容易做到。 我还删除了包含vulgarisms和其他典型垃圾邮件关键字的编辑。

你知道一些更好的方法,利用正则表达式,人工智能,文本处理技术等算法或启发式?这种方法应该能够检测到坏帖子(小编辑或破坏行为),并应该能够逐步了解什么是好/坏贡献并更新其数据库。

谢谢

回答

1

有使用Naive bayesian classifiers已实施可以采取这里许多不同的方法,但增量学习传统的垃圾邮件过滤器。就个人而言,我更喜欢更容易实现Winnow2算法(详细信息可以在paper中找到)。

首先,您需要从要分类的文本中提取特征。不幸的是,维基百科的RSS提要似乎不是特别机器可读的,所以你可能需要做一些预处理。或者,您可以直接使用Mediawiki API或查看在this page底部链接的其中一个bot框架是否对您有所帮助。

理想情况下,您最终会得到一个已添加的单词列表,已删除的单词,您可以从中计算出的各种统计信息以及编辑的元数据。我想象的功能列表会是这个样子:

  • editComment: wordA(wordA出现在编辑评论)
  • -wordB(wordB从文章删除)
  • +wordC(wordC添加到文章)
  • numWordsAdded: 17
  • numWordsRemoved: 22
  • editIsMinor: Yes
  • editByAnIP: No
  • editorUsername: Foo

任何你认为可能是坏的编辑区分好的帮助。

一旦你提取了你的特征,使用它们来训练Winnow /贝叶斯分类器就相当简单。

+0

谢谢你的超级回答。 – xralf 2012-02-16 13:56:27