0

RSSチャネルを介して特定のウィキペディアの記事のニュースを監視している場合、編集のほとんどがスパム、破壊行為、マイナーな編集などであるため、情報をフィルタリングせずに迷惑になります。

私のアプローチは、フィルターを作成することです。寄稿者のニックネームを含まないが、寄稿者のIPアドレスによってのみ識別されるすべての編集を削除することにしました。これは、そのような編集のほとんどがスパムであるためです(ただし、いくつかの良い寄稿があります)。これは正規表現で簡単に行えました。また、下品な表現やその他の一般的なスパムキーワードを含む編集も削除しました。

正規表現、AI、テキスト処理技術などを使用したアルゴリズムまたはヒューリスティックを利用するより良いアプローチを知っていますか?このアプローチは、悪い投稿(マイナーな編集または破壊行為)を検出でき、良い/悪い貢献が何であるかを段階的に学習し、そのデータベースを更新できる必要があります。

ありがとうございました

4

1 に答える 1

1

ここではさまざまなアプローチをとることができますが、従来、増分学習を使用したスパムフィルターは、単純ベイズ分類器を使用して実装されてきました。個人的には、Winnow2アルゴリズムを実装するのがさらに簡単な方が好きです(詳細はこのペーパーに記載されています)。

まず、分類するテキストから特徴を抽出する必要があります。残念ながら、ウィキペディアのRSSフィードは特に機械可読ではないようです。そのため、おそらく前処理を行う必要があります。または、 Mediawiki APIを直接使用するか、このページの下部にリンクされているボットフレームワークの1つが役立つかどうかを確認することもできます。

理想的には、追加された単語のリスト、削除された単語、そこから計算できるさまざまな統計、および編集のメタデータが表示されます。機能のリストは次のようになると思います。

  • 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 に答える