文本批量检测
2024.09.25 11:34:06
接口地址
http://as.dun.163.com/v4/text/batch-check
接口描述
建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。
批量文本检测接口当前设计为检测前会统一对所有的文本参数做合法性校验,校验失败则此次提交失败,参数校验通过后,批量文本检测,最终每个文本会有对应的检测结果(该结果是业务性的错误,如文本检测超时、服务异常等),调用方可以根据dataId获取到每个文本的检测结果,所以批量接口中各个内容的dataId不能重复,否则调用方无确定对应文本的检测结果。
文本限制
单次批量提交 1-100条,每条 < 1万字符
请求参数
公共参数已省略,详细见 请求公共参数,其他参数如下:
基本参数
参数名称 | 数据类型 | 是否必填 | 取值范围 | 描述 |
---|---|---|---|---|
version | String | Y | v4 | 接口版本号,可选值 v4 |
checkLabels | String | N | 512 | String数组,可指定多个垃圾类别进行机器检测,多个垃圾类别以逗号分隔("100,200") |
texts | String(json数组) | Y | 1-100条文本数据 | json格式对象数组 |
texts结构如下:
参数名称 | 数据类型 | 是否必填 | 取值范围 | 描述 |
---|---|---|---|---|
dataId | String | Y | 128 | 数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
content | String | Y | 10000 | 用户发表内容,建议对内容中JSON、表情符、HTML标签、UBB标签等做过滤,只传递纯文本,以减少误判概率。请注意为了检测效果和性能,如果该字段长度超过10000字符,会截取前面10000字符进行检测和存储。该字段不能为空,如果为空会返回参数错误。 |
title | String | N | 512 | 内容标题,适用于贴子、博客的文章标题等场景,建议抄送,辅助机审策略精准调优 |
dataType | Integer | N | 4 | 子数据类型,与易盾内容安全服务约定即可 |
callback | String | N | 2^16-1 | 数据回调参数,调用方根据业务情况自行设计,当调用文本离线结果获取接口时,该接口会原样返回该字段,详细见文本离线检测结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值 |
publishTime | Long | N | 13 | 用户发表时间,UNIX 时间戳(毫秒值) |
callbackUrl | String | N | 256 | 人工审核结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性 |
业务扩展参数
业务拓展参数与每条提交的文本内容所匹配,具体请求查看请求示例
参数名称 | 数据类型 | 是否必填 | 取值范围 | 描述 |
---|---|---|---|---|
用户信息 | - | N | - | 用户信息包含账号、昵称、等级、角色等,请查看 业务扩展参数—用户信息 |
设备信息 | - | N | - | 设备信息包含设备ID、设备ID类型等,请查看 业务扩展参数—设备信息 |
场景信息 | - | N | - | 场景信息包含私聊、群聊、直播、帖子等场景字段,请查看 业务扩展参数—场景信息 |
ip | String | N | 32 | 用户IP地址 |
extStr1 | String | N | 128 | 自定义扩展参数 |
extStr2 | String | N | 128 | 自定义扩展参数 |
extLon1 | Long | N | 2^63-1 | 自定义扩展参数 |
extLon2 | Long | N | 2^63-1 | 自定义扩展参数 |
relatedKeys | String(json数组) | N | 512 | json格式对象数组,多个关联Key以逗号分隔["xxx,xxx"],最多三个Key,单个Key长度不超过128,适用于私聊/评论/跟帖等情况同一用户或不同用户发送多条违规内容关联检测的场景。如需要检测同一评论下的同一用户发送违规内容盖楼场景,Key传值方式可以为["评论ID,用户ID"] |
extension | String | N | 30000 | 自定义扩展参数 |
响应结果
响应字段如下,响应通用字段已省略,详细见响应通用字段:
反垃圾结果
result数据结构
参数名称 | 类型 | 描述 |
---|---|---|
antispam | json对象 | 文本反垃圾检测结果 |
anticheat | json对象 | 反作弊检测结果,如有需要请联系您的专属商务,未开通状态下json对象返回为空 |
emotionAnalysis | json对象 | 情感分析检测结果,如有需要请联系您的专属商务,未开通状态下json对象返回为空 |
userRisk | json对象 | 用户画像检测结果,如有需要请联系您的专属商务,未开通状态下json对象返回为空 |
反垃圾结果
antispam数据结构
参数名称 | 数据类型 | 描述 |
---|---|---|
dataId | String | 数据唯一标识,能够根据该值定位到该条数据 |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
status | Integer | 文本检测状态码,定义为:0:检测成功,1:检测失败 |
censonrType | Number | 审核模式,0:纯机审,1:机审+部分人审,2:机审+全量人审 |
action | Integer | 检测结果,0:通过,1:嫌疑,2:不通过 |
lang | json数组 | 语种代码数组,详见 语种代码表 |
isRelatedHit | boolean | 是否关联检测命中,true:关联检测命中,false:原文命中 |
labels | json数组 | 分类信息 |
labels数据结构如下:
参数名称 | 数据类型 | 描述 |
---|---|---|
label | Integer | 分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
level | Integer | 分类级别,1:不确定,2:确定 |
details | json对象 | 其他信息 |
subLabels | List |
二级细分类 |
subLabels数据结构如下:
参数名称 | 数据类型 | 描述 |
---|---|---|
subLabel | String | 细分类,详细编码请参考下方对应细分类编码 对照表 |
自定义细分类
易盾支持subLabel自定义细分类过检并返回,如有需求,可联系您的专属安全策略经理添加。
details数据结构如下:
参数名称 | 数据类型 | 描述 |
---|---|---|
hint | json数组 | 线索信息,用于定位文本中有问题的部分,辅助人工审核 |
hints | json数组 | hint字段内容+线索命中的坐标信息,仅接口版本v4.1及以上会返回该字段 |
hitInfos | List |
命中信息(目前只返回命中用户自定义的) |
hints 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hint | String | 线索信息 |
positions | json数组 | 线索命中的坐标信息 |
positions数据结构
参数名称 | 类型 | 描述 |
---|---|---|
positionType | Number | 位置类型,0:内容,1:标题 |
startPos | Number | 线索起始坐标,如果命中第一个字符,起始坐标返回0 |
endPos | Number | 线索结束坐标,如果命中第一个字符,结束坐标返回1 |
HitInfo数据结构如下:
参数名称 | 数据类型 | 描述 |
---|---|---|
hitType | Integer | 命中类型 |
情感分析结果
emotionAnalysis 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
sentiment | String | negative(负向情绪),neutral(中性情绪),positive(正向情绪),unknown(未知) |
positiveProb | Number | 0~1,代表正向情绪倾向,分数越高,正向情绪越高 |
negativeProb | number | 0~1,代表负向情绪倾向,分数越高,负向情绪越高 |
反作弊结果
anticheat 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
action | Number | 检测结果,0:通过,10:嫌疑,20:不通过 |
hitInfos | List | 命中信息,例如:[{"hitType":5,"hitMsg":"无SDK数据"}],其中hitType类型为int,含义是命中类型,详见 hitType返回码及含义表。hitMsg类型为String,含义是命中详情,可定制返回值。 |
用户画像结果
userRisk 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
dataId | String | 本次请求提交的客户数据标识 |
account | String | 用户账号信息 |
accountLevel | Number | 用户账号风险等级,0:正常,1:嫌疑,2:确定 |
请求示例
Request: {
"businessId": "30e92b6c84c274abf01e949729077034",
"nonce": 478525692,
"secretId": "deec28356fe8596d18fa8364a8cfbfd0",
"timestamp": " 1546925205000",
"version": "v3.1",
"signature": "294407a232cc7d417d70e4f785eb7377",
"texts": [{
"dataId": "1",
"content": "加微信",
"dataType": 1,
"ip": "127.0.0.1",
"account": "baijw",
"deviceType": 1,
"deviceId": "yneeeooooo-xl",
"roomId":"12345",
"callback": "124",
"relatedKeys":["xxx","xxx"],
"publishTime": 1546925205001
},{
"dataId": "2",
"content": "文本检测2",
"dataType": 2,
"ip": "127.0.0.1",
"account": "baijw",
"deviceType": 1,
"deviceId": "yneeeooooo-xl2",
"callback": "456",
"publishTime": 1546925205001
}]
}
响应示例
{
"code":200,
"msg":"ok",
"result":[
{
"antispam":{
"taskId":"073ae06326214a9195b3afc580dc2706",
"dataId":"1",
"action":2,
"labels":[
{
"label":200,
"level":2,
"details":{
"hint":[
"加微信"
],
"hitInfos":[
]
},
"subLabels":[
{
"subLabel":"200012"
}
]
}
],
"status":0,
"isRelatedHit":false
},
"emotionAnalysis":{
},
"anticheat":{
},
"userRisk":{
}
},
{
"antispam":{
"taskId":"ee90ef7126ea434693aebdab653f0def",
"dataId":"2",
"action":0,
"labels":[
],
"status":0,
"isRelatedHit":false
},
"emotionAnalysis":{
},
"anticheat":{
},
"userRisk":{
}
}
]
}