国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

端到端對話系統(tǒng)意圖語義槽聯(lián)合識別研究綜述

2020-07-17 08:19:30李艷玲
計算機工程與應用 2020年14期
關鍵詞:意圖語義向量

王 堃,林 民,李艷玲

內蒙古師范大學 計算機科學技術學院,呼和浩特 010022

1 引言

對話系統(tǒng)是自然語言處理(Natural Language Processing,NLP)的重要方向之一[1],其中任務型對話系統(tǒng)(Task-Oriented Dialogue System)的主要功能是在特定條件下幫助用戶完成具體的目標動作或提供信息服務[2],如預訂機票、查詢出行路線等。目前主流的研究方法是將任務型對話系統(tǒng)分為自然語言理解(Natural Language Understand,NLU)、對話管理(Dialogue Management,DM)和自然語言生成(Natural Language Generation,NLG)三個模塊進行研究[3]。

NLU作為對話系統(tǒng)中的核心模塊,對整個對話系統(tǒng)的性能至關重要[4],其目的是將輸入的自然語言文本轉換為結構化的語義框架(如slot-value形式)以實現(xiàn)人機交互的目標[5]。雖然這一目標仍然被視為未解決的問題,但在過去的數(shù)十年中,涌現(xiàn)出許多在限定領域內實用的任務型對話系統(tǒng)應用程序,如語音助手Alexa、Siri、Cortana[6]。這些應用程序通過完成NLU模塊中的意圖識別(Intent Detection,ID)和語義槽填充(Semantic Slot Filling,SSF)兩個任務[3],能夠自動識別用戶意圖并提取重要的語義參數(shù)信息,形成結構化的語義框架表示,最后采取相應動作以完成用戶目標。

深度學習(Deep Learning,DL)的不斷發(fā)展為實現(xiàn)端到端的對話系統(tǒng)提供了可能,且因為意圖識別和語義槽填充兩任務之間相互依賴,所以本文主要對端到端任務型對話系統(tǒng)意圖和語義槽聯(lián)合識別具有代表性的方法進行分析介紹,總結目前存在的問題并提出未來研究的發(fā)展方向。

2 對話系統(tǒng)簡介

現(xiàn)有的對話系統(tǒng)主要分為任務型對話系統(tǒng)和閑聊型對話系統(tǒng)(Chit-Chat-oriented Dialogue System)兩類,前者旨在幫助用戶完成特定任務,后者致力于在開放領域同用戶進行自由對話。

2.1 任務型對話系統(tǒng)的研究方法

任務型對話系統(tǒng)的研究大體有兩種方法,一種是流程式(Pipeline)任務型對話系統(tǒng),另一種是端到端(Endto-End)任務型對話系統(tǒng),目前基于深度學習的端到端任務型對話系統(tǒng)是研究熱點。

2.1.1 流程式任務型對話系統(tǒng)

流程式任務型對話系統(tǒng)是較為傳統(tǒng)的方法,架構如圖1所示。這種人機交互方式通過一個流程順次實現(xiàn),依次包括:NLU、對話狀態(tài)跟蹤(Dialogue State Tracking,DST)、對話策略學習(Dialogue Policy Learning,DPL)和NLG[7],其中對話狀態(tài)跟蹤和對話策略學習被統(tǒng)稱為對話管理。在這種流程式的模式中,用戶輸入自然語言語句,對話系統(tǒng)按順序依次完成領域分類、意圖識別、語義槽填充、對話狀態(tài)更新任務,然后根據對話策略做出相應的動作直到生成最終的回復。

圖1 流程式任務型對話系統(tǒng)架構圖

在流程式任務型對話系統(tǒng)中,對每個流程都進行模塊化處理,模塊化處理的優(yōu)勢是構建起來較為靈活,同時能夠以較為獨立的方式處理任務以及分塊優(yōu)化。但同時也存在很多缺點,首先,需要為相互獨立的模塊標注大量數(shù)據,還需要人工設計特征參數(shù),導致系統(tǒng)在遷移到不同領域時需要耗費人力重新設計參數(shù),可移植性差;其次,可能會導致錯誤級聯(lián)的問題,上游NLU模塊出現(xiàn)錯誤可能會傳遞到下游的DM模塊;最后,每一個子模塊的優(yōu)化對整個系統(tǒng)的聯(lián)合優(yōu)化效果不夠明顯,上游模塊的信息無法反饋到下游模塊,用戶的反饋也難以傳遞給模型。綜上所述,如果用一個統(tǒng)一的端到端模型代替多個獨立的模塊,系統(tǒng)只需要知道用戶的輸入以及相應的輸出即可,可節(jié)省很多開銷。

2.1.2 端到端任務型對話系統(tǒng)

端到端任務型對話系統(tǒng)根據用戶輸入話語直接給出合理的回復[8],省去了流程式任務型對話系統(tǒng)的繁瑣過程,而且基于深度學習模型提取到的特征向量可與人工提取的特征向量相媲美,所以目前基于神經網絡的端到端可訓練任務型對話系統(tǒng)受到了廣泛關注。這種方法不僅使得研究人員能夠利用強大的計算能力從海量數(shù)據中挖掘出更有價值的語義特征信息,同時可拓展性、可移植性也獲得了顯著提升[9],但其缺點是需要大量帶標注的數(shù)據進行有監(jiān)督的學習[10]。端到端任務型對話系統(tǒng)架構如圖2所示。

圖2 端到端任務型對話系統(tǒng)架構圖

近年來基于深度學習的端到端模型被廣泛應用[11],Wen等人[12]把NLU、DM和NLG三個模塊一起進行端到端的訓練,Yang等人[13]將NLU和DM兩個模塊聯(lián)合學習,相較于流程式任務型對話系統(tǒng)都取得了一定的進展。

2.2 意圖和語義槽聯(lián)合識別

