文档

电销场景对话风险识别

更新时间:

电销场景对话风险识别服务适用于电话销售外呼场景,针对对话内容,识别风险(辱骂、投诉、威胁等),可应用于语音质检。

说明

本服务由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保存到代码里,会存在密钥泄漏风险

 *//**

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

* 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。

* 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险

 */class MsgDO{
            private String role;
            private String words;
            public MsgDO(String role,String words) {
                this.role = role;
                this.words = words;
            }
            public String getRole() {
                return role;
            }
            public void setRole(String role) {
                this.role = role;
            }
            public String getWords() {
                return words;
            }
            public void setWords(String words) {
                this.words = words;
            }
        }
/**
 * 阿里云账号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> obj = new HashMap<String, Object>();
List<MsgDO> msgs = new ArrayList<MsgDO>();
msgs.add(new MsgDO("客服","李某某。"));
msgs.add(new MsgDO("客服","说你是***吗?"));
obj.put("msgs",msgs);
obj.put("session_id",123);
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("暂不直接开放,请加阿里云NLP自学习平台用户答疑群23142693联系获取");
request.setPredictContent(JSON.toJSONString(obj));
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": 123,
    "msgs":[
    {
      "role": "客服",
      "words": "李某某。"
    },
    {
      "role": "客服",
      "words": "说你是***吗?"
    }
  ]
}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName("暂不直接开放,请加阿里云NLP自学习平台用户答疑群23142693联系获取")
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)

PredictContent内容示例

{
  "session_id": 123,
  "msgs": [
    {
      "role": "客服",
      "words": "李某某。"
    },
    {
      "role": "客服",
      "words": "说你是***吗?"
    }
  ]
}

PredictResult内容示例

{
  "session_id": "9e961ffb96ce9b411bc06ef8b69b30da7014oe",
  "cost": "402.725ms",
  "result": [
    {
      "risks": [
        {
          "label": "无风险",
          "prob": 0.071
        },
        {
          "label": "客服辱骂",
          "prob": 0.941
        },
        {
          "label": "投诉",
          "prob": 0.0
        },
        {
          "label": "客户辱骂",
          "prob": 0.001
        },
        {
          "label": "客户威胁",
          "prob": 0.0
        },
        {
          "label": "涉黄",
          "prob": 0.0
        },
        {
          "label": "客服威胁",
          "prob": 0.0
        },
        {
          "label": "违禁",
          "prob": 0.0
        },
        {
          "label": "赌博",
          "prob": 0.0
        },
        {
          "label": "涉政",
          "prob": 0.0
        },
        {
          'label': '疑似诈骗', 
          'prob': 0.0
         }

      ]
    }
  ],
  "code": "SUCCESS"
}

入参说明

参数

说明

session_id

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

msgs

对话内容(必选字段)

role

说话人的角色,当前仅客服、客户两种角色

words

说话人的说话内容

出参说明

参数

说明

session_id

唯一标识

result

对话风险分类结果,以(风险标签label,概率prob)二元组列表形式返回,主要支持类别(无风险、客服辱骂、投诉、客服威胁、客户辱骂、客户威胁、涉黄、违禁、涉政、赌博、疑似诈骗等10种风险类型)

code

查询状态,SUCCESS为成功,INVALID_INPUT_FORMAT 为输入格式错误,FIELD_MISSING 为必选字段缺失,INVALID_TEXT_VALUE 为msgs字段无有效值

cost

查询耗时

  • 本页导读 (0)
文档反馈