999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能催收系統中自然語言理解模塊設計

2022-09-22 05:59:42穆平安
軟件導刊 2022年9期
關鍵詞:文本模型

趙 冬,穆平安

(上海理工大學光電信息與計算機工程學院,上海 200093)

0 引言

在金融領域,銀行主要起著為企業或個人提供周轉資金的杠桿作用,銀行的盈利主要來源于企業和個人的貸款業務。隨著經濟的快速發展,截至20 年末,我國金融機構人民幣各項貸款余額172.75 萬億元,同比增長12.8%。但是貸款貸出去存在有風險,當個人或貸款企業無法償還貸款時,就形成了壞賬,隨之而來的是待催收違約客戶也逐漸增多[1]。在銀行內部建立催收部門或者打官司成本高且收效甚微,于是不得不將不良賬戶送到第三方機構進行催收,第三方往往采用電話轟炸、騷擾通訊錄等極端暴力催收手段。催收過程中催收人員往往掌握著大量債務人的個人信息及隱私,以此威脅債務人還款,這使得債務人還面臨著信息被泄露的風險。隨著國家對相關問題的重視,催收行業的監管也日趨嚴格,暴力催收不可取。得益于近年來海量增長的大數據和飛速發展的人工智能技術[2],利用機器人進行催收取得了新的進展。催收過程中智能機器人的使用,不僅可以節省大量人工成本,還可以保護債務人的隱私,提升催收效率和客戶滿意度。智能催收機器人可以自動記錄每一通電話的內容,以語音和文本的方式存儲在企業賬戶后臺,為企業后期數據分析、話術優化做準備,工作效率也是人工坐席的3~4倍。

目前在實際應用中,NLU 模塊面臨的主要問題有:①訓練深度模型需要大量的標注語料,尤其是面向特定領域的中文標注語料;②深度學習模型對語言的理解只停在語義的表層,在復雜任務下,對話系統結合已有知識進行邏輯推理的能力較弱,不能利用意圖識別和槽位填充兩者之間的聯系進行系統聯合建模;③用戶對話自由度高,沒有明確的規范句式,使得對話存在實時性、不規則性,從而影響了NLU 模塊的準確性。

為了解決以上問題,本文基于開源對話系統機器學習框架Rasa,在自然語言理解模塊中加入最新提出的面向金融領域預訓練語言模型(FinBERT),結合深度學習算法[3]提升自然語言理解模中意圖識別[4]與槽位填充功能的準確率;并與原始預訓練語言模型及其他深度學習算法比較,結合對話系統在智能催收領域的實際應用,對NLU 模塊的意圖識別和槽位填充功能進行模型訓練;最后結合Rasa 框架內置的模型評估命令,對訓練好的NLU 模塊進行測試與分析。

1 相關工作

1.1 語料庫

在實際應用中,制約NLU 模塊發展的一個關鍵因素是相關模型需要大量的標注語料。在NLU 領域,斯坦福大學自然語言處理小組在SQuAD1.0[5]的基礎上加入了“不可回答的問題”將數據集擴充為SQuAD2.0 版本[6]。使語料與真實場景更為接近。2018 年,Reddy 等[7]發布了CoQa 數據集,該數據集面向多輪對話,相比SQuAD 數據集,CoQA種類更加豐富,因為每組對話都需要對上下文進行理解推斷,所以更能反映人類真實對話場景。2020 年,微軟亞洲研究院發布了多輪對話推理數據集MuTual,在該數據集上,最先進的方法準確率只能達到71%,遠低于人類94%的平均水平[8]。

1.2 神經網絡模型

神經網絡是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法模型,這種網絡通過調節內部大量節點間相互連接的關系,從而達到信息處理目的。目前,基于神經網絡模型的各種算法已廣泛應用于自然語言理解相關研究。

Hemphill 等[9]使用基于雙向模型的RNN 語義框架解析網絡結構并考慮意圖識別和槽位填充兩個任務之間的交互作用,聯合執行兩個任務,實驗表明,該方法在ATIS數據集上優于其他方法。Chen 等[10]提出基于注意力機制的雙向長短期記憶網絡(LSTM)模型,用作呼和浩特市公交查詢庫中的意圖識別與槽位填充任務,實驗表明,基于字向量的方法要優于基于詞向量的方法,實驗中提出的模型在F1值上優于其他原始LSTM 方法。