意圖識別和語義槽填充是NLU的兩個關鍵任務。意圖識別旨在從給定的語句中判斷用戶的最佳意圖類別,通常被看作是一個標準的多分類問題,常用的方法有支持向量機(Support Vector Machine,SVM)[14]、樸素貝葉斯(Naive Bayes,NB)[15]等模型,語義槽填充是指從給定的語句中提取有用的結構化信息,通常被看作是一個序列標注問題[16],如使用Begin/Inside/Outside(BIO)、Begin/Inside/Outside/End/Single(BIOES)等格式進行標注,常用的模型有隱馬爾可夫(Hidden Markov Model,HMM)模型[17]、條件隨機場(Conditional Random Field,CRF)[18]等模型。?,B等人[19]采用規(guī)則匹配和神經網絡相結合的方式完成意圖識別任務,這種聯(lián)合意圖識別模型兼顧了傳統(tǒng)規(guī)則匹配模型靈活調控和神經網絡模型簡單智能的優(yōu)點,結果表明聯(lián)合模型優(yōu)于兩種模型單獨的表現(xiàn)。對“呼和浩特到長春的航班有哪些”這一問句,經過NLU得到的結果如表1所示。

表1 意圖識別和語義槽填充舉例

NLU經歷了由獨立建模到聯(lián)合識別的發(fā)展歷程。在傳統(tǒng)的獨立建模方法中,領域分類、意圖識別和語義槽填充三個任務按流程順序執(zhí)行分別求解,逐次獲取用戶話語中與任務相關的信息[20]。這種方式類似于流程式任務型對話系統(tǒng),存在三個缺陷,一是各個領域之間很難共享通用或相似的意圖和語義槽類別等特征參數(shù),但在很多情況下,例如在預訂火車票和查詢出行路線任務中,出發(fā)地、目的地等語義槽類別都是可共享的,卻需要為不同領域構建相同的參數(shù)信息;二是可能產生錯誤級聯(lián),導致錯誤放大;三是下游任務不能利用上游任務的結果,而事實上意圖識別的結果可以輔助語義槽填充任務,這都是獨立建模帶來的局限性。

2018年Goo等人[21]指出意圖識別和語義槽填充兩個任務相互依賴,語義槽填充任務高度依賴于意圖識別的結果,語義槽填充的結果又可以幫助識別意圖。加入門控(Slot-gated)機制可以學習意圖和語義槽之間的相關關系,并通過先識別意圖再利用意圖識別的結果促進語義槽填充任務的方法對語義框架進行全局優(yōu)化,性能得到了一定的提升。Qin等人[22]2019年指出采用門控機制并不能充分保留意圖信息,而且因為意圖識別和語義槽填充兩個任務通過隱向量交互信息使得模型的可解釋性降低。除此之外,使用門控機制還可能導致錯誤級聯(lián)的問題,句子級意圖識別的錯誤會影響單詞級語義槽填充的性能。因此Qin等人采用了一種結合單詞級意圖識別的堆棧傳播框架對意圖和語義槽聯(lián)合識別,在ATIS數(shù)據集[23]上語義槽填充的F1值達到了95.9%,意圖識別的準確率達到了96.9%,進一步證明了聯(lián)合識別的有效性。

在自然語言理解模塊中,主要任務是利用大量數(shù)據學習有效的話語特征表示,并提取重要參數(shù)信息以得到完整的語義框架,進而完成意圖識別和語義槽填充任務。侯麗仙等人[24]對解決NLU任務的模型從傳統(tǒng)方法到基于深度神經網絡的方法、從獨立建模到聯(lián)合識別的方法進行了綜述,分析了獨立建模存在的不足,總結了聯(lián)合識別方法存在泛化能力強、訓練參數(shù)少、性能好等優(yōu)勢。本文主要在此基礎上針對最新的、具有代表性的聯(lián)合識別方法進行分析介紹。

3 聯(lián)合識別相關工作

目前意圖和語義槽聯(lián)合識別是實現(xiàn)NLU模塊的主流方法[25-26],聯(lián)合識別的形式一般分為兩種,一種是將兩任務合并成一個任務,對意圖識別和語義槽填充求解聯(lián)合概率;另一種是讓兩個任務共享底層特征,再分別對每個任務輸出相應的結果,損失函數(shù)為兩任務損失函數(shù)的加權和。

3.1 基于循環(huán)神經網絡的聯(lián)合識別

隨著循環(huán)神經網絡(Recurrent Neural Network,RNN)[27]、長短時記憶網絡(Long Short-Term Memory,LSTM)在解決序列問題上的快速發(fā)展,越來越多的學者將這類神經網絡模型用于NLU模塊[28-29]。北京大學的Zhang等人[30]提出利用RNN提取底層共享特征,分別對意圖和語義槽進行識別,意圖識別的準確率達到98.10%,語義槽填充的F1值達到95.49%。

RNN可以學習到之前的信息但記憶容量有限,當需要依賴較長距離的神經元信息時,RNN無法保留長距離信息,只能考慮最近的狀態(tài)信息。LSTM模型通過三個門控機制優(yōu)化記憶單元,對重要信息一直保留并傳遞,遺忘不重要的信息以釋放空間,所以LSTM模型在捕獲長距離依賴關系方面比RNN更強大,能夠一定程度上消除序列中梯度消失或梯度爆炸的問題。LSTM模型的三個控制門分別為決定當前時刻網絡狀態(tài)有多少信息需要保存到內部狀態(tài)中的輸入門(Input Gate);用于控制對未來無用的記憶信息遺忘程度的遺忘門(Forget Gate);用于決定當前時刻的內部狀態(tài)有多少信息需要輸出給外部狀態(tài)的輸出門(Output Gate)。

受到機器翻譯和閑聊對話系統(tǒng)中序列到序列(Sequence to Sequence)建模方法的啟發(fā),微軟的Hakkani-Tür等人2016年[31]提出在一個序列中通過學習不同領域的數(shù)據建立多領域雙向RNN-LSTM模型的方法解決意圖和語義槽聯(lián)合識別的問題。該模型使用具有長短時記憶的循環(huán)神經網絡(RNN-LSTM)模型實現(xiàn)聯(lián)合多領域、集成多任務(領域分類、意圖識別和語義槽填充)的深度學習模型,輸入是由用戶話語的每個輸入字wt組成的w1,w2,…,wn序列,輸出是相應的語義槽標簽s1,s2,…,sn序列,并在每個輸入話語k的末尾添加一個額外的標記用于識別領域標簽dk和意圖標簽ik。通過雙向LSTM模型的學習,在最后的隱層中包含了整個輸入話語的潛在語義表示,將拼接起來的(dk_ik)關聯(lián)到句子的末尾識別領域和意圖。該模型的輸入和輸出序列分別表示為公式(1)和(2):

