回覆列表
  • 1 # 支付寶客服

    讓我們來透過一個專訪瞭解螞蟻金服 MISA「成長故事」與「近照」(火熱的第一手資料與大家共享)

    專訪 | 螞蟻金服 MISA:比使用者更懂自己的自然語言客服系統當手機取代了錢包,全民消費開啟移動支付和線上生活時,中國的商業生態和消費習慣已經被深刻改變。人們開始越來越習慣不帶錢包的生活,此時的支付寶甚至已經比現金更常用了。與支付寶這個產品端一同忙碌起來的還有螞蟻金服的服務端,95188 服務熱線就是其中之一。

    然而當我們談起客服電話,想到的仍然是傳統的按鍵選單(「普通話服務請按1,for English service please press 2」)和在機械而漫長的語音播報裡等待的焦躁。「在過去的統計裡,只要使用者沒轉接人工,就算作『問題被自助解決了』,其實在我們看來那不叫『解決』,叫『損耗』。

    螞蟻金服的產品運營專家弈客說。秉承著這樣的理念,團隊開發了 MISA(Machine Intelligence Service Assistant),一個能夠透過識別使用者的語音中包含的業務需求來直接進行迴應的客服系統,他們稱之為「37攝氏度的自助語音互動」。

    在金融業務領域,客戶服務涉及許多環節,透過人工智慧的技術解決客服問題,為廣大使用者提供高效、個性化的普惠金融服務,成為金融科技領域非常基礎、非常具有挑戰性的課題。

    近日機器之心也有幸探訪螞蟻金服,採訪了 MISA 團隊中的三位核心成員:人工智慧部深空(張家興 )、客戶服務及權益保障事業部產品運營弈客(於浩淼 ) 以及人工智慧部演算法千瞳(崔恆斌 ),聊了聊如何利用深度學習演算法構建能夠「未卜先知」的客服系統。以下內容根據採訪實錄整理,機器之心對內容作了不改變原意的調整。

    MISA 的「成長故事」與「近照」

    1.問:開發 MISA 系統的初衷是什麼?

    弈客:95188 支付寶服務熱線是一個典型的 IVR 場景(Interactive Voice Response,互動式語音應答),作為一個語音渠道,它的業務目標很簡單,就是「定位使用者的問題,匹配相應解答方案」。一開始,它就是一個傳統的按鍵選單,後來隨著螞蟻金服業務線的日益增長,按鍵選單無法滿足業務需求,同時語音識別技術也進入了一個基本可以投入應用的階段,所以從 16 年初開始,我們和演算法工程師一起,嘗試找新的解決方法;

    最初的想法是讓使用者描述自己的問題與場景,然後將描述與我們的業務與知識進行一次匹配。後來,我們發現單次匹配也很難做到特別精準,因為使用者很難在單次描述裡給出全部所需要素,所以就嘗試以多輪互動的形式,用一個對話系統來幫助使用者補全其描述中缺失的部分。

    再後來,我們發現與其讓使用者完全清楚地描述自己的問題,不如我們率先發問。我們做了大量的市場調研,發現如今市面上的客服系統也基本上以「描述與匹配」模式為主,涉及多輪互動的本身就很少,在多輪基礎上發展方向也沒有那麼明確。因此我們就回到了螞蟻自身。我們就想,能不能基於使用者在提問時所積累的行為特徵,以「猜問題」的形式讓系統率先發起對話,降低使用者的使用難度。相比於「你有什麼問題?」,「你是不是想問 XXX 問題?」就要容易回答得多,即使使用者回答「不是」,我們的問題也會為他接下來的描述提供一個示例。

    圖:如今的95188 語音服務流程

    2.問:現在MISA 的系統由哪些部分組成?分別完成什麼任務?

    深空:MISA 的主要模組有猜問題、問題識別、反問互動三個。「猜問題」是螞蟻金服在客服領域的首創,是一個利用使用者可能與本次致電相關的資訊,基於深度學習演算法框架構建的問題識別模型。「問題識別」是根據使用者的描述定位他可能遇到的問題。「反問互動」是在使用者給出的資訊不全時,利用「要素拆解和補全」的方式幫助問題識別模組圈定範圍,降低問題識別的難度,以反問的形式與使用者進行互動。

    3.問: 除了使用者轉為文字的語音輸入外,MISA 的系統還會接收哪些輸入?如何分類?

    深空:我們將輸入分為因子、軌跡、文字三類。因子是由業務方定義的、具有明確含義的特徵,例如:過去24小時是否有還款行為、過去24小時是否發生過轉賬行為等。因子大約有數百個。軌跡是使用者最近的 120 個「行為」組成的時間序列,其中一個行為指對遠端伺服器發生一次請求。行為的種類超過一萬種。文字是使用者的描述以文字形式表達;在「猜問題」環節,文字指使用者的歷史描述,在正常的「問題識別」環節,文字即把本次電話裡使用者對問題的語音描述轉換成文字。文字是一個長度各不相同,甚至可能空缺的輸入。

    4.問:作為一個以識別為主要目的的系統,MISA 會將使用者的問題匹配到多少種類型裡?如何給出應答?

    弈客:需要匹配的問題型別的具體數字隨著業務上線與下線會有浮動,規模大約在「數千」這個量級。

    大框架上,應答可以分為三類。第一類,如果使用者的問題很簡單,能用一兩句話說清楚,我們就以播報的形式輸出。比如之前餘額寶一個業務的產品方案進行了調整,從不限轉入金額到每天最多隻能轉入兩萬。這時候當用戶轉入出錯前來諮詢,我們就會以播報形式把業務調整通知給使用者。第二類,如果方案需要使用者在某一個產品頁面進行操作與互動,我們就會把相應頁面在使用者的 app 里拉起來。使用者掛掉電話開啟 app,就能看到解決方案頁面的推送,點開就可以完成操作了。最後一類,我們判斷相對複雜的問題,就轉接人工小二處理。

    5.問:一位使用者平均需要與系統進行多少輪對話能夠定位到自己的問題呢?

    弈客:一開始系統能力還沒有那麼強的時候,我們把最多對話輪數設定為 4 輪,如果 4 輪對話之後使用者的問題仍然沒有得到解決,就轉交人工客服。透過不斷的最佳化,現在使用者的平均對話輪數不超過兩輪,大概在 1.8-1.9 左右。

    客服系統是怎樣煉成的:模型選擇、評估與最佳化;

    6.問:在處理自然語言文字時,用到了哪些深度學習模型?

    千瞳:我們首先用自己預訓練的詞向量對文字進行表示,然後分別用到了卷積神經網路(CNN)和以 LSTM 為基本單位的迴圈神經網路(RNN)對文字進行處理。

    卷積神經網路中,模型對由詞向量組成的文字做一維單層卷積與池化,形成一個向量,RNN 則把文字視為一個序列,處理後也得到一個向量,最後,將兩個向量相加,得到一個代表本段文字的新向量,然後與代表因子和軌跡的向量加在一起,進行分類。

    7.問:為什麼同時採用 CNN 和 RNN?

    千瞳:兩種模型提取特徵的能力不同。CNN 的能力在於提取關鍵詞。RNN更善於捕捉序列關係。

    8.問:分類模型與問題識別模組的關係是?

    千瞳:問題識別模型是由多個子模型+融合模型的形式組織的。分類模型只是其中一種子模型,除此之外,還有搜尋、意圖樹等多個結構化子模型。不同模型的輸出格式也各不相同,分類模型返回不同類別的可能性打分,而意圖樹可能只返回某一個最可能的類別。在子模型各自進行問題識別後,我們會透過一個GBDT的模型,對前四個模型的結果進行融合。在融合模型階段,我們取每一個模型的 top1輸出,根據標註資料來選擇輸出可能性最高的那個模型的結果。

    9.問:反問互動是如何實現的?

    弈客:如今一百通電話裡,有三十通會率先透過猜問題的形式對使用者進行發問。如果沒有猜中,就要思考如何在較短的輪數內摸清使用者的需求。使用者的大多數問題都能夠以「業務、框架、型別」三要素方式進行拆分。例如「花唄不能還款」,「花唄」就是涉及的業務,問題的核心動詞「還款」就是框架,「失敗」是導致使用者提問的訴求型別。有超過一千個使用者問題都可以被拆解成三要素的形式,其中包括一百多類業務、不到一百類框架和不超過十種問題型別。

    三要素拆分方式的方式能夠幫助快速縮小識別範圍。使用者在描述中,可能不能一次把三要素都描述清楚,但是如果給出了某部分要素,比如使用者說「我要還款」,就給出了框架「還款」和型別「如何」,這時我們就可以就缺失的「業務」要素進行反問,比如,「您是要進行花唄還款、借唄還款還是信用卡還款?」

    千瞳:從技術的角度上來講,我們在構建了語義要素庫之後,是可以實現 zero-shot 的問題識別的。即,不需要見到特定的要素組合的訓練樣本,只要在其他訓練樣本中見過單獨的要素在其他場景下出現,一樣可以識別這個要素組合,對應到相應問題。

    另外,我們也構建了多工學習的框架。三要素識別任務的目標是非常類似的,都可以看做是多分類問題。多工學習讓不同任務間的資料可以共享。雖然每一個單獨的任務都有足夠的資料,但是不同任務間目標會讓特徵提取各有側重,提高模型效果。相比單模型,識別準確率可以提升7個百分點。

    10.問:如何評估匹配的精確程度?這些評估是否會反過來影響模型的最佳化?

    千瞳:匹配的評估指標有多個層級,第一個是CTR(Click Through Rate),比如在「猜問題」階段,使用者會確認系統猜的是不是他的問題。第二個是分流的準確率,如果分配到人工還有小二派單準確率,最後是問題解決率。

    至於使用者的評估如何影響模型最佳化,一言以蔽之,使用者的反饋就是模型的訓練資料,系統自己能形成一個閉環迭代體系。 MISA 的大部分模型一週迭代兩次。

    關於比賽:客服領域裡的相似度計算

    1.問:比賽中的「判斷兩句話是否為同義句」任務和利用分類法進行問題識別任務之間的關係是什麼?

    深空:當我們拿到一個使用者的自然語言問句,想判斷它是知識庫裡的哪一類問題時,通常有兩種做法:一是做分類,也就是上面講到的問題識別;還有一種做法就是判斷同義句,給出每一類問題的幾條例句後,當一個新的問句出現,就計算新問句與每一條例句之間的相似度。

    相比於識別,同義句是一類相對昂貴但具有重大意義的做法。對於許多拿不到豐富資料的場景來說,訓練分類器變得不可能,而蒐集例句、計算相似度相較之下更為可行和合適。

    基於相似度計算的分類演算法對於資料的需求要靈活得多,可以根據資料的情況分層次安排:有的方法可以不需要訓練資料,基於規則來做;有的方法可以基於領域無關的、有公開語料的通用資料進行訓練;當然,如果提供領域相關的資料,可以讓相似度計算得更好,就像我們這次提供的資料這樣。

    從工程的角度來講,這種一開始對訓練資料依賴較小的辦法,有利於工程師按部就班把一個問題解決掉。

    2.問:選擇判斷同義句作為本次大賽賽題的原因都有哪些?

    深空:第一,在將使用者的問句分類的場景下,相似度計算是一種基礎而實用的做法。在客服領域裡,大多數應用場景仍然是缺少資料的。第二,問題的相似度計算在其他場景下也有廣泛的應用,例如,在「挖掘使用者常見問題」任務裡,就要對使用者問句進行聚類,將每一類常見問題歸為一類。聚類的基礎就是計算每兩個問句之間的相似度。還有許多其他類似的應用。總而言之,相似度計算是客服大領域中非常基礎、非常核心的一個問題。

    這次比賽的重點就是鼓勵選手找到好的相似度計算方法。本次我們在初賽就提供了 10 萬條資料。[崔恆斌1] 作為對比,現在的相似度計算比賽中最大的公開資料集大概在 1 萬條左右。但是我們不強制選手使用提供的資料,完全不基於資料或者引入外部資料的做法都是被允許的,希望選手們不拘一格,找到最好的相似度計算方法。

    3.問:是否會考慮將比賽中出現的做法投入到實際生產中?

  • 2 # NBI大資料視覺化分析

    智慧AI客服在未來必然會成為線上客服系統的主流,用AI客服逐步替代人工客服也是行業發展的必然!營銷的過程中,AI客服會時刻保持線上,並且實時更新自身的知識庫,準確的說AI客服是能夠自主學習的智慧線上客服,很多客服軟體也將這個功能嵌入其中,技術日趨成熟。如果想深入瞭解AI智慧客服|機器人線上客服不妨試試米雲客服系統,你就會明白AI客服可以解決90%以上的日常問題,是解放人工、提高生產力的科技產物!

  • 3 # Baklib

    這個問題大家大家可以看看小鳥的下面這篇文章

    提供良好的使用者體驗及反饋,客服已經跟不上時代,不如試試產品知識庫 - 知乎 (zhihu.com)

  • 中秋節和大豐收的關聯?
  • 墜琴怎麼學快?