2014 年,KIM[11]改進了卷積神經網絡模型(CNN)算法并將其用于句子分類任務,結果表明,在情感分析和問題分類在內的4 個任務上均有所改進。Xu 等[12]提出一種基于CNN 的意圖識別與槽位填充的聯合檢測模型,該神經網絡模型可以看成是一種三角形狀的條件隨機場(CRF)模型。該模型使用CNN 提取特征,這也是使用神經網絡模型在意圖識別與槽位填充聯合任務的嘗試。Vu[13]將改進的CNN 模型應用于序列標注任務,模型保留了序列的上下文信息,該方法不需要先驗的語言知識,性能優于之前的基于RNN 模型。

1.3 聯合模型

考慮到意圖檢測和時隙填充之間的密切關系,最新的研究中采用聯合模型以利用任務間的共享知識。聯合模型又分為顯示聯合建模和隱式聯合建模,其中隱式聯合模型指該模型采用共享編碼器捕獲共享特征,沒有任何顯式交互。Liu 等[14]使用了一種帶有共享機制的編碼器—解碼器結構,共用于意圖識別和槽位填充。Zhang 等[15]構造一個關鍵動詞和其上下文信息相結合的模型以解決問題,進一步提高slot-gated 模型性能。雙向流相互作用功能意味著模型考慮了意圖識別與槽位填充中的交叉影響,Wang等[16]提出使用兩個相關的雙向LSTM 并考慮跨意圖識別和槽位填充交叉影響的模型體系結構。

1.4 預訓練模型

BERT 模型是Google 于2018年發布的一種語言表示模型,一經發布就在多個自然語言處理任務中取得了出色的成績。該模型通過在大量大規模無標注語料上的訓練得到一個通用的“語言理解”模型,其輸入由初始字向量、文本向量和位置向量組成,在下游的特定文本分析任務中無需對特定任務的體系結構進行大量修改,只需對參數進行微調即可[17]。在基于BERT 的模型中,每個話語以[CLS]開始,以[SEP]結束,其中[CLS]是表示整個序列的特殊符號,[SEP]是分隔非連續詞塊序列的特殊符號。此外,特殊詞塊[CLS]的表示用于意圖檢測,而其他詞塊表示用于槽位填充。Chen 等[18]具體研究了BERT 模型在自然語言理解領域的應用,BERT 模型用于提取上下文的嵌入信息以進行意圖識別及槽位填充,在與未經預訓練的語言模型相比,文中提到的方法取得了優異成績。戰保行[19]采用BERT 模型實現聯合模型,利用BERT 代替意圖識別和槽填充基線模型中的底層詞向量表示模型。Qin 等[20]使用預先訓練的嵌入編碼器以替換其注意力編碼器,進一步提高了模型性能。

2 相關理論基礎

2.1 Rasa NLU

NLU 處理消息是通過幾個模塊完成,這些模塊連接執行,稱為處理管道(Pipeline)。如圖1 所示,管道中的功能模塊分為4 種:分詞器、特征提取器、分類器、實體識別模型。

Fig.1 Rasa NLU treatment pipeline圖1 Rasa NLU處理管道

2.2 RCNN

傳統的特征表達方法有貝葉斯分類(NB)、支持向量機(SVM)、K 近鄰(KNN),但是這些方法忽略了上下文、語義和詞序信息,而基于深度學習和詞嵌入的方法在特征提取方面比傳統的特征表示方法更有優勢。在文本分類任務中,卷積神經網絡(CNN)和循環神經網絡(RNN)作為兩種常用的深度學習方法的代表,被廣泛應用于各種分類任務中,但是也有各自的局限性。CNN 作為一種無偏模型,通過池化操作可以獲得更重要的特征,但是在使用過程中卷積核大小難以固定,過小容易丟失數據,過大則空間參數過大。RNN 作為一個有偏的模型,善于利用上下文關系,但是通常文本序列后面的單詞有更大的權重,這并沒有考慮到重要的單詞可能出現在文本序列的任何地方。相比于前兩種深度學習方法,RCNN 的優勢在于不需要像CNN 一樣需要通過窗口大小來設定對上下文的依賴長度,同時還可以較為均勻地利用單詞的上下文信息,解決在RNN 中后面的單詞比前面的單詞影響力更大的缺點[21]。