該模型在ATIS數(shù)據集上的結果表明聯(lián)合多領域、集成多任務的RNN-LSTM模型相較于傳統(tǒng)的單領域、獨立建模的方法在識別語義框架的準確率上提升了1%,證明了在多個領域上對意圖和語義槽聯(lián)合識別的有效性。但該模型中雙向LSTM模型是獨立進行的,不交互信息,而且不能很好地解決長期依賴問題。

3.2 基于注意力機制和循環(huán)神經網絡的聯(lián)合識別

注意力機制(Attention Mechanism)由Bengio團隊于2014年提出并廣泛應用于各個領域[32-34],在計算機視覺領域被用于捕捉圖像上的感受野,在自然語言處理領域被用于學習深層次的表示特征。

3.2.1 注意力機制

在捕獲上下文依賴關系方面,傳統(tǒng)的采用編碼器-解碼器(Encoder-Decoder)結構的RNN、LSTM模型通常先用RNN、LSTM單元對輸入序列進行學習,并編碼為固定長度的隱向量表示,然后再用RNN、LSTM單元讀取隱向量,并解碼為輸出序列得到最終結果。但這種模式限制了輸入序列的長度,因為輸入語句不論長短都將被編碼為一個固定長度的向量表示,而且在編碼和解碼過程中隨著長距離的信息傳遞還可能導致信息丟失。注意力機制不考慮序列中依賴詞項的距離長短,通過對輸入語句分配不同權重的方法對依賴關系進行聚焦式建模,可以有效解決梯度消失問題。注意力機制將每個輸入位置的信息都進行保存,為對當前目標任務更關鍵的部分賦予更高的權重,使有限的信息處理資源分配給重要的部分,提高任務的執(zhí)行效率。

自注意力(Self-Attention)機制[35]用于捕獲同一語句中單詞之間的句法特征和語義特征,減少對外部信息的依賴,捕獲語句內部的相關性。自注意力機制在計算過程中直接將語句中任意兩個單詞相關聯(lián),遠距離依賴特征之間的距離被縮短,從而可以捕獲長期依賴關系。

3.2.2 基于雙向RNN+Attention的聯(lián)合識別

由于注意力機制能夠捕獲序列中的長距離依賴關系,Liu等人2016年[36]提出將對齊信息和注意力信息加入雙向RNN解決意圖和語義槽的聯(lián)合識別問題。該模型使用LSTM作為RNN的基本單元,將來自雙向LSTM(Bidirectional LSTM,BiLSTM)[37]的對齊隱狀態(tài)信息和注意力信息一起作用于語義槽填充任務,用隱狀態(tài)的加權和生成意圖分類的結果。傳統(tǒng)的LSTM模型僅使用前向單元處理序列問題,無法利用語句中的后向信息進行學習,但實際上,下文信息也至關重要。BiLSTM模型沿前向和后向讀取輸入序列并將得到的高維特征進行拼接作為最終含有上下文信息的語義向量表示,每個步驟的隱狀態(tài)hi由前向隱狀態(tài) fhi和向后隱狀態(tài)bhi共同組成,hi=[fhi,bhi]包含整個輸入序列的信息,并在前向RNN中建模語義槽標簽之間的依賴關系。但信息可能會隨著向前和向后的長距離傳遞而逐漸丟失,因此,當進行語義槽標簽預測時,注意力機制可以進一步聚焦式捕獲上下文信息ci,ci是RNN隱狀態(tài)hi=(h1,h2,…,hT)的加權平均值。雙向LSTM模型得到了包含上下文信息的語義表示,以及注意力機制捕獲長距離依賴關系,兩者結合進一步提升NLU的性能。基于雙向RNN+Attention的意圖和語義槽聯(lián)合識別模型如圖3所示。

在基于雙向RNN+Attention的意圖和語義槽聯(lián)合識別模型中,雖然雙向RNN模型在理論上實現(xiàn)了捕獲上下文信息的效果,但并沒有達到真正雙向的目的,只是兩個不同方向RNN模型的簡單拼接,無法交互信息,而且不能并行化處理,導致模型訓練時間較長。

3.3 基于膠囊網絡的聯(lián)合識別

在意圖和語義槽的聯(lián)合識別任務中,卷積神經網絡(Convolution Neural Networks,CNN)因為使用標量傳遞信息,所以它無法考慮底層對象之間的空間關系,而且池化層一般選取最大或平均概率的語義信息,會丟失大量小概率信息,無法保證特征的完整性以反映全局特征,此外受卷積核大小的影響,CNN只能提取到文本的局部特征,不能保持語義的連貫性,也不能一次性捕獲全局信息,存在較大的局限性?;赗NN、LSTM的模型通常利用RNN、LSTM的最后一個隱狀態(tài)識別意圖,這種方法沒有考慮單詞、語義槽和意圖之間的層次關系,而且隨著序列長度的增加,依靠LSTM的門控機制捕獲所有上下文信息是不全面的。

圖3 基于雙向RNN+Attention的聯(lián)合識別

2011年Hinton等人提出“膠囊”的概念[38],用向量表示空間上的相對位置關系,2017年Sabour等人[39]提出膠囊網絡(Capsule Neural Networks),通過動態(tài)路由機制捕獲CNN模型丟失的小概率語義信息,用向量的方向表示不同類別,向量的模長表示對應類別的分類概率,比使用標量的傳統(tǒng)方法具有更強的表示能力。因為膠囊的方向性優(yōu)勢可以對平移、旋轉、縮放后的同一對象正確識別,還能從不同角度識別同一物體,因此膠囊網絡不需要龐大的訓練數(shù)據就可以在小規(guī)模數(shù)據集上學習各種情況下的特征信息。

