Machine learning models/Production/Romanian Wikipedia goodfaith edit
Model card | |
---|---|
This page is an on-wiki machine learning model card. | |
Model Information Hub | |
Model creator(s) | Aaron Halfaker (User:EpochFail) and Amir Sarabadani |
Model owner(s) | WMF Machine Learning Team (ml@wikimediafoundation.org) |
Model interface | Ores homepage |
Code | ORES Github, ORES training data, and ORES model binaries |
Uses PII | No |
In production? | Yes |
Which projects? | Romanian Wikipedia |
This model uses data about a revision to predict the likelihood that the revision is in good faith. | |
Motivation
editNot all damaging edits are vandalism. This model is intended to differentiate between edits that are intentionally harmful (badfaith/vandalism) and edits that are not intended to be harmful (good edits/goodfaith damage). The model provides a guess at whether or not a given revision is in good faith, and provides some probabilities to serve as a measure of its confidence level. This model was inspired by research of Wikipedia's quality control system and the potential for vandalism detection models to also be used as "goodfaith newcomer" detection systems.[1]
Users and uses
edit- This model should be used for prioritizing the review and potential reversion of vandalism on Romanian Wikipedia.
- This model should be used for detecting goodfaith contributions by editors on Romanian Wikipedia.
- This model should not be used as an ultimate arbiter of whether or not an edit ought to be considered good faith.
- The model should not be used outside of Romanian Wikipedia.
- Romanian Wikipedia uses the model as a service for facilitating efficient edit reviews or newcomer support.
- On an individual basis, anyone can submit a properly-formatted API call to ORES for a given revision and get back the result of this model.
https://ores.wikimedia.org/v3/scores/rowiki/1234/goodfaith
Ethical considerations, caveats, and recommendations
editRomanian Wikipedia decided to use this model. Over time, the model has been validated through use in the community.
This model is known to give newer editors lower probability of editing in good faith.
Internal or external changes that could make this model deprecated or no longer usable are:
- Data drift means training data for the model is no longer usable.
- Doesn't meet desired performance metrics in production.
- Romanian Wikipedia community decides to not use this model anymore.
Model
editPerformance
editTest data confusion matrix:
Label | n | ~True | ~False |
---|---|---|---|
True | 19152 | 18241 | 911 |
False | 548 | 118 | 430 |
Test data sample rates:
Rate | Sample | Population |
---|---|---|
sample | 0.972 | 0.028 |
population | 0.97 | 0.03 |
Test data performance:
Statistic | True | False |
---|---|---|
match_rate | 0.93 | 0.07 |
filter_rate | 0.07 | 0.93 |
recall | 0.952 | 0.785 |
precision | 0.993 | 0.338 |
f1 | 0.972 | 0.473 |
accuracy | 0.947 | 0.947 |
fpr | 0.215 | 0.048 |
roc_auc | 0.959 | 0.961 |
pr_auc | 0.999 | 0.491 |
Implementation
edit{
"type": "GradientBoosting",
"params": {
"scale": true,
"center": true,
"labels": [
true,
false
],
"multilabel": false,
"population_rates": null,
"ccp_alpha": 0.0,
"criterion": "friedman_mse",
"init": null,
"learning_rate": 0.1,
"loss": "deviance",
"max_depth": 3,
"max_features": "log2",
"max_leaf_nodes": null,
"min_impurity_decrease": 0.0,
"min_impurity_split": null,
"min_samples_leaf": 1,
"min_samples_split": 2,
"min_weight_fraction_leaf": 0.0,
"n_estimators": 300,
"n_iter_no_change": null,
"presort": "deprecated",
"random_state": null,
"subsample": 1.0,
"tol": 0.0001,
"validation_fraction": 0.1,
"verbose": 0,
"warm_start": false
}
}
{
"title": "Scikit learn-based classifier score with probability",
"type": "object",
"properties": {
"prediction": {
"description": "The most likely label predicted by the estimator",
"type": "boolean"
},
"probability": {
"description": "A mapping of probabilities onto each of the potential output labels",
"type": "object",
"properties": {
"true": {
"type": "number"
},
"false": {
"type": "number"
}
}
}
}
}
https://ores.wikimedia.org/v3/scores/rowiki/1234/goodfaith
Output:
{
"rowiki": {
"models": {
"goodfaith": {
"version": "0.5.1"
}
},
"scores": {
"1234": {
"goodfaith": {
"score": {
"prediction": true,
"probability": {
"false": 0.005227803071884196,
"true": 0.9947721969281158
}
}
}
}
}
}
}
Data
editLicenses
edit- Code: MIT license
- Model: MIT license
Citation
editCite this model card as:
@misc{
Triedman_Bazira_2023_Romanian_Wikipedia_goodfaith,
title={ Romanian Wikipedia goodfaith model card },
author={ Triedman, Harold and Bazira, Kevin },
year={ 2023 },
url={ https://meta.wikimedia.org/wiki/Machine_learning_models/Production/Romanian_Wikipedia_goodfaith_edit }
}
- ↑ Halfaker, A., Geiger, R. S., & Terveen, L. G. (2014, April). Snuggle: Designing for efficient socialization and ideological critique. In Proceedings of the SIGCHI conference on human factors in computing systems (pp. 311-320).