Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 4.82 KB

local_data_clean.md

File metadata and controls

79 lines (60 loc) · 4.82 KB

本地数据清理算子

在千帆 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 作者及开源社区表示感谢。