遞歸卷積神經網絡(RCNN)用于文本分類,其結構如圖2 所示。該模型采用雙向循環結構,比傳統的基于窗口的神經網絡具有更少的干擾,可以最大限度地提取上下文特征。并且,RCNN 通過池化層自動判斷哪個特征具有更重要的作用。在RCNN 中,詞語的嵌入主要由3 部分特征向量連接組成,3 部分特征向量分別是詞左邊的文本信息(lc)、詞本身信息(e)以及詞右邊的文本信息。

其中,w代表一個詞語,e(wi)是通過處理后得到的向量,cl是融合當前詞前面的詞匯信息,cr是融合當前單詞之后的信息。每一個xi都用這種編碼方式,融合了上下文信息并進行長期的相關預測。

Fig.2 Structure of recurrent convolutional neural network圖2 遞歸卷積神經網絡結構

其中,f代表激活函數。非線性激活函數通過多層感知機處理并加入tanh 激活函數,可以得到y(2),即每個單詞類別的得分向量:

使用最大池化得到y(3):

經過上一步處理后再通過多層感知器和softmax 層后得到最終得分向量:

y(4)經過softmax 函數之后,將轉化為概率:

2.3 BIGRU-CRF

門控制循環單元和條件隨機場(BIGRU-CRF)算法是一種實體識別模型,用于意圖檢測之后的槽位填充任務(其結構見圖3),本文槽位填充任務被轉換為命名實體識別任務。BIGRU-CRF 方法首先通過預訓練模型獲得每個單詞的向量表示,再由BiGRU 作進一步的語義編碼,最后輸出到CRF 層預測最大概率序列標簽。CRF 可以通過標簽之間的相鄰關系獲得全局最優的標簽序列,對序列x=(x1+x2+… +xn)通過BiGRU 進行標注輸出序列標簽y=(y1+y2+… +yn),經過計算可以得出給定輸入和輸出之間的匹配分數。

是字符標簽yi-th的分數,Wi,j是標簽的轉換分數(W是轉移矩陣)。

Fig.3 BiGRU-CRF model structure圖3 BiGRU-CRF的結構

h(t)是上一層t時間輸入數據xt的隱藏狀態。參數是CRF 的權重矩陣和最大條件似然估計,訓練集是xi、yi,似然函數求解公式如下:

P代表輸入序列對應于預測序列的概率:

因此,在進行意圖識別之后可以通過BiGRU+CRF 模型進行槽位填充。

2.4 基于混合技術的語義相似度算法

FinBERT 模型是國內首個針對金融領域大規模語料訓練出的中文BERT,該預訓練模型是基于標準的BERT架構而建立,如圖4所示。

Fig.4 BERT pretrained language model structure圖4 BERT預訓練語言模型結構

近年來,預訓練在NLP 領域中非常流行,它構建了大量的預訓練目標,以幫助模型更好地捕獲語言知識和語義信息。此外,FinBERT 還通過多任務自監督預訓練學習,不斷更新預訓練模型。與傳統的預訓練模型相比,可以同時在一般語料庫和金融領域語料庫上進行訓練。在微調階段,首先用預先訓練好的參數初始化模型,然后對特定于任務的監督數據進行微調。在多種金融數據集上進行實驗,如在金融SBD、SA 和QA 數據集上,FinBERT 都取得了不錯的結果,證明了該方法的有效性。

3 模塊設計

3.1 數據預處理

目前,面向特定領域公開的中文數據集還很少,因此在進行NLU 模塊設計前,要先針對特定領域進行語料收集和文本預處理。之后結合智能催收電話系統的實際業務,對NLU 模塊進行具體設計,主要包括用戶意圖設計、槽位填充設計,再進行模型訓練。語料收集流程如圖5所示。

Fig.5 Corpus preprocessing process圖5 語料預處理流程

