更新时间:2024-08-05 GMT+08:00
分享

文本内容审核(V3)

功能介绍

分析并识别上传的文本内容是否有敏感内容,并将识别结果返回给您。

  1. 相比于V2版本,V3版本增强了服务的审核能力,能够给您带来更好的内容审核使用体验。
  2. 当前仅支持中文内容审核,其他语言的文本审核暂不支持。
  3. 文本内容审核默认API调用最大并发为50,如需调整更高并发限制请联系华为专业工程师为您服务。
  4. 您可以配置自定义词库,来过滤和检测指定文本内容。自定义词库的创建和使用请参见配置自定义词库 V3

前提条件

在使用文本内容审核之前需要您完成服务申请和认证鉴权,具体操作流程请参见内容审核快速入门

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v3/{project_id}/moderation/text

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

Enterprise-Project-Id

String

企业项目ID。Moderation支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。

说明: 创建企业项目后,在传参时,有以下三类场景:

  • 携带正确的ID,正常使用Moderation服务,账单的企业项目会被分类到企业ID对应的企业项目中。
  • 携带格式正确但不存在的ID,正常使用Moderation服务,账单的企业项目会显示对应不存在的企业项目ID。
  • 不携带ID或格式错误ID(包含特殊字符等),正常使用Moderation服务,账单的企业项目会被分类到"default"中。
表3 请求Body参数

参数

是否必选

参数类型

描述

event_type

String

事件类型。可选值如下:

  • nickname: 昵称。
  • title: 标题。
  • article: 帖子。
  • comment: 评论。
  • barrage: 弹幕。
  • search: 搜索栏。
  • profile: 个人简介。

glossary_names

Array of strings

检测时使用的自定义黑名单词库列表。

说明:

自定义黑名单词库的创建和使用请参见配置自定义词库 V3

white_glossary_names

Array of strings

检测时使用的自定义白名单词库列表。

说明:

自定义白名单词库的创建和使用请参见配置自定义词库 V3

categories

Array of strings

文本审核场景,可选值如下:

  • terrorism:暴恐。
  • porn:色情。
  • ban:违禁。
  • abuse: 辱骂。
  • ad:广告。

当categories为空时,默认为所有审核场景。

data

TextDetectionDataReq object

检测数据。

biz_type

String

用户在控制台界面创建的自定义审核策略名称。

  • 如果请求参数中传了biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。
  • 如果用户没传biz_type则event_type必须传。
表4 TextDetectionDataReq

参数

是否必选

参数类型

描述

text

String

待检测文本,编码格式为“utf-8”,限定1500个字符以内,文本长度超过1500个字符时,只检测前1500个字符。

最小长度:1

最大长度:1500

language

String

支持检测的文本语言。可选值为zh:中文。

不传该参数表示默认为zh。

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

request_id

String

本次请求的唯一标识,用于问题排查,建议保存

最小长度:2

最大长度:64

result

TextDetectionResult object

调用成功时表示调用结果。

调用失败时无此字段。

表6 TextDetectionResult

参数

参数类型

描述

suggestion

String

审核结果是否通过。

block:包含敏感信息,不通过

pass:不包含敏感信息,通过

review:需要人工复检

label

String

检测结果的标签。支持label列表如下:

  • terrorism: 暴恐
  • porn: 色情
  • ban: 违禁
  • abuse: 辱骂
  • ad: 广告
  • customized:自定义(命中自定义词库中的关键词)

details

Array of TextDetectionResultDetail objects

检测详情。

表7 TextDetectionResultDetail

参数

参数类型

描述

suggestion

String

审核结果是否通过。

block:包含敏感信息,不通过

pass:不包含敏感信息,通过

review:需要人工复检

label

String

检测结果的标签。

支持label列表如下:

  • terrorism: 暴恐
  • porn: 色情
  • ban: 违禁
  • abuse: 辱骂
  • ad: 广告
  • customized:自定义(命中自定义词库中的关键词)

confidence

Float

置信度,取值范围 0-1,值越大,可信度越高。

segments

Array of Segment objects

命中的风险片段信息,如果命中了语义算法模型,则会返回一个空的列表。

表8 Segment

参数

参数类型

描述

segment

String

命中的风险片段。

glossary_name

String

命中的自定义词库名称。

命中自定义词库时,才会返回当前字段。

position

Array of integers

命中的风险片段在文本中的位置,起始位置从0开始。

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码,具体请参见错误码

调用成功时无此字段。

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

请求示例

“endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点

例如,服务部署在“华北-北京四”区域的“endpoint”“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/text”“project_id”为项目ID,获取方法请参见获取项目ID

  • 识别文本内容是否有敏感内容,事件类型为评论,命中的自定义词库名称为custom_xxx,检测时使用的自定义白名单词库列表为custom_xxx,检测文本为asdfasdfasdf。
    POST https://{endpoint}/v3/{project_id}/moderation/text
    
    {
      "event_type" : "comment",
      "glossary_names" : [ "custom_xxx" ],
      "white_glossary_names" : [ "custom_xxx" ],
      "data" : {
        "text" : "asdfasdfasdf"
      }
    }
  • 使用biz_type调用
    POST https://{endpoint}/v3/{project_id}/moderation/text
    
    {
      "biz_type" : "my_custom_type",
      "data" : {
        "text" : "asdfasdfasdf"
      }
    }

响应示例

状态码: 200

成功响应示例
{
  "request_id" : "58e7d9c7-3456-4ba1-80df-6f25506bc4df",
  "result" : {
     "suggestion" : "block",
     "label" : "customized",
     "details" : [ {
        "suggestion" : "block",
        "label" : "customized",
        "confidence" : 1,
        "segments" : [ {
            "segment" : "xxx",
            "glossary_name" : "zzz"
       } ]
     } ]
   }
}

状态码: 400

失败响应示例
{
  "error_code" : "AIS.0011",
  "error_msg" : "Lack the request parameter, or the request parameter is empty."
}

状态码

状态码

描述

200

成功响应示例。

400

失败响应示例。

错误码

请参见错误码

相关文档