敏捷AI | NLP技術在宜信業務中的實踐【構建使用者畫像篇】

宜信技術學院發表於2019-09-18

擴充閱讀: 敏捷AI | NLP技術在宜信業務中的實踐【智慧聊天機器人篇】

高階場景之構建客戶畫像

在許多企業中,每天業務人員和客戶的溝通都會產生大量記錄,這些記錄可能包括了客服的溝通資料(通話記錄、通話小結),也可能包括了各式各樣的報告資料(陪訪報告、徵信報告等)(見圖1)。

圖1 業務人員與客戶產生溝通記錄

前者可能口語會多一些,後者則主要是書面用語。但兩者之間有一個共同的特點,就是其中都蘊含著豐富的客戶資訊。想要把這些資訊提取出來,我們就需要利用到(NLP)技術。

圖2為一段客戶陪訪報告的節選,觀察其文字特徵,發現有許多業務所關注的資訊,比如職業方面,客戶是“大學教授”;在可投資產方面,金額有“100萬”,投資型別是“銀行理cai”,對公司的態度是“不瞭解”等。

圖2 客戶陪訪報告示例

所以我們完全可以透過NLP分析文字,對其中的客戶特徵進行標籤化提取,最終利用得到的標籤構建出客戶畫像。這樣做的好處很多,比如方便我們的業務人員隨時發現關鍵問題,便於跟進;自動化處理,提高工作效率。根據挖掘出的資訊構建出客戶標籤畫像之後,就可以方便地盤點特定時間範圍內的需求特點,為新產品設定提供係數參考,或者補充、驗證結構化欄位內容。

總體的實施路線如圖3所示,先透過業務分析來定義業務關注的標籤庫,然後針對定義出來的標籤訓練相應的提取模型,最後利用模型對資料進行分析,得到一系列客戶標籤,再對其進行彙總,最終形成客戶畫像。

圖3 總體實施路線

總體的路線是這樣的,但具體的實施過程中我們也有一些細節需要關注。透過對之前的資料進行分析,我們發現了一些特徵,比如文字之中資訊高度集中,資訊表述通常以短句為單位,但是單一短句語義存在模糊性,還需要結合一定的上下文對其進行分析。所以我們需要對複雜句進行適當的切割,確定合適的資料粒度,同時配合一個適當大小的短句滑動視窗來捕獲相關的上下文語義。

此外對於內部的業務文字來說,其內容涉及大量產品的專有實體名稱和術語,以及較多的數字。針對這種情況,我們建立了專門的詞庫和實體庫,對相應的實體名稱和術語進行準確的切割和識別。對於數字的處理,我們先後比較字向量、識別符號替換、規則識別+後處理等等技術方案,並且選擇了其中效果最好的方法。

當然我們也面臨著普遍存在的標註語料不足的問題,因此在這個專案中,我們側重於研究怎麼在小樣本條件下進行Few-shot learning。

實際中,在大多數專業領域AI專案實施過程中,都存在著標註資料不足的情況,所以針對小樣本進行學習的Few-shot learning也越來越凸顯其重要性。Few-shot learning包括很多種技術,有常見的遷移學習+fine-tuning技術,典型的如Bert;也有基於半監督訓練的一些技術,如基於相似性度量的一些神經網路模型,基於最近鄰演算法的樣本標註擴散這些技術等;還有meta learning的相關技術,例如OpenAI在ICLR 2018上的best paper;甚至還有一些圖網路的相關技術。

在以上種種技術當中,比較適合工程化的、比較容易實施的還是基於遷移學習的方法。在我們的專案中,發現遷移學習,也就是基於預訓練模型,遷移到目標訓練任務上,再加上半監督學習的標註輔助,可以比較好的滿足我們的需求。

下面介紹一下我們的演算法流程:先對複雜句進行清洗與切割;之後可以選擇性的加入一些過濾規則,快速地去除那些比較明顯的噪音資料;然後將資料流入到標籤提取模型之中,得到具體的標籤;最後在畫像構建階段對得到的所有標籤進行去重、消歧,形成最終的客戶畫像。

