在线客服场景客户咨询解析

在线客服场景客户咨询解析服务适用于针对电商等行业的客服-消费者在线聊天场景,解析消费者说话内容,得到消费者意图、情感、情绪、关注点、细粒度情感等结果。

说明

本服务由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("input", "服务态度不好,你们就是这种服务态度的?");
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("Dialog-Analysis");
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"
);
# 输入还可以包括上文context_above和下文context_below信息,有助于提升算法效果,但也可以省略不写,参考输入示例。
content = {
  "input": "服务态度不好,你们就是这种服务态度的?",
}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('Dialog-Analysis')
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内容示例

#包含上文context_above和下文context_below数据的完整示例,有助于提升算法效果,上下文也可以省略不写
{
  "context_above": [
    {
      "role": "⽤户",
      "context": "叫你改价格直接取消我订单?"
    },
    {
      "role": "客服",
      "context": "订单下单后不⽀持修改"
    }
  ],
  "input": "服务态度不好,你们就是这种服务态度的?",
  "context_below": [
    {
      "role": "客服",
      "context": "不好意思呢,确实是这样的"
    },
    {
      "role": "⽤户",
      "context": "拜拜,再也不来了"
    }
  ]
}

PredictResult内容示例

{
  "emotion": {
    "key": "抱怨",
    "score": 0.4929790496826172
  },
  "intent": {
    "key": "⽆",
    "score": 0.756518542766571
  },
  "category": {
    "key": "其他类-其他",
    "score": 0.4580000042915344
  },
  "sentiment": {
    "key": "负",
    "score": 1.0
  },
  "aspectItem": [
    {
      "aspectCategory": "客服-服务",
      "aspectPolarity": "负",
      "negativeProb": 1.0,
      "positiveProb": 0.0,
      "terms": [
        {
          "aspectTerm": "服务态度",
          "opinionTerm": "不好"
        }
      ]
    }
  ]
}

入参说明

参数

说明

input

客服-客户在线聊天过程中的客户当前说话内容

context_above

客户当前说话内容的上文,可以包含多句上文

context_below

客户当前说话内容的下文,可以包含多句下文

role

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

context

说话人的说话内容

出参说明

参数

说明

emotion

客户说话情绪

intent

客户说话意图

category

客户关注点

sentiment

客户情感正负面

aspectItem

客户说话内容细粒度情感分析

aspectCategory

细粒度属性维度

aspectPolarity

细粒度情感倾向

negativeProb

细粒度情感倾向的正向概率

positiveProb

细粒度情感倾向的负向概率

terms

细粒度情感对应的属性、情感词

aspectTerm

细粒度情感对应的属性词

opinionTerm

细粒度情感对应的情感词