跳到主要内容

文本同步识别

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 请求参数说明

参数名称类型是否必填说明
textArray请求的文本相关内容, 详见 text 参数说明
timestampNumber当前服务器的 Unix 时间戳
nonceNumber随机数
signatureString

RSA-SHA256 算法签名。签名步骤:

  1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
  2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。
  • 点击 数字证书 下载私钥。私钥有 rsapkcs8 两种格式,通常 Golang,Python 使用 rsa 格式私钥,Java 使用 pkcs8 格式私钥
  • 点击 签名及验证示例 查看签名示例

Text 参数说明

参数名称类型是否必填说明
contentString待检测的文本内容,可以为词语或句子,最大支持 2,000 字符
contentIdString客户自定义信息,方便根据该 ID 找到相关的文本, 建议可设置为 secretId + 当前时间 + 随机数,参考请求示例
userIdString用户 ID
forumIdString板块 ID

2.6 请求示例

{
"text": [
{
"content": "32132131",
"contentId": "5bcf23077f532488c2ccd6a615414997698270",
"userId": "test",
"forumId": "car"
}
],
"timestamp": 1541499770,
"nonce": 0.8469537531104208,
"signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}

3. 返回结果

3.1 响应参数说明

TaskId

57c4036c557603652aeeb222

Summary

送审文本审核结果汇总信息

TaskId 对象中的数据结构

参数名称类型是否必有说明
textsArray识别的详细结果, 具体数据结构详见:Texts 数据结构

Summary 对象中的数据结构

参数名称类型是否必有说明
summaryArray文本审核结果汇总信息

Texts 数据结构

参数名称类型是否必有说明
contentString检测的文本内容
actionString检测结果, pass : 通过, block : 不通过, review : 复审
labelString命中的标签,详见返回标签说明
reviewBool是否需要复审, true :需要, false :不需要
rateFloat吻合分数,分数越高,识别出来的结果越准确,取值为 0 到 1 之间或者空值 null(外语语种审核不返还分数)
detailsArray命中的关键词详细信息,如果 actionspass ,则 details 为空数组,详见:Details 数据结构
contentIdString客户自定义信息
userIdString用户 ID
forumIdString版块 ID

Details 数据结构

参数名称类型是否必有说明
mainLabelInt命中的标签,详见 任务返回标签说明
subLabelString命中的二级标签
keywordString命中的关键词。

1. 若命中算法模型,值为空字符串;
2. 若命中单个关键词,值为关键词字符串,例如:习近平
3. 若同时命中多个关键词(组合规则),值为通过 + 拼接且被括号包裹的字符串,例如:(加+微信)。其中 (A+B) 表示关键词 A 与 B 之间未按顺序匹配,{A+B} 表示关键词 A 与 B 之间按照顺序匹配
hintString检测文本中的违规内容片段,例如原文为 那我先加您微信,发您一下,值为:加您微信
startPosInt命中的关键词在送审文本中的起始位置
endPosInt命中的关键词在送审文本中的结束位置

Summary 数据结构

参数名称类型是否必有说明
suggestionInt处理建议,详见 suggestion 处理建议
riskTypeInt风险类型,请参看 汇总结果解析中的 RiskType 风险类型说明
riskTaskInt违规的任务 ID
codeInt返回码,参考业务状态码
messageInt返回信息

3.2 返回标签说明

labelmainLabel 值说明

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
}