因此,自然語言處理領域的玩家們,除了要思考模型的效果、產品的架構,更要思考一個最為本質的問題:要處理什麼資料?為什麼要處理這類資料?
Recurrent AI 選擇了「呼叫系統」。
「電話錄音可追溯而不可作假,這讓呼叫系統成為了一個不可篡改的精準使用者畫像來源。同時坐席與客戶的全部溝透過程也完整保留在電話錄音中,這意味著影響成單率的全部因素都在錄音之中,只要你能準確地把它們提取出來。」CTO 張宇韜說。
如何選擇提取哪些資訊?如何分步進行提取?近日,機器之心前往 Recurrent AI(睿科倫),與 CEO 陳麒聰、CTO 張宇韜、首席科學家楊植麟進行了深入的對話。他們講述了一個用語音識別、語義理解和資料探勘,把呼叫系統「變廢為寶」的故事。
機器之心:能否介紹一下 DealTape(交易磁帶)智慧呼叫系統?
我們的產品是一個最佳化溝通的 AI,希望能夠從統計分析的角度幫助人們去分析,在不同的商業背景下,哪些話術產生了積極的影響,哪些產生了消極的影響。想要實現這一點,就首先需要語音識別和自然語言處理技術,把聲音轉換成由標籤組成的向量,因此這也是我們的技術棧的主要構成部分。
我們最先切入的行業是那些會使用呼叫系統的行業。購買呼叫系統說明他們對監督坐席與客戶溝通的過程是有強需求的。然而過去囿於技術,大部分錄音只能靠人工重聽或者棄置。而我們的系統可以節省 90% 以上聽錄音的時間,讓坐席和管理者都能夠直接發現溝通中的問題、直接進行有針對性的最佳化。
機器之心:為什麼選擇做智慧呼叫系統?
我們幾位創始人的背景集中在 NLP 與資料探勘領域。最開始我們是從聊天機器人開始進行業務上的探索的。然而一段時間之後,我們逐漸認識到,聊天機器人在商業邏輯上有一些不通暢的地方:一方面,現在的任務型聊天機器人仍然需要非常深度的定製,換言之成本十分高昂,另一方面,它對於大多數公司仍然是一樣「nice to have」的東西,大家的支付意願也不是特別高。
因此,我們就在思考,做一些技術棧更深一點的東西。與其說創造對話,不如對已有對話進行分析。而對話資料最多的地方就是呼叫中心。
呼叫中心的使用者花了大量成本進行錄音,但是卻沒有利用它獲得任何價值。電話錄音可追溯而不可作假,這讓呼叫系統成為了一個不可篡改的精準使用者畫像來源。同時坐席與客戶的全部溝透過程也完整保留在電話錄音中,這意味著影響成單率的全部因素都在錄音之中,只要你能準確地把它們提取出來。
所以我們就在思考,如何能把利用這些資料提高企業的價值。
機器之心:DealTape 能夠滿足哪些需求?
兩個典型的需求是培訓和實時座席輔助。
一方面是找到各種話術與成單率之間的關係,幫助管理者視覺化座席問題在哪裡,然後透過個性化提示讓坐席學習容易成單的話術,能夠提高他們的銷售水平。
另一類是自動填寫客戶畫像,節省銷售記錄的時間,可以聯絡更多的客戶 , 以及實時根據客戶問題推送來自銷冠的優秀回覆案例。
另一類是把客戶畫像抽取出來,分析其分佈,不同型別客戶的流失率、成單率等,是一個資料來源詳實的商業分析工具。
機器之心:DealTape 服務於哪些行業?對不同行業的系統進行什麼程度的定製?
會購買呼叫系統的企業都是我們的潛在使用者。我們現在比較集中的行業是金融,教育和 B2B。這些行業的很多基本情況非常類似:沒有一家獨斷的壟斷龍頭公司,而是有非常多中等規模的企業,同時都可以支付得起呼叫系統和相關服務。因此在這些領域內,DealTape 既有可擴充套件性,也能夠進行一些定製。
針對每個不同的行業,我們都對語音和語義模型進行了定製化。
這是因為,同樣是呼叫系統,不同行業的使用方式差別會很大,最後音訊中的資訊分佈、資訊量以及內容差異也非常大。例如保險銷售需要在電話裡和客戶確認非常多個人資訊,一通電話可能長達一小時。而信貸行業去銷售的時候,只需要詢問對方房產,社保等資質再加微信邀約就可以結束了,一個電話平均只要幾分鐘。
機器之心:從模型角度看,DealTape 智慧呼叫系統可以分成幾部分?
我們的整個技術棧可以分為三層:
第一層是語音識別層,主要解決的是如何把呼叫系統裡一段短則幾分鐘,長則幾小時的電話錄音轉換為機器可以處理的雙軌文字記錄。
第二層是語義理解,透過一系列的文字分類模型,為文字中體現坐席與客戶特點的句子打上標籤,併為對話雙方建立「畫像」。
第三層是資料探勘層,計算不同的標籤與成單率之間的關係,將結果用於培訓、實時座席輔助等不同目標。
圖:坐席的「話術點」標籤類別
機器之心:語音識別層和語義理解層分別包括哪些模組?進行哪些任務?
語音識別層首先透過把人聲段落和背景噪音段落分開的形式把長錄音斷句,進一步根據聲紋資訊區分不同說話人身份,並判斷哪一方是銷售坐席,哪一方是客戶。這個階段解決的是「誰在說話」以及「在什麼時候說話」。最後,才對每一句話(utterance)進行語音識別。
語義理解層的目的是把自然語言結構化,最後給出一系列關於坐席和客戶的標籤,我們稱之為「畫像」。
常見的針對坐席的標籤包括「是不是加了微信」,「是不是約了下次見面」等 KPI 衡量指標。而常見的客戶標籤則會根據行業的不同而產生比較大的差異。例如,在金融信貸領域,「是否有社保」、「是否有房產」,就是一些重要的二值標籤。標籤的數量從幾個到幾十個不等,隨著新使用者逐漸加入,需求逐漸增多,我們也在不斷擴充自己的標籤體系。
圖:保險行業的「保險責任 1」標籤對應的語句樣例
機器之心:資料探勘層如何利用上兩層給出的資訊?
資料探勘層像是一個商業智慧(BI)工具包。
在這一層,我們會對所有標籤與成單率之間的關係建模,找到那些與成單率負相關程度最高的、波及客戶最多的因素,將它們視為目前坐席需要解決的首要問題。
同時,我們會分析具有這些因素反而成單的案例,例如「被連續拒絕反而成單」的案例,「被競品先入為主反而成單」的案例,分析究竟哪些話術起了作用促成了成單,找出銷售打動客戶的原因。
對於銷售坐席來說,我們可以利用分析結果進行有針對性的話術培訓。我們可以根據某一位坐席的資料進行迴歸分析,再把報表推送給他:透過資料分析,我們發現,從使用者角度,你在遇到某種情況的客戶時成單率最低,從個人角度,你的某一環節最為薄弱,然後推送和他情況類似的成單案例,對他進行有針對性的話術培訓。
對於管理者來說,我們可以給出管理建議:例如,一位坐席同時維護多少個客戶的時候,成單率最高;又如,哪些話術能夠最有效地促進成單。
另外,我們也可以透過上一層的語義理解,進行類似「網站埋點」,監督坐席是不是按要求完成了工作,例如是不是推廣了小程式。
機器之心:語音識別層的核心技術要點有哪些?
眾所周知,語音識別模型除了需要聲學模型還需要語言模型。
如果沒有語言模型,單純用聲學模型進行識別,文字會出現漏字、同音字錯誤識別等可讀性問題。因此我們需要一個語言模型在解碼過程中對聲學模型定向搜尋過的結果進行一次重排序。
經典的語言模型做法是採用 n-gram 統計模型、但 n-gram 模型存在幾個問題,一是因為引數非常多,所以容易過擬合;二是即使在 n 取值非常小的時候,例如 3-gram,仍然會發生引數爆炸。後來有了基於神經網路的語言模型,把每個詞,或者每個詞的分佈變成一個嵌入碼(embedding), 然後用 RNN 模型來刻畫句子的上下文。這一做法的侷限性在於,無論如何設計模型結構,最後都要透過 softmax 進行輸出,模型的表現力就被嵌入碼的規模所限制了。
因此我們在語言模型中引入了「softmax 混合體」概念,相當於將若干個 softmax 解碼器做成了一個混合模型,克服了基於神經網路的語言模型的表現力限制性,在多個語言建模標準資料集上獲得複雜度(perplexity)的大幅提升,例如在 1B Word 資料集上就提高了 5.6%。這篇文章入選了 ICLR 2018 oral,是前段時間影響力比較好的一個工作。
機器之心:訓練語音模型需要進行什麼規模的標註工作?
在冷啟動階段,我們對接了兩家不同行業的客戶,分別來自信貸領域和 B2B 銷售,我們從他們的資料庫中提取資料,進行了數百個小時的人工標註,然後利用這部分資料訓練處了一個基本可用的基線模型,用於後續的資料標註。有了基線模型之後,新的未標註資料首先透過基線模型進行預識別,再交給標註員做精細標註,這樣成本就大大降低了。同時,基線模型的訓練集也在不斷擴充,現在我們最新的基線模型訓練集規模已經達到數千個小時。
至於生產階段,每個行業都有一個專屬的語音識別模型,如果使用者所在行業是我們之前沒有接觸過的,那麼我們需要大量標註資料從頭訓練;如果我們之前做過相關行業,那麼標註的目的只是適配一下特定公司的資料特點,這時只需要進行「輕標註」,標註量大概是新行業的十分之一。
機器之心:目前市面上已經有許多公司將語音識別視作一項基礎能力模組,對外提供相對比較成熟的技術服務。為什麼 Recurrent AI 仍然選擇「自己造輪子」?而不是呼叫其他 API?
我們嘗試過用通用的語音識別引擎去識別電話錄音,識別的結果並不足以支撐上層的語義處理任務。這是我們「重造輪子」的主要原因。通用語音識別引擎的識別結果會丟掉很多關鍵資訊,例如一些實體的名稱,像公司名稱和產品名稱之類的,這是使用者最關心的一部分內容,但是反而不能被正確識別。我們甚至嘗試過用一些規則修改通用識別引擎的識別結果,比如使用者的企業名稱是「百姓網」,經常被識別成「百姓好」,那麼我們可以制定規則把所有的「百姓好」修改成「百姓網」。但是識別模型是不可控的,可能的錯誤方式有太多了。
另外,從「造輪子」的可行性角度,雖然我們公司創始成員的主要背景是自然語言處理和資料探勘,但是深度學習這類端到端的演算法在不同領域之內有相通之處,而且它大大降低了語音識別的門檻——比如說標註精度就從原來的需要「逐字校準」變成了給出每句的對應文字即可,這就是一個成本和精力上可控的任務了。
機器之心:資料探勘層的核心技術要點有哪些?
資料探勘的難點就在於如何結合所有的特徵去預測。我們一般從三個層面來考慮這個問題,一是特徵工程(feature engineering),二是模型,三是模型的結合(ensemble)。模型層面需要考慮的問題比較少,用分類器解決預測問題已經成為定式,xgboost 等工具已經非常成熟了。所以我們考慮的主要是,第一,怎麼樣去定義更有效的特徵;第二,怎麼樣去做特徵的交叉與結合,使得其表達能力和泛化能力更強;第三,在最後模型結合、調參的層面,把利用不同特徵訓練出來的模型進行結合。
機器之心:各個行業的「標籤」是如何確定的?
每個行業的標籤都有所不同,標籤是和我們的使用者逐步溝通出來的。
使用者公司的運營人員會和產品溝通,提供一小部分音訊。我們的運營人員在聽過錄音之後會幫助他們進行設計,而使用者也會給出很多需求。
有一些標籤能明顯地體現出使用者的商業邏輯。比如說,在一個競價排名銷售的場景裡,使用者就要求系統能夠區分出「不想花錢」、「價格異議」和「問優惠」。在使用者看來,「不想花錢」指代的是完全不想付費、想要免費使用的客戶。「價格異議」是一個更為積極的訊號,表示客戶有支付意願,只是覺得價格太貴。而會「問優惠」的客戶則更為主動,訊號更為積極。
機器之心:行業記憶體在哪些競品嗎?
在美國,公司使用呼叫系統的歷史遠比國內悠久,普及情況也遠勝於國內,因此有一些類似的產品。例如有一家名為 Chorus 的公司,還有 Gong.io (http://gong.io/) 都是針對銷售領域的智慧對話系統公司,但它們針對的物件通常是影片 demo,在國內,這一類場景還比較少。