文本同步识别
1. 接口介绍
对文本中的色情、涉政、暴恐、敏感、广告、谩骂等违法低质内容进行识别及过滤,并实时返回审核结果。
字数限制:同步文本识别接口最大支持 2, 000 个字符识别。
支持语种:文本审核默认识别中文,如需识别其他语种(例如,英文、日语、韩语、泰语、越南语、马来语、印尼语、印地语、菲律宾语、阿拉伯语、
土耳其语、俄语、德语、法语、意大利语、西班牙语、葡萄牙语等)中的风险内容,请联系我们进行相应配置,以保证识别效果。
2. 请求
2.1 请求地址
区域 | 请求地址 |
---|---|
国内 | https://api.text.tuputech.com/v3/recognition/text/<secretId> |
国外 | https://api-oversea.text.tuputech.com/v3/recognition/text/<secretId> |
提示
<secretId>
需替换为您的应用 SID
,请联系客户经理为您开通及配置。关于 SID
详见 常见问题(FAQ)。
2.2 请求方法
POST
2.3 请求头
Content-Type: application/json
2.4 QPS 限制
- 1 秒最多允许请求 50 次;
- 1 个请求最多携带 10 个文本;
如有特殊并发需求,请联系我们。
危险
由于模型基于请求流量动态伸缩,在空闲一定时间后会关闭(部分专用模型空闲一定时间后会关闭全部实例)。
由于模型冷启动耗时较长,部分请求可能无法处理,最终返回非 200
HTTP 状态码或业务状态码 101
。该现象可能在以下情况下出现:
- 初次请求
- 长时间未调用后再次请求
- 请求流量突增
- 请求存在规律性的流量波动(例如每隔超过 5 分钟请求一批数据,或仅在工作日期间有大量请求)
针对以上情况,我们分别建议您:
- 间隔 2~3 分钟后重试
- 间隔 2~3 分钟后重试,并且后续保持至少每分钟 1 次调用
- 提前进行预热,或及时联系我们扩容
- 调整业务请求时间间隔到 5 分钟内,或联系我们调整实例保持策略。若您的业务仅在工作日期间有大量请求,节假日期间较少,请务必联系我们
2.5 请求参数说明
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
text | Array | 是 | 请求的文本相关内容, 详见 text 参数说明 |
timestamp | Number | 是 | 当前服务器的 Unix 时间戳 |
nonce | Number | 是 | 随机数 |
signature | String | 是 |
|
Text 参数说明
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
content | String | 是 | 待检测的文本内容,可以为词语或句子,最大支持 2,000 字符 |
contentId | String | 否 | 客户自定义信息,方便根据该 ID 找到相关的文本, 建议可设置为 secretId + 当前时间 + 随机数,参考请求示例 |
userId | String | 否 | 用户 ID |
forumId | String | 否 | 板块 ID |
2.6 请求示例
- JSON 请求
- CURL 请求
{
"text": [
{
"content": "32132131",
"contentId": "5bcf23077f532488c2ccd6a615414997698270",
"userId": "test",
"forumId": "car"
}
],
"timestamp": 1541499770,
"nonce": 0.8469537531104208,
"signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}
curl -X POST --header 'Content-Type: application/json' \
-d '{
"text": [
{
"content": "32132131",
"contentId": "5bcf23077f532488c2ccd6a615414997698270",
"userId": "test",
"forumId": "car"
}
],
"timestamp": 1541499770,
"nonce": 0.8469537531104208,
"signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}' \
'http://api.text.tuputech.com/v3/recognition/text/your_secretId'
3. 返回结果
3.1 响应参数说明
TaskId
57c4036c557603652aeeb222
Summary
送审文本审核结果汇总信息
TaskId 对象中的数据结构
参数名称 | 类型 | 是否必有 | 说明 |
---|---|---|---|
texts | Array | 是 | 识别的详细结果, 具体数据结构详见:Texts 数据结构 |
Summary 对象中的数据结构
参数名称 | 类型 | 是否必有 | 说明 |
---|---|---|---|
summary | Array | 否 | 文本审核结果汇总信息 |
Texts 数据结构
参数名称 | 类型 | 是否必有 | 说明 |
---|---|---|---|
content | String | 是 | 检测的文本内容 |
action | String | 是 | 检测结果, pass : 通过, block : 不通过, review : 复审 |
label | String | 是 | 命中的标签,详见返回标签说明 |
review | Bool | 是 | 是否需要复审, true :需要, false :不需要 |
rate | Float | 是 | 吻合分数,分数越高,识别出来的结果越准确,取值为 0 到 1 之间或者空值 null (外语语种审核不返还分数) |
details | Array | 是 | 命中的关键词详细信息,如果 actions 为 pass ,则 details 为空数组,详见:Details 数据结构 |
contentId | String | 否 | 客户自定义信息 |
userId | String | 否 | 用户 ID |
forumId | String | 否 | 版块 ID |
Details 数据结构
参数名称 | 类型 | 是否必有 | 说明 |
---|---|---|---|
mainLabel | Int | 是 | 命中的标签,详见 任务返回标签说明 |
subLabel | String | 否 | 命中的二级标签 |
keyword | String | 否 | 命中的关键词。 1. 若命中算法模型,值为空字符串; 2. 若命中单个关键词,值为关键词字符串,例如: 习近平 ;3. 若同时命中多个关键词(组合规则),值为通过 + 拼接且被括号包裹的字符串,例如:(加+微信) 。其中 (A+B) 表示关键词 A 与 B 之间未按顺序匹配,{A+B} 表示关键词 A 与 B 之间按照顺序匹配 |
hint | String | 否 | 检测文本中的违规内容片段,例如原文为 那我先加您微信,发您一下 ,值为:加您微信 |
startPos | Int | 否 | 命中的关键词在送审文本中的起始位置 |
endPos | Int | 否 | 命中的关键词在送审文本中的结束位置 |
Summary 数据结构
参数名称 | 类型 | 是否必有 | 说明 |
---|---|---|---|
suggestion | Int | 否 | 处理建议,详见 suggestion 处理建议 |
riskType | Int | 否 | 风险类型,请参看 汇总结果解析中的 RiskType 风险类型说明 |
riskTask | Int | 否 | 违规的任务 ID |
code | Int | 否 | 返回码,参考业务状态码 |
message | Int | 否 | 返回信息 |
3.2 返回标签说明
label
与 mainLabel
值说明
label 值 | 说明 |
---|---|
Normal | 正常 |
Terror | 暴恐 |
Porn | 色情 |
Politics | 涉政 |
Sensitive | 敏感 |
ADs | 广告 |
Abuse | 谩骂 |
UserDefine | 自定义 |
3.3 响应示例
{
"57c4036c557603652aeeb222": {
"texts": [
{
"content": "共产党万岁",
"action": "block",
"label": "Politics",
"review": false,
"rate": 1,
"details": [
{
"keyword": "共产党",
"hint": "共产党",
"mainLabel": "Politics",
"subLabel": "Political_Negative_events",
"startPos": 0,
"endPos": 3
}
]
}
]
},
"summary": [
{
"suggestion": 1,
"riskType": 1,
"riskTask": "57c4036c557603652aeeb222",
"code": 0,
"message": "ok"
}
],
"code": 0,
"message": "success",
"nonce": 0.25298356827267643,
"timestamp": 1680771864246
}