文本内容审核

文本内容审核用于识别文本内容包含的不良信息,给出审核结果和处理建议。

1. 功能描述

调用方提交审核文本,指定需要检测的类型,服务器同步返回调用结果。
目前支持的检测类型包括:敏感词识别。

检测类型及对应标签如下:

检测类型说明actionlabel
敏感词识别识别文本文件中的敏感违规内容antispamnormal:正常
terrorism:暴力恐怖
porn:色情低俗
illegal:违法违规
politics:涉政敏感
abuse:谩骂灌水
ad:广告欺诈
feudalism:封建迷信
religion:宗教敏感
affairs:时事舆情
contraband:违禁物品
minors:未成年人
banned-website:非法网址

2. 使用限制

限制类别说明
文本内容base64编码的UTF-8格式文本串
文本大小请求的每段文本长度不大于1000字符
字符格式送审字符格式必须为UTF-8
语种支持中文、英文、阿拉伯文,更多语种支持请联系技术支持
并发限制每秒最多可处理20个文本文件[20QPS],如需更高QPS并发,请联系技术支持
区域限制中国大陆,其他国家和地区支持,请联系商务支持

3. 接口说明

3.1 发起请求

使用HTTP POST方式发起审核请求

事项说明
请求方法POST
请求协议 HTTPS
请求域名ai.aivacom.com
请求路径app/{appid}/v1/text/sync?traceId=uuid-xxxx-xxxx-xxxx-xxxx
请求参数traceId为uuid字符串,用于排查问题时对账,建议每次请求使用不同值
请求头部Content-Type: application/json;charset=UTF-8
token: 鉴权token,生成方式参考身份认证
请求Bodyjson字符串,详细定义如下

表. body数据结构

名称类型是否必需描述
actions字符串数组检测类型,可选值包括:
- antispam
data[]JSON数组指定检测对象信息列表,JSON数组中每个元素是一段文字的描述信息(见下方请求data表)。
单次请求中最多可处理10段文本,每段文本长度不大于1000个字符。

表. 请求data

名称类型是否必需描述
dataId字符串对象唯一标识,如:uuid-xxxx-xxxx-xxxx-xxxx
dataType字符串数据类型
- URL: http/https开头的url地址
- BASE64: UTF-8格式文本base64编码串
content字符串待检测文本内容
dataType为URL,填写文本对应的url地址
dataType为BASE64,填写文本对应的base64编码串
extraJSON附加配置,定义见下方extra表
contextJSON用户自定义上下文数据,返回结果时自动带上。

表. extra

名称类型描述
lang字符串文本检测使用的语言,默认为中文,可选值:
- chinese:中文
- english:英文
- arabic:阿拉伯文

3.2 响应结果

响应内容为json对象,详细定义如下

名称类型是否必需描述
code整型请求错误码,点击详细定义
message字符串错误信息描述
traceId字符串透传请求参数中的traceId内容
requestId字符串系统针对本次检查请求生成的唯一标识
timestamp整型当前unix时间戳,单位秒
data[]JSON数组检测结果数据列表(具体结构见下方返回data表),数组中每一项表示一段文字的处理结果,在出错的情况下该字段可能为空。

表. 返回data

名称类型是否必需描述
code整型数据处理错误码,点击详细定义
message字符串错误描述信息
dataId字符串对应请求中的dataId
taskId字符串针对该检查对象多个检测类型生成的唯一任务标识
contextJSON对应请求中的context
results[]数组返回结果数据。调用成功时(code==200),返回结果中包含一个或多个元素。每个元素是一个结构体,具体结构见下方result表

表. result

名称类型是否必需描述
code整型检测错误码,点击详细定义
message字符串错误信息描述
action字符串检测类型,和调用请求中的检测类型(actions)一致。
label字符串检测结果标签,取值与action有关。具体取值参见上面审核类型及对应标签说明表
rate浮点数检测结果标签的概率,取值范围在[0.00 - 1.00],值越大,表示属于该分类的概率越大。
suggestion字符串建议您执行的操作,取值范围:
- pass: 正常,无需操作;
- review: 疑似,需要进一步人工审核
- block: 违规,建议做违规处罚;
extraData[]JSON数组扩展数据,包含命中的关键字、关键字类型等扩展信息,详见antispam-extraData表

表. antispam-extraData

名称类型是否必需描述
hintJson数组命中的关键字
label字符串命中的关键字所属类型
rate浮点数无意义,恒为"1.0"

4. 调用示例

以下是一个python的调用示例代码:

# -*- coding: utf-8 -*-
# ! python3.6

import requests
import uuid
import base64

host = "https://ai.aivacom.com"

appid = 123456789  # 您的业务ID
restful_id = '********************'  # 您的证书ID
restful_secret = '********************'  # 您的证书秘钥
traceid = str(uuid.uuid4())
dataid = str(uuid.uuid4())

# url
url = host + '/app/%s/v1/text/sync?traceId=%s' % (appid, traceid)

# headers
headers = {
    "content-type": "application/json"
}

auth = base64.b64encode(("%s:%s" % (restful_id, restful_secret)).encode('utf-8'))
headers['token'] = 'Base ' + auth.decode()

text = "欢迎使用文本审核接口!!"

# content
values = {
    'actions': ['antispam'],
    'data': [
        {
            'dataId': dataid,
            'dataType': 'BASE64',
            'content': base64.b64encode(text.encode('utf-8')).decode(),
            'extra': {'lang': 'chinese'},
            'context': {'uid': 12345, 'sid': 3467}
        }
    ]
}

# request
res = requests.post(url, json=values, headers=headers)
print('code=%s, data=%s\n' % (res.status_code, res.text))

响应内容

{
  "code": 200,
  "message": "OK",
  "traceId": "6b9e3020-8e6d-48aa-92ff-34ffd14c4ae1",
  "requestId": "f42b1ef4-4e39-41c0-9b39-497e27b8b8cf",
  "timestamp": 1584071473,
  "data": [
    {
      "code": 200,
      "message": "OK",
      "dataId": "714610f2-665d-459c-8880-98553ca2b4ca",
      "taskId": "c5f6fa3a-6af5-4d7b-bbe9-3af6a11c0ca8",
      "context": {
        "uid": 12345,
        "sid": 3467
      },
      "results": [
        {
          "action": "antispam",
          "code": 200,
          "extraData": [],
          "label": "normal",
          "message": "OK",
          "rate": 1,
          "suggestion": "pass"
        }
      ]
    }
  ]
}

5. 版本说明

版本时间说明
v1.0.02020-03-13初始版本
<