ORES
ORES (/ɔɹz/)[1]というウェブサービスとAPIは、機械学習チーム (Machine Learning team) がウィキメディアのプロジェクト群の管理用に機械学習サービスの一環として提供します。 このシステムは重要なウィキ作業の自動化の補助を目指して設計され – 対象は不正行為の発見や除去などです。現状ではORESが生成する評価点は大まかに2種類あり、それぞれ「編集の質」と「記事の質」を示します。
ORESは裏方のサービスであり、評価点を直接利用する方法は提供しません。 この評価点を利用するには、ORES評価点を用いるツールの一覧を確認してください。 また、ご利用のウィキがORESに対応していない場合は対応のご要望に関する指示をご覧ください。
ORES についてのご質問への回答をお探しですか? ORES よくある質問を確認してください。
編集の質
ウィキメディアがオープンなプロジェクトである以上、もっとも深刻な問題は有害かもしれない投稿(「編集」)の査読です。 善良な投稿者(害を及ぼしたのは偶然)を特定してサポートを提供する必要もあります。 これらのモデルには「特別:最近の更新」のフィードの絞り込み作業を楽にする目的があります。 編集の質の予測モデルで提供するサポートには、「基本」と「高度」の2つのレベルが用意されています。
基本的なサポート
前提として、有害度が高い編集は差し戻しの対象であり、害がそれほど深刻でない編集はreverted
対象ではないとすると、ウィキにおける編集履歴(および巻き戻しされた編集)の記録を利用できます。
このモデルはセットアップは簡単でありながら、編集の巻き戻しの原因の多くが有害性や荒らし以外の要素である点に振り回されがちです。その点を補うため、有害な言葉に基づく見本を作成しています。
reverted
– 特定の編集が差し戻されるかどうか予測。
高度なサポート
善悪を推定するよりも、編集者にORESを訓練してもらい、実際の編集内容に即して有害か(damaging
)それとも善意によって保存されたか(goodfaith
)示してもらうことにします。
これはコミュニティのボランティアの皆さんに追加作業をお願いすることにより、編集の質に関して、より正確で微妙な予測が可能になります。
ツールの多くは、対象となるウィキにおいて高度なサポートが利用できる場合にしか機能しないのです。
damaging
– 編集が有害かどうかgoodfaith
– 善意で保存されたかどうか
記事の質
ウィキペディアの記事の質はウィキペディア執筆者の中核的な関心事です。 新しいページは査読をして管理し、スパムや荒らし、攻撃的な記事がウィキに載らないようにする必要があります。 最初のキュレーションに合格した記事は、その後、定期的に一部のウィキペディアンによる質の評価を受け続けることになるものの、作業そのものに労力がかかるし、その後の編集によって評価はすぐに現状に合わなくなってしまいます。
新しい記事の評価
問題のある草稿の削除は早いほどよいのです。 ページとして公開されると、調整(キュレーション)に多くの作業を伴います。 荒らしに対抗する編集者同様、キュレーターもコンピュータによる予測に助けられ、新しいページのうち最も問題の多いものに集中できます。 ページを削除した管理者が残したコメントに基づいて(logging テーブル参照)、どのページを即時削除すべきかを予測するモデルを訓練できます。 英語版ウィキペディアにおける即時削除の方針はen:WP:CSDを参照してください。 英語版のモデルではG3「荒らし」およびG10「攻撃」、G11「スパム」を採用しました。(訳注:日本語版の方針とやや異なります。)
draftquality
– 即時削除の対象かどうか(スパム、荒らしや攻撃か、問題がないか)
既存の記事の評価
初回の査読を通過した記事は、規模の大きなウィキペディアの一部で内容の評価を定期的に実施しており、大まかに英語版ウィキペディア 1.0評価指標(articlequality
)と対応する指標を用いています。
評価の実施は進捗状況の目安となるほか、逃した機会(人気はあるが質の低い記事)を判別する役に立つことから重視されます。
ところが評価を常に現状に即した状態に保つのは難しく、どうしてもムラが出てしまいます。
articlequality
の機械学習モデルは、ここでこそ有効です。
モデルを訓練して人間の手作業による記事の品質評価を複製させることにより、コンピュータによるすべての記事やその改訂版の自動評価が実現します。
このモデルには、すでにウィキプロジェクト群の再評価作業を支援した実績があり、記事の品質改善を導く編集のダイナミズムの特定に使用されています。
articlequality
モデルの予測は記事の構造的な特徴に基づいています。
たとえば節の数はいくつか? 出典の件数は? 情報ボックス(infobox)の有無は? また脚注に対応する出典テンプレートw:cite xxxを利用するかどうか?
articlequality
モデルで判別できないのは、文章の質あるいは語調の問題の有無です(意見の押し付け等)。
しかしながら記事の構造的な特徴に注目すると、良質な文章や語調と強い相関関係がみられるものが多く、このモデルは実地にたいへん有効です。
articlequality
– 特定の記事もしくは草稿の(ウィキペディア1.0に類似した)評価クラスを予測
Topic routing
ORES' article topic model applies an intuitive top-down taxonomy to any article in Wikipedia -- even new article drafts. This topic routing is useful for curating new articles, building work lists, forming new WikiProjects, and analyzing coverage gaps.
ORES topic models are trained using word embeddings of the actual content. For each language, a language-specific embedding is learned and applied natively. Since this modeling strategy depends on the topic of the article, topic predictions may differ between languages depending on the topics present in the text of the article.
新しい記事の評価
The biggest difficulty with reviewing new articles is finding someone familiar with the subject matter to judge notability, relevance, and accuracy.
Our drafttopic
model is designed to route newly created articles based on their apparent topical nature to interested reviewers.
The model is trained and tested against the first revision of articles and is thus suitable to use on new article drafts.
drafttopic
– predicts the topic of an a new article draft
Topic interest mapping
The topical relatedness of articles is an important concept for the organization of work in Wikipedia.
Topical working groups have become a common strategy for managing content production and patrolling in Wikipedia.
Yet a high-level hierarchy is not available or query-able for many reasons.
The result is that anyone looking to organize around a topic or make a work-list has to do substantial manual work to identify the relevant articles.
With our articletopic
model, these queries can be done automatically.
articletopic
– predicts the topic of an article (詳細 )
サポートの一覧表
下記の一覧表にウィキごとにモデルの有無ならびにORES サポートの進捗状況をまとめてあります。 もしご利用のウィキが未掲載の場合、あるいはモデルのサポートが見当たらない場合はサポートを申請してください。
API の使用
ORESにはページの更新に対して動的に評価情報を収集するAPIサービスRESTがあります。APIの使用法の詳細はhttps://ores.wikimedia.orgで説明します。
多数の更新がある記事に対してこのサービスでクエリを実行しようとする場合には、更新50件ごとに区切って処理することを推奨します。その方法は以下に解説してあり、また、並行処理は4件以下であれば受け付けます。これらの制限を超えないでください。超えない場合、ORESが不安定になる可能性があります。さらに大量のクエリを実行するには、ORESをローカルで走らせてください。
クエリの例: http://ores.wikimedia.org/v3/scores/enwiki/?models=draftquality|wp10&revids=34854345|485104318
{
"enwiki": {
"models": {
"draftquality": {
"version": "0.0.1"
},
"wp10": {
"version": "0.5.0"
}
},
"scores": {
"34854345": {
"draftquality": {
"score": {
"prediction": "OK",
"probability": {
"OK": 0.7013632376824356,
"attack": 0.0033607229172158775,
"spam": 0.2176404529599271,
"vandalism": 0.07763558644042126
}
}
},
"wp10": {
"score": {
"prediction": "FA",
"probability": {
"B": 0.22222314275400137,
"C": 0.028102719464462304,
"FA": 0.7214649122864883,
"GA": 0.008833476344463836,
"Start": 0.017699431000825352,
"Stub": 0.0016763181497590444
}
}
}
},
"485104318": {
"draftquality": {
"score": {
"prediction": "OK",
"probability": {
"OK": 0.9870402772858909,
"attack": 0.0006854267347843173,
"spam": 0.010405615745053554,
"vandalism": 0.0018686802342713132
}
}
},
"wp10": {
"score": {
"prediction": "Stub",
"probability": {
"B": 0.02035853144725939,
"C": 0.021257471714087376,
"FA": 0.0018133076388221472,
"GA": 0.003447287158958823,
"Start": 0.1470443252839051,
"Stub": 0.8060790767569672
}
}
}
}
}
}
}
|
---|
結果 |
クエリの例: https://ores.wikimedia.org/v3/scores/wikidatawiki/421063984/damaging
{
"wikidatawiki": {
"models": {
"damaging": {
"version": "0.3.0"
}
},
"scores": {
"421063984": {
"damaging": {
"score": {
"prediction": false,
"probability": {
"false": 0.9947809563336424,
"true": 0.005219043666357669
}
}
}
}
}
}
}
|
---|
結果 |
EventStream usage
The ORES scores are also provided as an EventStream at https://stream.wikimedia.org/v2/stream/revision-score
ローカルの使い方
ORES Python パッケージをローカルで使用するにはまずインストールします。
pip install ores # needs to be python3, incompatible with python2
その後、次の手順で走るはずです。
echo -e '{"rev_id": 456789}\n{"rev_id": 3242342}' | ores score_revisions https://ores.wikimedia.org (your user-agent string goes here) enwiki damaging
以下に対する出力結果を表示
017-11-22 16:23:53,000 INFO:ores.utilities.score_revisions -- Reading input from <stdin>
2017-11-22 16:23:53,000 INFO:ores.utilities.score_revisions -- Writing output to from <stdout>
{"score": {"damaging": {"score": {"prediction": false, "probability": {"false": 0.9889349126544834, "true": 0.011065087345516589}}}}, "rev_id": 456789}
{"score": {"damaging": {"score": {"prediction": false, "probability": {"false": 0.9830812038318183, "true": 0.016918796168181708}}}}, "rev_id": 3242342}
|
---|
結果 |
脚注
- ↑ 本来の長い名称Objective Revision Evaluation Service の代わりに略語を使うことになりました。