在線客服場景客戶咨詢解析
在線客服場景客戶咨詢解析服務(wù)適用于針對電商等行業(yè)的客服-消費(fèi)者在線聊天場景,解析消費(fèi)者說話內(nèi)容,得到消費(fèi)者意圖、情感、情緒、關(guān)注點(diǎn)、細(xì)粒度情感等結(jié)果。
本服務(wù)由NLP自學(xué)習(xí)平臺提供,直接調(diào)用API即可使用。
服務(wù)開通與資源包購買
使用前,請確認(rèn)是否已經(jīng)開通服務(wù),開通后可購買資源包。
服務(wù)調(diào)用與調(diào)試
模型調(diào)用文檔參考:模型調(diào)用
SDK示例文檔參考:SDK示例
調(diào)試
您可以在OpenAPI開發(fā)者門戶中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI開發(fā)者門戶可以自動生成SDK代碼示例。
通過環(huán)境變量配置訪問憑證(AKSK)
說明:
阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn),在此提供通過配置環(huán)境變量的方式來保存和訪問aksk
Linux和macOS系統(tǒng)配置方法
export NLP_AK_ENV=<access_key_id> export NLP_SK_ENV=<access_key_secret>
其中<access_key_id>替換為已準(zhǔn)備好的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
,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。重啟Windows系統(tǒng)。
Java代碼示例
/**
* 阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn)
*/
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", "服務(wù)態(tài)度不好,你們就是這種服務(wù)態(tài)度的?");
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的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn)
*/
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": "服務(wù)態(tài)度不好,你們就是這種服務(wù)態(tài)度的?",
}
# 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內(nèi)容示例
#包含上文context_above和下文context_below數(shù)據(jù)的完整示例,有助于提升算法效果,上下文也可以省略不寫
{
"context_above": [
{
"role": "?戶",
"context": "叫你改價(jià)格直接取消我訂單?"
},
{
"role": "客服",
"context": "訂單下單后不?持修改"
}
],
"input": "服務(wù)態(tài)度不好,你們就是這種服務(wù)態(tài)度的?",
"context_below": [
{
"role": "客服",
"context": "不好意思呢,確實(shí)是這樣的"
},
{
"role": "?戶",
"context": "拜拜,再也不來了"
}
]
}
PredictResult內(nèi)容示例
{
"emotion": {
"key": "抱怨",
"score": 0.4929790496826172
},
"intent": {
"key": "?",
"score": 0.756518542766571
},
"category": {
"key": "其他類-其他",
"score": 0.4580000042915344
},
"sentiment": {
"key": "負(fù)",
"score": 1.0
},
"aspectItem": [
{
"aspectCategory": "客服-服務(wù)",
"aspectPolarity": "負(fù)",
"negativeProb": 1.0,
"positiveProb": 0.0,
"terms": [
{
"aspectTerm": "服務(wù)態(tài)度",
"opinionTerm": "不好"
}
]
}
]
}
入?yún)⒄f明
參數(shù) | 說明 |
input | 客服-客戶在線聊天過程中的客戶當(dāng)前說話內(nèi)容 |
context_above | 客戶當(dāng)前說話內(nèi)容的上文,可以包含多句上文 |
context_below | 客戶當(dāng)前說話內(nèi)容的下文,可以包含多句下文 |
role | 說話人的角色,當(dāng)前僅客服、客戶兩種角色 |
context | 說話人的說話內(nèi)容 |
出參說明
參數(shù) | 說明 |
emotion | 客戶說話情緒 |
intent | 客戶說話意圖 |
category | 客戶關(guān)注點(diǎn) |
sentiment | 客戶情感正負(fù)面 |
aspectItem | 客戶說話內(nèi)容細(xì)粒度情感分析 |
aspectCategory | 細(xì)粒度屬性維度 |
aspectPolarity | 細(xì)粒度情感傾向 |
negativeProb | 細(xì)粒度情感傾向的正向概率 |
positiveProb | 細(xì)粒度情感傾向的負(fù)向概率 |
terms | 細(xì)粒度情感對應(yīng)的屬性、情感詞 |
aspectTerm | 細(xì)粒度情感對應(yīng)的屬性詞 |
opinionTerm | 細(xì)粒度情感對應(yīng)的情感詞 |