电销场景主被叫意图识别
电销场景-主被叫意图识别服务适用于电话销售外呼场景,针对对话内容,识别主叫意图(营销、催收等)和被叫意图(不方便、情感倾向、交流意愿等),可应用于语音质检。使用示例如下。
说明
本预训练模型提供的服务无需自主标注训练,直接调用API即可使用;
服务开通与资源包购买
预训练模型使用前,请确认是否已经开通了NLP自学习平台服务,开通后可购买优惠资源包。
NLP自学习平台:开通地址
自学习平台资源包:购买地址
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;
}
}
DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou","your-access-id-key","your-access-id-secret");
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("dialog_intent");
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
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
# Initialize AcsClient instance
client = AcsClient(
"<your-access-key-id>",
"<your-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("dialog_intent")
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内容示例
{
"result": [
{
"被叫意图": [{
"label": "被叫-对话不完整", "prob": 0.928
}],
"主叫意图": [{
"label": "主叫-营销", "prob": 0.9939
}]
}
],
"cost": "77.88ms",
"code": "SUCCESS"
}
入参说明
参数 | 说明 |
---|---|
msgs | 对话内容(必选字段) |
role | 说话人的角色,当前仅主叫(或客服)、被叫(或客户)两种角色 |
words | 说话人的说话内容 |
出参说明
参数 | 说明 |
---|---|
result | 对话意图识别结果,分为主叫意图和被叫意图,以(标签label,概率prob)二元组列表形式返回,详见下表。 |
code | 查询状态,SUCCESS为成功,INVALID_INPUT_FORMAT 为输入格式错误,FIELD_MISSING 为必选字段缺失,INVALID_TEXT_VALUE 为msgs字段无有效值 |
cost | 查询耗时 |
意图类型
主被叫类型 | 意图 | 说明 |
---|---|---|
主叫 | 主叫-营销 | |
主叫-生产服务-验证码 | ||
主叫-生产服务-通知 | ||
主叫-生产服务-催收催缴 | ||
主叫-生产服务-其他生产服务 | 不属于验证码、通知、催收催缴三类的其他生产服务类型 | |
主叫-客户服务-回访 | ||
主叫-客户服务-调研 | ||
主叫-客户服务-医疗问诊 | ||
主叫-客户服务-其他客户服务 | 不属于回访、调研、医疗问诊三类的其他客户服务 | |
主叫-不说话 | ||
主叫-未知意图 | 不属于以上所有主叫意图 | |
被叫 | 被叫-对话不完整 | 通话中断,对话内容不完整 |
被叫-正在通话中 | ||
被叫-不需要 | ||
被叫-不要再打了 | ||
被叫-打错了 | ||
被叫-不说话 | ||
被叫-语音信箱 | ||
被叫-暂时无法接通 | ||
被叫-交流意愿低 | ||
被叫-交流意愿高 | ||
被叫-无交流意愿 | ||
被叫-情绪负面 | ||
被叫-情绪正面 | ||
被叫-无明显情绪 | ||
被叫-未知意图 | 不属于以上所有被叫意图 |