情緒識別服務適用于電銷、在線接待等應用場景,識別客戶或客服的情緒。
本服務由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);
String content = "{\"input\": {\"content\":\"圖形驗證碼輸入老是錯誤\" } }";
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("DeepEmotionBert");
request.setPredictContent(content);
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的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環境變量為例說明。您也可以根據業務需要,保存到配置文件里。
* 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風險
*//**
* 阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環境變量為例說明。您也可以根據業務需要,保存到配置文件里。
* 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風險
*/# -*- 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 ={"input":{"content":"圖形驗證碼輸入老是錯誤"}}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('DeepEmotionBert')
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內容示例
{
"input": {
"content": "圖形驗證碼輸入老是錯誤"
}
}
PredictResult內容示例
{
"output": {
"sentiment": [
{
"score": 0.7712000012397766,
"key": "抱怨"
},
{
"score": 0.014100000262260437,
"key": "憤怒"
},
{
"score": 0.014000000432133675,
"key": "厭惡"
},
{
"score": 0.005499999970197678,
"key": "悲傷"
},
{
"score": 0.004100000020116568,
"key": "投訴"
},
{
"score": 0.0008999999845400453,
"key": "驚訝"
},
{
"score": 0.0007999999797903001,
"key": "恐懼"
},
{
"score": 0.00039999998989515007,
"key": "喜好"
},
{
"score": 0.00019999999494757503,
"key": "高興"
},
{
"score": 0.00009999999747378752,
"key": "認可"
},
{
"score": 0.0,
"key": "感謝"
}
],
"content": "圖形驗證碼輸入老是錯誤"
},
"code": 0,
"cost": 2.271,
"message": "SUCCESS"
}
服務說明
服務名稱(ServiceName)當前支持高性能版和高精度版兩個版本,可以按需選擇
服務名稱(ServiceName) | 說明 |
DeepEmotion | 高性能版,速度較快,精度略低 |
DeepEmotionBert | 高精度版,精度較高,速度略慢 |
入參說明
參數 | 說明 |
content | 待檢測的文本樣例 |
role | 可選參數,待檢測的角色類型,當前支持[客服,客戶]兩種類型 |
出參說明
支持文本同時命中多種情緒的情況。
參數 | 說明 |
code | 狀態碼,0表示正常;1002表示參數錯誤(通常需檢查輸入是否符合JSON格式);10016表示請求超過長度限制(1000字),減小請求長度;10015表示缺少必選參數 |
content | 來自入參,檢測的文本樣例,長度不超過1000字 |
sentiment | 識別到的情緒列表,當前包含8種常規情緒(高興、喜好、悲傷、憤怒、厭惡、驚訝、恐懼,認可)和3種業務場景常用情緒(感謝、抱怨、投訴) |
key | 情緒名稱 |
score | 情緒概率,0-1之間,大于0.5可認為命中該情緒類型。 |