2019年劉嬌等人[40]對膠囊網絡在意圖識別任務上的應用做了詳細綜述,總結了膠囊網絡需要的數(shù)據量少、可以捕獲小概率信息等優(yōu)勢。2018年Zhang等人[41]提出將膠囊網絡用于意圖和語義槽聯(lián)合識別任務,取得了較好的結果。該模型充分利用單詞、語義槽和意圖之間的層次結構關系,用膠囊層間協(xié)議動態(tài)路由代替池化,為輸入話語中的每個單詞指定正確的語義槽類別,并根據語義槽的結果幫助識別意圖類別,然后通過重路由機制利用意圖識別的結果指導修正語義槽填充的結果。該模型通過三種膠囊類型的分級神經網絡結構對具有層次結構的特征信息進行捕獲,如圖4(a)所示[41],這三種膠囊分別是含有上下文信息單詞表示的Word-Caps;通過動態(tài)路由機制按語義槽類型對單詞進行分類的SlotCaps;根據具有詞級信號的語義槽信息確定句子意圖類別的IntentCaps,而且得到的意圖標簽可以通過重路由機制從句子中重新識別語義槽類別,實現(xiàn)單詞級語義槽填充和句子級意圖識別的協(xié)同效應。基于膠囊網絡的聯(lián)合識別模型如圖4(b)所示[41],實線表示動態(tài)路由過程,虛線表示重路由過程。

膠囊網絡使用協(xié)議動態(tài)路由代替CNN模型的最大池化方法不僅能夠捕獲小概率的語義信息,保證特征信息的完整性,而且保留了特征之間準確的位置關系,所以相較于基于CNN的意圖和語義槽聯(lián)合識別模型性能有了一定提升。但膠囊網絡受膠囊間動態(tài)路由算法無法共享權重和參數(shù)個數(shù)多的影響,識別速度較慢,但相較于其他需要在大規(guī)模數(shù)據集上進行訓練的深度神經網絡模型來說,膠囊網絡在小規(guī)模數(shù)據集上就可以達到較好的效果。2018年Hinton等人[42]又提出用矩陣代替向量以減少參數(shù)數(shù)量,進而降低計算量,但計算速度還是較慢。

3.4 基于BERT模型的聯(lián)合識別

傳統(tǒng)的靜態(tài)詞向量無法根據語境動態(tài)表征詞的多義性,Devlin等2018年[43]提出基于Transformer的BERT(Bidirectional Encoder Representations from Transformers)模型,通過先預訓練(per-training)再微調(fine-tuning)的方式不僅可以得到語義更豐富的向量表示,有效解決一詞多義的問題,而且微調的方法使得預訓練模型能在更多的數(shù)據上進行訓練,提升了泛化能力。Transformer是一種使用注意力機制編碼每個位置信息的編碼器-解碼器架構,可以捕獲長距離依賴關系,還可以并行化處理。2019年阿里巴巴團隊[44]提出基于BERT的意圖和語義槽聯(lián)合識別模型,在ATIS數(shù)據集上意圖識別的準確率達到97.5%,語義槽填充F1值達到96.1%,取得最優(yōu)結果。

3.4.1 Transformer體系結構

RNN、LSTM模型的順序計算機制存在兩個問題:第一,因為模型本身結構的序列性,t時刻的計算依賴t-1時刻的計算結果,限制了模型的并行處理能力;第二,順序計算的過程中信息可能會隨著長距離傳遞而丟失,盡管LSTM使用門控機制在一定程度上緩解了長期依賴的問題,但是對于距離特別長的依賴現(xiàn)象,LSTM依舊無法解決。RNN是迭代結構,CNN是分層結構,CNN最大的優(yōu)點是易于做并行計算,但是無法一次性捕獲全局信息?;谧⒁饬C制建模的Transformer模型解決了上述問題,不僅具有并行性,符合現(xiàn)有的GPU框架,而且通過注意力機制可以忽略距離,為不同的信息分配不同的注意力權重捕獲長距離依賴關系,所以Transformer模型是目前優(yōu)于RNN和CNN的特征提取器。

Transformer模型采用NLP任務中最常用編碼器-解碼器架構[35]。編碼器共四層,第一層是多頭注意力機制(Multi-Head Attention),為模型分配多組不同的注意力權重擴展模型關注不同位置的能力,從而捕獲更加豐富的信息;第二層是求和并歸一化層,求和即殘差連接(Residual Connection),將模塊的輸入與輸出相加后作為最終輸出,目的是將前一層信息無差地傳遞到下一層以解決深度神經網絡中梯度消失問題,然后進行歸一化處理,加速模型訓練過程,使得模型快速收斂[45];第三層是前饋神經網絡層(Feedforward Neural Network,F(xiàn)NN);第四層再經過一個求和并歸一化層,生成中間語義編碼向量并傳送給解碼器。解碼器共六層,和編碼器結構類似,但第一層是帶MASK(掩蔽)操作的多頭注意力層,因為在輸出時,t時刻無法獲取t+1時刻的信息,所以解碼器的輸出需要右移,并遮擋后續(xù)詞項進行預測,最后解碼器再經過一個線性回歸和Softmax層輸出解碼器最終的概率結果。Transformer模型的架構如圖5所示[35]。

圖5 Transformer架構圖

Transformer模型通過多頭注意力機制可以學習到不同維度的關系,而CNN通過卷積核只能學習到局部位置的信息,建立短距離依賴,RNN因為當前時刻的值高度依賴上一時刻的值,所以學到的信息不能充分考慮復雜的上下文關系。

在處理序列任務時,對文本的詞序位置信息敏感、具有上下文依賴性,但Transformer是一個并行處理的特征提取器,對于輸入句子的處理忽略了詞序信息,即可以把Transformer看作是一個功能強大的詞袋模型(Bag-of-Words,BOW)。在“我喜歡這場話劇因為它不是個煽情的故事”和“我不喜歡這場話劇因為它是個煽情的故事”這兩句子中,“不”和“喜歡”的相對位置不同而導致文本所傳遞的情感信息完全不同。由此可見,文本位置信息是至關重要的,而且相對位置信息比絕對位置信息對文本的語義影響程度更為關鍵。

