本地数据清理算子
在千帆 SDK 中,我们为开发者提供了一系列用于数据处理的预置算子,在降低开发者心智负担的前提下,开发者可以通过调用这些预置算子,来快速、低成本的完成数据处理工作。
这些数据处理算子可以分为两大类:处理算子与过滤算子
处理算子:会对匹配条件的输入数据进行处理,对外返回经过处理后的数据
过滤算子:会检查输入数据是否满足过滤条件,如果满足过滤条件,则将输入数据标记为删除
若要使用这些算子,只需要在代码中引用这些数据清洗算子
处理算子
待建设
过滤算子
用户可以这样使用一个数据过滤算子
from qianfan.dataset import Dataset
from qianfan.dataset.local_data_operators import LocalCheckCharacterRepetitionFilter
ds = Dataset.load(data_file="your/dataset/path")
filter_operator = LocalCheckCharacterRepetitionFilter()
ds = ds.filter(filter_operator)
下表是当前 SDK 所内置的过滤算子列表
算子名称 |
算子类名 |
作用 |
|---|---|---|
文档字重复率算子 |
LocalCheckCharacterRepetitionFilter |
如果字重复率太高,意味着文档中重复的字太多,文档会被过滤掉,采用 ngram 算法实现 |
文档句长检测算子 |
LocalCheckEachSentenceIsLongEnoughFilter |
检查文档中句子的长度,并且当低于某一定长度的句子的数量超过一定比例阈值时,过滤掉整篇文档 |
文档色情暴力词率检测算子 |
LocalCheckFlaggedWordsFilter |
如果色情暴力词率太高,文档会被过滤掉 |
文档特殊字符率检测算子 |
LocalCheckSpecialCharactersFilter |
如果特殊字符率太高,意味着文档中特殊字符太多,文档会被过滤掉 |
文档词数目检测算子 |
LocalCheckWordNumberFilter |
词数目不在指定范围会被过滤掉,如中文[1,1000000] |
文档词重复率检测算子 |
LocalCheckWordRepetitionFilter |
如果词重复率太高,意味着文档中重复的字太多,文档会被过滤掉 |
停用词频率检测算子 |
LocalCheckStopwordsFilter |
检查文本中的停用词占全文的比例,如果超出一定阈值则过滤掉整个文本 |
过滤算子通用参数列表
filter_column:待过滤的数据列列名,如果是泛文本数据则不必填写
text_language(可选):待处理文本的语言种类
过滤算子专有参数列表
文档字重复率算子(LocalCheckCharacterRepetitionFilter)
character_repetition_length(可选):Ngram 窗口长度
character_repetition_max_cutoff(可选):重复率上限阈值
文档句长检测算子(LocalCheckEachSentenceIsLongEnoughFilter)
short_sentence_max_cutoff(可选):短句句长上限
short_sentence_ratio_max_cutoff(可选):短句占比上限阈值
文档色情暴力词率检测算子(LocalCheckFlaggedWordsFilter)
sentence_piece_model_path:sentence piece 语言模型的模型文件路径
words_augmentation_group_sizes(可选):文档词汇拓展的扫描窗口大小
words_augmentation_join_char(可选):拓展词汇的连接字符串
flagged_words_max_cutoff(可选):敏感词占比上限阈值
文档特殊字符率检测算子(LocalCheckSpecialCharactersFilter):
special_characters(可选):特殊字符串列表
special_characters_max_cutoff(可选):特殊字符串占比上限阈值
文档词数目检测算子(LocalCheckWordNumberFilter):
sentence_piece_model_path:sentence piece 语言模型的模型文件路径
number_words_min_cutoff(可选):文档词数目下限
number_words_max_cutoff(可选):文档词数目上限
文档词重复率检测算子(LocalCheckWordRepetitionFilter):
sentence_piece_model_path:sentence piece 语言模型的模型文件路径
word_repetition_length(可选):Ngram 窗口长度
word_repetition_max_cutoff(可选):词重复率上限阈值
停用词频率检测算子(LocalCheckStopwordsFilter):
sentence_piece_model_path:sentence piece 语言模型的模型文件路径
words_augmentation_group_sizes(可选):文档词汇拓展的扫描窗口大小
words_augmentation_join_char(可选):拓展词汇的连接字符串
stopwords_max_cutoff(可选):停用词占比上限阈值
Acknowledgement
我们借鉴了BigScience-Workshop / Data prepation的部分算子设计,在此对 BigScience-Workshop / Data prepation 作者及开源社区表示感谢。