前言
語音電話機器人是具有自動撥打電話、接聽電話、多輪語音交互、智能意向判斷等多種功能的智能對話機器人。語音機器人可以快速挖掘潛在用戶,及時解決用戶問題,進而提高服務質量和服務效率,在房地產、金融、教育、銀行、保險、電商等行業廣泛應用。機器人相對于人工坐席,具有成本低、效率高、工作態度穩定,數據記錄全面等優勢,具體對比如下:
搭建語音機器人方案
下面我們將從工作流、系統設計與匯港通機器人搭建三部分介紹如何利用匯港通平臺搭建智能語音機器人。
一、工作流
我們來考慮一個基本的、完整的語音對話的運作流程:
上述的流程涉及到了語音對話場景中三個主要的步驟:用戶接起/呼入、客服應答并等待用戶下一步動作、用戶動作/無動作。每一步驟都有自己特定的需求,一個智能的語音呼叫系統,應當能較好地處理這些需求。
用戶接起/呼入:呼叫流程的開始,語音呼叫系統應該要支持接通、識別用戶的呼入信號與呼出接通信號等。
客服應答并等待用戶下一步動作:在呼入場景下,語音呼叫系統要能夠識別用戶的呼入意圖,并給出用戶回復。在呼出場景下,基于呼叫話單,語音呼叫系統要能夠進入任務流程,給出詢問的話術。
用戶動作/無動作:用戶的所有下一輪反應可以歸納為用戶動作和無動作。語音呼叫系統應該要能合理地處理用戶動作和無動作,并給出用戶回復。
二、系統設計
基于以上的語音呼叫工作流,我們先從整體上介紹語音呼叫系統的技術架構與呼叫流程。
技術架構
語音呼叫系統的技術架構主要包含以下七大模塊:
-
通訊管理模塊:SIP Server包括FreeSWITCH[1]電話系統和通信線路,使用SIP Trunk技術,負責語音/按鍵流的輸入輸出,以及轉人工參數傳遞等。
-
語音模塊:負責語音相關的操作,包括語音識別(ASR)、語音合成(TTS)、端點檢測(VAD)以及錄音播放等,通過HTTP接口形式和其他模塊通信。
-
中控模塊:中控模塊是語音呼叫系統的集成模塊,負責和其他系統及模塊對接,打通和控制整個呼叫流程。主要任務是將ASR識別結果傳入對話機器人,并將機器人返回的指令,轉換成電話系統控制指令,實現放音、轉人工、掛機等流程的控制。
-
存儲模塊:負責將和通話相關的必要信息存儲到數據庫,方便后續的質檢工作。
-
防騷擾模塊:負責中控模塊話單的撥打控制,通過一定的防騷擾策略設置,避免對同一號碼的反復撥打。
-
CRM模塊:工單模塊負責工單任務的創建和業務的處理,也可以查看話單撥打結果、查詢通話錄音、人工回撥等業務操作。
-
機器人管理模塊:機器人模塊是系統解決方案中的AI賦能系統,包括基于業務流程的任務機器人,和基于知識庫的問答機器人。
智能語音流程
語音呼叫(呼出)流程主要包括:創建呼叫任務流程和撥打流程。
創建呼叫任務流程,涉及到CRM模塊、防騷擾模塊、中控模塊和語音外呼模塊(包括通訊管理模塊與語音模塊)等系統模塊。主要流程包括:
撥打流程,涉及到通訊管理模塊,語音模塊、中控模塊、機器人管理等主要的模塊。具體流程包括:
-
外呼模塊通過線路開始撥打用戶電話;
-
待電話接通后,開始一個語音/動作處理的循環流程。呼叫模塊(通訊管理模塊,語音模塊)將SIP流語音信息/用戶動作識別為文本信息/用戶動作事件,并將這些信息推送到中控模塊;
-
中控模塊將ASR識別結果傳入匯港通平臺,并將任務機器人返回的指令,轉換成電話系統控制指令;
-
外呼模塊負責實現放音、轉人工等流程的控制。之后再開啟一個語音/動作處理流程;
-
待用戶主動掛機,或匯港通平臺控制掛機后,中控模塊收集用戶掛機報告、用戶錄音文件報告等信息進行數據存儲,以備后續查詢。
語音內呼(呼入)流程主要包括撥打流程,涉及:CRM模塊、中控模塊和呼入模塊等系統模塊。具體流程包括:
-
用戶通過線路開始撥打電話;
-
待電話接通后,開始一個語音/動作處理的循環流程。內呼模塊將SIP流語音信息/用戶動作識別為文本信息/用戶動作事件,并將這些信息推送到中控模塊;
-
中控模塊收到通話文本信息后,中轉通話信息到匯港通平臺;
-
匯港通平臺進行意圖識別(NLP),再根據機器人流程進行對話控制,并返回回復給到中控模塊。此過程也會調用CRM模塊自動創建工單,用于后續業務的處理;
-
中控模塊根據協議內容響應呼入模塊;
-
呼入模塊根據回復內容播放相應的錄音文件,或者進行語音合成并播放,或者進行轉人工等操作;
待用戶主動掛機,或匯港通平臺控制掛機后,呼入模塊發送用戶掛機報告、用戶錄音文件報告等信息,中控模塊進行數據存儲,以備后續查詢。
語音呼叫流程的實現,得益于匯港通對話機器人平臺。在語音場景下,匯港通電話機器人平臺在處理用戶接起/呼入、消息應答等方面有著很大的優勢。下面圍繞電話機器人流程搭建、痛點問題、效果優化三方面,來介紹如何基于匯港通平臺搭建智能語音機器人。
匯港通機器人流程搭建
+
1) 觸發任務
語音機器人和文本機器人在任務的觸發上稍有不同。文本機器人可以通過用戶輸入的文本信息直接進入后續流程,語音機器人則需要在用戶撥打電話或者接聽電話時,由語音呼叫模塊發送指定的觸發詞到匯港通平臺,觸發詞觸發任務機器人后進入對話流程。通過觸發任務,語音呼叫系統完成了用戶接起/呼入的任務。
2) 會話流程
會話流程應該要解決兩個問題:用戶動作識別與機器人應答。
用戶動作一般可以歸納為以下幾種類型:
-
靜默:靜默指在等待用戶動作時,用戶沒有按鍵、說話等其他可以被歸納或識別的動作,也可以稱之為靜音/用戶不回答/無應答。
-
拒絕:明確拒絕,明確拒絕所介紹的產品或服務,一般常見于外呼場景,例如:不需要、不考慮、沒有打算、不感興趣等。
-
否定:對AI說的話的否定,如您之前預約過我們公司的課程是吧?用戶如果回答不知道,并不是拒絕AI介紹的產品或服務,而是對AI某些問答的否定。
-
肯定:用戶希望向下一步或者判定可以繼續向下走,類似同意、可以、登記等。
-
自定義的業務選項:如您想辦理什么業務呢?代收快遞、門衛放行等自定義意圖。
-
未識別:也可稱之為拒識,一般還要分為兩個層級,不在當輪任務中所列選項,或者調用問答知識庫之后仍沒能召回知識點。
-
任意回復:也稱作任何回復
-
其他特殊反應:如未聽清、再說一遍(重說)、信號不好、你是誰、哪里的、干嘛的、什么事等。
對于上述的一些用戶動作,匯港通平臺使用實體抽取的方法。實體和詞槽是任務機器人在對話過程中需要理解的特定信息,對話管理則負責對詞槽進行填充、更新或清空,并控制對話的流程。當用戶動作被發送到匯港通平臺后,可以根據用戶的動作,來決定后續會話的流程,并獲得機器人應答。
機器人應答涉及以下幾個方面:
-
根據用戶意圖進入任務流程:基于歷史的咨詢語料以及內外呼熱點問題, 總結出一些業務流程,機器人通過多輪對話的方式和用戶進行交互,幫用戶完成任務。用戶語音回復話術,機器人基于NLU識別出用戶的意圖,如肯定,否認,拒絕服務,在忙,提問等,語音呼叫模塊識別語音/動作后,通過中控發送給機器人,并跳轉到下一步任務。
-
任務流程切換:意圖的切換與保持,允許在一個流程未完成的情況下,切換到另一個任務中。切換后,原任務的對話流程可以保持一段時間。新任務流程結束后,機器人可主動切回原任務流程,例如客服來進入電確認試聽課時間流程,在用戶回復過程中觸發了咨詢老師課程安排流程,當前流程結束后仍可以繼續上一個未完成流程(確認試聽課時間流程)。
在這里,用戶也可以通過按鍵進入轉人工意圖,客服人員會加入會話處理用戶的需求。
如下邊的例子,客服撥打電話,進入任務流程,咨詢試聽課問題時間,同時用戶咨詢是否有成人口語訓練課程,進入問答流程,機器人給出回復。最后用戶可以繼續任務流程。
-
將語音返回用戶:中控獲得機器人回復后,將系統動作轉變成自然語言文本,并將文本轉語音或者錄音文件名傳給語音呼叫模塊,語音呼叫模塊進行相應的放音操作。
-
掛斷:在以下三種情況下,會進行掛斷操作,待用戶主動掛機,或匯港通平臺控制掛機后,內呼/外呼模塊發送用戶掛機報告、用戶錄音等信息。1)當機器人完成用戶的任務后,用戶可以通過按鍵來結束掛機。2)當機器人多次詢問用戶,用戶有兩次靜默后,機器人會主動掛機。 3)當用戶可能會在中途隨時選擇掛機。
-
數據存儲:在有些項目上,需要記錄用戶的標簽,用戶對應輪次的回復,走過的輪數,對用戶進行打標(這種記錄通常被稱作埋點),埋點通常在各個流程之后以詞槽記錄的形式留下來,比如:用戶經過第一輪的時候,用戶輪次變為走過第一輪;用戶提到價格時候,通過隱藏單元拿到用戶說了價格,然后記錄下來用戶說了價格這件事;另外還有基本的對每一輪用戶反應的判斷最后如何影響最終的結果。最后,將信息存到表里即可。
痛點問題解決方案
語音場景下用戶回復啊、哈、咳等單字的情況比較明顯,或者由于信號問題、環境音等情況會被語音識別為呵呵 等,這些無意義的特殊語音可能會中斷正常的放音流程,容易造成話術的重復播放或者打亂正常的任務流程。
對于單字、特殊語音文本,現有方案是在匯港通平臺上維護了一個過濾列表。和正常的通話流程一樣,當有過濾列表中的信息進入流程后,語音呼叫模塊會收到匯港通平臺回復特殊的標志信號,從而可以忽略這些干擾信息。同時,在匯港通平臺建立過濾信息列表,也方便維護和擴展。
打斷也是語音場景下容易出現的一種場景,例如營銷場景中對于項目的介紹,由于電話機器人回復內容過長,就會出現用戶打斷的情況。對于打斷的場景,需要解決的是:當打斷發生后,應該能夠根據場景需要適時終止當前放音,進入下一對話流程中去。目前打斷處理的解決方案是配置錄音信息,設置是否可以打斷、靜默時間、播放時間等參數,語音呼叫模塊可以根據這些參數控制當前放音是否終止,以及是否需要播放新的錄音等。
收集通話信息,能夠為后續質檢、流程優化提供一個有力的參考。在營銷型場景中,收集通話信息更是在提煉用戶畫像,區分用戶類型,篩選潛在用戶等方面重要的意義。目前語音呼叫方案中通過匯港通平臺主要收集三種信息:用戶意圖分數、用戶類型、用戶語義標簽。
在多輪對話中,每一輪的問答都會對用戶的意圖進行判斷,并計算用戶意向分數。例如,用戶同意,意向分數+2;用戶拒絕,意向分數-0.5;挽回拒絕,意向分數+1.5,對話結束后會形成一個用戶最終的意向分數。
用戶類型信息是和語音對話深度、命中關鍵詞相關的。在匯港通平臺,每一輪對話都有澄清和跳轉的流程,當一輪對話完成澄清進入下一輪之后,增加對話的節點深度。完成整個對話流程后,可以根據對話節點深度和命中的關鍵詞確定用戶類型。
以上面的對話流程為例,可以得到一個基本的用戶畫像,例如:
初步意向:有興趣
意向分數:5
挽回:不同意
用戶類型:E(命中了在忙的關鍵詞)
用戶語義標簽:位置相關
以上的通話信息可以反饋到CRM,方便進一步地篩選用戶,或者回撥電話等后續的操作。
語音和文字相比,會遇到多種特殊情況,我們的處理方法如下:
效果優化方案
1) 用歷史語料訓練ASR 并提升語音識別的準確率
考慮到ASR會帶來識別錯誤,我們會有針對性的優化語義理解模型,例如使用拼音相似度特征、對語音識別結果進行糾錯等。ASR優化的方案包括:根據領域關鍵詞增加熱詞;根據領域自然語言文本優化語言模型;基于標注的語音數據優化聲學模型。
2) 豐富相似問,訓練模型來提高準確率
搭建好語料知識庫后,通過擴充專業詞匯,維護實體,相似問擴充,并利用歷史語料等,不斷訓練模型優化,來提高問題召回的準確率。
3)針對語音場景,增加容錯機制
考慮到語音機器人有可能遇到識別問題,以及強任務的特點,我們在任務機器人中設計了容錯機制,比如內呼部分,如果我們不能識別會請用戶再說一遍。這樣的話可以挽回一些第一次語音轉寫失敗的案例,進而提高了準確率與召回率。
4)優化話術,提高成功率
當文字話術升級成了語音話術,用戶對話術設計提出了更高的要求,通過用戶的實際反饋和撥測的感受,我們優先確認了下面幾個基礎原則:
在用戶心中,好的話術要兼顧理性和感性原則。理性原則體現在機器的話是有用的,話術應該是以目標為中心、準確、簡潔的;感性原則強調對話過程令人愉悅,話術應該是自然、友好、有個性的。
語音呼叫電話機器人和傳統的文本機器人在很多方面存在差異性,這不僅體現在語音呼叫電話機器人的系統架構和流程上面,還體現在一些特殊的場景和需求上。系統架構方面,語音機器人需要在傳統機器人的基礎上增加對語音識別、語音轉換、線路等方面的支持;特殊場景和需求上,匯港通平臺為復雜對話流程和場景提供了好的對話能力。基于匯港通科技有限公司打造的語音電話機器人可以為傳統的銷售、客服等人力密集型業務提效,提供一種較好的解決方案。
?