小说涉黄识别服务

小说涉黄识别服务针对中文小说内容,识别是否包含涉黄/色情内容,适用于小说内容监管场景。

说明

本服务由NLP自学习平台提供,直接调用API即可使用。

服务开通与资源包购买

使用前,请确认是否已经开通服务,开通后可购买资源包。

服务调用与调试

模型调用文档参考:模型调用

SDK示例文档参考:SDK示例

调试

您可以在OpenAPI开发者门户中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI开发者门户可以自动生成SDK代码示例。

通过环境变量配置访问凭证(AKSK)

  1. 说明:

    1. 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

    2. 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk

  2. Linux和macOS系统配置方法

    export NLP_AK_ENV=<access_key_id>
    export NLP_SK_ENV=<access_key_secret>

    其中<access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey

  3. Windows系统配置方法

    1. 新建环境变量文件,添加环境变量NLP_AK_ENVNLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

Java代码示例

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
String accessKeyId = System.getenv("NLP_AK_ENV");
String accessKeySecret = System.getenv("NLP_SK_ENV");
DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId,accessKeySecret);
IAcsClient client = new DefaultAcsClient(defaultProfile);
Map<String, Object> map = new HashMap<>();
map.put("session_id", "0");
map.put("level","strict");
map.put("text","娇月又问:说不说吗?不然我要揍得你口吐白沫哦!她话中带着些许意味深长,容湛竟是一下子就听出了其中隐藏的含义。他瘫在床榻之上,整个人仿佛没有什么力气,只轻柔道:那么我倒是要试一试了。娇月立时脸红,斥责道:你这色坯,容湛的手指轻柔的滑在娇月的小翘臀上,说起:我喜欢被逼供!娇月总算是无奈了,她加重了手上的动作,再次问道:说不说呢?");
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("NLP-Novel-Porn");
request.setPredictContent(JSON.toJSONString(map));
RunPreTrainServiceResponse response = client.getAcsResponse(request);
System.out.println(response.getPredictResult());

Python代码示例

# 安装依赖
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-nlp-automl
# -*- coding: utf8 -*-
import json
import os

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdknlp_automl.request.v20191111 import RunPreTrainServiceRequest

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']

# Initialize AcsClient instance
client = AcsClient(
  access_key_id,
  access_key_secret,
  "cn-hangzhou"
);
content ={
    "session_id":"0",
    "level":"strict",
    "text": "娇月又问:说不说吗?不然我要揍得你口吐白沫哦!她话中带着些许意味深长,容湛竟是一下子就听出了其中隐藏的含义。他瘫在床榻之上,整个人仿佛没有什么力气,只轻柔道:那么我倒是要试一试了。娇月立时脸红,斥责道:你这色坯,容湛的手指轻柔的滑在娇月的小翘臀上,说起:我喜欢被逼供!娇月总算是无奈了,她加重了手上的动作,再次问道:说不说呢?"}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('NLP-Novel-Porn')
request.set_PredictContent(json.dumps(content))
# Print response
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
predict_result = json.loads(resp_obj['PredictResult'])
print(predict_result['result'])

PredictContent内容示例

{
  "session_id": "0",
  "level": "strict",
  "text": "娇月又问:说不说吗?不然我要揍得你口吐白沫哦!她话中带着些许意味深长,容湛竟是一下子就听出了其中隐藏的含义。他瘫在床榻之上,整个人仿佛没有什么力气,只轻柔道:那么我倒是要试一试了。'娇月立时脸红,斥责道:你这色坯,容湛的手指轻柔的滑在娇月的小翘臀上,说起:我喜欢被逼供!娇月总算是无奈了,她加重了手上的动作,再次问道:说不说呢?"
}

PredictResult内容示例

{
  "RequestId": "D3E51C1D-83D4-48DD-91BB-494D2A1C358C",
  "PredictResult": {
    "cost": "809.6ms",
    "result":
    {
      "sessionId": "0",
      "label": "1",
      "score": 0.549,
      "sentences": [
        {
          "score": 0.549,
          "sentence": "'娇月立时脸红,斥责道:你这色坯,容湛的手指轻柔的滑在娇月的小翘臀上,说起:我喜欢被逼供!",
          "pos_start": 90,
          "pos_end": 135
        }
      ]
    }, 
    "status": "OK"
  }
}

入参说明

参数

说明

session_id

当前请求唯一标识,为便于排查问题,请务必加上。可以是md5,或者随机数加时间戳。(必选字段)

src

标识业务方身份(可选字段)

level

仅限strict 或 mild,mild表示只通过模型判别,strict表示模型+涉黄词表综合判别,两个值互斥。(必选字段)

text

待分析文本,控制长度在600字以内(必选字段)

出参说明

参数

说明

session_id

同输入参数session_id

label

“1”表示涉黄,”0”表示正常

score

置信度,数值在0-1之间,越接近1概率越高。

sentence

检测出的涉黄片段

score

sentences字段内的score,表示涉黄片段得分(范围[0,1],>=0.5为涉黄)

pos_start

涉黄片段起始位置

pos_end

涉黄片段结束位置

status

查询状态,OK为成功,ERROR为失败

cost

查询耗时