创建数据清洗任务
更新时间:2024-02-26
功能介绍
用于创建数据清洗任务。在千帆平台创建一个数据清洗任务,需要提供源数据集版本 ID source_dataset_id ,目标数据集版本 ID destination_dataset_id 和数据清洗使用的算子参数字典 operations。
注意事项
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
调用示例
import os
from qianfan.resources import Data
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = Data.create_dataset_etl_task(
"ds-9tff1q3h7ngdmgh4", "ds-3tfe1q3g7ncdmsh2", {"clean": [], "filter": [], "deduplication": [], "desensitization": []}
)
print(resp)
返回示例
QfResponse(
code=200,
headers={...},
body={
"log_id": "kgqdnsgm82u1cjh3",
"result": True,
"status": 200,
"success": True
},
)
参数说明
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
source_dataset_id | 是 | string | 清洗前的源数据集版本ID,说明: 该字段新增支持string类型;如果之前接入时使用的int类型,建议变更为string类型,后续将逐渐废弃int类型 |
destination_dataset_id | 是 | string | 清洗后的目标数据集版本ID,说明: 说明:该字段新增支持string类型;如果之前接入时使用的int类型,建议变更为string类型,后续将逐渐废弃int类型 |
operations | 是 | Dict[str, List[Dict[str, Any]]] | 清洗配置 ,说明: (1)key为string,需包括以下值: · 清洗:clean · 过滤:filter · 去重:deduplication · 去隐私:desensitization (2)value为list,值为单个阶段用户所选择的所有算子组成的列表 · 列表中的每个元素,对应某个算子的配置,格式参考operation 说明 · 如果用户没有在对应阶段选择任何算子,则value为空列表 |
operation 说明
名称 | 类型 | 描述 |
---|---|---|
name | string | 算子名称,见各阶段name值和args值 (1)Clean清洗阶段算子 · remove_emoji:去除文档中的表情等 · remove_invisible_character:移除ASCII中的一些不可见字符, 如0-32 和127-160这两个范围 · replace_uniform_whitespace:将不同的unicode空格比如 u2008,转成正常的空格 · remove_non_meaning_characters:去除乱码和无意义的unicode · replace_traditional_chinese_to_simplified:繁体转简体,如“不經意,妳的笑容”清洗成“不经意,你的笑容” · remove_web_identifiers:移除文档中的html标签,如 <html>,<dev>,<p> 等 (2)Filter过滤阶段算子 · filter_check_number_words:检查文档的词数目,词数目不在指定范围会被过滤掉,如中文[1,10000] · filter_check_word_repetition_removal:检查文档的词重复率,如果词重复率太高,意味着文档中重复的词太多,文档会被过滤掉 · filter_check_character_repetition_removal:检查文档的字重复率,如果字重复率太高,意味着文档中重复的字太多,文档会被过滤掉 · filter_check_special_characters:检查文档的特殊字符率,如果特殊字符率太高,意味着文档中特殊字符太多,文档会被过滤掉 ·filter_check_flagged_words:检查文档的色情暴力词率,如果色情暴力词率太高,文档会被过滤掉 · filter_check_lang_id:检查文档的语言概率,如果语言概率太低,文档会被过滤掉 · filter_check_perplexity:检查文档的困惑度,如果困惑度太高,文档会被过滤掉 (3)Deduplication去重阶段算子 · deduplication_simhash:根据海明距离计算文档相似度, 相似度<=海明距离,认为两个文档相似。 (4)Desensitization 去隐私阶段算子 · replace_emails:去除email地址 · replace_ip:去除IPv4 或者 IPv6 地址 · replace_identifier:去除数字和字母数字标识符,如电话号码、信用卡号、十六进制散列等,同时跳过年份和简单数字的实例 |
args | Dict[str, Any] | 算子参数,格式随参数名称而变化,见各阶段name值对应的args说明: · 当name为Clean清洗阶段算子,args值为空 · 当name为Desensitization 去隐私阶段算子,args值为空 · 当name为Deduplication或Desensitization,请查看args说明 |
args说明
- 当name为Clean清洗阶段算子,args值为空
- 当name为Desensitization 去隐私阶段算子,args值为空
- 当name为Deduplication去重阶段算子,args说明如下
名称 | 类型 | 描述 |
---|---|---|
distance | int | 范围4-6 |
- 当name为Filter过滤阶段算子,args说明如下
名称 | 类型 | 描述 |
---|---|---|
number_words_min_cutoff | float | 最小词数目 · 范围为[1,10000] · 当name=filter_check_number_words,该字段必填 |
number_words_max_cutoff | float | 最大词数目 · 范围为[1,10000] · 当name=filter_check_number_words,该字段必填 |
word_repetition_max_cutoff | float | 文档的词重复率 · 范围为0-1 · 当name=filter_check_word_repetition_removal,该字段必填 |
default_character_repetition_max_cutoff | float | 文档的字重复率 · 范围为0-1 · 当name=filter_check_character_repetition_removal,该字段必填 |
special_characters_max_cutoff | float | 检查文档的特殊字符率,如果特殊字符率太高,意味着文档中特殊字符太多,文档会被过滤掉 · 范围为0-1 · 当name=filter_check_special_characters,该字段必填 |
flagged_words_max_cutoff | float | 检查文档的色情暴力词率,如果色情暴力词率太高,文档会被过滤掉 ·范围为0-1 · 当name=filter_check_flagged_words,该字段必填 |
lang_id_min_cutoff | float | 检查文档的语言概率,如果语言概率太低,文档会被过滤掉 · 范围为0-1 · 当name=filter_check_lang_id,该字段必填 |
perplexity_max_cutoff | float | 检查文档的困惑度,如果困惑度太高,文档会被过滤掉 ·范围为1-5000 · 当name=filter_check_perplexity,该字段必填 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 操作记录id |
result | bool | 清洗任务是否创建成功 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |