【问题标题】:Better approach to filtering Wikipedia edits [closed]过滤维基百科编辑的更好方法[关闭]
【发布时间】:2012-02-14 12:19:27
【问题描述】:
当您通过其RSS channel 观看特定Wikipedia article 的新闻时,
不过滤信息很烦人,因为大多数编辑都是垃圾邮件,
故意破坏、小修改等。
我的方法是创建过滤器。我决定删除所有不包含贡献者昵称但仅由贡献者 IP 地址标识的编辑,因为大多数此类编辑都是垃圾邮件(尽管有一些好的贡献)。使用正则表达式很容易做到这一点。
我还删除了包含粗俗和其他典型垃圾邮件关键字的编辑。
您知道利用算法或启发式算法与正则表达式、人工智能、文本处理技术等更好的方法吗?该方法应该能够检测不良帖子(微小的编辑或破坏行为),并且应该能够逐步了解什么是好的/坏的贡献并更新其数据库。
谢谢
【问题讨论】:
标签:
artificial-intelligence
wikipedia
text-processing
spam-prevention
text-analysis
【解决方案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 分类器相当简单。