同步文本审核
接入说明:
同步文本识别: 最大支持2,000个字符识别,同步响应接口。
支持语种:文本审核默认识别中文,如需识别其他语种(例如,英文、日语、韩语、泰语、越南语、马来语、印尼语、印地语、菲律宾语、阿拉伯语、土耳其语、俄语、德语、法语、意大利语、西班牙语、葡萄牙语等)中的风险内容,请联系我们进行相应配置,以保证识别效果。
请求地址:
- 国内:
http://api.text.tuputech.com/v3/recognition/text/<secretId>
- 国外:
http://api-us.open.tuputech.com/v3/recognition/text/<secretId>
http://api-oversea.open.tuputech.com/v3/recognition/text/<secretId>
secretId 需替换为您的 secretId,请联系我们为您开通 secretId。
请求方法:
POST
请求头:
Content-Type: application/json
QPS限制
- 1 秒最多允许请求 50 次;
- 1 个请求最多携带 10 个文本;
请求及返回参数:
请求示例:
{
"text": [
{
"content": "32132131",
"contentId": "5bcf23077f532488c2ccd6a615414997698270",
"userId": "test",
"forumId": "car"
}
],
"timestamp": 1541499770,
"nonce": 0.8469537531104208,
"signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}
curl 请求示例
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'
请求参数说明:
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
text | Array | 是 | 请求的文本相关内容,详见 text 参数说明 |
timestamp | Number | 是 | 当前的服务器的 Unix 时间戳 |
nonce | Number | 是 | 随机数 |
signature | String | 是 | 我们采用的数字证书签名算法是:"RSA-SHA256",签名输出类型是:base64 ,具体步骤如下:1. 所有参与签名的参数为: secretId ,timestamp ,nonce ,用英文半角逗号 , 相连,得到 sign_string ;2. 利用您的私钥,使用算法"RSA-SHA256" 签名,输出为 base64 格式,得到参数 signature 的值。点击管理公钥证书查看如何生成私钥,及如何上传您的公钥用于数字签名的认证; |
如有特殊并发需求,请联系我们。
text参数说明:
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
content | String | 是 | 待检测的文本内容,可以为词语或句子,最大支持 2,000 字符 |
contentId | String | 否 | 客户自定义信息,方便根据该 Id 找到相关的文本,建议可设置为 secretId + 当前时间 + 随机数,参考请求示例 |
userId | String | 否 | 用户 Id |
forumId | String | 否 | 板块 Id |
返回参数说明
taskId
57c4036c557603652aeeb222
taskId对象中的数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
texts | 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 为空数组,详见以下数据结构 |
contentId | String | 否 | 客户自定义信息 |
userId | String | 否 | 用户 Id |
forumId | String | 否 | 版块 Id |
details数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
keyword | String | 否 | 命中的关键词。 1. 若命中算法模型,值为空字符串; 2. 若命中单个关键词,值为关键词字符串,例如: 习近平 ;2. 若同时命中多个关键词(组合规则),值为通过 + 拼接,且被括号包裹的字符串,例如:(加+微信) ;(A+B) 表示关键词 A 与 B 之间无顺序要求,{A+B} 表示关键词 A 与 B 之间按照出现顺序匹配 |
hint | String | 否 | 检测文本中的违规内容片段,例如原文为 那我先加您微信,发您一下 ,值为:加您微信 |
mainLabel | String | 否 | 命中的风险主标签, 具体参考识别分类值 |
subLabel | String | 否 | 二级标签 |
startPos | Number | 否 | 违规片段所在文本区间的起始位置,从检测文本的第一个字符起,以 0 开始计数。关于文本区间,请参看下文 Q&A 部分。 |
endPos | Number | 否 | 违规片段所在文本区间的结束位置,从检测文本的第一个字符起,以 0 开始计数。关于文本区间,请参看下文 Q&A 部分。 |
文本识别结果数据示例
{
"57c4036c557603652aeeb222":{
"texts":[
{
"contentId":"5c495dd6ca4faa03dafcb05215517048827110.9555874784367748",
"userId":"Test",
"forumId":"test",
"content":"早晨",
"action":"pass",
"label":"Normal",
"review":false,
"rate":0.998047,
"details":[
]
},
{
"contentId":"5c495dd6ca4faa03dafcb05215517048827110.9555874784367748",
"userId":"Test",
"forumId":"test",
"content":"毛!!泽!!东",
"action":"block",
"label":"Politics",
"review":false,
"rate":1,
"details":[
{
"keyword":"毛泽东",
"hint":"毛!!泽!!东",
"mainLabel":"Politics",
"subLabel":"Political_Negative_events",
"startPos":0,
"endPos":7
}
]
}
]
},
"code":0,
"message":"success",
"nonce":"0.9224814879136034",
"timestamp":1551704883139
}
Q&A
Q:违规片段所在的文本区间是指什么?什么是文本区间位置?
A:文本区间指的是违规片段所在的句子。返回的文本区间位置是指,违规片段所在句子在检测文本中的大致位置,用于定位违规片段。Q: 文本区间划分的依据是什么?
A: 按句子进行区间划分。一般是以句号、问号、感叹号、分号作为句子结束标志,中英文字符均适用。若原句过短则可能呈现的是多个句子合并后的区间。Q: 为什么只能返回文本区间位置,不能返回违规片段在文本中的精确位置?
A: 检测文本可能含有违规拼音或者谐音字等,nlp 识别会先对文本内容进行预处理,导致无法匹配到原文,所以只返回违规片段所在句子区间的大致位置。