文本识别
接入说明:
请求地址:
http://api.open.tuputech.com/v3/recognition/text/'your_secretId'
'your_secretId'需替换为您的secretId,请联系我们为您开通secretId。
请求方法:
POST
请求头:
Content-Type: application/json
请求及返回参数:
请求示例:
{
"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.open.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的值。 点击管理公钥证书查看如何生成私钥,及如何上传您的公钥用于数字签名的认证; |
QPS限制
- 1秒最多允许请求10次;
- 1个请求最多携带10个文本;
如有特殊并发需求,请联系我们。
text参数说明:
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
content | String | 是 | 带检测的文本内容,可以为词语或句子 |
contentId | String | 否 | 客户自定义信息,方便根据该id找到相关的文本,建议可设置为secretId + 当前时间 + 随机数,参考请求示例 |
userId | String | 否 | 用户Id |
forumId | String | 否 | 板块Id |
返回参数说明
服务返回信息的公共结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
signature | String | 是 | 我们采用的数字证书签名算法是:"RSA-SHA256" ,签名输出类型是:"base64" ,首先下载图普科技的公钥证书,然后按如下步骤认证:1、收到的JSON数据经过JSON.parse(),得到JSON对象,记为data; 2、data含两个字段:signature、json;signature是数字签名,json是真正的有效数据的字符串格式; 3、用signature对json进行签名认证,算法: RSA-SHA256 ,输出类型:base64 ,得到认证结果;4、认证通过后,对json进行JSON.parse(),得到JSON数据,详见"json"字段说明。 |
json | String | 是 | json 字段经过JSON.parse(json)后,得到具体的结果,含: message:与code相关的文本信息 timestamp:当前的服务器的Unix时间戳。 nonce:随机数。 |
json内容解析后的结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
code | Number | 是 | 请求的状态码,参考服务公共状态码解析 |
message | String | 是 | 请求的状态信息 |
timestamp | Number | 是 | 当前的服务器的Unix时间戳 |
nonce | Number | 是 | 随机数 |
[taskId] | Object | 是 | 识别任务的结果,不同识别任务会有特定的taskId和[taskId]信息结构 |
... | ... | 否 | 其它识别及请求响应结果信息 |
示例
{
"signature": "signature_from_tupu_service",
"json": "{\"code\":0,\"message\":\"success\",\"nonce\":\"0.5442530125172196\",\"timestamp\":1595318082309}"
}
任务结果信息
taskId
57c4036c557603652aeeb222
taskId对象中的数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
texts | Array | 是 | 识别的详细结果,具体数据结构如下 |
texts数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
content | String | 是 | 文本内容 |
action | String | 是 | 检测结果, 'pass': 通过, 'block': 不通过, 'review': 复审 |
label | String | 是 | 标签, 'Normal': 正常, 'Terror': 暴恐, 'Porn': 色情, 'Politics': 涉政, 'Sensitive': 敏感, 'ADs': ⼴告, 'Abuse': 谩骂, 'Nosense': 灌水, 'UserDefine': 自定义 |
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 | 否 | 测试文本中违规的词语 |
hint | String | 否 | 命中的关键词 |
mainLabel | String | 否 | 关键词的主标签,'Normal': 正常, 'Terror': 暴恐, 'Porn': 色情, 'Politics': 涉政, 'Sensitive': 敏感, 'ADs': ⼴告, 'Abuse': 谩骂, 'Nosense': 灌水, 'UserDefine': 自定义 |
subLabel | String | 否 | 二级标签 |
文本识别结果数据示例
{
"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":"National_Leader"
}
]
}
]
},
"code":0,
"message":"success",
"nonce":"0.9224814879136034",
"timestamp":1551704883139
}