Skip to content

Latest commit

 

History

History
212 lines (189 loc) · 91 KB

Operators_ZH.md

File metadata and controls

212 lines (189 loc) · 91 KB

算子提要

算子 (Operator) 是协助数据修改、清理、过滤、去重等基本流程的集合。我们支持广泛的数据来源和文件格式,并支持对自定义数据集的灵活扩展。

这个页面提供了OP的基本描述,用户可以参考API文档更细致了解每个OP的具体参数,并且可以查看、运行单元测试 (tests/ops/...),来体验各OP的用法示例以及每个OP作用于内置测试数据样本时的效果。

概览

Data-Juicer 中的算子分为以下 5 种类型。

类型 数量 描述
Formatter 9 发现、加载、规范化原始数据
Mapper 63 对数据样本进行编辑和转换
Filter 44 过滤低质量样本
Deduplicator 8 识别、删除重复样本
Selector 4 基于排序选取高质量样本
Grouper 2 将样本分组,每一组组成一个批量样本
Aggregator 3 对批量样本进行汇总,如得出总结或结论

下面列出所有具体算子,每种算子都通过多个标签来注明其主要功能。

  • 领域标签
    • General: 一般用途
    • LaTeX: 专用于 LaTeX 源文件
    • Code: 专用于编程代码
    • Financial: 与金融领域相关
  • 模态标签
    • Text: 专用于文本
    • Image: 专用于图像
    • Audio: 专用于音频
    • Video: 专用于视频
    • Multimodal: 专用于多模态
  • 语言标签
    • en: 英文
    • zh: 中文
  • 资源标签
    • CPU: 只需要 CPU 资源 (默认)
    • GPU: 额外需要 GPU/CUDA 资源

Formatter

