在使用前,請先開通 消息隊列 RocketMQ 服務。
概述
智能對話分析服務作為消息的生產者,通過向您的阿里云消息隊列RocketMQ服務中發送消息的方式推送相關信息給您,您作為消息的消費者從RocketMQ中接收并消費消息,從而實現低延遲、高并發、高可用的消息推送。
授權
需要您授權,允許智能對話分析服務向您的消息隊列RocketMQ中發送消息。請使用阿里云主賬號登錄,點擊智能對話分析控制臺左側導航中的基礎設置-消息隊列,如下圖,先點擊 前往授權 按鈕,請詳細閱讀彈出窗口中的內容,確認無誤后中點擊 確認 按鈕完成授權。
消息隊列配置信息
授權成功后,會顯示如上圖頁面,點擊編輯按鈕,開始填寫 消息隊列配置信息
配置信息的內容,您可以從 消息隊列RocketMQ控制臺 獲取,需要注意的是,消息隊列RocketMQ服務的實例所屬地域需要為 公網。
接入點:接入點地址需要填寫TCP協議的地址,因為我們發送消息時使用的是RocketMQ官方推薦的TCP協議。
實例ID:消息隊列服務的實例ID,實例所在地域需要為 公網。
Topic:Topic 在創建時消息類型需要選擇為 順序消息-全局順序消息
Group ID:
以上配置信息填寫完畢后,點擊測試按鈕,測試您所填寫的消息隊列服務配置是否可用,我們會發送一條消息來測試服務連通性,結果如下圖:
發送消息的類型,目前支持以下三種:
實時質檢單句語音識別結果:一個實時質檢會話會推送N次,也就是每調用一次 SyncQualityCheck(實時質檢) 接口,就會推送一次單句語音識別結果。
實時質檢全文語音識別結果:通話結束后,推送一個實時質檢會話完整的語音識別結果,一個通話僅推送一次,也就是調用 UpdateSyncQualityCheckData(維護錄音信息)接口后進行推送。
實時質檢對話分析結果:也就是質檢結果(規則命中信息),不支持單獨發送,需要與 實時質檢單句語音識別結果 或 實時質檢全文語音識別結果 類型的消息一起發送,也就會說在發送語音識別結果消息時攜帶質檢結果。
消息推送的類型及消息結構說明
下圖為通過消息隊列服務控制臺查詢消息,可以看到智能對話分析目前會推送三種不同Tag的消息,您可以根據Tag的不同進行不同的處理。
testEvent:智能對話分析發送的測試消息,用來驗證您所填寫的消息隊列配置信息是否可用。此類消息您可以直接丟棄,不用做任何處理。消息內容示例:
{ "eventType":"testEvent" }
SyncResult:實時質檢單句結果,消息內容示例:
{ "checkResult":{ "rules":[ { "highlight":[ { "3868":[ { "val":"阿里云", "pid":0, "from":6, "to":9, "tid":"202010***", "cid":"3***" } ], "cid":"31***" } ], "hit":[ { "phrase":{ "role":"客服", "identity":"某客服", "words":"您好,這里是阿里云客服中心,有什么可以幫您的?", "emotionValue":7, "end":3930, "pid":0, "begin":410 }, "cid":[ "31***" ] } ], "rid":"2***" } ] }, "event":"SyncResult", "syncQualityCheckObject":{ "beginTime":1603959093000, "callId":"20201028***", "callType":3, "callee":"1760066***", "caller":"268822***", "customerServiceId":"20526561358***", "customerServiceName":"a***", "dialogue":{ "begin":410, "channelId":0, "emotionValue":7, "end":3930, "hourMinSec":"00:00", "identity":"某客服", "role":"客服", "speechRate":443, "words":"您好,這里是阿里云客服中心,有什么可以幫您的?" }, "dialogueStatus":2, "dialogueTaskUuid":"202010297009ba73-635e-40a2-8245-16315***", "ruleIds":[ "254***", "255***", "251***" ], "skillGroupId":"zc1", "skillGroupName":"職場1", "sourceType":1, "taskId":"20201029C963BA7A-0DD5-45EC-AA40-4A46DC0***", "tid":"202010***" } }
SyncAllResult:實時質檢全文結果,消息內容示例:
{ "checkResult":{ "result":[ { "rules":[ { "highlight":[ { "38***":[ { "val":"阿里云", "from":6, "pid":0, "to":9, "tid":"202010***", "cid":"31***" } ], "cid":"31***" } ], "hit":[ { "keyWords":[ { "val":"阿里云", "from":6, "pid":0, "to":9, "tid":"202010***", "cid":"31***" } ], "phrase":{ "role":"客服", "emotionValue":7, "words":"您好,這里是阿里云客服中心,有什么可以幫您的?", "pid":0, "identity":"某客服", "end":3930, "begin":410 }, "cid":[ "31***" ] } ], "rid":"25***" }, { "highlight":[ { "38***":[ { "val":"公測", "from":13, "pid":1, "to":15, "tid":"202010***", "cid":"31***" } ], "cid":"31***" } ], "hit":[ { "keyWords":[ { "val":"公測", "from":13, "pid":1, "to":15, "tid":"202010***", "cid":"31***" } ], "phrase":{ "role":"客戶", "emotionValue":6, "words":"我想要申請參加XXX產品的公測體驗。", "pid":1, "identity":"某客戶", "end":8000, "begin":5940 }, "cid":[ "31***" ] } ], "rid":"25***" } ], "tid":"202010***" } ], "app_key":"1", "status":200 }, "event":"SyncAllResult", "syncQualityCheckObject":{ "beginTime":1603959093000, "dialogueList":[ { "begin":410, "channelId":0, "emotionValue":7, "end":3930, "hourMinSec":"00:00", "identity":"某客服", "pid":0, "role":"客服", "speechRate":443, "words":"您好,這里是阿里云客服中心,有什么可以幫您的?" }, { "begin":5940, "channelId":1, "emotionValue":6, "end":8000, "hourMinSec":"00:23", "identity":"某客戶", "pid":1, "role":"客戶", "speechRate":192, "words":"我想要申請參加XXX產品的公測體驗。" }, { "begin":11000, "channelId":0, "emotionValue":5, "end":15680, "hourMinSec":"00:25", "identity":"某客服", "pid":2, "role":"客服", "speechRate":30, "words":"好的,我記下了,稍后會有專員與你聯系。" } ], "dialogueStatus":3, "dialogueTaskUuid":"20201029a8b0ccc5d07c43e780aa702da***", "fileName":"202010***.wav", "taskId":"2020102908657590-73e0-4e4c-a34c-750***", "tid":"202010***", "voiceFileUrl":"https://sca-buck***.oss-cn-beijing.aliyuncs.com/a***st.wav" } }
消息內容為JSON格式,數據結構描述如下:
字段 | 類型 | 示例值 | 描述 |
event | String | SyncResult | 消息類型,可能值:
|
checkResult | Object | {} | 質檢結果。詳見下方的 checkResult結構描述。 |
syncQualityCheckObject | Object | {} | 實時質檢對象,為通話相關信息,和轉寫結果。詳見下方的syncQualityCheckObject結構描述。 |
syncQualityCheckObject結構描述
字段 | 類型 | 示例值 | 描述 |
dialogueStatus | Integer | 2 | 實時質檢會話開始、結束的標識,可能值:1(開始);2(對話中)。 |
taskId | String | 20201029C963BA7A-0DD5-45EC-AA40-4A46DC0*** | 任務ID。 |
tid | String | 202010*** | 通話唯一標識。 |
customerServiceId | Long | 20526561358*** | 客服Id。可從控制臺-基礎設置-人員管理頁面獲取,正確填入客服id,客服登錄控制塔時可以查看與自己關聯的錄音文件。 |
customerServiceName | String | agent | 客服姓名。 |
skillGroupId | Long | 1231324234* | 技能組Id。 |
skillGroupName | String | 售前技能組 | 技能組名稱。 |
callType | Integer | 1 | 呼叫類型,可取值:1(呼出)(默認);3(呼入);4(其他) |
callee | String | 1760066*** | 被叫號碼,呼出時指的是客戶號碼,呼入時指的是客服號碼。 |
caller | String | 0211234**** | 主叫號碼,呼出時指的是客服號碼,呼入時指的是客戶號碼。 |
callId | String | 2020102*** | 通話id(acid),可以是呼叫中心系統中的通話id,或者其他可以標識通話的id,存在轉接時,坐席1~n,callid是相同的,tid不同。 |
dialogue | Object | 是 | 實時質檢單句語音識別結果。詳見下方的 dialogue描述。 |
dialogueList | Array | 是 | 實時質檢全文語音識別結果。見下方的 dialogue描述。 |
ruleIds | Array | [1321,23321] | 質檢時使用的質檢規則的規則ID列表。 |
dialogue描述
屬性 | 值類型 | 示例值 | 說明 |
role | String | 客服 | 對話內容角色,取值:客服、客戶、系統。 |
identity | String | 123** | 對話角色的具體身份標識,比如客服ID,客戶ID等。 |
words | String | 您好,歡迎致電** | 這個角色說的一句話。 |
begin | Integer | 3400 | 相對起始點的開始時間偏移,單位ms。 |
end | Integer | 5688 | 相對起始點的結束時間偏移,單位ms。 |
emotionValue | Integer | 6 | 情緒能量值1-10,值越高情緒越強烈。 |
speechRate | Integer | 279 | 本句的平均語速,單位為每分鐘字數。 |
checkResult結構描述
字段 | 類型 | 示例值 | 描述 |
rules | Array | [{}] | 命中規則列表,詳見下方 rules結構描述。 |
rules結構描述
字段 | 類型 | 示例值 | 描述 |
highlight | Array | [] | 高亮對象列表,詳見下方 HighlightObject結構描述。 |
hit | Array | [] | 命中句子列表,詳見下方 HitObject結構描述。 |
rid | Long | 23** | 規則id。 |
HighlightObject結構描述
字段 | 類型 | 示例值 | 描述 |
cid | Long | 34*** | 算子id |
算子id | Array | 23** | 該算子在當前句子中命中位置,需要高亮位置的列表,詳見下方的 高亮位置結構描述。 |
高亮位置結構描述
字段 | 類型 | 示例值 | 描述 |
val | String | 阿里云 | 高亮文字。 |
from | Integer | 6 | 起始位置。 |
to | Integer | 9 | 結束位置。 |
cid | Long | 32** | 條件id。 |
pid | Integer | 1 | 句子位置編號,命中句子在所有句子中的下標值,0代表第一句,1代表第二句。 |
HitObject結構描述
字段 | 類型 | 示例值 | 描述 |
phrase | Object | {} | 命中句子的詳細信息,詳見下方 phrase結構描述。 |
cid | Array | [34**,32**] | 命中的條件ID列表。 |
phrase結構描述
字段 | 類型 | 示例值 | 描述 |
words | String | 您好,歡迎致電** | 句子內容。 |
begin | Integer | 3477 | 起始相對時間,毫秒。 |
end | Integer | 6890 | 結束相對時間,毫秒。 |
role | String | 客服 | 角色,可能值:客服、客戶。 |
pid | Integer | 1 | 句子位置編號,命中句子在所有句子中的下標值,0代表第一句,1代表第二句。 |