在线客服场景客户咨询解析服务适用于针对电商等行业的客服-消费者在线聊天场景,解析消费者说话内容,得到消费者意图、情感、情绪、关注点、细粒度情感等结果。
本服务由NLP自学习平台提供,直接调用API即可使用。
服务开通与资源包购买
使用前,请确认是否已经开通服务,开通后可购买资源包。
服务调用与调试
模型调用文档参考:模型调用
SDK示例文档参考:SDK示例
调试
您可以在OpenAPI开发者门户中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI开发者门户可以自动生成SDK代码示例。
通过环境变量配置访问凭证(AKSK)
说明:
阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk
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
Windows系统配置方法
新建环境变量文件,添加环境变量
NLP_AK_ENV和NLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。重启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  | 细粒度情感对应的情感词  |