通過將位置編碼信息添加到輸入向量的方式可以一定程度上彌補Transformer因并行處理帶來的問題。對詞序位置信息進行編碼的方式有兩種,第一種是訓練出一個絕對位置向量,但只能表征有限長度內的位置,無法對任意長度進行建模;第二種是先借助有界的周期性三角函數(shù)編碼絕對位置信息,如公式(3)、(4)所示,再依據三角函數(shù)公式(5)、(6)的兩個性質學習相對位置信息。

其中,pos表示單詞在句子中的位置,取值是0到句子的最大長度,i表示詞向量的某一維度,dmodel表示詞向量維度。每個單詞的位置編碼僅與詞向量維度和當前詞的位置有關。由三角函數(shù)通過線性變換可以得到后續(xù)詞語相對當前詞語的位置關系,可表示為公式(7)和(8),對于 pos+k位置的位置向量可由 pos位置與k位置的位置向量線性組合得到,不僅蘊含了相對位置信息,并且值域在一定數(shù)值區(qū)間內,具有周期不變性,同時增強了泛化能力。而且三角函數(shù)不受序列長度的限制,可以對任意長度建模,但這種類似于點積計算的方法只能反映相對位置關系,缺乏方向性。

在得到相應的位置編碼后,再和詞向量組合起來作為模型的輸入。組合的方式有兩種,一種是將位置向量和詞向量拼接成一個新向量,另一種是使兩者維度相同然后相加得到新向量。雖然這種位置編碼信息能在一定程度上緩解由于并行處理引發(fā)的局限性,但并不能從本質上解決問題,這是Transformer模型的一個不足之處。

3.4.2 BERT模型解決一詞多義

Harris在1954年提出的分布假說中指出上下文相似的詞其語義也相似[46],F(xiàn)irth在1957年對分布假說進一步闡述和明確,詞的語義由其上下文決定,這兩個假說將一個語言學問題轉化成了數(shù)學問題,用當前詞的上下文表示該詞的語義信息[47]。在 Word2Vec[48]、GloVe[49]等詞向量的年代,所有的詞向量訓練之后就不再發(fā)生變化,靜態(tài)詞向量無法根據不同語境表征詞的多義性。但在實際應用中常會有一詞多義現(xiàn)象,例如“他用蘋果手機買了一箱蘋果”這一語句,兩個“蘋果”的含義不同,但在傳統(tǒng)的詞向量表示方法中,兩個“蘋果”的向量表示是同一向量,與客觀事實不符,影響了NLP的性能,所以解決詞的歧義性一直是NLP的一個重要難題。

近年來,研究人員通過先預訓練深度神經網絡作為語言模型,再根據下游任務進行微調的方式解決了一詞多義的問題。預訓練語言模型先在可與最終任務無關的大規(guī)模數(shù)據集上訓練出知識表示,再將學到的知識表示用于下游任務。而且預訓練為模型提供了更好的初始化參數(shù),使得在目標任務上具有更好的泛化性能和更快的收斂速度。

BERT模型采用表義能力強大的雙向Transformer模型進行預訓練,能夠得到包含豐富句法和語義信息的詞向量,然后根據上下文動態(tài)調整詞向量以解決一詞多義的問題。為了融合當前詞的上下文,BERT模型不僅采用雙向Transformer模型作為編碼器,還通過“掩蔽語言模型(Masked Language Model,MLM)”和“下一句預測(Next Sentence Prediction,NSP)”兩個任務分別捕獲詞級和句子級表示,并進行聯(lián)合訓練。詞級任務就是如同“完形填空”一樣的單詞預測任務,通過學習每個詞與其他所有詞的關系以及其間的詞序信息來預測被隨機遮擋的詞項,而不像傳統(tǒng)的語言模型一樣對每個詞項進行預測,增強了模型的魯棒性。句子級任務就是預測兩句話是否為上下句的關系,Transformer忽略距離對全局信息編碼,可以捕獲到輸入語句的全部特征,直接獲得整個句子的向量表示,與基于BiLSTM建模的ELMo(Embedding from Language Models)模型[50]不同,ELMo在訓練完成后遷移到下游NLP任務時對每一層求加權和得到全局信息。

BERT模型因為自注意力機制的計算是并行的,忽略了序列中的位置信息,所以BERT模型在輸入時通過加入位置向量(Position Embeddings)的方法捕獲詞序信息。BERT模型的輸入如圖6所示,不僅在開頭、兩個句子之間和結尾分別加入[CLS]、[SEP]和[SEP]特殊字符,而且將單詞本身的詞向量(Token Embeddings)、句向量(Segment Embeddings)和位置向量相疊加。王楠禔[51]提出在預訓練時增加亂序判斷任務能強化模型對詞序信息的捕獲能力,讓模型判斷被隨機打亂詞序的語句是否合理的方式使模型對于語序更加敏感,而且強化了模型對單個句子的建模能力,從而更準確地表征語義信息,提升人機對話系統(tǒng)的性能。

BERT模型在訓練期間,同一個詞可以學習不同語境下的所有語義信息,使用時再將符合當前上下文語境更精準的細粒度語義向量提煉出來以有效解決一詞多義的問題,幫助提升NLU的性能,進一步提升對話系統(tǒng)的效果。

2019年馬月坤等人[52]提出使用BERT模型能夠有效捕獲語言的深層信息,并充分利用句子信息和對應的實體信息在關系抽取任務中獲得較好的效果。段丹丹等人[53]提出用BERT模型代替Word2Vec模型對短文本進行向量表示,在一定程度上提升了中文短文本分類的效果。胡春濤等人[54]將BERT模型用于輿情分類任務,因為BERT模型能夠捕獲深層次的語義信息且能夠捕獲文檔的全局話題結構,取得了較好的性能,進一步體現(xiàn)了BERT模型在NLP任務上的優(yōu)越性。