具體到演算法模型,我們也先後比較許多方法,本質上我們認為標籤識別模型是一個短文字分類演算法,我們嘗試了基於統計的方法(SVM, Random Forest, XgBoost),也嘗試了基於神經網路的模型(FastText,Text CNN/RNN/RCNN, HAN),最終我們選擇了HAN模型,也就是層次注意網路(Hierarchical Attention Network)模型,透過在詞一級和句一級分別進行RNN和Attention計算,最終得到一個合理的文字向量表徵,用於最後的分類,整個過程如圖4所示。

圖4 HAN模型架構

圖5是本例項的總體處理流程,經過資料預處理之後,文字被並行地分配到各個業務關注標籤提取模型之中,輸出各個業務標籤,最終彙總到客戶畫像構建模組,在此進行去重、消解歧義和矛盾,最後得到客戶的畫像。

圖5 例項處理總體流程

另外我們結合公司的敏捷實時資料平臺設計了一個相應的實時AI解決方案,如圖6所示,這裡用到了我們團隊開源的一些技術,包括DBus(資料匯流排平臺),Wormhole(流式處理平臺),Moonbox(計算服務平臺)以及Davinci(可視應用平臺),這四個平臺構成了敏捷大資料平臺棧。

在這個方案裡,我們透過DBus來採集各類資料儲存中的自然語言資料,經過一些可選的技術(如ASR等)得到相應的文字;再透過Wormhole來進行實時的流式處理,標籤模型在Wormhole的實時資料流上執行,對資料流中的文字自動提取相應的標籤,再由Wormhole輸出到指定的資料儲存中;之後由Moonbox對標籤進行後續的彙總處理,先從儲存介質之上把之前計算得到的標籤提取出來,使用畫像模型對畫像進行構建,輸出到如Redis之類的儲存介質之中,最後推送給業務系統供其使用。這就是我們實現的一個實時使用者畫像處理流程。

圖6

此外,在圖6下方的資料流分支裡,我們透過在Wormhole上流轉的生產資料流進行一個選擇性抽樣,之後同樣利用標籤模型和畫像模型,計算出客戶畫像,此後將原始資料、標籤資料和客戶畫像透過Davinci展示給我們的模型維護人員,用於評估檢查模型的執行情況,這樣就實現了一個實時的模型效果監控系統。綜合這兩者,我們就得到了一個實時的、基於文字分析的畫像構建系統。

總結

隨著各企業實體對自然語言資料愈發關注,NLP+AI技術在各領域都成了非常重要、核心的基礎技術服務。領域知識與NLP技術的結合帶來了新的技術產品,創造出了新的商業價值,比如我們目前常用的一些產品:Siri、小愛同學等等,這種Conversational UI帶來的不僅是一種全新的互動模式,更是開闢了一個新的產品領域。

在資料方面,雖然自然語言的資料存量很大,但目前來看無論是通用領域還是專業領域,經過加工整理的高質量自然語言語料資料資源還是比較缺乏,因此其具有非常高的價值。領域語料的積累可以極大提升AI產品的效果,在一定程度上幫助企業形成新的資料壁壘、技術壁壘。

在NLP的演算法方面,就未來一段時間來看,如前文所述,面對小語料任務的Few-shot Learning會越來越受關注,尤其是以Bert為代表的遷移學習技術,將給現在的一些NLP任務帶來一場革命。此外還有針對NLP語料的資料增強技術,我們知道在影像領域資料增強技術已經比較成熟,是一種常見的資料處理方式,但是在NLP領域資料增強技術的發展還不夠成熟,如果能在這方面有所突破的話,相信會對各類NLP任務都有很大幫助。

NLP技術的發展還需要業界各企業、各位演算法與工程專家的共同努力,相信未來我們能夠更準確、更快速、更方便地理解各領域的自然語言資料。

作者:井玉欣


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69918724/viewspace-2657340/,如需轉載,請註明出處,否則將追究法律責任。

相關文章