并行语料库分类器,指示一对句子是否为相互翻译
项目描述
bicleaner
Bicleaner (bicleaner-classify
) 是一个 Python 工具,旨在检测平行语料库中的噪声句子对。它表示一对句子相互翻译的可能性(值接近于1)或不是(值接近于0)。被认为非常嘈杂的句子对得分是0。
尽管提供了一个训练工具(bicleaner-train
),但您可能希望使用可用的现成语言包。请访问 https://github.com/bitextor/bicleaner-data/releases/latest 或使用 bicleaner-download
下载最新的语言包。访问我们的 Wiki 了解 Bicleaner 训练的详细示例。
引用
如果您觉得 Bicleaner 很有用,请考虑引用以下论文
维森特·M·桑切斯-卡塔赫纳,玛尔塔·巴尼奥,塞尔吉奥·奥尔蒂斯-罗哈斯和乔治·拉米雷斯-桑切斯
"Prompsit 向 WMT 2018 平行语料库过滤共享任务的提交"
在《第三次会议翻译会议,第二卷:共享任务论文》中。
比利时布鲁塞尔:计算语言学协会,2018年10月
@InProceedings{prompsit:2018:WMT,
author = { V\'{i}ctor M. S\'{a}nchez-Cartagena and Marta Ba{\~n}\'{o}n and Sergio Ortiz-Rojas and Gema Ram\'{i}rez-S\'{a}nchez},
title = {Prompsit's submission to WMT 2018 Parallel Corpus Filtering shared task},
booktitle = {Proceedings of the Third Conference on Machine Translation, Volume 2: Shared Task Papers},
month = {October},
address = {Brussels, Belgium},
publisher = {Association for Computational Linguistics}
}
盖玛·拉米雷斯-桑切斯,豪梅·萨拉戈萨-贝尔纳比乌,玛尔塔·巴尼奥和塞尔吉奥·奥尔蒂斯-罗哈斯
"Bifixer 和 Bicleaner:两个开源工具来清理您的平行数据。"
在《欧洲机器翻译协会第22届年度会议》中。
葡萄牙里斯本:欧洲机器翻译协会,2020年11月
@InProceedings{prompsit:2020:EAMT,
author = {Gema Ram\'{i}rez-S\'{a}nchez and Jaume Zaragoza-Bernabeu and Marta Ba{\~n}\'{o}n and Sergio Ortiz-Rojas},
title = {Bifixer and Bicleaner: two open-source tools to clean your parallel data.},
booktitle = {Proceedings of the 22nd Annual Conference of the European Association for Machine Translation},
pages = {291--298},
isbn = {978-989-33-0589-8},
year = {2020},
month = {November},
address = {Lisboa, Portugal},
publisher = {European Association for Machine Translation}
}
安装与需求
Bicleaner 用 Python 编写,可以使用 pip 安装。它还需要 KenLM Python 绑定,支持 7-gram 语言模型。您可以通过运行以下命令轻松安装它
pip install bicleaner
pip install --config-settings="--build-option=--max_order=7" https://github.com/kpu/kenlm/archive/master.zip
Bicleaner 所需的其他额外模块将在首次运行时自动下载和安装/升级(如有必要)。
此外,您还可以安装 conda 软件包(KenLM 已包含在内)
conda install -c conda-forge -c bitextor bicleaner
安装后,三个二进制文件(bicleaner-train
、bicleaner-classify
和 bicleaner-classify-lite
)将位于您的 python/installation/prefix/bin
目录中。这通常是 $HOME/.local/bin
或 /usr/local/bin
。
清理
bicleaner-classify
旨在检测平行语料库中的噪声句子对。它表示一对句子相互翻译的可能性(值接近于1)或不是(值接近于0)。被认为非常嘈杂的句子对得分是0。
默认情况下,输入文件(要分类的平行语料库)必须至少包含四列,分别是
- 列1:URL 1
- 列2:URL 2
- 列3:源句子
- 列4:目标句子
但源句子和目标句子列的索引可以通过使用 --scol
和 --tcol
标志进行自定义。
生成的输出文件将包含与原始输入文件相同的行和列,并添加一个包含 Bicleaner 分类器得分的额外列。
此工具可以运行以下参数
bicleaner-classify [-h]
[-S SOURCE_TOKENIZER_COMMAND]
[-T TARGET_TOKENIZER_COMMAND]
[--header]
[--scol SCOL]
[--tcol TCOL]
[--tmp_dir TMP_DIR]
[-b BLOCK_SIZE]
[-p PROCESSES]
[-d DISCARDED_TUS]
[--lm_threshold LM_THRESHOLD]
[--score_only]
[--disable_hardrules]
[--disable_lm_filter]
[--disable_porn_removal]
[--disable_minimal_length]
[-q]
[--debug]
[--logfile LOGFILE]
[-v]
input
[output]
metadata
参数
-
位置参数
input
:要分类的制表符分隔文件(默认行格式:URL1 URL2 SOURCE_SENTENCE TARGET_SENTENCE [EXTRA_COLUMNS]
,制表符分隔)。当输入为 - 时,读取标准输入。output
:分类输出(默认:标准输出)。当输出为 - 时,写入标准输出。metadata
:训练元数据(YAML文件),由bicleaner-train
生成或下载作为语言包的一部分。您只需将语言包解压缩到您想要清理的文件对的语言中。tar文件包含YAML元数据文件。有一个脚本可以为您下载和解压缩它,使用
$ ./utils/download-pack.sh en cs ./models
将英语-捷克语语言包下载到./models目录并解压缩。
-
可选参数
-h, --help
:显示此帮助信息并退出
-
可选
-S SOURCE_TOKENIZER_COMMAND
:源语言分词器完整命令(包括所需的标志)。如果没有提供,则使用Sacremoses分词器(带有escape=False
选项)。-T TARGET_TOKENIZER_COMMAND
:目标语言分词器完整命令(包括所需的标志)。如果没有提供,则使用Sacremoses分词器(带有escape=False
选项)。--header
:将输入文件的第一句话视为表头行。如果设置,输出将包含表头--scol SCOL
:源句子列(从1开始)。如果设置了--header
,则期望值将是字段的名称(默认:如果未设置--header
则为3,否则为src_text)--tcol TCOL
:目标句子列(从1开始)。如果设置了--header
,则期望值将是字段的名称(默认:如果未设置--header
则为4,否则为trg_text)--tmp_dir TMP_DIR
:创建此程序临时文件的临时目录(默认:系统默认临时目录,由Unix中的环境变量TMPDIR定义)-b BLOCK_SIZE, --block_size BLOCK_SIZE
:每个块中的句子对(默认:10000)p PROCESSES, --processes PROCESSES
:要使用的进程数(默认:所有CPU减一)-d DISCARDED_TUS, --discarded_tus DISCARDED_TUS
:包含丢弃的TUs的TSV文件。分类器丢弃的TUs将写入此TSV文件。默认值:None--lm_threshold LM_THRESHOLD
:语言模型流畅度评分阈值。所有LM流畅度评分低于阈值的句子对都将被删除(分类器评分设置为0),除非设置了选项--keep_lm_result。默认值:0.5--score_only
:仅输出一列,即Bicleaner评分(默认:False)--disable_hardrules
:禁用bicleaner_hardrules过滤(仅应用bicleaner_classify)默认值:False--disable_lm_filter
:禁用LM过滤。--disable_porn_removal
:禁用色情内容移除。--disable_minimal_length
:不应用最小长度规则(默认:False)。
-
日志记录
-q, --quiet
:静默日志模式(默认:False)--debug
:调试日志模式(默认:False)--logfile LOGFILE
:将日志存储到文件(默认:<_io.TextIOWrapper name='' mode='w' encoding='UTF-8'>)-v, --version
:显示此脚本的版本并退出
示例
bicleaner-classify \
corpus.en-es.raw \
corpus.en-es.classifed \
training.en-es.yaml
这将读取"corpus.en-es.raw
"文件,使用"training.en-es.yaml
"元数据文件中的分类器对其进行分类,将分类结果写入"corpus.en-es.classified
"文件。新文件中的每一行都将包含与输入文件相同的内容,并添加一个由Bicleaner分类器给出的评分列。
自动测试
我们包含了一个小测试语料库和一个脚本来检查您的Bicleaner分类器是否按预期工作。为了使用它,只需运行
python -m pytest -s tests/bicleaner_test.py
这将下载所需的语言包,对提供的测试语料库进行分类,并检查生成的分类评分。如果一切按预期进行,输出将是"1 passed in XX.XX seconds"。测试会话结束时将删除所有下载的数据。
训练分类器
如果您需要训练一个新的分类器(例如,因为它不在bicleaner-data提供的语言包中),可以使用bicleaner-train
。 bicleaner-train
是一个Python3工具,允许您训练一个分类器,该分类器可以预测一对句子是否是相互翻译的,并丢弃过于嘈杂的句子对。请访问我们的Wiki,了解Bicleaner训练的详细示例。
要求
为了训练一个新的分类器,您必须提供以下内容:
- 一个干净的平行语料库(建议大小为10万个句子对)。
- SL到TL和TL到SL的gzip压缩概率双语字典。您可以通过下载任何可用的语言包来检查它们的格式。
- SL到TL的概率双语字典必须按行包含一个条目。每个条目必须包含以下3个字段,按空格分隔,顺序如下:TL词,SL词,概率。
- TL到SL的概率双语字典必须按行包含一个条目。每个条目必须包含以下3个字段,按空格分隔,顺序如下:SL词,TL词,概率。
- 我们建议过滤掉概率非常低的条目:删除每个词的最大翻译概率10倍以下的条目可以加快处理速度,并且不会降低准确性。
- 在推断概率字典之前,必须使用Moses分词器(带有
-a
标志)对句子进行分词并转换为小写。 - 您可以使用Moses和MGIZA++从平行语料库中获取概率字典。
- 请注意,概率双语字典中的目标和源词必须是单个单词。
- gzip压缩的单语词频列表。您可以通过下载任何可用的语言包来检查它们的格式。
- SL词频列表按行包含一个条目。每个条目必须包含以下2个字段,按空格分隔,顺序如下:词频(单词在文本中出现的次数),SL词。
- TL词频列表按行包含一个条目。每个条目必须包含以下2个字段,按空格分隔,顺序如下:词频(单词在文本中出现的次数),TL词。
- 这些列表可以很容易地从单语语料库(例如newscrawl或用于训练概率双语字典的相同文本)和一个bash命令行中获取。
$ cat monolingual.SL \
| sacremoses -l SL tokenize -x \
| awk '{print tolower($0)}' \
| tr ' ' '\n' \
| LC_ALL=C sort | uniq -c \
| LC_ALL=C sort -nr \
| grep -v '[[:space:]]*1' \
| gzip > wordfreq-SL.gz
$ cat monolingual.TL \
| sacremoses -l TL tokenize -x \
| awk '{print tolower($0)}' \
| tr ' ' '\n' \
| LC_ALL=C sort | uniq -c \
| LC_ALL=C sort -nr \
| grep -v '[[:space:]]*1' \
| gzip > wordfreq-TL.gz
如果想要分类器包含一个色情过滤器,您还必须提供
- 用于色情移除分类器训练数据集的文件。每个句子必须以
__label__negative
或__label__positive
开始,根据FastText约定。它应该是小写并分词的。
如果想要分类器包含一个基于语言模型的改进流畅度过滤器,您还必须提供
- 仅由SL中的嘈杂句子组成的单语语料库(建议大小为10万个句子)
- 仅由TL中的嘈杂句子组成的单语语料库(建议大小为10万个句子)
如果未提供,从Bicleaner 0.13
开始,从训练语料库中合成生成嘈杂语料库。
此外,lmplz
,训练KenLM语言模型的命令必须在PATH
中。有关其编译和安装的说明,请参阅https://github.com/kpu/kenlm。
原则上,如果您想使用Bicleaner清理部分嘈杂的语料库,可能很难找到仅由嘈杂句子组成的语料库。幸运的是,Bicleaner提供了两个选项
使用启发式规则从现有语料库中提取嘈杂句子
给定一个平行语料库,您可以使用以下命令通过运行bicleaner-hardrules
使用启发式规则提取其中的一些最嘈杂的句子
bicleaner-hardrules [-h]
[--annotated_output]
-s SOURCE_LANG
-t TARGET_LANG
[--tmp_dir TMP_DIR]
[-b BLOCK_SIZE]
[-p PROCESSES]
[--disable_lang_ident]
[--disable_minimal_length]
[--header]
[--scol SCOL]
[--tcol TCOL]
[--disable_lm_filter]
[--disable_porn_removal]
[--metadata METADATA]
[--lm_threshold LM_THRESHOLD]
[-q]
[--debug]
[--logfile LOGFILE]
[input]
[output]
其中 INPUT_FILE
包含一句对齐的并行语料库,每行一个句子对。句子通过制表符分隔。OUTPUT_FILE
将包含所有输入句子,并增加一个额外的分数列,其中 0
(如果句子有噪声且应丢弃)或 1
(如果句子正常)。当使用 --annotated_output
标志时,OUTPUT_FILE
将包含另一个额外的列,指定用于决定丢弃每个句子的启发式规则(或 keep
,如果句子正常且不应丢弃)。如果使用 --disable_lang_ident
标志,则不使用需要语言识别的规则。'--scol' 和 '--tcol' 允许指定包含源和目标列的列(默认:分别为 1
和 2
)。
为了使用语言模型过滤和/或色情内容移除,您必须提供 --metadata
(即:由 Bicleaner 训练生成的 .yaml 文件)。要禁用语言模型过滤和/或色情内容移除,只需使用 --disable_lm_filter
和/或 --disable_porn_removal
标志。
然后可以通过“剪切”适当的列来获取单语噪声语料库(在运行 bicleaner-hardrules
并使用 --annotated_output
标志后)。假设 scol=1
和 tcol=2
,且输入语料库中没有更多列(因此硬规则分数是输出中的第三列)。
cat OUTPUT_FILE | awk -F'\t' '{if ($3 == 0) print $1 }' > MONOLINGUAL_NOISY.SOURCE_LANG
cat OUTPUT_FILE | awk -F'\t' '{if ($3 == 0) print $2 }' > MONOLINGUAL_NOISY.TARGET_LANG
构建合成的噪声句子
cat TRAINING_CORPUS | cut -f1 | python3.7 bicleaner/utils/shuffle.py - > MONOLINGUAL_NOISY.SOURCE_LANG
cat TRAINING_CORPUS | cut -f2 | python3.7 bicleaner/utils/shuffle.py - > MONOLINGUAL_NOISY.TARGET_LANG
从 0.13
版本开始,如果没有提供噪声语料库,则由 Bicleaner 训练本身生成,因此它已成为可选参数。
参数
可以使用以下方式使用它。请注意,如果您想启用基于语言模型的改进流畅度过滤器(推荐),则 --noisy_examples_file_sl
、--noisy_examples_file_tl
、--lm_file_sl
、--lm_file_tl
参数是必需的。
bicleaner_train.py [-h]
-m METADATA
-c CLASSIFIER
-s SOURCE_LANG
-t TARGET_LANG
-d SOURCE_DICTIONARY
-D TARGET_DICTIONARY
-f SOURCE_WORD_FREQS
-F TARGET_WORD_FREQS
[-S SOURCE_TOKENIZER_COMMAND]
[-T TARGET_TOKENIZER_COMMAND]
[--normalize_by_length]
[--treat_oovs]
[--qmax_limit QMAX_LIMIT]
[--disable_features_quest]
[--classifier_type {mlp,svm,nn,nn1,adaboost,random_forest,extra_trees}]
[--dump_features DUMP_FEATURES]
[-b BLOCK_SIZE]
[-p PROCESSES]
[--wrong_examples_file WRONG_EXAMPLES_FILE]
[--features_version FEATURES_VERSION]
[--disable_lang_ident]
[--seed SEED]
[--relative_paths]
[--noisy_examples_file_sl NOISY_EXAMPLES_FILE_SL]
[--noisy_examples_file_tl NOISY_EXAMPLES_FILE_TL]
[--lm_dev_size LM_DEV_SIZE]
[--lm_file_sl LM_FILE_SL]
[--lm_file_tl LM_FILE_TL]
[--lm_training_file_sl LM_TRAINING_FILE_SL]
[--lm_training_file_tl LM_TRAINING_FILE_TL]
[--lm_clean_examples_file_sl LM_CLEAN_EXAMPLES_FILE_SL]
[--lm_clean_examples_file_tl LM_CLEAN_EXAMPLES_FILE_TL]
[--porn_removal_train PORN_REMOVAL_TRAIN]
[--porn_removal_test PORN_REMOVAL_TEST]
[--porn_removal_file PORN_REMOVAL_FILE]
[--porn_removal_side {sl,tl}]
[-q] [--debug] [--logfile LOGFILE]
[input]
- 位置参数
input
:制表符分隔的双语输入文件(默认:标准输入)(行格式:源句子 目标句子,制表符分隔)
- 可选参数
-h, --help
:显示此帮助信息并退出
- 必需
-m METADATA, --metadata METADATA
:输出训练元数据(YAML 文件),该文件将在训练后创建。-c CLASSIFIER, --classifier CLASSIFIER
:分类器数据文件,该文件将在训练后创建。-s SOURCE_LANG, --source_lang SOURCE_LANG
:源语言代码-t TARGET_LANG, --target_lang TARGET_LANG
:目标语言代码-d SOURCE_TO_TARGET_DICTIONARY, --source_dictionary SOURCE_TO_TARGET_DICTIONARY
:SL 到 TL 的 gzipped 概率词典-D TARGET_TO_SOURCE_DICTIONARY, --target_dictionary TARGET_TO_SOURCE_DICTIONARY
:TL 到 SL 的 gzipped 概率词典-f SOURCE_WORD_FREQ_DICTIONARY, --source_word_freqs SOURCE_WORD_FREQ_DICTIONARY
:SL gzipped 单词频率词典-F TARGET_WORD_FREQ_DICTIONARY, --target_word_freqs TARGET_WORD_FREQ_DICTIONARY
:TL gzipped 单词频率词典
- 选项
-S SOURCE_TOKENIZER_COMMAND
:源语言分词器完整命令(包括所需的标志)。如果没有提供,则使用Sacremoses分词器(带有escape=False
选项)。-T TARGET_TOKENIZER_COMMAND
:目标语言分词器完整命令(包括所需的标志)。如果没有提供,则使用Sacremoses分词器(带有escape=False
选项)。--normalize_by_length
:在 qmax 字典特征中按长度归一化--treat_oovs
:在 qmax 字典特征中对 OOVs 进行特殊处理--qmax_limit
:按长度排序应考虑的最大目标单词数(默认:20)--disable_features_quest
:禁用不太重要的特征--classifier_type {svm,nn,nn1,adaboost,random_forest,extra_trees}
:分类器类型(默认:extra_trees)--dump_features DUMP_FEATURES
:将训练特征输出到文件(默认:None)-b BLOCK_SIZE, --block_size BLOCK_SIZE
:每个块中的句子对(默认:10000)-p PROCESSES, --processes PROCESSES
:要使用的进程数(默认:所有 CPU 减去一)--wrong_examples_file WRONG_EXAMPLES_FILE
:包含提取错误示例的文件,以替换默认方法中使用的合成示例(默认:None)--features_version FEATURES_VERSION
:特征的版本(默认:从 features.py 文件中提取)--disable_lang_ident
:不要应用使用语言检测的特征(默认:False)。当使用的语言与其他语言过于相似,使语言自动识别不可靠时很有用。--relative_paths
:如果模型文件与元数据位于同一目录中,请训练保存模型文件为相对路径。如果您打算训练可分发模型,则很有用(默认:False)。--noisy_examples_file_sl NOISY_EXAMPLES_FILE_SL
:包含SL中噪声文本的文件。这些用于估计噪声文本的困惑度。(可选)--noisy_examples_file_tl NOISY_EXAMPLES_FILE_TL
:包含TL中噪声文本的文件。这些用于估计噪声文本的困惑度。(可选)--lm_dev_size SIZE
:在训练语言模型之前从干净文本中移除的句子数。这些用于估计干净文本的困惑度。(默认:2000)--lm_file_sl LM_FILE_SL
:包含创建的SL语言模型的输出文件。此文件应放置在与YAML训练元数据相同的目录中,因为它们通常一起分发。--lm_file_tl LM_FILE_TL
:包含创建的TL语言模型的输出文件。此文件应放置在与YAML训练元数据相同的目录中,因为它们通常一起分发。--lm_training_file_sl LM_TRAINING_FILE_SL
:从中训练SL语言模型的SL文本。如果未指定此参数,SL语言模型将从输入文件的SL端训练,在移除--lm_dev_size句子之后。--lm_training_file_tl LM_TRAINING_FILE_TL
:从中训练TL语言模型的TL文本。如果未指定此参数,TL语言模型将从输入文件的TL端训练,在移除--lm_dev_size句子之后。--lm_clean_examples_file_sl LM_CLEAN_EXAMPLES_FILE_SL
:包含SL中干净文本的文件。用于估计干净文本的困惑度。此选项必须与--lm_training_file_sl一起使用,并且两个文件不得有共同句子。此选项取代--lm_dev_size。--lm_clean_examples_file_tl LM_CLEAN_EXAMPLES_FILE_TL
:包含TL中干净文本的文件。用于估计干净文本的困惑度。此选项必须与--lm_training_file_tl一起使用,并且两个文件不得有共同句子。此选项取代--lm_dev_size。--porn_removal_train PORN_REMOVAL_TRAIN
:包含用于色情移除分类器训练数据集的文件。每个句子必须以《__label__negative》或《__label__positive》开始,根据FastText 规范。它应该是小写的并且分词。--porn_removal_test PORN_REMOVAL_TEST
:用于计算色情移除分类器精确度和准确率的测试集。--porn_removal_file PORN_REMOVAL_FILE
:色情移除分类器输出文件。--porn_removal_side {sl,tl}
:是否应在源语言或目标语言上应用色情移除。(默认:sl)
- 日志记录
-q, --quiet
:静默日志模式(默认:False)--debug
:调试日志模式(默认:False)--logfile LOGFILE
:将日志存储到文件(默认:<_io.TextIOWrapper name='' mode='w' encoding='UTF-8'>)
示例
bicleaner-train \
corpus.en-cs.train\
--normalize_by_length \
-s en \
-t cs \
-d dict-en-cs.gz \
-D dict-cs-en.gz \
-f wordfreqs-en.gz \
-F wordfreqs-cs.gz \
-c en-cs.classifier \
--lm_training_file_sl lmtrain.en-cs.en --lm_training_file_tl lmtrain.en-cs.cs \
--lm_file_sl model.en-cs.en --lm_file_tl model.en-cs.cs \
--porn_removal_train porn-removal.txt.en --porn_removal_file porn-model.en \
-m training.en-cs.yaml \
这将使用语料库 corpus.en-cs.train、概率词典 dict-en-cs.gz
和 dict-cs-en.gz
以及词频词典 wordfreqs-en.gz
和 wordfreqs-cs.gz
训练英语-捷克语的Extra Trees分类器。此训练将使用50000个好的示例和50000个坏的示例。分类器数据将存储在 en-cs.classifier
中,元数据在 training.en-cs.yaml
中。改进的流畅性语言模型将是 model.en-cs.en
和 model.en-cs.cs
,色情过滤器模型将是 porn-model.en
。
生成的.yaml文件提供了以下信息,这些信息有助于了解训练效果如何(也是分类所需输入文件)
classifier: en-cs.classifier
classifier_type: extra_trees
source_lang: en
target_lang: cs
source_dictionary: dict-en-cs.gz
target_dictionary: dict-cs-en.gz
source_word_freqs: wordfreqs-en.gz
target_word_freqs: wordfreqs-cs.gz
normalize_by_length: True
qmax_limit: 40
disable_features_quest: True
good_test_histogram: [0, 7, 39, 45, 112, 172, 514, 2199, 6912, 0]
wrong_test_histogram: [14, 4548, 4551, 747, 118, 18, 3, 1, 0, 0]
precision_histogram: [0.5000000, 0.5003502, 0.6475925, 0.9181810, 0.9860683, 0.9977594, 0.9995846, 0.9998903, 1.0000000, nan]
recall_histogram: [1.0000000, 1.0000000, 0.9993000, 0.9954000, 0.9909000, 0.9797000, 0.9625000, 0.9111000, 0.6912000, 0.0000000]
accuracy_histogram: [0.5000000, 0.5007000, 0.7277500, 0.9533500, 0.9884500, 0.9887500, 0.9810500, 0.9555000, 0.8456000, 0.5000000]
length_ratio: 1.0111087
features_version: 4
source_lm: model.en-cs.en
target_lm: model.en-cs.cs
lm_type: CHARACTER
clean_mean_perp: -1.0744755342473238
clean_stddev_perp: 0.18368996884800565
noisy_mean_perp: -3.655791900929066
noisy_stddev_perp: 0.9989343799121657
disable_lang_ident: False
porn_removal_file: porn-model.en
porn_removal_side: sl
轻量版
尽管 bicleaner-train
和 bicleaner-classify
通过将工作负载分配给可用的核心来实现并行化,但一些用户可能更喜欢实现自己的并行化策略。为此,提供了Bicleaner分类器脚本的单线程版本:bicleaner-classify-lite
。用法与完整版本相同,但省略了块大小(-b)和进程(-p)参数。注意:bicleaner-train-lite
已被删除,因为用户未使用它,以避免代码重复。
此存储库中包含的所有文档和软件仅反映作者的见解。欧盟创新和网络执行局不对其中包含的信息的任何使用负责。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码发行版
构建分发版
bicleaner-0.17.4.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30e222aeee55a606c25cf9918b4011d5668353ce344fa58351e072a39e887c6b |
|
MD5 | d718011f9e2bd76dd26cbca17d7e3d9d |
|
BLAKE2b-256 | dbad7f6fc07f55259a05b8e48af258cf3dc059c84736aaf55d606c527fcee390 |
bicleaner-0.17.4-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | acec8bc350a2fbc20c8000e80b270de681f636aa1cea8177dc328abfc6d472fa |
|
MD5 | 1c5ecaaff13b54a6df1c527e458db893 |
|
BLAKE2b-256 | e8492f8a8a46a9276e513aa38382e696e8cc0254b531734244961cfcfe2ad781 |