在收集語料前,首先根據已有的數據和業務要求,定義必不可少的用戶意圖和系統動作,再從收集的語料庫中抽取對應的數據進行訓練。本文是針對金融催收領域主題的語料庫,主要通過網絡爬蟲的方式爬取自己所需要的語料數據。本文采用python 語言中的Request 庫模擬HTTP 協議向新浪微博、中國金融新聞網、金融行業資訊網、每日金融新聞網等財經網站發送請求,獲取相關的HTML 頁面。并且,還有一些金融公司對話日志,其中含有大量人工客服與客戶的對話記錄,這些對話可以作為智能催收系統中語言理解的訓練語料。此外,可以從用戶日志中選取一些催收機器人對應的場景,人工構造一部分用于項目冷啟動,形成相應場景下的對話數據。通過上述途徑,最終獲得了80萬份左右的原始語料。

收集到的文本形式多種多樣,常見的有TXT 文本、HTML 文本、XML 文本、Word 文本、Excel 文檔等。HTML 文本中存在很多文本標簽,例如“body”“div”“p”等。在這些標簽的清洗過程中使用Python 中的BeautifulSoup 庫和Re 正則表達式庫,完成對HTML 頁面的解析和清理工作。在對語料的標注過程中,本文主要是使用Rasa 提供的語料標注工具Rasa NLU Trainer。標注好的語料總條數為40 074條,用戶意圖共有28 類。數據集按照9∶1 的比例劃分訓練集和測試集進行5折交叉驗證,選出最優超參數。

熵簡科技于2020 年提出基于BERT 架構的金融領域預訓練語言模型FinBERT1.0,該模型在多個金融領域的下游任務中顯著的性能提升,在沒有任何調整的情況下F1值調高2%~5.7%。本文嘗試將FinBERT 加入到意圖識別與槽位填充任務中,并與原始BERT 模型的結果進行比較。

3.2 意圖識別模塊設計

意圖是對用戶一句話表達的判斷,判斷用戶想要完成什么任務[22]。意圖識別模塊在設計過程中將模塊設計為不可再分的類別,大部分的用戶意圖集中在“accept”“affirm”“autoDeduct”“delaypay”上,由此可以看出,在催收過程中,用戶還是愿意還款或者有還款意向。意圖“family”“refusepay”和“ask_bank_account”等,雖然在數據集中占比較少,但是保證了用戶表達的多樣性,有助于解決對話系統在突發場景下的切換問題。意圖識別模塊的主要流程是首先將文本輸入到模型中,利用FinBERT 進行預訓練將輸入文本轉化為向量,在FinBERT 訓練的最后一層輸出加上權重作為RCNN 模型的輸入,在RCNN 模型中對文本的深層語義特征進行特征提取,并輸出意圖識別的結果。同時,將FinBERT 模型得到的向量表示也作為槽位填充模型的輸入。

3.3 槽位填充模塊設計

在與用戶的對話過程中,總有一些關鍵信息,需要深刻理解才能完成用戶指令。槽位填充就是將用戶表達的槽位內容識別為結構化的信息,例如時間、銀行卡信息等。當用戶想要知道自己賬戶逾期利息時,就需要知道很多用戶的必要信息。在槽位設計過程中需遵守以下規則:①槽位需要被解釋;②槽位是核心信息,有特定含義,需要在執行任務時使用;③槽位可以被清晰識別。在本文設計的智能催收系統中,表1 列出了所有槽位填充情況。在本文提到的FinBERT-BiGRU-CRF 模型中,整個模型分為3 部分,首先使用FinBERT 模型獲得輸入文本的向量表示,將得到的每個字的向量輸入BIGRU 中并對語義進行編碼,最后輸出到CRF 層并輸出最大概率的標簽序列。

Table 1 Slot filling statistics表1 槽位填充統計

3.4 其他模塊設計