3.4.3 基于BERT模型的聯(lián)合識別

在2018年之前,幾乎任何一個NLP任務都是以Word2Vec訓練出的詞向量為起點,在實現(xiàn)下游任務時,構建句向量的過程往往是對詞向量簡單的平均或者求和,難以提取深層語義特征,導致下游任務性能較差。隨著BERT預訓練語言模型的提出,大幅度提升了NLP任務的起點,BERT模型先用同領域或跨領域內、有標注或無標注的大規(guī)模數(shù)據預訓練一個語言模型,再利用遷移學習的思想在小規(guī)模的標注數(shù)據集上完成NLP任務,所以BERT模型在一定程度上能解決端到端模型標注數(shù)據少、訓練困難以及因此所導致對生詞泛化能力差的問題[55]。

阿里巴巴集團提出基于BERT模型對意圖和語義槽進行聯(lián)合識別,目前在ATIS、Snips數(shù)據集上取得了最優(yōu)的成績。BERT模型利用在開頭加入的[CLS]特殊標簽進行意圖識別,語義槽填充除了直接用Transformer輸出的結果進行序列標注以外還加入CRF層對語義槽標簽進行全局優(yōu)化。基于BERT模型對“北京飛往上海的航班”這一語句的聯(lián)合識別如圖7所示。

在該模型中,輸入為用戶話語X1,X2,…,XT序列,輸出是聯(lián)合識別的結果h1,h2,…,hT序列。對于意圖識別任務,BERT模型將Transformer作為模型的主結構,通過注意力機制忽略距離對句子進行建模,對在輸入話語前增加的特殊標簽[CLS]進行深度編碼,聚合句子表示信息,同時[CLS]的最高隱層作為句子的最終表示直接和Softmax層相連接,因此[CLS]可以學習到整個輸入序列的特征,將[CLS]的隱藏狀態(tài)記為h1,其意圖預測表示為公式(9):

對于語義槽填充任務,將其他詞項的最終隱藏狀態(tài)h2,h3,…,hT輸入到Softmax層,然后對每一個輸出進行語義槽標簽分類,表示為公式(10):

當聯(lián)合訓練意圖識別和語義槽填充兩個任務時,需要最大化條件概率目標函數(shù),使用交叉熵作為分類的損失函數(shù),記為公式(11):

圖6 BERT模型的輸入圖示

圖7 基于BERT模型的聯(lián)合識別

BERT模型能夠根據不同的上下文動態(tài)生成詞的語義表示,比傳統(tǒng)的詞向量更能表征語句特征,而且BERT模型堆疊多層Transformer模塊,低層Transformer主要學習自然語言表層特征,中層學習編碼句法信息,高層學習編碼文本的語義特征,同時高層語義知識會對低層的知識有反饋作用,經過高層語義可以指導修正低層的句法特征。所以相對于Cove(Contextualized Word Vectors)[56]、ELMo模型,BERT模型編碼了更多的句法信息,能夠充分利用深層次的語義信息更好解決NLU任務。

BERT模型是自編碼模型,MLM預訓練任務的主要思想是去噪自編碼器(Denoising Autoencoder,DAE),即通過引入噪聲數(shù)據再利用含噪聲的樣本重新構造不含噪聲輸入的方法實現(xiàn)雙向捕獲上下文。但這種方法存在一些問題,BERT模型分為預訓練和微調兩個階段,在預訓練階段出現(xiàn)的[MASK]噪聲在微調階段不會出現(xiàn),這種操作不利于學習,還會影響NLU的性能。而且以字為單位進行建模的BERT模型對于每個詞項的預測是相互獨立的,模型很難學習到知識單元的完整語義表示,但在實際應用中,比如對于“內蒙古師范大學”這樣的實體詞,每個字之間都是有關聯(lián)關系的,但BERT模型只學習語言相關的信息,忽略了內部關聯(lián)關系,沒有將知識信息整合到語言理解中。

針對BERT模型沒有將知識信息整合到語言理解中的局限,2019年清華大學和華為公司聯(lián)合提出了ERNIE(Enhanced Language Representation with Informative Entities)[57]模型,通過將知識圖譜中的多信息實體作為外部知識的方法提高了模型表征能力,先抽取實體信息再將這些信息與知識圖譜中的實體相匹配,并通過知識嵌入算法對知識圖譜的圖結構進行編碼,然后將實體信息嵌入作為輸入訓練語言模型,最后在訓練語言模型時通過從知識圖譜中選擇合適的實體和隨機掩蔽的實體相對齊的方式完成目標任務。為了學習文本中蘊含的潛在先驗知識,百度公司提出基于知識增強的ERNIE(Enhanced Representation through Knowledge Integration)[58]模型,通過對實體概念等先驗語義知識建模的方法學習知識單元的完整語義表示,進行單詞級和實體級的掩蔽訓練,實體信息與外部知識的結合提供了豐富的結構化事實知識,增強了模型的語義表示能力[59]。在BERT模型基于局部詞語共現(xiàn)學習語義表示的基礎上增加了實體級任務,彌補了BERT模型以字為單位進行隨機掩蔽以及較少利用語義知識單元建模的不足。例如對于“呼和浩特是內蒙古自治區(qū)的首府”這句話,ERNIE模型可以利用豐富的先驗知識對“呼和浩特”這樣的實體詞整體進行掩蔽訓練,而且能夠充分考慮內部關系。這種加入知識的模型相較于獨立預測詞項的BERT模型,不僅能夠聚合上下文和事實性知識的信息,而且可以同時預測詞項和實體信息,使得語言表示模型更加知識化。

3.5 語義槽和意圖識別中的歧義現(xiàn)象

在意圖和語義槽的識別任務中,可能存在以下四種歧義現(xiàn)象:

