电销场景对话行业分类服务适用于电话销售外呼场景,针对对话应用按照行业和场景进行分类,可应用于语音质检。
本服务由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代码示例
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("客服","哎,你好,我们这边是加米艺术。"));
msgs.add(new MsgDO("客服","近期我们有一场儿童的创意绘画体验课活动。邀请您和呃我们在崇川区的成山路城市嘉苑这边。"));
msgs.add(new 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-Dialog-Industry");
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": "哎,你好,我们这边是加米艺术。"
},
{
"role": "客服",
"words": "近期我们有一场儿童的创意绘画体验课活动。邀请您和呃我们在崇川区的成山路城市嘉苑这边。"
},
{
"role": "客服",
"words": "邀请您和呃我们在崇川区的成山路城市嘉苑这边。"
},
{
"role": "客户",
"words": "在哪里?"
},
{
"role": "客户",
"words": "哦,不方便不方便。行,谢谢再见。"
}
]
}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('NLP-Dialog-Industry')
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": "哎,你好,我们这边是加米艺术。"
},
{
"role": "客服",
"words": "近期我们有一场儿童的创意绘画体验课活动。邀请您和呃我们在崇川区的成山路城市嘉苑这边。"
},
{
"role": "客服",
"words": "邀请您和呃我们在崇川区的成山路城市嘉苑这边。"
},
{
"role": "客户",
"words": "在哪里?"
},
{
"role": "客户",
"words": "哦,不方便不方便。行,谢谢再见。"
}
]
}
PredictResult内容示例
{
'session_id': 123,
'result': [{'prob': 0.5665, 'industry': '商品推广', 'scene': '食品生鲜类'}],
'cost': '1268.513ms',
'code': 'SUCCESS'
}
入参说明
参数 | 说明 |
session_id | 当前请求唯一标识(字符串),为便于排查问题,请务必加上。可以是md5,或者随机数加时间戳。(必选字段) |
msgs | 对话内容(必选字段) |
role | 说话人的角色,当前仅客服、客户两种角色 |
words | 说话人的说话内容 |
出参说明
参数 | 说明 |
session_id | 唯一标识 |
result | 行业单分类结果,包括行业industry,场景scene,概率prob |
code | 查询状态,SUCCESS为成功,INVALID_INPUT_FORMAT 为输入格式错误,FIELD_MISSING 为必选字段缺失,INVALID_TEXT_VALUE 为msgs字段无有效值 |
cost | 查询耗时 |