跳转到主要内容

一组用于生成MediaWiki修订版本质量评分的实用工具

项目描述

Build Status Test coverage GitHub license PyPI version

修订评分

一个通用的、基于机器学习的修订评分系统,旨在帮助自动化关键维基工作——例如,检测和删除破坏行为。这个库为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

您可能会发现某些依赖项无法编译(即 scipynumpysklearn)。在这种情况下,您需要在操作系统上安装一些依赖项。

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,安装 revscoringenchant 可以按照以下方式进行:

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

注意事项
aspellmyspell 字典之间的差异可能导致一些测试失败

最后,为了使用语言功能,您需要下载一些 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

作者

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

revscoring-2.11.13.tar.gz (270.8 kB 查看哈希值)

上传时间

构建分发

revscoring-2.11.13-py2.py3-none-any.whl (382.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面