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