一是多義詞引起的語義歧義,對于這種自然語言的不確定性可以通過基于規(guī)則、基于詞典、基于語料庫和基于神經網絡深度學習的方法進行詞義消歧?;谝?guī)則的消歧方法雖然簡單,但是比較依賴語言專家的語言知識,有很大的主觀性,難以適應領域的變化?;谠~典的詞義消歧方法先計算語義詞典中各個詞義的定義與上下文之間的覆蓋度,然后選擇覆蓋度最大值對應的詞義消除歧義,但由于詞典中詞義的定義比較簡潔,通常得到的覆蓋度為零,存在著嚴重的數(shù)據稀疏問題,而且缺乏可擴展性和靈活性?;谡Z料庫的消歧又分為有監(jiān)督的和半監(jiān)督或無監(jiān)督方法,前者在人工標注詞義的訓練語料上利用機器學習算法建立消歧模型,如決策樹、K近鄰算法、樸素貝葉斯等模型,這種方法性能較好,但需要大量高質量的人工標注語料,如果語料庫標記規(guī)模較小,很容易造成數(shù)據的稀疏問題,不僅費時費力,而且詞義標注者之間也很難達到較高的標注一致性。后者僅需要少量或不需要人工標注語料就可以消歧,如上下文聚類、詞語聚類、共現(xiàn)圖聚類等方法,但這種方法依賴在該語料上的句法分析結果,而且待消解詞的覆蓋度可能會受影響。目前比較主流的方法是基于神經網絡的方法,例如上文所述的BERT模型,利于在大規(guī)模語料庫上預訓練得到的上下文敏感的動態(tài)語義向量消除歧義,同時一定程度上解決了有監(jiān)督消歧模型數(shù)據稀疏的問題。

二是由于用戶話語的自由度高,可能會存在指代的現(xiàn)象,例如在軟件工程的知識問答系統(tǒng)中,對于“軟件過程中的瀑布模型是什么?該模型與增量模型有哪些區(qū)別?”這一問句,“該模型”與“瀑布模型”存在指代關系,使得計算機不能準確識別語句中的指代關系,理解自然語言變得較為困難[60],所以解決指代消歧對語義槽填充的性能至關重要。指代消歧的方法從算法角度可以分為兩類,一類是基于啟發(fā)性規(guī)則的指代消歧方法,利用人工制定的一系列語言學規(guī)則進行指代消歧,但需要大量的人工參與,自動化程度較低,系統(tǒng)的可移植性也較差,另一類是基于數(shù)據驅動的指代消歧方法,利用標注好的語料消除歧義[61],但需要大規(guī)模語料庫。陳遠哲等人[62]對共指消解技術進行了詳細綜述,介紹了基于規(guī)則、基于機器學習、基于全局最優(yōu)、基于知識庫和基于深度學習的模型,分析了目前共指消解存在缺乏語義推理能力和過分依賴前置模型性能的缺點。付健等人[63]在端到端指代消解模型[64]的基礎上,充分利用中文的詞法、句法信息,將詞性、文檔壓縮樹葉節(jié)點深度與成分句法樹的結構化嵌入作為三個特征向量,加入融合了結構化信息的中文指代消解模型中,取得了較好的效果,但是模型中的表述識別策略較為復雜,訓練比較耗時。鄒超[65]在問答系統(tǒng)中利用深度學習的方法捕獲深層次的語義特征,實現(xiàn)中文代詞消解算法,并從指代和省略兩個方面對待檢索問題進行語義補全,提高了系統(tǒng)檢索的準確性。

三是在意圖識別任務中,上一例句還存在“查概念”和“比較概念”兩種意圖的問題,對于多意圖識別的研究,目前主流的方法有楊春妮等人[66]提出的結合句法特征和卷積神經網絡的模型,雖然取得了較好的效果,但是比較依賴句法結構特征。劉嬌等人[67]提出基于膠囊網絡的多意圖識別方法,性能優(yōu)于基于CNN的模型,但是由于膠囊網絡參數(shù)多會導致模型運行速度較慢的問題。

四是對于實體的消歧,高揚[68]針對詞袋模型不能充分利用實體上下文語義信息的缺點,提出了一種基于卷積神經網絡的中文實體消歧方法,將實體上下文中名詞的詞向量矩陣作為神經網絡的輸入,通過寬卷積的方式保留更多的詞語組合可能性,并生成實體上下文的語義特征向量用于實體消歧任務,但是由于神經網絡模型的復雜性,導致在大規(guī)模語料上訓練的時間復雜度較大。ENRIE模型的提出也為實體消歧的解決提供了新思路,通過實體級掩蔽任務與外部知識庫結合的方式增強了語言表征能力,可以更好地解決實體消歧。

這些歧義現(xiàn)象影響了模型的泛化能力,給NLP帶來了極大的困難[69]。對于現(xiàn)有數(shù)據不均衡的現(xiàn)象,如何利用已有的低資源啟動跨文本、跨語言的新領域是下一步的研究熱點,遷移學習能夠利用其他模型幫助新模型在低數(shù)據體系下進行訓練,但是遷移學習并不適用于所有新領域。目前較為常用的方法是通過自動標注的方式幫助模型構建領域知識,利用領域知識增強數(shù)據包含信息的能力從而達到節(jié)約成本的目的,但領域知識的構建過程依舊需要消耗人力物力。此外,有研究者提出用機器模擬人類標注數(shù)據的思想,這樣既可以減少人工消耗,也可以產生更多的可用數(shù)據[70],但是用戶模擬器的反饋與真實用戶的反饋還存在一定誤差。還有研究者提出了動態(tài)學習(active learning)的方法,采用多種方式相結合的模式對數(shù)據自動標注以減少標注誤差[71],這些都是未來研究的重點方向。

3.6 小結