在對話管理模塊中一個意圖對應著一個對話響應,系統要執行的動作主要根據NLU 模塊得到的用戶意圖以及相應的槽值進行設計。本文所使用的Rasa Core 中允許多個意圖對應一個或者多個系統動作以簡化故事結構。在模塊設計時,以“HS”開頭的系統動作代表對應用戶意圖可以直接回復的動作如“HS_repeat”;以“QR”開頭的動作代表系統需要主動對用戶提問的動作;以“JS”開頭的系統動作代表不同場景下對話的結束動作;以“Action”開頭的系統動作代表需要進行槽位填充的自定義動作。

話術模板設計主要針對系統動作而定,用作系統對用戶的具體響應輸出。考慮到保護個人隱私和信息安全,對涉及到的相應人名、公司名、金額、電話、賬戶信息等,均用‘XX’表示。如QR 類模板:“請問您是本人嗎?/請問這是XX 的電話嗎?”;HS 類模板:“如果你不想逾期記錄惡化,麻煩盡快處理一下好嗎?/那你等下把錢存到銀行卡里,自己登錄我們的APP 還款,沒問題吧!”;JS 類模板:“我們的通話是全程錄音的,建議您登錄XX 借款APP 選擇充值還款的方式,在兩小時還清款項,避免產生不良記錄,感謝你的接聽,再見。”

3.5 模型訓練

通過對詞向量的特征構造與選擇,得到一個面向金融領域的預訓練詞向量模型,對訓練語料進行相應標注和定義。訓練過程中標注好的語料共有40 074 條,用戶意圖共被劃分為28 類。將數據按照9∶1 的比例劃分訓練集和測試集,在訓練集中按照9∶1 的比例劃分出驗證集,然后對訓練集進行五折交叉驗證。本文大多數實驗都是在Intel Xeon E5-2678 v3 CPU、雙Nvidia GeForce GTX 1080 Ti GPU的環境下進行測試。首先加載預訓練詞向量模型,與BERT 模型一樣,FinBERT 模型也分為兩種,即FinBERTlarge 和FinBert-base。兩種模型網絡結構大致相同,部分參數略有不同,這里使用的是FinBERT-Base 模型,其中學習率是5e-5,每批訓練數據為16,有768 個隱藏神經元,編碼器的層數以及自注意力頭數均為12。在RCNN 模型中,詞嵌入維度是768,隱藏節點數是256,學習率為0.001,每批數據大小為128,隨機失活率為0.1,epoch 設置為100。隨著訓練次數的逐漸增多,準確率不斷上升,損失率逐漸下降,最后在經過100 次的epoch 后,準確率在驗證集和訓練集開始震蕩收斂。驗證集準確率達96%左右,同時損失率也下降到0.1,此時模型已達到最優。

4 自然語言理解模塊測試與分析

在實驗中除與傳統模型對比外,還選取了NLU 模塊的準確率、召回率F1值以完成NLU 模塊的測試與分析。選擇準確率、召回率、F1值對意圖識別進行評價,選用F1值對槽位填充模塊進行評價。按照9∶1 的比例將數據劃分為訓練集和測試集,遇到小數點按四舍五入的原則取整。對話系統各模塊評價指標眾多,在自然語言理解模塊中,對意圖識別和槽位填充識別進行精確率(P)、召回率(R)及F1得分評測。其中,TP是模型成功識別為正確的樣本數,FP是模型識別到的正確樣本但實際是錯誤的樣本個數,FN是模型預測為錯誤樣本但實際正確的樣本個數。

4.1 意圖識別模塊測試與評估

在意圖識別任務中,為了驗證本文FinBERT 模型效果,加入與常見神經網絡模型、BERT 模型的比較。為了驗證RCNN 的有效性,本文還加入了面向特定領域的預訓練模型與不同神經網絡算法結合的比較。不同模型在本文數據集上的比較結果如表2所示。

Table 2 Comparison of intention recognition results表2 意圖識別實驗結果比較

在常見神經網絡模型中的輸入使用了Word2vec 工具中的Skip-gram 模型進行詞向量表示。由表2 可以看出,以CNN 模型為基線,在與原始預訓練語言模型BERT 比較中,后者可以顯著提高意圖識別任務中的精確率、召回率、F1值等。當面向特定領域的預訓練語言模型與常見神經網絡模型相結合后,實驗效果進一步提升,RCNN 算法在與之前算法的比較中也展現出了自身優勢,最終取得了95.75%的F1值,高于基線13.4%,驗證了本文提出的算法模型性能更好。

