0

当您通过其RSS 频道查看特定Wikipedia 文章的新闻时,如果不过滤信息,这很烦人,因为大多数编辑都是垃圾邮件、故意破坏、次要编辑等。

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

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

谢谢你

4

1 回答 1

1

您可以在此处采用许多不同的方法,但传统上具有增量学习的垃圾邮件过滤器已使用朴素贝叶斯分类器实现。就个人而言,我更喜欢更容易实现的 Winnow2 算法(详细信息可以在本文中找到)。

首先,您需要从要分类的文本中提取特征。不幸的是,维基百科的 RSS 提要似乎不是机器可读的,因此您可能需要进行一些预处理。或者,您可以直接使用Mediawiki API或查看此页面底部链接的机器人框架之一是否对您有帮助。

理想情况下,您最终会得到一个添加的单词列表、删除的单词列表、可以从中计算的各种统计数据以及编辑的元数据。我想功能列表看起来像这样:

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

您认为可能有助于区分好与坏编辑的任何内容。

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

于 2012-02-15T11:02:26.587 回答