本文主要對最新的具有代表性的意圖和語義槽聯(lián)合識別的方法進行分析介紹,各模型在ATIS數(shù)據集上的性能如表2所示,評價指標包括語義槽填充F1值和意圖識別準確率。第一組是RNN-LSTM模型,其中SD、MD分別代表在單領域、多領域上進行訓練,Sep、Joint分別代表意圖和語義槽獨立建模、聯(lián)合識別的方法,從實驗結果可以看出無論是在單領域還是多領域,聯(lián)合識別可以提高意圖識別的準確率,但是語義槽填充F1值會降低,而從全局來看,聯(lián)合多領域集成多任務的模型會提升識別語義框架的準確率。在第二組模型中,dropout為0.5,LSTM的單元數(shù)為128。基于雙向RNN+Attention聯(lián)合識別模型不要求編碼器將所有輸入信息都編碼為一個固定長度的向量,而是在解碼器的每一個時間步,都和編碼器直接連接,通過對輸入信息分配不同的權重聚焦式關注特定的部分,再與雙向LSTM雙向建模得到包含上下文語義信息的向量相結合,得到包含更豐富的語義向量表示,彌補了RNN對長距離依賴關系的不足,取得了較好的性能。雙向RNN+Attention的模型與使用對齊輸入的基于注意機制的編碼器-解碼器模型相比具有更高的計算效率,因為在模型訓練期間,編碼器-解碼器模型讀取輸入序列兩次,而雙向RNN+Attention模型只讀取輸入序列一次。第三組是膠囊網絡模型,dropout為0.2,膠囊網絡通過動態(tài)路由機制改進了CNN的不足,捕獲小概率的語義信息,保證了特征的完整性,而且重路由機制能利用意圖識別的結果指導修正語義槽填充任務,性能有了一定的提升,同時證明了聯(lián)合識別比獨立建模效果更好,但其受模型復雜、參數(shù)多的影響導致計算速度較慢。第四組是BERT模型,目前在ATIS數(shù)據集上取得了最優(yōu)性能,在該模型中Transformer設置為12層,dropout設置為0.1,包含768個隱藏狀態(tài)和12個頭部?;贐ERT+CRF的聯(lián)合識別模型用CRF取代Softmax分類器,但其性能與BERT相差不多,因為在序列標注任務中,標簽之間是有依賴關系的,比如當采用BIO格式標注時,標簽I應該在標簽B之后出現(xiàn),而不應該在標簽B之前出現(xiàn),CRF機制主要用于計算詞標簽之間的轉移概率以進行標簽全局優(yōu)化。Tan等人[72]2018年提出使用深度注意力網絡(Deep Attentional Neural Network)進行標注,在模型的頂層僅使用自注意力機制也能夠學習到標簽之間潛在的依賴信息,所以Transformer模型中的自注意機制已經對標簽結構進行了充分建模,加入CRF后性能并沒有提升。

表2 聯(lián)合識別模型在ATIS數(shù)據集上的NLU性能結果%

表3 基于深度學習的聯(lián)合識別模型對比

綜上可以看出聯(lián)合識別比獨立建模的效果更好,而且在聯(lián)合識別的兩種方法中,將意圖識別和語義槽填充合并成一個任務,求解聯(lián)合概率的效果更好,因為這種方法能夠充分利用兩任務的相關關系進行建模,從而達到更好的性能,而共享底層特征再分別求解的方法不能實現(xiàn)真正的聯(lián)合識別。

基于深度學習的方法能充分利用高性能計算能力從海量數(shù)據中總結規(guī)律,然后對意圖和語義槽進行端到端的聯(lián)合識別。表3對目前主流的基于深度學習的聯(lián)合識別模型進行對比分析。

4 結束語

本文主要對基于深度學習的端到端任務型對話系統(tǒng)中意圖和語義槽聯(lián)合識別具有代表性的方法進行總結對比。目前性能較好的是BERT模型,不僅可以并行處理任務,而且可以雙向捕獲上下文信息,還能解決一詞多義的問題,同時為遷移學習提供了可能。

NLU性能的提升還有很大的探索空間:第一,Transformer模型在捕獲長距離依賴關系、深層次語義信息方面都優(yōu)于CNN、RNN、LSTM等模型,但因并行化處理而丟失的詞序信息對NLU至關重要,簡單地在輸入時加入位置編碼向量并不能從根源解決問題,所以如何更好地捕獲Transformer模型丟失的詞序位置信息以及減小模型的復雜度是下一步研究的重點。第二,當CNN模型用于意圖和語義槽聯(lián)合識別任務時,池化層忽略了大量小概率的語義信息,不能保證特征的完整性,而膠囊網絡通過動態(tài)路由機制可以捕獲到小概率的語義信息,但膠囊網絡因為算法復雜、參數(shù)多等原因導致計算速度較慢,所以如何提升膠囊網絡的計算性能是一個值得研究的方向。第三,在意圖和語義槽識別任務中,因為用戶話語自由度高,可能會產生語義歧義、代詞省略、多意圖等歧義現(xiàn)象,因此針對口語的不確定性如何利用深度學習、遷移學習等方法進行有效消歧以提升人機對話系統(tǒng)的魯棒性是下一步探索方向,以及如何利用低資源啟動跨語言、跨文本的對話系統(tǒng)也是NLP的重要問題之一。第四,當NLU在處理復雜任務時,不僅需要語言的語義信息,還需要結合事實性知識進行邏輯推理才能完成任務,為此,如何將領域知識和事實性知識圖譜加入模型以補充更豐富的信息,進而提升NLU處理復雜任務的能力是一個新的研究方向。

猜你喜歡
意圖語義向量
原始意圖、對抗主義和非解釋主義
法律方法(2022年2期)2022-10-20 06:42:20
陸游詩寫意圖(國畫)
向量的分解
聚焦“向量與三角”創(chuàng)新題
制定法解釋與立法意圖的反事實檢驗
法律方法(2021年3期)2021-03-16 05:56:58
語言與語義
“上”與“下”語義的不對稱性及其認知闡釋
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
認知范疇模糊與語義模糊
连州市| 静乐县| 潮州市| 乡城县| 岳西县| 新竹县| 柯坪县| 鄢陵县| 搜索| 梁山县| 贞丰县| 新竹县| 临海市| 天等县| 英吉沙县| 天峨县| 桑日县| 榆树市| 肇源县| 东明县| 宁津县| 竹山县| 九江市| 上虞市| 威海市| 苍南县| 东光县| 天峻县| 德格县| 隆回县| 迁西县| 耒阳市| 京山县| 无极县| 宁德市| 两当县| 醴陵市| 尖扎县| 商南县| 双江| 丁青县|