Rozšíření:ORES
Rozšíření ORES integruje data ze služby ORES do zobrazení RecentChanges.
V současné době je backendová služba ORES nastavena pouze pro wikiny Wikimedie. Její nastavení pro instalace MediaWiki od třetích stran by vyžadovalo značné úsilí.
Je nainstalován na několika stránkách Wikimedie, ale na nových již není nasazován. Novější práce o strojovém učení na Wikimedii viz Machine Learning/Modernization .
Snímky obrazovky
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
ORES
ve vaší složceextensions/
.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cdextensions/ gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/ORES
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'ORES' );
- Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Po nasazení je potřeba spustit údržbový skript CheckModelVersions.php (a poté můžete spustit i PopulateDatabase.php).
Pokud chcete nastavit lokální vývojové prostředí pro rozšíření MediaWiki + ORES pomocí následujícího kódu ORES extension local development guide :
Konfigurační proměnné
Zde jsou konfigurační proměnné, jejich výchozí hodnoty a krátký popis.
// URL adresa služby ORES $wgOresBaseUrl = 'https://ores.wikimedia.org/'; // Buď vyloučit úpravy provedené robotem pro skórování $wgOresExcludeBots = true; // Modely, které skórují $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 ], ], ]; // Nahradí ORES Lift Wing pro získávání skóre. $wgOresUseLiftwing = false; // URL pro Lift Wing – přeskočeno pokud null $wgOresLiftWingBaseUrl = null; // Prahové hodnoty různých citlivostí v ORES $wgOresDamagingThresholds = [ 'soft' => 0.7, 'hard' => 0.5 ]; // Jmenné prostory, které by měl ORES hodnotit. Prázdné pole znamená všechny jmenné prostory. // Pokud není prázdné, bude fungovat pouze na daných jmenných prostorech. // Determine namespaces like [ 0 => true, 120 => true ]. $wgOresEnabledNamespaces = []; // ID databáze pro službu ORES. Pokud není určen, použije se název databáze. // Můžete zvolit 'testwiki', kde služba ORES odešle poslední dvě číslice rev_id převrácené. // Například: https://ores.wikimedia.org/v1/scores/testwiki/damaging/12345 $wgOresWikiId = null;
Ladění nasazení rozšíření ORES
Po nasazení rozšíření s ORES nebo Lift Wing jako backendem můžeme použít kroky v bodě 1, abychom se ujistili, že funguje správně.
Odpovědi služby ORES
Rozšíření ORES je více než jen rozhraní ke službě ORES. Služba vrací pravděpodobnost poškození úprav takto (API v1):
{ "724030089":{ "damaging":{ "prediction":false, "probability":{ "false":0.8917716518085119, "true":0.10822834819148802 } } } }
To znamená, že tato úprava (diff=724030089
) s 10% pravděpodobností způsobila poškození.
Upozorňujeme, že 90% pravděpodobnost neznamená, že 9 z deseti případů bude vandalismus.
Výběr prahových hodnot by měl být proveden analýzou odhalitelnosti (procento vandalismu, které lze zachytit) nebo míry falešně pozitivních výsledků.
V ORES je "měkká" hranice, když je vyzvednutí 75 % (což znamená, že bude zahrnovat 75 % všech škodlivých editací) a "tvrdá" hranice, když je vyzvednutí 90 %.
Prahové hodnoty můžete získat z informací o modelu (příklad).
Schéma databáze
ORES extension introduces two new tables: ores_model
and ores_classification
. See the full database schema description.
Pracovní postup rozšíření
Skóre
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.
Rozhraní
The extension won't show anything when deployed but it will add itself as a beta feature (Extension: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.
- Stable extensions/cs
- Extensions with invalid or missing type/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- APIGetAllowedParams extensions/cs
- AbuseFilter-builder extensions/cs
- AbuseFilter-computeVariable extensions/cs
- AbuseFilter-generateTitleVars extensions/cs
- ApiQueryBaseAfterQuery extensions/cs
- ApiQueryBaseBeforeQuery extensions/cs
- ApiQueryBaseProcessRow extensions/cs
- ApiQueryWatchlistExtractOutputData extensions/cs
- ApiQueryWatchlistPrepareWatchedItemQueryServiceOptions extensions/cs
- BeforePageDisplay extensions/cs
- ChangesListSpecialPageQuery extensions/cs
- ChangesListSpecialPageStructuredFilters extensions/cs
- ContribsPager::getQueryInfo extensions/cs
- ContributionsLineEnding extensions/cs
- EnhancedChangesListModifyBlockLineData extensions/cs
- EnhancedChangesListModifyLineData extensions/cs
- GetPreferences extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- OldChangesListRecentChangesLine extensions/cs
- RecentChange save extensions/cs
- RecentChangesPurgeQuery extensions/cs
- SpecialContributions::formatRow::flags extensions/cs
- SpecialContributions::getForm::filters extensions/cs
- WatchedItemQueryServiceExtensions extensions/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- ORES/cs