算子 标签 描述 源码 单测样例
local_formatter General en zh 从本地文件准备数据集 code tests
remote_formatter General en zh 准备远端数据集 (如 HuggingFace) code tests
csv_formatter General en zh 准备本地 .csv 文件 code tests
tsv_formatter General en zh 准备本地 .tsv 文件 code tests
json_formatter General en zh 准备本地 .json, .jsonl, .jsonl.zst 文件 code -
parquet_formatter General en zh 准备本地 .parquet 文件 code tests
text_formatter General en zh 准备其他本地文本文件(完整的支持列表 code -
empty_formatter General 准备一个空数据集 code tests
mixture_formatter General en zh 处理可支持本地文件的混合 code tests

Mapper

算子 标签 描述 源码 单测样例
audio_ffmpeg_wrapped_mapper Audio 运行 FFmpeg 语音过滤器的简单封装 code tests
calibrate_qa_mapper General Text en zh 根据参考文本校准问答对 code tests
calibrate_query_mapper General Text en zh 根据参考文本校准问答对中的问题 code tests
calibrate_response_mapper General Text en zh 根据参考文本校准问答对中的回答 code tests
chinese_convert_mapper General Text zh 用于在繁体中文、简体中文和日文汉字之间进行转换(借助 opencc code tests
clean_copyright_mapper Code Text en zh 删除代码文件开头的版权声明 (必须包含单词 copyright) code tests
clean_email_mapper General Text en zh 删除邮箱信息 code tests
clean_html_mapper General Text en zh 删除 HTML 标签并返回所有节点的纯文本 code tests
clean_ip_mapper General Text en zh 删除 IP 地址 code tests
clean_links_mapper General Text Code en zh 删除链接,例如以 http 或 ftp 开头的 code tests
expand_macro_mapper LaTeX Text en zh 扩展通常在 TeX 文档顶部定义的宏 code tests
extract_entity_attribute_mapper General Text en zh 给定主体和属性名,从文本中抽取主体的属性 code tests
extract_entity_relation_mapper General Text en zh 从文本中抽取知识图谱的实体和关系 code tests
extract_event_mapper General Text en zh 从文本中抽取出事件和事件相关人物 code tests
extract_keyword_mapper General Text en zh 构造文本的关键词 code tests
extract_nickname_mapper General Text en zh 抽取昵称称呼关系 code tests
extract_support_text_mapper General Text en zh 为一段总结抽取对应原文 code tests
fix_unicode_mapper General Text en zh 修复损坏的 Unicode(借助 ftfy code tests
generate_qa_from_examples_mapper General Text en zh GPU 根据种子数据,生成新的对话样本。 code tests
generate_qa_from_text_mapper General Text en zh GPU 从文本中生成问答对 code tests
image_blur_mapper Image 对图像进行模糊处理 code tests
image_captioning_from_gpt4v_mapper Multimodal 基于gpt-4-vision和图像生成文本 code -
image_captioning_mapper Multimodal GPU 生成样本,其标题是根据另一个辅助模型(例如 blip2)和原始样本中的图形生成的。 code tests
image_diffusion_mapper Multimodal GPU 用stable diffusion生成图像,对图像进行增强 code tests
image_face_blur_mapper Image 对图像中的人脸进行模糊处理 code tests
image_tagging_mapper Multimodal GPU 从输入图片中生成图片标签 code tests
nlpaug_en_mapper General Text en 使用nlpaug库对英语文本进行简单增强 code tests
nlpcda_zh_mapper General Text zh 使用nlpcda库对中文文本进行简单增强 code tests
optimize_qa_mapper General Text en zh GPU 指令优化,优化问题和答案 code tests
optimize_query_mapper General Text en zh GPU 指令优化,优化 query code tests
optimize_response_mapper General Text en zh GPU 指令优化,优化 response code tests
pair_preference_mapper General Text en zh 构造配对的偏好样本 code tests
punctuation_normalization_mapper General Text en zh 将各种 Unicode 标点符号标准化为其 ASCII 等效项 code tests
python_file_mapper General Text en zh 执行文件中定义的 Python 函数处理样本 code tests
python_lambda_mapper General Text en zh 执行 Python lambda 函数处理样本 code tests
relation_identity_mapper General Text en zh 识别一段文本中两个实体之间的关系 code tests
remove_bibliography_mapper LaTeX Text en zh 删除 TeX 文档的参考文献 code tests
remove_comments_mapper LaTeX Text en zh 删除 TeX 文档中的注释 code tests
remove_header_mapper LaTeX Text en zh 删除 TeX 文档头,例如标题、章节数字/名称等 code tests
remove_long_words_mapper General Text en zh 删除长度超出指定范围的单词 code tests
remove_non_chinese_character_mapper General Text en zh 删除样本中的非中文字符 code tests
remove_repeat_sentences_mapper General Text en zh 删除样本中的重复句子 code tests
remove_specific_chars_mapper General Text en zh 删除任何用户指定的字符或子字符串 code tests
remove_table_text_mapper General Text Financial en 检测并删除可能的表格内容(:warning: 依赖正则表达式匹配,因此很脆弱) code tests
remove_words_with_incorrect_ substrings_mapper General Text en zh 删除包含指定子字符串的单词 code tests
replace_content_mapper General Text en zh 使用一个指定的替换字符串替换文本中满足特定正则表达式模版的所有内容 code tests
sentence_split_mapper General Text en 根据语义拆分和重组句子 code tests
text_chunk_mapper General Text en zh 对文本进行分片处理 code tests
video_captioning_from_audio_mapper Multimodal GPU 基于 Qwen-Audio 模型根据视频的音频流为视频生成新的标题描述 code tests
video_captioning_from_frames_mapper Multimodal GPU 生成样本,其标题是基于一个文字生成图片的模型和原始样本视频中指定帧的图像。不同帧产出的标题会拼接为一条单独的字符串。 code tests
video_captioning_from_summarizer_mapper Multimodal GPU 通过对多种不同方式生成的文本进行摘要以生成样本的标题(从视频/音频/帧生成标题,从音频/帧生成标签,...) code tests
video_captioning_from_video_mapper Multimodal GPU 生成样本,其标题是根据另一个辅助模型(video-blip)和原始样本中的视频中指定帧的图像。 code tests
video_extract_frames_mapper Multimodal GPU 从视频中抽帧。 code tests
video_face_blur_mapper Video 对视频中的人脸进行模糊处理 code tests
video_ffmpeg_wrapped_mapper Video 运行 FFmpeg 视频过滤器的简单封装 code tests
video_remove_watermark_mapper Video 去除视频中给定区域的水印 code tests
video_resize_aspect_ratio_mapper Video 将视频的宽高比调整到指定范围内 code tests
video_resize_resolution_mapper Video 将视频映射到给定的分辨率区间 code tests
video_split_by_duration_mapper Video 根据时长将视频切分为多个片段 code tests
video_split_by_key_frame_mapper Video 根据关键帧切分视频 code tests
video_split_by_scene_mapper Video 将视频切分为场景片段 code tests
video_tagging_from_audio_mapper Multimodal GPU 从视频提取的音频中生成视频标签 code tests
video_tagging_from_frames_mapper Multimodal GPU 从视频提取的帧中生成视频标签 code tests
whitespace_normalization_mapper General Text en zh 将各种 Unicode 空白标准化为常规 ASCII 空格 (U+0020) code tests

Filter

算子 标签 描述 源码 单测样例
alphanumeric_filter General Text en zh 保留字母数字比例在指定范围内的样本 code tests
audio_duration_filter Audio 保留包含音频的时长在指定范围内的样本 code tests
audio_nmf_snr_filter Audio 保留包含音频信噪比SNR(基于非负矩阵分解方法NMF计算)在指定范围内的样本 code tests
audio_size_filter Audio 保留包含音频的大小(bytes)在指定范围内的样本 code tests
average_line_length_filter Code Text en zh 保留平均行长度在指定范围内的样本 code tests
character_repetition_filter General Text en zh 保留 char-level n-gram 重复比率在指定范围内的样本 code tests
flagged_words_filter General Text en zh 保留使标记字比率保持在指定阈值以下的样本 code tests
image_aesthetics_filter Image GPU 保留包含美学分数在指定范围内的图像的样本 code tests
image_aspect_ratio_filter Image 保留样本中包含的图片的宽高比在指定范围内的样本 code tests
image_face_count_filter Image 保留样本中包含的图片中检测到的人脸数目在指定范围内的样本 code tests
image_face_ratio_filter Image 保留样本中包含的图片的最大脸部区域在指定范围内的样本 code tests
image_nsfw_filter Image GPU 保留包含NSFW分数在指定阈值之下的图像的样本 code tests
image_pair_similarity_filter Image GPU 保留图像特征余弦相似度(基于CLIP模型)在指定范围内的样本 code tests
image_shape_filter Image 保留样本中包含的图片的形状(即宽和高)在指定范围内的样本 code tests
image_size_filter Image 保留样本中包含的图片的大小(bytes)在指定范围内的样本 code tests
image_text_matching_filter Multimodal GPU 保留图像-文本的分类匹配分(基于BLIP模型)在指定范围内的样本 code tests
image_text_similarity_filter Multimodal GPU 保留图像-文本的特征余弦相似度(基于CLIP模型)在指定范围内的样本 code tests
image_watermark_filter Image GPU 保留包含有水印概率在指定阈值之下的图像的样本 code tests
language_id_score_filter General Text en zh 保留特定语言的样本,通过预测的置信度得分来判断 code tests
maximum_line_length_filter Code Text en zh 保留最大行长度在指定范围内的样本 code tests
perplexity_filter General Text en zh 保留困惑度低于指定阈值的样本 code tests
phrase_grounding_recall_filter Multimodal GPU 保留从文本中提取的名词短语在图像中的定位召回率在一定范围内的样本 code tests
special_characters_filter General Text en zh 保留 special-char 比率的在指定范围内的样本 code tests
specified_field_filter General Text en zh 根据字段过滤样本,要求字段的值处于指定目标中 code tests
specified_numeric_field_filter General Text en zh 根据字段过滤样本,要求字段的值处于指定范围(针对数字类型) code tests
stopwords_filter General Text en zh 保留停用词比率高于指定阈值的样本 code tests
suffix_filter General en zh 保留包含特定后缀的样本 code tests
text_action_filter General Text en zh 保留文本部分包含动作的样本 code tests
text_entity_dependency_filter General Text en zh 保留文本部分的依存树中具有非独立实体的样本 code tests
text_length_filter General Text en zh 保留总文本长度在指定范围内的样本 code tests
token_num_filter General Text en zh GPU 保留token数在指定范围内的样本 code tests
video_aesthetics_filter Video GPU 保留指定帧的美学分数在指定范围内的样本 code tests
video_aspect_ratio_filter Video 保留包含视频的宽高比在指定范围内的样本 code tests
video_duration_filter Video 保留包含视频的时长在指定范围内的样本 code tests
video_frames_text_similarity_filter Multimodal GPU 保留视频中指定帧的图像-文本的特征余弦相似度(基于CLIP模型)在指定范围内的样本 code tests
video_motion_score_filter Video 保留包含视频的运动分数(基于稠密光流)在指定范围内的样本 code tests
video_motion_score_raft_filter Video 保留包含视频的运动分数(基于 RAFT 模型估计的稠密光流)在指定范围内的样本 code tests
video_nsfw_filter Video GPU 保留包含视频的NSFW分数在指定阈值之下的样本 code tests
video_ocr_area_ratio_filter Video GPU 保留包含视频的特定帧中检测出的文本的面积占比在指定范围内的样本 code tests
video_resolution_filter Video 保留包含视频的分辨率(包括横向分辨率和纵向分辨率)在指定范围内的样本 code tests
video_watermark_filter Video GPU 保留包含视频有水印的概率在指定阈值之下的样本 code tests
video_tagging_from_frames_filter Multimodal GPU 保留包含具有给定标签视频的样本 code tests
words_num_filter General Text en zh 保留字数在指定范围内的样本 code tests
word_repetition_filter General Text en zh 保留 word-level n-gram 重复比率在指定范围内的样本 code tests

Deduplicator

算子 标签 描述 源码 单测样例
document_deduplicator General Text en zh 通过比较 MD5 哈希值在文档级别对样本去重 code tests
document_minhash_deduplicator General Text en zh 使用 MinHashLSH 在文档级别对样本去重 code tests
document_simhash_deduplicator General Text en zh 使用 SimHash 在文档级别对样本去重 code tests
image_deduplicator Image 使用文档之间图像的精确匹配在文档级别删除重复样本 code tests
video_deduplicator Video 使用文档之间视频的精确匹配在文档级别删除重复样本 code tests
ray_document_deduplicator General Text en zh 通过比较 MD5 哈希值在文档级别对样本去重,面向RAY分布式模式 code -
ray_image_deduplicator Image 使用文档之间图像的精确匹配在文档级别删除重复样本,面向RAY分布式模式 code -
ray_video_deduplicator Video 使用文档之间视频的精确匹配在文档级别删除重复样本,面向RAY分布式模式 code -

Selector

算子 标签 描述 源码 单测样例
frequency_specified_field_selector General en zh 通过比较指定字段的频率选出前 k 个样本 code tests
random_selector General en zh 随机筛选 k 个样本 code tests
range_specified_field_selector General en zh 通过比较指定字段的值选出指定范围的 k 个样本 code tests
topk_specified_field_selector General en zh 通过比较指定字段的值选出前 k 个样本 code tests

Grouper

算子 标签 描述 源码 单测样例
key_value_grouper General Text en zh 根据给定键的值将样本分组,每一组组成一个批量样本。 code tests
naive_grouper General Text en zh 将所有样本分为一个组,返回一个批量样本 code tests

Aggregator

算子 标签 描述 源码 单测样例
entity_attribute_aggregator General Text en zh 从一些文本中总结出给定实体的属性 code tests
most_relavant_entities_aggregator General Text en zh 从一些文本中抽取出与给定实体密切相关的实体,按重要性从高到低排序 code tests
nested_aggregator General Text en zh 考虑到输入长度的限制,对样本中的内容进行嵌套聚合。 code tests

贡献

我们欢迎社区贡献新的算子,具体请参考开发者指南