4.2 槽位填充測試

表3 是不同槽位填充模型在本文數據集上的實驗結果比較。共享意圖識別模塊中預訓練后的向量表示,本文通過RasaNLU 內置的同義詞抽取和正則表達式功能,利用FinBERT+BiGRU+CRF 算法模型完成實體別任務。槽位填充模塊的基線模型使用Word2vec 工具中的Skipgram 模型對詞向量進行表示,然后使用BiGRU+CRF 方法完成槽位填充任務。在分別加入BERT 模型及FinBERT模型后,實驗的各項指標均有所提升。本文提出的Fin-BERT+BiGRU+CRF 算法模型最終取得了95.88%的F1 值,高于基線7.31%。

Table 3 Comparison of experimental results of slot filling表3 槽位填充實驗結果比較

5 結語

本文基于開源機器學習框架Rasa,改進了其中的NLU模塊,采用最新提出的面向金融領域的預訓練語言模型FinBERT 與RCNN 算法相結合的方式完成意圖識別任務,共享意圖識別任務中的預訓練向量結合BIGRU+CRF 的聯合模型完成槽位填充任務。實驗表明,本文算法的模型性能更優。后續將進一步豐富領域內的對話語料,引入閑聊功能以提升系統穩定性,并提高用戶體驗。

猜你喜歡
文本模型
一半模型
重要模型『一線三等角』
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
重尾非線性自回歸模型自加權M-估計的漸近分布
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
3D打印中的模型分割與打包
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 国产一级视频久久| 91在线丝袜| 亚洲视频一区在线| 美女一级免费毛片| 国产视频a| 婷婷色一二三区波多野衣| 国产无码网站在线观看| 高清欧美性猛交XXXX黑人猛交| 激情午夜婷婷| 婷婷午夜天| 一本大道香蕉久中文在线播放 | 九月婷婷亚洲综合在线| a亚洲视频| 2021国产精品自产拍在线| 国产精女同一区二区三区久| 国产伦片中文免费观看| 亚洲综合专区| 国产免费久久精品99re丫丫一| 国产精品免费福利久久播放| 18黑白丝水手服自慰喷水网站| 久久免费观看视频| 高清视频一区| 亚洲无限乱码一二三四区| 国产成人亚洲欧美激情| 免费高清毛片| 亚洲欧洲日产无码AV| 成年人国产网站| 日本道中文字幕久久一区| 另类综合视频| 91麻豆精品视频| 国产剧情无码视频在线观看| 国产无人区一区二区三区| 国产日韩欧美视频| 国产精品不卡片视频免费观看| 一级毛片不卡片免费观看| 日韩国产精品无码一区二区三区 | 国产菊爆视频在线观看| 麻豆精品在线| 超级碰免费视频91| 国产精品专区第1页| 欧美人人干| 在线观看无码a∨| 美女免费黄网站| 成人午夜久久| 91亚洲免费| 亚洲欧美成人影院| 视频一区视频二区日韩专区| 久夜色精品国产噜噜| 91在线丝袜| 亚洲欧美一区二区三区麻豆| 综合色88| 四虎成人在线视频| 亚洲性网站| 中文字幕在线不卡视频| 亚洲区一区| 91娇喘视频| 熟妇人妻无乱码中文字幕真矢织江 | 国产一级无码不卡视频| 91精品aⅴ无码中文字字幕蜜桃| 色精品视频| 久久国产精品77777| 在线观看91香蕉国产免费| 久久黄色视频影| 天天躁狠狠躁| 国产精品夜夜嗨视频免费视频| 欧美一区二区精品久久久| 亚洲日本在线免费观看| 午夜福利视频一区| 久久精品66| 亚洲大尺码专区影院| 成人小视频网| 2021国产在线视频| 久久亚洲美女精品国产精品| 欧美一级专区免费大片| AV不卡国产在线观看| 国产精品免费入口视频| 国产女人在线| 青青操国产| 国产一级片网址| 成人91在线| 日韩免费无码人妻系列| 免费国产小视频在线观看|