一组用于生成MediaWiki修订版本质量评分的实用工具
项目描述
修订评分
一个通用的、基于机器学习的修订评分系统,旨在帮助自动化关键维基工作——例如,检测和删除破坏行为。这个库为ORES提供动力。
示例
使用scorer_model对修订进行评分:
import mwapi
from revscoring import Model
from revscoring.extractors.api.extractor import Extractor
with open("models/enwiki.damaging.linear_svc.model") as f:
scorer_model = Model.load(f)
extractor = Extractor(mwapi.Session(host="https://en.wikipedia.org",
user_agent="revscoring demo"))
feature_values = list(extractor.extract(123456789, scorer_model.features))
print(scorer_model.score(feature_values))
{'prediction': True, 'probability': {False: 0.4694409344514984, True: 0.5305590655485017}}
安装
安装最简单的方法是通过Python包安装器(pip)。
pip安装revscoring
您可能会发现某些依赖项无法编译(即 scipy
、numpy
和 sklearn
)。在这种情况下,您需要在操作系统上安装一些依赖项。
Ubuntu & Debian
- 运行
sudo apt-get install python3-dev g++ gfortran liblapack-dev libopenblas-dev enchant
- 运行
sudo apt-get install aspell-ar aspell-bn aspell-el aspell-id aspell-is aspell-pl aspell-ro aspell-sv aspell-ta aspell-uk myspell-cs myspell-de-at myspell-de-ch myspell-de-de myspell-es myspell-et myspell-fa myspell-fr myspell-he myspell-hr myspell-hu myspell-lv myspell-nb myspell-nl myspell-pt-pt myspell-pt-br myspell-ru myspell-hr hunspell-bs hunspell-ca hunspell-en-au hunspell-en-us hunspell-en-gb hunspell-eu hunspell-gl hunspell-it hunspell-hi hunspell-sr hunspell-vi voikko-fi
MacOS
使用 Homebrew 和 pip,安装 revscoring
和 enchant
可以按照以下方式进行:
brew install aspell --with-all-languages
brew install enchant
pip install --no-binary pyenchant revscoring
在 aspell 中添加语言(仅限 MacOS)
cd /tmp
wget http://ftp.gnu.org/gnu/aspell/dict/pt/aspell-pt-0.50-2.tar.bz2
bzip2 -dc aspell-pt-0.50-2.tar.bz2 | tar xvf -
cd aspell-pt-0.50-2
./configure
make
sudo make install
注意事项
aspell 和 myspell 字典之间的差异可能导致一些测试失败
最后,为了使用语言功能,您需要下载一些 NLTK 数据。以下命令将获取所需的语料库。
python -m nltk.downloader omw sentiwordnet stopwords wordnet
您还需要安装您想要使用的语言的 enchant 兼容字典。我们推荐以下列表
- languages.arabic: aspell-ar
- languages.basque: hunspell-eu
- languages.bengali: aspell-bn
- languages.bosnian: hunspell-bs
- languages.catalan: myspell-ca
- languages.czech: myspell-cs
- languages.croatian: myspell-hr
- languages.dutch: myspell-nl
- languages.english: myspell-en-us myspell-en-gb myspell-en-au
- languages.estonian: myspell-et
- languages.finnish: voikko-fi
- languages.french: myspell-fr
- languages.galician: hunspell-gl
- languages.german: myspell-de-at myspell-de-ch myspell-de-de
- languages.greek: aspell-el
- languages.hebrew: myspell-he
- languages.hindi: aspell-hi
- languages.hungarian: myspell-hu
- languages.icelandic: aspell-is
- languages.indonesian: aspell-id
- languages.italian: myspell-it
- languages.latvian: myspell-lv
- languages.norwegian: myspell-nb
- languages.persian: myspell-fa
- languages.polish: aspell-pl
- languages.portuguese: myspell-pt-pt myspell-pt-br
- languages.serbian: hunspell-sr
- languages.spanish: myspell-es
- languages.swedish: aspell-sv
- languages.tamil: aspell-ta
- languages.russian: myspell-ru
- languages.ukrainian: aspell-uk
- languages.vietnamese: hunspell-vi
开发
要贡献,请确保安装依赖项
$ pip install -r requirements.txt
安装必要的 NLTK 数据
python -m nltk.downloader omw sentiwordnet stopwords wordnet
运行测试
确保您已安装测试依赖项
$ pip install -r test-requirements.txt
然后运行
$ pytest . -vv
报告错误
要报告错误,请使用 Phabricator
作者
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分发
revscoring-2.11.13.tar.gz (270.8 kB 查看哈希值)
构建分发
revscoring-2.11.13-py2.py3-none-any.whl (382.3 kB 查看哈希值)
关闭
revscoring-2.11.13.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9263f88c0c4f6723750597ae8daa861caffc4f9d2796e7d659ea327ca1c71d78 |
|
MD5 | ae31a9c5685f8e21f16bc38aa8835dbc |
|
BLAKE2b-256 | 3abbd5e727c4c7731cc98a73709790d9027e7da49fd562fc5a6fca7d3ddc9fa2 |
关闭
revscoring-2.11.13-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a27ede868393892a491bd9e589ba4866f9a2c459b3d3dd19fbd68c898efe8c5f |
|
MD5 | 8046ed079a74989ca028b406928a4263 |
|
BLAKE2b-256 | b54a5852c461a723e75d5f79efcd1344194867bbc40da54aa15aba6523c76379 |