電銷場景主被叫意圖識別
電銷場景-主被叫意圖識別服務(wù)適用于電話銷售外呼場景,針對對話內(nèi)容,識別主叫意圖(營銷、催收等)和被叫意圖(不方便、情感傾向、交流意愿等),可應(yīng)用于語音質(zhì)檢。
本服務(wù)由NLP自學(xué)習(xí)平臺提供,直接調(diào)用API即可使用。
服務(wù)開通與資源包購買
使用前,請確認是否已經(jīng)開通服務(wù),開通后可購買資源包。
服務(wù)調(diào)用與調(diào)試
模型調(diào)用文檔參考:模型調(diào)用
SDK示例文檔參考:SDK示例
調(diào)試
您可以在OpenAPI開發(fā)者門戶中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI開發(fā)者門戶可以自動生成SDK代碼示例。
通過環(huán)境變量配置訪問憑證(AKSK)
說明:
阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險很高。強烈建議您創(chuàng)建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創(chuàng)建RAM用戶。
強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險,在此提供通過配置環(huán)境變量的方式來保存和訪問aksk
Linux和macOS系統(tǒng)配置方法
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系統(tǒng)配置方法
新建環(huán)境變量文件,添加環(huán)境變量
NLP_AK_ENV
和NLP_SK_ENV
,并寫入已準備好的AccessKey ID和AccessKey Secret。重啟Windows系統(tǒng)。
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的訪問權(quán)限,風(fēng)險很高。強烈建議您創(chuàng)建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險
*/
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("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
/**
* 阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險很高。強烈建議您創(chuàng)建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險
*/# -*- 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的訪問權(quán)限,風(fēng)險很高。強烈建議您創(chuàng)建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險
*/
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("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內(nèi)容示例
{
"session_id": 123,
"msgs": [
{
"role": "被叫",
"words": "你好。"
},
{
"role": "主叫",
"words": "哎,喂你好,女士,打擾您一下哈,我這邊都有廠房的,請問您是有買房的需求嗎?"
}
]
}
PredictResult內(nèi)容示例
{
"result": [
{
"被叫意圖": [{
"label": "被叫-對話不完整", "prob": 0.928
}],
"主叫意圖": [{
"label": "主叫-營銷", "prob": 0.9939
}]
}
],
"cost": "77.88ms",
"code": "SUCCESS"
}
入?yún)⒄f明
參數(shù) | 說明 |
msgs | 對話內(nèi)容(必選字段) |
role | 說話人的角色,當(dāng)前僅主叫(或客服)、被叫(或客戶)兩種角色 |
words | 說話人的說話內(nèi)容 |
出參說明
參數(shù) | 說明 |
result | 對話意圖識別結(jié)果,分為主叫意圖和被叫意圖,以(標簽label,概率prob)二元組列表形式返回,詳見下表。 |
code | 查詢狀態(tài),SUCCESS為成功,INVALID_INPUT_FORMAT 為輸入格式錯誤,F(xiàn)IELD_MISSING 為必選字段缺失,INVALID_TEXT_VALUE 為msgs字段無有效值。 |
cost | 查詢耗時 |
意圖類型
主被叫類型 | 意圖 | 說明 |
主叫 | 主叫-營銷 | |
主叫-生產(chǎn)服務(wù)-驗證碼 | ||
主叫-生產(chǎn)服務(wù)-通知 | ||
主叫-生產(chǎn)服務(wù)-催收催繳 | ||
主叫-生產(chǎn)服務(wù)-其他生產(chǎn)服務(wù) | 不屬于驗證碼、通知、催收催繳三類的其他生產(chǎn)服務(wù)類型 | |
主叫-客戶服務(wù)-回訪 | ||
主叫-客戶服務(wù)-調(diào)研 | ||
主叫-客戶服務(wù)-醫(yī)療問診 | ||
主叫-客戶服務(wù)-其他客戶服務(wù) | 不屬于回訪、調(diào)研、醫(yī)療問診三類的其他客戶服務(wù) | |
主叫-不說話 | ||
主叫-未知意圖 | 不屬于以上所有主叫意圖 | |
被叫 | 被叫-對話不完整 | 通話中斷,對話內(nèi)容不完整 |
被叫-正在通話中 | ||
被叫-不需要 | ||
被叫-不要再打了 | ||
被叫-打錯了 | ||
被叫-不說話 | ||
被叫-語音信箱 | ||
被叫-暫時無法接通 | ||
被叫-交流意愿低 | ||
被叫-交流意愿高 | ||
被叫-無交流意愿 | ||
被叫-情緒負面 | ||
被叫-情緒正面 | ||
被叫-無明顯情緒 | ||
被叫-未知意圖 | 不屬于以上所有被叫意圖 |