华为云用户手册

  • 功能介绍 针对云服务没有构建知识图谱的现状,华为云为各类企业提供知识图谱服务,使用户通过配置化形式自动完成知识图谱的构建流程。知识图谱服务提供图谱创建、本体管理、图谱管理等功能,覆盖创建本体、配置数据源、选择本体、信息抽取、知识映射、知识融合、图谱质检等业务,具体功能如图1和表1所示。 图1 知识图谱流水线平台功能 表1 知识图谱功能说明 功能 说明 本体管理 支持创建本体。 支持查看、编辑本体信息。 支持导出本体。 模型管理 支持自定义信息抽取模型,利用模型进行信息抽取。 支持创建、发布信息抽取模型版本。 知识图谱管理 支持创建知识图谱流水线任务,生成知识图谱。 支持编辑知识图谱流水线任务信息,包括数据源选择、图谱本体配置、信息抽取配置、知识映射信息配置、知识融合信息配置、图谱质检配置。 支持增量数据,更新图谱。 支持图谱预览、图谱版本管理。
  • 编辑概念 右键单击概念图标,选择“编辑”。 或双击概念图标。 左侧弹出概念编辑框。 在概念编辑框中,按表1编辑“概念名称”、“Icon”和“属性”。 图2 编辑概念 表1 编辑概念 参数 说明 概念名称 概念名称只能由大小写字母、数字、中文、下划线组成,长度为1-63位。 Icon 单击选择概念图标的颜色和样式,单击右侧的“更多”,可选择更多图标样式。 属性 编辑当前概念的属性。所有概念都默认有一个属性为“name”,且默认属性类型为“single_string”。 添加属性 单击“添加属性”可添加属性文本框,在文本框中填写属性的“名称”,选择“单值/多值”、“类型”、“操作”。 “名称”:属性名称只能由大小写字母、数字、中文、下划线组成,长度为1-63位。 “单值/多值”:选择当前属性是单值还是多值。 “类型”:选择属性的类型,“单值”可选类型有“single_string”、“single_int”、“single_double”、“single_bool”,“多值”可选类型有“set_string”、“set_int”、“set_double”。 填写完概念的属性后,单击“操作”列的,保存信息。 编辑属性 单击已有属性“操作”列的,可对属性的“名称”重新编辑,也可重新选择“单值/多值”、“类型”。 修改完属性后,单击“操作”列的,保存信息。 复制属性 单击已有属性“操作”列的,复制当前属性。 删除属性 单击已有属性“操作”列的,删除当前属性。 填完信息后,单击“保存”。
  • 功能区操作 创建本体界面右上角的功能区,可基于当前本体进行一系列操作。 图10 功能区 表2 功能区操作 图标 说明 保存当前界面的概念节点和关系曲线。 清空界面,即清空当前界面的概念节点和关系曲线。 导出当前界面的概念节点和关系曲线至OBS。导出前需要提前创建好OBS桶,详情请见OBS添加桶。 单击图标,在导出本体的对话框中填写“导出文件名”,选择“OBS桶”和“存储路径”,然后单击“确定”。 导出文件名 填写导出本体的文件名。 OBS桶 选择存放本体文件的OBS桶。需保证您的OBS桶与KG服务在同一区域,桶的存储类别为“标准存储”。 存储路径 选择存放本体文件的OBS路径。 从OBS导入本体。导入前将待导入的本体文件(json格式)上传至OBS中,详情请参见OBS添加桶和OBS上传文件或文件夹。 说明: 此处导入的本体会覆盖当前正在编辑的本体。 单击图标,在导入本体的对话框中选择“OBS桶”和“存储路径”,然后单击“确定”。 OBS桶 选择提前准备的本体文件存放的OBS桶。需保证您的OBS桶与KG服务在同一区域,桶的存储类别为“标准存储”。 存储路径 选择提前准备的本体文件存放在OBS桶中的路径。 单击图标可查看创建本体所有操作的快捷键。 单击图标放大本体。 单击图标缩小本体。 单击图标使本体以适配大小显示。 单击图标撤销上一个操作。 单击图标恢复上一个已撤销的操作。
  • 示例 以一个电影实体为例,抽取信息前后的实体信息如图2所示,代码示例如下所示: 图2 信息抽取 { "ie_type": "function", "function_ie_configs": { "default_config": true, "ie_configs": { "Person": [ { "key": "identifier", "value_function": "${url}" }, { "key": "中文名", "value_function": "regexp_replace(${中文名}, '\\(\\[link\\]@.*?:(/film.*?)\\)', '')" }, { "key": "国籍", "value_function": "regexp_replace(${国籍}, '\\(\\[link\\]@.*?:(/film.*?)\\)', '')" }, { "key": "职业", "value_function": "${职业}" }, { "key": "出生日期", "value_function": "${出生日期}" }, { "key": "url", "value_function": "${url}" } ], "Film": [ { "key": "identifier", "value_function": "${url}" }, { "key": "中文名", "value_function": "${中文名}" }, { "key": "票房", "value_function": "${票房}" }, { "key": "上映时间", "value_function": "${上映时间}" }, { "key": "导演", "value_function": "regexp_extract_all(${导演}, '\\(\\[link\\]@.*?:(/film.*?)\\)', 1)" }, { "key": "主演", "value_function": "regexp_extract_all(${主演}, '\\(\\[link\\]@.*?:(/film.*?)\\)', 1)" }, { "key": "url", "value_function": "${url}" } ] } }}
  • 操作步骤 在普通配置构建图谱页面,单击“信息抽取”,页面下方弹出“信息抽取”对话框,单击右侧按钮可以放大对话框。 在“信息抽取”对话框中,“抽取方式”选择“结构化抽取”,“编辑方式”选择“代码编辑”。 图1 信息抽取 选择“默认抽取”开关。 图标说明开关处于开启状态。开启后,在每个数据类别中,为每个数据字段建立同名抽取项,抽取函数为${数据字段名}。 图标说明开关处于关闭状态,需要编辑json格式代码。 在“信息抽取”对话框下方编辑json格式代码。 在“代码编辑”页签编辑json代码配置信息抽取时,可单击“交互界面”,切换至“交互界面”页签,查看信息抽取前后的相关字段。 单击“保存”,完成信息抽取。 如果创建多个数据源,请完成所有数据源的信息抽取配置。配置数据源请参见配置数据源。
  • 进入全量更新页面 登录KG服务管理控制台,默认进入“我的图谱”页面。 在“我的图谱”页面,单击图谱卡片。 进入图谱详情页面。 单击右上角的“全量更新”,根据自身业务选择更新方式,可选“普通配置构建”“智能一键构建”和“图谱导入”。 普通配置构建:通过配置数据源、配置图谱本体、配置信息抽取、配置知识映射、知识融合、图谱质检等流水线步骤,构建新的知识图谱。 智能一键构建:只需提供新的源数据,无需创建本体等其他配置,快速构建新的知识图谱。 图谱导入:对于导出的图谱版本,通过图谱导入可以快速恢复图谱版本。
  • 背景介绍 知识融合是指融合来自多个数据来源的关于同一个实体或概念的描述信息,对来自不同数据源的知识在统一规范下进行异构数据整合、消歧。 如图1所示的两条数据,这两条数据中的“元鲜”实际上是同一个人,因此需要对这两条数据进行融合。 图1 知识融合示例 配置知识融合后,知识图谱服务会对数据按配置规则进行知识融合。但是融合结果不一定完全正确,需要经过融合验证,判断融合的数据是否描述的是同一个实体或概念。
  • 操作步骤 登录KG服务管理控制台,默认进入“我的图谱”页面,在“我的图谱”页面单击图谱卡片,进入图谱详情页。 默认进入“在线版本图谱”页签,等待图谱运行完成,单击“操作”列的“验证”,进入“随机验证”页面。 仅创建图谱版本时,进行知识融合的图谱版本可进行验证操作。 配置知识融合后,如果存在被融合的实体,“版本验证”页面有随机采样的部分融合样例。如果不存在被融合的实体,“版本验证”页面就没有融合样例。 图2 版本验证 在“随机验证”页面,针对随机采样的部分融合样例,您如果认可融合的结果,单击,如果不认可,单击。 右侧可查看融合验证的结果,包含“准确率”、“准确数”、“不准确数”、“不确定数”。 图3 融合验证
  • 版本统计 基本信息 可查看当前已有图谱版本的上线个数、未上线个数、增量更新次数、全量更新次数和发布次数。 图谱版本 图谱版本列表,包括“版本名称”、“状态”、“实体个数”、“关系个数”、“更新时间”、“描述”、“操作”。 其中,操作包括“验证”、“发布”、“查看”、“删除”、“修改本体”。 验证:融合验证,详情请见配置知识融合。 发布:发布图谱版本。版本处于“已上线”状态时不能执行发布操作。详情请见发布图谱版本。 查看流水线:查看图谱创建流程的配置信息,详情请见查看流水线。 删除:可删除当前图谱版本。版本处于“已上线”状态时不能执行删除操作,详情请见删除图谱版本。 查看本体:查看图谱的本体信息结构。 修改本体:可基于已有图谱,修改本体的信息结构,详细操作请见查看/修改本体。 基于已有图谱修改本体,是指在已有本体基础上新建一个新的本体。 基于已有图谱修改本体,不能修改已有属性的类型。 更新日志 可查看日志更新列表,包括“运行编号”、“事件类型”、“本体”、“状态”、“开始时间”、“结束时间”、“操作”。
  • 预览图谱 在图谱预览页面,您可以查看到所搜索的实体信息。 图3 预览图谱 功能区 “预览图谱”页面右侧有功能区可进行如下操作。 :查看历史操作记录。 :放大查看图谱实体。 :缩小查看图谱实体。 :适配比例查看图谱。 :查看局部图谱的实体信息。 :以不同布局方式查看图谱和实体。 :保存图谱或实体图片至本地。如果下载的界面字体太小,请滚动鼠标调整字体大小。 新建 “预览图谱”页面左上角可在当前图谱基础上,新建实体或实体间的关系,详情请见新建实体/关系。 运行记录和查询结果 “预览图谱”页面下方“运行记录”页签可查看在预览图谱页面的查询记录,“查询结果”页签可查看在预览图谱页面查询实体的JSON格式信息。 Gremlin “预览图谱”页面下方用Gremlin语句查询实体,例如希望随机查看10个实体,则输入命令g.V().limit(10) ,随机查看10条关系,则输入命令g.E().limit(10)。 使用Gremlin语句查询当前暂不支持TinkerPop3.4中原生支持的模糊搜索功能,例如startingWith、endingWith、containing等查询。
  • 进入图谱预览页面 登录KG服务管理控制台,默认进入“我的图谱”页面。 在“我的图谱”页面,单击已创建图谱的名称,进入图谱详情页面。 图1 图谱详情 单击“预览图谱”,选择匹配方式: 图2 选择匹配方式 选择“完全匹配”,输入“实体名称”,按回车进入图谱预览页面,预览该实体的知识图谱。 选择“模糊匹配”,输入实体名称部分字段,按回车进入图谱预览页面,预览实体名称含该字段的所有实体的知识图谱。 举例:某电影相关图谱,输入某一具体的电影名称,按回车进入图谱预览页面,预览该电影的知识图谱。 预览知识图谱时,在右侧工具栏中,可以执行以下操作: 单击,可以查看历史操作。 单击,可以放大图谱画面。 单击,可以缩小图谱画面。 单击,可以恢复图谱画面至原始比例。 单击,可以查看图例。 单击,可以查看与该实体有关系的局部图谱数据。 单击,可以查看力引导布局的图谱。 单击,可以查看圆形布局的图谱。 单击,可以查看网格布局的图谱。 单击,可以查看分层布局的图谱。 单击,可以查看自动分群布局的图谱。 单击,可以下载当前图谱画面。
  • 配置方式 信息抽取分为结构化抽取和非结构化抽取,其适用范围和抽取方式如表1所示。 表1 配置方式说明 配置方式 适用范围 具体方式 操作指引 结构化抽取 基础数据格式为xlsx、csv、json格式 交互界面配置:通过输入实体类型、抽取函数及抽取前后的数据字段,完成信息抽取配置。 所支持的信息抽取函数请见信息抽取函数。 交互界面配置 代码编辑:将交互界面中的配置转换为json格式配置,通过编辑json配置信息,完成信息抽取配置。 所支持的信息抽取函数请见信息抽取函数。 代码编辑 非结构化抽取 基础数据格式为txt文本的自然语言短句 通过选择合适的算法,完成信息抽取配置。 可选择已有的预置模型模板,也可选择您自定义的模型。 非结构化抽取 在通过结构化抽取方式进行信息抽取时,交互界面配置与代码编辑配置可以相互切换。 信息抽取配置完成后,鼠标悬浮在信息抽取方框区域,显示清空图标,单击后可一键清空信息抽取配置。
  • 操作步骤 在普通配置构建图谱页面,单击“图谱本体”。 页面下方弹出图谱本体配置对话框,单击右侧按钮可以放大对话框。 选择左侧“我的库”页签,在“图谱本体组件”中拖拽合适的本体到虚线框中,单击“保存”,完成本体选择。 “我的库”页签下的“图谱本体组件”呈现的是“我的图谱资产库”中“本体管理”页面创建或OBS导入的所有本体。 “公有库”页签下的“图谱本体组件”呈现的是KG服务预置的本体,如果有满足您需求的本体,您也可以直接拖拽使用。 可单击页面右下角的“编辑”,进入本体修改页面,修改后的本体将保存至“我的库”。 图1 图谱本体 图谱本体配置完成后,鼠标悬浮在图谱本体方框区域,显示清空图标,单击后可一键清空图谱本体配置。
  • 训练模型框架介绍 KG服务提供不同类型的关系抽取模型,以应对用户不同的条件与需求。 KG服务当前提供以下训练模型框架供您自定义模型: DGCNN是一个较为复杂的端到端关系抽取模型,它在使用BERT模型建模语言关系的基础上,利用DGCNN网络额外使用了文本的分词词性信息,这使得它对于待抽取实体的边界识别能力很强。但复杂的模型意味着更多的标注数据需求,推荐平均每类关系三元组标注数据在400以上,所有标注文本样本数量在8000以上。 MRC-BM-v2是一个非常简单的、基于BERT模型、端到端的关系抽取模型,它对于标注数据量的要求非常低,平均每个关系仅需要200组左右标注数据即可训练出一个较好(实测F1值在0.7左右)的模型,平均每个关系标注数据在2000左右模型训练效果达到一个峰值(实测F1值在0.8左右),数据量越多,质量越好,效果会越好。 MRC-BM是旧版本的模型,为兼容保留,新创建模型请使用MRC-BM-v2。
  • 训练数据类型介绍 在创建抽取模型时,需要您提前准备训练数据上传至OBS目录。KG服务当前支持的数据类型包括“Dataset”、“Brat”、“ModelArts”。 Dataset DATASET数据需要用户指定的文件夹中包含两个指定格式与名称的文件:schema.json和train_data.json。前者用来指定需要抽取的关系三元组类型,后者用来存放所有的标注数据。 schema.json一行一句json字符串,表示一种关系三元组类型:“predicate”表示谓词,“subject”表示主语类型,“object”表示宾语类型。例如: {"predicate": "出生地", "subject": "人物", "object": "地点"} train_data.json一行一句json字符串,表示一条标注数据。其中“text”是文本,“spo_list”是spo三元组的list,每个spo三元组包含7个元素,“predicate”为三元组谓词,“object_type”为宾语类型,“subject_type”为主语类型,“object_position”为宾语在文中出现的位置,“subject_position”为主语在文中出现的位置,“object”为宾语词,“subject”为主语词。例如: {"text":"比如钱钟书和杨绛、鲁迅和许广平都只有一个子女","spo_list":[{"predicate":"妻子","object_type":"人物","subject_type":"人物","object":"杨绛","subject":"钱钟书","subject_position":2,"object_position":6},{"predicate":"丈夫","object_type":"人物","subject_type":"人物","object":"钱钟书","subject":"杨绛","subject_position":6,"object_position":2}]} Brat BRAT是一个开源的文本标注工具,主要用于对文本的结构化标注,您可以前往官网下载。KG服务的预置模型框架支持直接利用BRAT关系三元组标注的结果来训练模型。注意您的标注任务仅限于BRAT的关系三元组标注,而且不要使用BRAT标注系统中的高级内容(如定义关系的自反性、传递性等)。 一个典型的BRAT文本标注结果文件夹包含如下文件:annotation.conf,file.txt,file.ann。其中annotation.conf是BRAT标注配置文件,file.txt是待标注文本文件,可以有多个,每个文本文件都有一个同名的file.ann文件作为标注结果文件。 Annotation.conf:配置文件需要满足BRAT标注系统的要求,一个典型的配置文件如下: [entities]人物Date图书作品[relations]出生日期 Arg1:人物,Arg2:Date作者 Arg1:图书作品,Arg2:人物[events][attributes] File.ann:用户上传文本文件同名的标注结果文件,上面标注后结果文件一般如下: 历史人物 54151 54153 蔡京T3153 Text 54181 54183 北宋人物 54151 54153 蔡京T3155 Date 54154 54164 1047年2月14日朝代 Arg1:T3152 Arg2:T3153出生日期 Arg1:T3154 Arg2:T3155
  • 增量更新图谱 登录KG服务管理控制台,默认进入“我的图谱”页面。 在“我的图谱”页面,单击图谱卡片。 进入图谱详情页面。 单击右上角的“增量更新”。 进入“增量更新”页面,通过配置数据源、配置信息抽取、配置知识映射、配置知识融合、配置图谱质检等流水线步骤,构建增量图谱。 在“增量更新”页面,依次完成数据源配置、信息抽取、知识映射、知识融合、图谱质检的配置,详细的操作指引请见表1。 “增量更新”页面入口与“创建知识图谱”页面入口不同,但是增量更新中的配置操作均与创建知识图谱操作相同。 增量更新不支持更新本体,仅支持预览本体。 图1 增量更新 表1 增量更新图谱操作 操作顺序 操作名称 操作指引 1 增加基础数据 配置数据源 2 更新信息抽取 配置信息抽取 3 更新知识映射 配置知识映射 4 更新知识融合 配置知识融合 5 更新图谱质检 配置图谱质检 配置完后,单击右上角的“生成图谱”。 跳至“我的图谱”页面,等待“运行状态”变为“可用”,即图谱构建完成。您可以单击已构建的图谱卡片,进入图谱详情页面查看图谱详情。
  • 信息抽取函数 结构化抽取适用于xlsx、csv、json格式的基础数据,选择结构化抽取方式信息抽取时,可分为交互界面配置和代码编辑。 在通过结构化抽取方式进行信息抽取时,即用交互界面配置或用代码编辑进行信息抽取时,需要配置引用字段的抽取函数。 KG服务支持的信息抽取函数如表1所示。其中,“字段”表示基础数据中的字段名,在抽取函数中引用字段时,使用格式为“${字段}”,例如抽取基础数据中属性“name”的字段,在抽取函数中引用字段的格式为“trim(${name})”。 表1 信息抽取函数说明表 抽取函数 函数说明 抽取函数示例 抽取前数据示例 抽取后数据示例 trim(字段) 裁剪字段前后的空白字符 trim(${name}) "name":" mike " "mike" substring (字段, int pos, int len) 获取从该字段值第pos个字符(从0开始)开始的长度为len的子串 substring (${id}, 1, 6) "id":"a000111" "000111" split(字段,string pattern ) 将字段值以pattern为分隔符分割,得到一个列表。pattern可以是一个正则表达式,所有与pattern匹配的子串都作为分隔符。 split(${roles}, ', ') "roles":"role1,role2" ["role1", "role2"] concat(字段1,字段2, ...) 将字段1、字段2...依次拼接成一个长字符串。此处字段值也可以是一个字符串常量。 concat(${name}, '--', ${id}) "name": "mike", "id": "a000111" "mike--a000111" regexp_replace(字段, string pattern, string replacement) 将字段值中与正则表达式pattern匹配的部分替换为replacement regexp_replace(${info}, 'hello', 'world') "info":"helloworld" "worldworld" upper(字段) 将字段中英文字母全部转为大写 upper(${name}) "name":"mike" "MIKE" lower(字段) 将字段中英文字母全部转为小写 lower(${name}) "name":"JOHN" "john" initcap(字段) 将字段中英文首字母转为大写 initcap(${city}) "city":"hangzhou" "Hangzhou" coalesce(字段1,字段2, ...) 返回字段1,字段2, ...中第一个不为空的字段 coalesce(${name},${名字}, ${中文名} ...) "name":" ", "名字":" ", "中文名”:"小明” “小明” parse_array(字段) 尝试将字段值解析为一个列表 parse_array(${list}) "list":["item1","item2"] ['item1','item2'] array_get(字段, int index) 获取列表类型的字段中的第index个值(index从0开始) array_get(parse_array(${list}), 0) "list":["item1","item2"] "item1" regexp_extract_all(字段, string pattern, int index) 提取出字段值中与正则表达式pattern匹配的子串。第三个参数index为可选参数,表示获取正则表达式匹配到的第index个捕获组。注意,index=0表示返回整个匹配的子串,index=1表示返回第一个捕获组。 regexp_extract_all(${info}, '(he)ll(o)', 1) "info":"helloworld" "he" 父主题: 结构化抽取
  • 操作步骤 在普通配置构建图谱页面,单击“知识映射”,页面下方弹出“知识映射”对话框,单击右侧按钮可以放大对话框。 图1 知识映射 “编辑方式”选择“代码配置模式”。 在“代码配置模式”页签的编辑框中,输入json格式代码,以映射关系如图2为例,代码示例如下所示: 图2 实体人物的映射关系 { "label_map_configs": { "Film": "电影", "Person": "人物" }, "property_map_configs": [ { "label": "电影", "source_keys": [ "票房" ], "target_key": "票房" }, { "label": "电影", "source_keys": [ "中文名" ], "target_key": "name" }, { "label": "电影", "source_keys": [ "上映时间" ], "target_key": "haha" }, { "label": "人物", "source_keys": [ "中文名" ], "target_key": "name" }, { "label": "人物", "source_keys": [ "国籍" ], "target_key": "国籍" }, { "label": "人物", "source_keys": [ "职业" ], "target_key": "职业" }, { "label": "人物", "source_keys": [ "出生日期" ], "target_key": "出生日期" } ], "relation_map_configs": [ { "source_label": "电影", "target_key": "电影:主演:人物", "source_keys": [ "中文名", "主演", "导演" ], "target_label": "人物" }, { "source_label": "电影", "target_key": "电影:导演:人物", "source_keys": [ "中文名", "主演", "导演" ], "target_label": "人物" } ]} 单击“保存”,完成配置知识映射。
  • 响应示例 状态码: 200 查询成功时返回作业状态和结果 { "job_id" : "01655654400_ad96b30f58cc40e8968e53f1f1e80021", "status" : "succeeded", "result" : { "suggestion" : "block", "details" : [ { "start_time" : 0, "suggestion" : "block", "end_time" : 10, "label" : "porn", "audio_text" : "xxxx", "segments" : [ { "segment" : "xxx" }, { "segment" : "xxx" }, { "segment" : "xxx" } ] }, { "start_time" : 30, "suggestion" : "block", "end_time" : 40, "label" : "porn", "audio_text" : "xxx", "segments" : [ { "segment" : "xx" } ] } ], "audio_text" : "xxxxxx" }, "request_params" : { "event_type" : "default", "data" : { "url" : "https://xxxx.wav" }, "callback" : "http://xxx", "categories" : [ "porn", "ad" ] }, "create_time" : "2022-06-20 11:05:29", "update_time" : "2022-06-20 11:07:08", "request_id" : "2419446b1fe14203f64e4018d12db3dd" } 状态码: 400 查询失败时返回错误原因 { "error_code" : "AIS.0030", "error_msg" : "Job not found" }
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/audio/jobs/{job_id}”,“project_id”为项目ID,获取方法请参见获取项目ID,“job_id”为创建作业成功时,接口返回的job_id。 GET https://{endpoint}/v3/{project_id}/moderation/audio/jobs/{job_id}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 作业id。 status String 作业状态,可取值有: running: 正在运行 succeeded: 运行成功 failed: 运行失败 result result object 作业审核结果,当作业状态为succeeded时存在。 request_params request_params object 作业创建参数。 create_time String 作业创建时间。 update_time String 作业更新时间。 request_id String 本次请求的唯一标识,用于问题排查,建议保存。 最小长度:2 最大长度:64 表4 result 参数 参数类型 描述 suggestion String 音频审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 details Array of details objects 审核详情。 audio_text String 音频文本内容。 表5 details 参数 参数类型 描述 start_time Float 音频片段开始时间。 suggestion String 音频片段审核处理建议。 block:包含敏感信息,不通过 review:需要人工复检 end_time Float 音频片段结束时间。 label String 音频片段标签。可选值如下: terrorism: 暴恐 porn: 色情 ban: 违禁 abuse: 辱骂 ad: 广告 moan: 娇喘 meaningless: 无意义 audio_text String 音频片段文本内容。 segments Array of segments objects 命中的风险片段信息列表,如果命中语义算法模型,则该字段不会存在。 表6 segments 参数 参数类型 描述 segment String 命中的风险片段。 表7 request_params 参数 参数类型 描述 event_type String 创建作业时传的event_type参数。 data data object 创建作业时传的data参数。 callback String 创建作业时传的callback参数。 categories Array of strings 创建作业时传的categories参数。 表8 data 参数 参数类型 描述 url String 创建作业时传的url参数。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 创建文档 内容审核 作业。 POST https://{endpoint}/v3/{project_id}/moderation/document/jobs{ "data" : { "url" : "xxx", "format" : "pdf" }, "event_type" : "default", "image_categories" : [ "porn", "image_text", "terrorism" ], "text_categories" : [ "default" ], "callback" : "http://xxx"}
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 request_id String 本次请求的唯一标识,用于问题排查,建议保存。 job_id String 作业唯一标识。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码: 200 成功响应示例 { "job_id" : "01661356800_7c0fe871f80543358917e4faebca4a48", "request_id" : "07490f57ac5e034c077ab25b5f9e1da5"} 状态码: 400 失败响应示例 { "error_code" : "AIS.0401", "error_msg" : "The input parameter event_type is incorrect."}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 data 是 data object 文档数据输入。 event_type 是 String 事件类型,可选值如下: default:默认事件 liberal_arts_education:文科教育 sciences_education:理科教育 news:新闻 forums:论坛 novels:小说 image_categories 否 Array of strings 文档中图片需要检测的风险类型,不传或为空时表示不审核图片内容, 可取值如下: porn:涉黄检测 terrorism: 暴恐检测 bad_scene: 不良场景检测 image_text: 图文检测 text_categories 否 Array of strings 文档中文本需要检测的风险类型,不传或为空时表示不审核文本内容, 可取值为default,表示检测暴恐、违禁、色情、辱骂、广告等违规内容。 video_image_categories 否 Array of strings 网页视频中图片需要检测的风险类型,不传或为空时表示不审核网页视频内容, 可取值如下: porn:涉黄检测 terrorism: 暴恐检测 bad_scene: 不良场景检测 image_text: 图文检测 audio_categories 否 Array of strings 网页视频中音频需要检测的风险类型,不传或为空时表示不审核网页视频中音频的内容, 可取值如下: porn:涉黄检测 ad:广告检测 abuse:辱骂检测 moan:娇喘检测 callback 否 String 该字段非空时,检测结果会回调通知您的URL。该字段为空时,您需要定时轮询获取检测结果。 说明: 您的callback接口需要支持POST方法; 回调数据格式,请参考查询文档内容审核作业的响应示例; 您的服务端callback接口收到内容安全发送的结果后,如果在响应超时时间3秒内返回的HTTP状态码为200,则表示接收成功。其他HTTP状态码或响应时间大于3秒后返回状态码均视为接收失败,接收失败时,内容安全将重复发送多次检测结果。 seed 否 String 用于回调通知时校验请求是由华为云内容安全服务发起,您可以自定义。值为随机字符串,由英文字母、数字、下划线组成,不超过64个字符。 说明: 当seed非空时,headers中将包含X-Auth-Signature字段,字段的值使用HmacSHA256算法生成,待加密字符串由create_time、job_id、request_id、seed按照顺序拼接而成,密钥为seed。 表4 data 参数 是否必选 参数类型 描述 url 是 String 文档url。目前支持:公网HTTP/HTTPS URL。 format 是 String 文档格式。可选值: docx/pdf/doc/xls/xlsx/ppt/pptx/pps/ppsx/ xltx/xltm/xlsb/xlsm/txt/csv/epub/webpage,如果format与文档实际格式不一致,则返回结果会报参数错误。 frame_interval 否 Integer 当需要审核网页视频时,视频截帧频率间隔,单位为秒,取值范围为1~60s,如果不传递默认5s截帧一次。
  • 响应示例 状态码: 200 成功响应示例 { "job_id" : "xxxxxx", "status" : "succeeded", "result" : { "suggestion" : "block", "details" : [ { "start_position" : 1, "end_position" : 10, "suggestion" : "block", "index" : 12, "label" : "porn", "type" : "text", "text" : "xxxxxxxxx", "segments" : [ { "segment" : "xxx" }, { "segment" : "xxx" }, { "segment" : "xxx" } ] } ] }, "request_params" : { "data" : { "url" : "https://xxxxx", "format" : "pdf" }, "event_type" : "default", "image_categories" : [ "porn", "image_text", "terrorism" ], "text_categories" : [ "default" ], "callback" : "http://xxx" }, "create_time" : "2022-07-30T08:57:11.011Z", "update_time" : "2022-07-30T08:57:14.014Z", "request_id" : "xxxx"} 状态码: 400 失败响应示例 { "error_code" : "AIS.0030", "error_msg" : "Job not found"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 作业id。 status String 作业状态,可取值有: running:正在运行 succeeded:运行成功 failed:运行失败 result result object 作业审核结果,当作业状态为succeeded时存在。 request_params request_params object 作业创建参数。 create_time String 作业创建时间。 update_time String 作业更新时间。 request_id String 本次请求的唯一标识,用于问题排查,建议保存。 表4 result 参数 参数类型 描述 suggestion String 文档审核结果是否通过。 block:包含敏感信息,不通过 review:需要人工复检 pass:不包含敏感信息,通过 details Array of details objects 审核详情。 表5 details 参数 参数类型 描述 suggestion String 当前内容片段的处置建议: block:包含敏感信息,不通过 review:需要人工复检 type String 当前内容片段的类型,可取值有: text:文本 image:图像 video:视频 label String 当前内容片段的风险类型,可取值为: terrorism:暴恐 porn:色情 sexy:性感 abuse:辱骂 ad:广告 qr_code:二维码 watermark:水印 meaningless:无意义 ban:违禁 bad_scene:不良场景 moan:娇喘 index Integer 当前处理的片段索引。 text String 当前内容片段中的文本内容,仅当type为text时存在。 start_position Integer 当前文本内容片段在输入中的起始位置,仅当type为text时存在。 end_position Integer 当前文本内容片段在输入中的结束位置,仅当type为text时存在。 image_url String 网页图片url,仅当type为image且文档格式为webpage时存在。 segments Array of segments objects 命中的风险片段信息列表,仅在有命中敏感词时才返回。 video_image_details Array of DocumentVideoImageDetail objects 网页视频中截帧部分审核详情。 audio_details Array of DocumentAudioDetail objects 网页视频中音频部分审核详情。 表6 segments 参数 参数类型 描述 segment String 命中的敏感词。 表7 DocumentVideoImageDetail 参数 参数类型 描述 time Float 截帧在视频文件中的时间,单位为秒。 suggestion String 截帧审核结果是否通过。 block:包含敏感信息,不通过 review:需要人工复检 ocr_text String 截帧检测出的文本。 label String 识别的详细标签。 segments Array of segments objects 命中的文本风险片段列表。 表8 segments 参数 参数类型 描述 segment String 命中的风险片段。 表9 DocumentAudioDetail 参数 参数类型 描述 start_time Float 音频片段开始时间。 end_time Float 音频片段结束时间。 suggestion String 音频片段审核处理建议。 block:包含敏感信息,不通过 review:需要人工复检 audio_text String 音频片段文本内容。 label String 音频片段标签。 segments Array of segments objects 命中的风险片段信息列表。 表10 segments 参数 参数类型 描述 segment String 命中的风险片段。 表11 request_params 参数 参数类型 描述 data data object 创建作业时传的data参数。 event_type String 创建作业时传的event_type参数。 image_categories Array of strings 创建作业时传的image_categories参数。 text_categories Array of strings 创建作业时传的text_categories参数。 video_image_categories Array of strings 创建作业时传的video_image_categories参数。 audio_categories Array of strings 创建作业时传的audio_categories参数。 callback String 创建作业时传的callback参数。 表12 data 参数 参数类型 描述 url String 创建作业时传的url参数。目前支持:公网HTTP/HTTPS URL。 format String 创建作业时传的format参数。 frame_interval Integer 创建作业时传的frame_interval参数。 状态码: 400 表13 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 创建视频流内容审核作业。 POST https://{endpoint}/v3/{project_id}/moderation/video-stream/jobs{ "data" : { "url" : "xxx", "frame_interval" : 3 }, "event_type" : "default", "image_categories" : [ "politics", "porn", "image_text", "terrorism" ], "audio_categories" : [ "porn", "ad", "politics", "moan", "abuse" ], "callback" : "xxx"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 data 是 data object 视频流数据输入。 event_type 是 String 事件类型,可选值为default,default表示默认事件。 image_categories 是 Array of strings 视频流中画面需要检测的风险类型,列表不能为空。 可选择的风险类型如下: porn:鉴黄内容的检测 terrorism:暴恐内容的检测 image_text:图文违规内容的检测(检测图片中出现的广告、色情、暴恐的文字违规内容以及二维码内容) audio_categories 否 Array of strings 视频流中音频需要检测的风险类型,不传或为空时表示不审核音频维度。 可选择的风险类型如下: porn:涉黄检测 abuse: 辱骂检测 ad: 广告检测 moan: 娇喘检测 callback 是 String 该字段非空时,检测结果会回调通知您的URL。视频流未结束时,检测片段违规时回调客户端,视频流结束时,检测片段违规或正常都将回调客户端。 说明: 您的callback接口需要支持POST方法; 回调数据格式,请参考查询视频内容审核作业的响应示例; 您的服务端callback接口收到内容安全发送的结果后,如果在响应超时时间3秒内返回的HTTP状态码为200,则表示接收成功。其他HTTP状态码或响应时间大于3秒后返回状态码均视为接收失败,接收失败时,内容安全将重复发送多次检测结果。 seed 否 String 用于回调通知时校验请求是由华为云内容安全服务发起,您可以自定义。值为随机字符串,由英文字母、数字、下划线组成,不超过64个字符。 说明: 当seed非空时,headers中将包含X-Auth-Signature字段,字段的值使用HmacSHA256算法生成,待加密字符串由create_time、job_id、request_id、seed按照顺序拼接而成,密钥为seed。 表4 data 参数 是否必选 参数类型 描述 url 是 String 视频流url,支持rtmp、rtmps、hls、http、https等主流协议。 frame_interval 否 Integer 截帧频率间隔,单位为秒,取值范围为1~60s;如果不传递默认5s截帧一次。
  • 响应示例 状态码: 200 成功响应示例 { "job_id" : "01661356800_7c0fe871f80543358917e4faebca4a48", "request_id" : "07490f57ac5e034c077ab25b5f9e1da5"} 状态码: 400 失败响应示例 { "error_code" : "AIS.0401", "error_msg" : "The input parameter event_type is incorrect."}
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全