Сервис оценки правок

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page ORES and the translation is 34% complete.
Other languages:
English • ‎Esperanto • ‎Nederlands • ‎español • ‎français • ‎galego • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어

ORES - это сервис оценки правок. Полное название сервиса Objective Revision Evaluation Service, в данный момент оно не используется. Он использует машинное обучение и отменяет потенциально вредные правки, например, замечает вандализм и удаление текста. В данный момент ORES может подсчитать "Качество правки" (показывает, насколько полезна правка) и "Качество статьи" (показывает полезность статьи).

Сам по себе ORES не предоставляет способа посмотреть оценку правки. Чтобы смотреть оценки ORES, можно воспользоваться гаджетами. Если ORES не поддерживается в Вашем разделе, запросите помощь.

Если Вам нужна помощь по ORES, зайдите на ORES FAQ.

Качество правки

Поток правок Диаграмма показывает правки неизвестного качества до введения ORES, "хорошие", "требующие проверки" и "вредные правки" после введения ORES.

Одной из самых серьезных проблем, связанных с открытыми проектами Викимедиа, является обзор потенциально разрушительных вкладов («правок»). Также необходимо определить добросовестных участников (которые могут непреднамеренно нанести ущерб) и предложить им поддержку. Эти модели предназначены для упрощения фильтрации через канал :Special:RecentChanges. Мы предлагаем два уровня поддержки моделей прогнозирования качества :редактирования:базовый и расширенный.

Базовая поддержка

Предполагая, что наиболее разрушительные правки будут revert, а правки, которые не повреждают, не будут возвращены, мы можем построить, используя историю правок (и обращенных правок) из вики. Эта модель проста в настройке, но она страдает от проблемы, заключающейся в том, что многие изменения отменяются по причинам, отличным от ущерба и вандализма. Чтобы помочь этому, мы создаем модель, основанную на плохих словах.

  • reverted – predicts whether an edit will eventually be reverted

Усиленная поддержка

Rather than assuming, we can ask editors to train ORES which edits are in-fact damaging and which edits look like they were saved in goodfaith. This requires additional work on the part of volunteers in the community, but it affords a more accurate and nuanced prediction with regards to the quality of an edit. Many tools will only function when advanced support is available for a target wiki.

  • damaging – predicts whether or not an edit causes damage
  • goodfaith – predicts whether an edit was saved in good-faith


Качество статей

Таблица качества статей в английской Википедии. Скриншот таблицы по состоянию на декабрь 2014 года, таблица сгенерирована ботом.

Качество статей Википедии важно для её редакторов. Новые страницы должны быть проверены. Проверка отсекает статьи, в которых есть спам, вандализм и нападки. Для остальных статей проверяется их качество, но эти сведения часто бывают устаревшими.

Curation support

The faster that seriously problematic types of draft articles are removed, the better. Curating new page creations can be a lot of work. Like the problem of counter-vandalism in edits, machine predictions can help curators focus on the most problematic new pages first. Based on comments left by admins when they delete pages (see the logging table), we can train a model to predict which pages will need quick deletion. See en:WP:CSD for a list of quick deletion reasons for English Wikipedia. For the English model, we used G3 "vandalism", G10 "attack", and G11 "spam".

  • draftquality – predicts if the article will need to be speedy deleted (spam, vandalism, attack, or OK)

Assessment scale support

For articles that survive the initial curation, some of the large Wikipedias periodically evaluate the quality of articles using a scale that roughly corresponds to the English Wikipedia 1.0 assessment rating scale ("articlequality"). Having these assessments is very useful because it helps us gauge our progress and identify missed opportunities (e.g., popular articles that are low quality). However, keeping these assessments up to date is challenging, so coverage is inconsistent. This is where the articlequality machine learning model comes in handy. By training a model to replicate the article quality assessments that humans perform, we can automatically assess every article and every revision with a computer. This model has been used to help WikiProjects triage re-assessment work and to explore the editing dynamics that lead to article quality improvements.

The articlequality model bases its predictions on structural characteristics of the article. E.g. How many sections are there? Is there an infobox? How many references? And do the references use a {{cite}} template? The articlequality model doesn't evaluate the quality of the writing or whether or not there's a tone problem (e.g. a point of view being pushed). However, many of the structural characteristics of articles seem to correlate strongly with good writing and tone, so the models work very well in practice.

  • articlequality – predicts the (Wikipedia 1.0-like) assessment class of an article or draft

Support table

The ORES support table reports the status of ORES support by wiki and model available. If you don't see your wiki listed, or support for the model you'd like to use, you can request support.

API usage

ORES offers a Restful API service for dynamically retrieving scoring information about revisions. See https://ores.wikimedia.org for more information on how to use the API.

If you're querying the service about a large number of revisions, it's recommended to batch 50 revisions in each request as described below. It's acceptable to use up to 4 parallel requests. For even larger number of queries, you can run ORES locally

Example query: http://ores.wmflabs.org/v3/scores/enwiki/?models=draftquality|wp10&revids=34854345|485104318

Result 
{
  "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
            }
          }
        }
      }
    }
  }
}


Example query: https://ores.wikimedia.org/v3/scores/wikidatawiki/421063984/damaging

Result 
{
  "wikidatawiki": {
    "models": {
      "damaging": {
        "version": "0.3.0"
      }
    },
    "scores": {
      "421063984": {
        "damaging": {
          "score": {
            "prediction": false,
            "probability": {
              "false": 0.9947809563336424,
              "true": 0.005219043666357669
            }
          }
        }
      }
    }
  }
}


Local usage

To run ORES locally you can install ORES by:

pip install ores # needs to be python3, incompatible with python2

Then you should be able to run it through :

echo -e '{"rev_id": 456789}\n{"rev_id": 3242342}' | ores score_revisions https://ores.wikimedia.org enwiki damaging

You should see output of

Result 
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}


Footnotes