Extension:ORES/id

From Linux Web Expert

Ekstensi MediaWiki
ORES
Status rilis stabil
File:ORES extension screenshot.png
Deskripsi Ekstensi ini mengintegrasikan data dari proyek ORES ke dalam tampilan Perubahan Terbaru.
Perancang awal Kunal Mehta, Amir Sarabadani, Adam Roses Wight
MediaWiki
Tabel ores_classification
ores_model
Lisensi Tidak ada lisensi yang ditetapkan
Unduh
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Terjemahkan ekstensi ORES jika tersedia di translatewiki.net
Vagrant role ores
Masalah Tugas terbuka · Laporkan kekutu

Ekstensi ORES mengintegrasikan data dari layanan ORES ke dalam tampilan Perubahan Terbaru.

Untuk saat ini, layanan sisi belakang ORES hanya diatur untuk wiki Wikimedia, dan terdapat banyak yang perlu dikerjakan untuk memasangnya di instalasi MediaWiki pihak ketiga.

It is installed on several Wikimedia sites, but no longer deployed to new ones. For newer work on machine learning in Wikimedia, see Machine Learning/Modernization .

Cuplikan layar

File:ORES extension.highlighted change.png
Perubahan yang "perlu ditinjau" dan bisa jadi merusak ditandai di Special:RecentChanges.
File:ORES extension.legend.png
Penanda "perlu ditinjau" ditambahkan ke legenda Special:RecentChanges.

Pemasangan

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/ORES/id</tvar>|Download]] and move the extracted <tvar name=name>ORES/id</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ORES%2Fid
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'ORES/id' );
    
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

Anda perlu menjalankan skrip pemeliharaan CheckModelVersions.php begitu ekstensinya telah diedarkan (dan setelah itu Anda juga bisa menjalankan PopulateDatabase.php)

If you want to setup a local development environment for MediaWiki + ORES extension using the following ORES extension local development guide :

Variabel konfigurasi

Berikut adalah variabel-variabel konfigurasi dan nilai-nilai baku mereka dan sedikit keterangan tentang mereka.

// URL of the ORES service
$wgOresBaseUrl = 'https://ores.wikimedia.org/';
// Either to exclude edits made by bot to score
$wgOresExcludeBots = true;
// Models to score
$wgOresModels = [
	'damaging' => [ 'enabled' => true ],
	'goodfaith' => [ 'enabled' => true ],
	'reverted' => [ 'enabled' => false ],
	'articlequality' => [
		'enabled' => false,
		'namespaces' => [ 0 ],
		'cleanParent' => true,
		'keepForever'=> true
	],
	'wp10' => [
		'enabled' => false,
		'namespaces' => [ 0 ],
		'cleanParent' => true,
		'keepForever'=> true
	],
	'draftquality' => [
		'enabled' => false,
		'namespaces' => [ 0 ],
		'types' => [ 1 ],
	],
];
// Will replace ORES with Lift Wing for fetching scores
$wgOresUseLiftwing = false;
// URL for Lift Wing - Skippeed if null
$wgOresLiftWingBaseUrl = null;
// Thresholds of different sensitivies in ORES
$wgOresDamagingThresholds = [ 'soft' => 0.7, 'hard' => 0.5 ];
// Namespaces the ORES should score. Empty array means all namespaces.
// If not empty, it will only works on the given namespaces.
// Determine namespaces like [ 0 => true, 120 => true ].
$wgOresEnabledNamespaces = [];
// Database id for ORES service. If not determined, it'll use database name.
// You can choose 'testwiki' that ORES service sends last two digits of rev_id flipped.
// For example: https://ores.wikimedia.org/v1/scores/testwiki/damaging/12345
$wgOresWikiId = null;


Debugging an ORES extension deployment

After we deploy the extension with either ORES or Lift Wing as a backend we can use the steps in the ORES extension debugging guide to make sure it is working fine.

Respons layanan ORES

ORES extension is merely more than an interface to the ORES service. The service returns a probability score of edits being damaging like this (API v1):

{
  "724030089": {
    "damaging": {
      "prediction": false,
      "probability": {
        "false": 0.8917716518085119,
        "true": 0.10822834819148802
      }
    }
  }
}

It means this edit (diff=724030089) is 10% likely to have caused damage. Note that 90% likely doesn't mean 9 out of ten cases will be vandalism. Choosing thresholds should be done via analysing recall (percentage of vandalism it can catch) or false positive rate. In ORES the "soft" threshold is when recall is 75% (meaning it will include 75% of all damaging edits) and the "hard" threshold is when recall is 90%. You can get the thresholds from model info (an example).

Skema basis data

ORES extension introduces two new tables: ores_model and ores_classification. See the full database schema description.


Aliran kerja ekstensi

Skor

Once an edit is made the extension triggers a job to hit the service and store the results in the ores_classification table. It means it will not include scores for edits made before the deployment. In order to fill the database you can run the maintenance script PopulateDatabase.php. It will hits the service and keeps the score for the last 5,000 edits. You can run it several times if needed.

Once a model gets updated to a newer version CheckModelVersions.php maintenance script needs to be ran to update the ores_model table which will cause to scores stored in the ores_classification table become deprecated. You can clean these obsolete scores by running PurgeScoreCache.php maintenance script.

Antarmuka

The extension won't show anything when deployed but it will add itself as a beta feature (Ekstensi:BetaFeatures is a dependency of this extension) and once it's enabled by the user it will use hooks in ChangesList (RecentChanges, Watchlist, and RelatedChanges) in both old and enhanced mode and highlights when score exceeds the given threshold.