全部产品

文本反垃圾API

更新时间:2017-08-17 10:02:21   分享:   

功能描述

针对用户内容ugc场景,结合行为、内容采用多维度、多种模型、多种检测手段对文本进行垃圾与否的识别,识别色情、广告、灌水、渉政、辱骂等风险,支持关键词自定义.

HTTP接口描述

公共描述

1.1 场景(scene)和分类(label)

文本检测包含垃圾检测(antispam)和纯关键词检测(keyword)两个使用场景(scene),每个场景(scene)对应不同的分类(label)。

垃圾检测会结合行为、内容采用多维度、多种模型、多种检测手段对文本进行垃圾与否的识别,识别色情、广告、灌水、渉政、辱骂等风险

关键词检测通常简单用于敏感词屏蔽的场景,用于可以自定义敏感词,自定义敏感词请前往云盾内容安全控制台添加.

注:1)垃圾检测和关键词检测,在单词请求中只能二选一。2)用户所添加的自定义词库在两个场景中是共用的。

对应关系如下:

场景(scene)中文名 场景(scene) 分类(label) 备注
垃圾检测 antispam normal 正常文本
垃圾检测 antispam spam 含垃圾信息
垃圾检测 antispam ad 广告
垃圾检测 antispam politics 渉政
垃圾检测 antispam terrorism 暴恐
垃圾检测 antispam abuse 辱骂
垃圾检测 antispam porn 色情
垃圾检测 antispam flood 灌水
垃圾检测 antispam contraband 违禁
垃圾检测 antispam customized 自定义(比如命中自定义关键词)
关键词检测 keyword normal 正常文本
关键词检测 keyword spam 含违规信息
关键词检测 keyword ad 广告
关键词检测 keyword politics 渉政
关键词检测 keyword terrorism 暴恐
关键词检测 keyword porn 色情
关键词检测 keyword contraband 违禁
关键词检测 keyword customized 自定义(比如命中自定义关键词)

••••

1.2 文本检测 (uri: /green/text/scan)

检测文本是否为违规信息。请求body是一个结构体,说明如下:•

字段 类型 是否必须 说明
bizType 字符串 可选 业务类型,调用方从云盾内容安全申请所得。每个bizType对应不同的算法/模型。根据配置,后端可根据该字段对请求做不同处理。属于高级用法
scenes 字符串数组 必须 字符串数组,场景定义参考1.1小节;反垃圾检测,scenes请填写antispam;关键词检测,scenes请填写keyword。
tasks JSON数组 必须 文本检测任务列表;每个元素是个结构体,最多支持100个,即100段文本的检测.参见下表。

​JSON数组中的每个元素是一个结构体,有如下字段:​

字段 类型 是否必须 说明
clientInfo JSON结构体 可选 客户端信息,参考[调用方式/公共请求参数/公共查询参数]小节中ClientInfo结构体描述。服务器会把[调用方式/公共请求参数/公共查询参数]小节中全局的clientInfo和这里的独立的clientInfo合并。独立的clientInfo优先级更高。
dataId 字符串 可选 调用者通常保证一次请求中,所有的dataId不重复
content 字符串 必须 待检测文本,最长4000个字符
time 整型 可选 内容创建/编辑时间,单位ms
category 字符串 可选 内容类别,取值范围为[“post”, “reply”, “comment”, “title”, “others”];也可以自定义的其他类型,但长度不超过64字节
action 字符串 可选 操作类型,取值范围为[“new”, “edit”, “share”, “others”];也可以自定义的其他操作类型,但长度不超过64字节
relatedDataId 字符串 可选 相关dataId;当contentType为reply或comment时,该字段设置相关的主贴或对应的comment的dataId
relatedContent 字符串 可选 相关字符串;当contentType为reply或comment时,该字段设置为主贴内容或对应的comment

​返回body中的Data字段是JSON数组,每一个元素有如下字段:​

字段 类型 是否必须 说明
code 整形 必须 错误码,和http的status code一致
msg 字符串 必须 错误描述信息
dataId 字符串 可选 对应的请求中的dataId
taskId 字符串 必须 云盾内容安全服务器返回的唯一标识该检测任务的ID
content 字符串 可选 对应的请求中的content
results 数组 可选 当成功时(code == 200),该结果的包含一个或多个元素。每个元素是个结构体。参见下表。

​上表results中包含的元素说明:​

字段 类型 是否必须 说明
scene 字符串 必须 风险场景
suggestion 字符串 必须 建议用户处理,取值范围:[“pass”, “review”, “block”], pass:文本正常,review:需要人工审核,block:文本违规,可以直接删除或者做限制处理
label 字符串 必须 该文本的分类,取值范围参考1.1小节
rate 浮点数 必须 结果为该分类的概率;值越高,越趋于该分类;取值为[0.00-100.00], 分值仅供参考,您只需要关注label和suggestion的取值即可
extras JSON对象 可选 附加信息,比如命中了您自定义的词库,返回词库code.该值将来可能会调整,建议不要在业务上进行依赖

​垃圾检测请求body例子:

  1. {
  2. "scenes": ["antispam"],
  3. "tasks": [
  4. {
  5. "dataId": "test1Xtxl$ZwAww4z13yeo45@9-1mwd7N",
  6. "content": "test foo ...",
  7. "category": "post",
  8. "action": "new"
  9. },
  10. {
  11. "dataId": "test7fupOuE64mM6rKEHRr5bwt-1mwwPH",
  12. "content": "test bar ...",
  13. "category": "post",
  14. "action": "new"
  15. }
  16. ]
  17. }

​垃圾检测响应例子:

  1. {
  2. "msg": "OK",
  3. "code": 200,
  4. "requestId": "33921869-CF8A-4E62-8C31-44F37341FFC1"
  5. "data": [
  6. {
  7. "code": 200,
  8. "msg": "OK",
  9. "dataId": "test1Xtxl$ZwAww4z13yeo45@9-1mwd7N",
  10. "taskId": "txt3VayNFGf43J6S9mHYp1HYJ-123mfd",
  11. "content": "test foo ...",
  12. "results": [
  13. {
  14. "rate": 99.91,
  15. "scene": "antispam",
  16. "suggestion": "pass",
  17. "label": "normal"
  18. }
  19. ]
  20. },
  21. {
  22. "code": 200,
  23. "msg": "OK",
  24. "dataId": "test7fupOuE64mM6rKEHRr5bwt-1mwwPH",
  25. "taskId": "txt3VayNFGf43J6S9mHYp1HYJ-dfadfd",
  26. "content": "test bar ...",
  27. "results": [
  28. {
  29. "rate": 99.91,
  30. "scene": "antispam",
  31. "suggestion": "pass",
  32. "label": "normal"
  33. }
  34. ]
  35. }
  36. ]
  37. }

关键词检测请求body例子:

  1. {
  2. "scenes":[
  3. "keyword"
  4. ],
  5. "tasks":[
  6. {
  7. "dataId":"f14cde88-a5d3-44f7-b1a1-80d95b474f99",
  8. "content":"balala1"
  9. },
  10. {
  11. "dataId":"4a57e971-62b1-4a75-9563-cc2703b28244",
  12. "content":"balala2"
  13. }
  14. ]
  15. }

关键词检测响应例子:

  1. {
  2. "msg":"OK",
  3. "code":200,
  4. "data":[
  5. {
  6. "msg":"OK",
  7. "code":200,
  8. "dataId":"f14cde88-a5d3-44f7-b1a1-80d95b474f99",
  9. "results":[
  10. {
  11. "rate":99.91,
  12. "suggestion":"block",
  13. "extras":{
  14. "hitContext":"balala"
  15. },
  16. "label":"porn",
  17. "scene":"keyword"
  18. }
  19. ],
  20. "content":"balala",
  21. "taskId":"6cb22909-bb61-4848-8fab-0d4bc8dc4b9c-1494295749828"
  22. },
  23. {
  24. "msg":"OK",
  25. "code":200,
  26. "dataId":"4a57e971-62b1-4a75-9563-cc2703b28244",
  27. "results":[
  28. {
  29. "rate":99.91,
  30. "suggestion":"block",
  31. "extras":{
  32. "hitContext":"balala"
  33. },
  34. "label":"spam",
  35. "scene":"keyword"
  36. }
  37. ],
  38. "content":"balala",
  39. "taskId":"1249a8c2-5bb3-477c-98d9-f78dad8ae15b-1494295749828"
  40. }
  41. ],
  42. "requestId":"96B928F4-1668-4F43-A3ED-4480ACBDA24C"
  43. }

​​•

1.3 文本检测反馈接口 (uri: /green/text/feedback)

当用户审核发现云盾内容安全检测有误判时,可以通过该API反馈给云盾内容安全。请求body是一个JSON数组,每个元素含有如下字段:•

字段 类型 是否必须 说明
taskId 字符串 必须 云盾内容安全服务器返回的唯一标识该检测任务的ID
dataId 字符串 可选 对应的请求中的dataId
content 字符串 必须 原本的被检测内容,最长4000个字符
label 字符串 必须 反馈的分类,取值范围参考1.1小节
note 字符串 可选 备注,比如文本中的关键文字

​返回body中的Data字段是为空​请求body例子:

  1. {
  2. "dataId": "test7fcmzGkKbNp7@JqPQRnwIe-1mwwZX",
  3. "taskId": "taskid xxx",
  4. "content": "foobar",
  5. "label": "spam",
  6. "note": "blabla ..."
  7. }

​响应例子:

  1. {
  2. "msg": "OK",
  3. "code": 200,
  4. "requestId": "02C418E7-81D4-4375-9732-900B64D07CEE"
  5. }

​​

SDK调用方式

2.1 各语言SDK

如果您使用java、python、php语言,我们官方提供了对应的sdk,直接使用sdk调用即可,sdk如何调用请点击以下对应开发语言的链接继续阅读。

java

php

python

其他语言

2.2 代码示例

或者您也可以直接下载各语言的调用代码示例和离线文档进行阅读, 离线代码调用示例下载地址如下:•

本文导读目录
本文导读目录
以上内容是否对您有帮助?