1.1 研究背景與任務(wù)定義
口語語言理解在任務(wù)型對話系統(tǒng)中扮演了一個(gè)非常重要的角色,其目的是識別出用戶的輸入文本中蘊(yùn)含的意圖和提及到的槽位,一般被分為意圖識別和槽位填充兩個(gè)子任務(wù)[1]。以句子“use netflix to play music”為例,意圖識別將整個(gè)句子的意圖分類為播放音樂(PlayMusic),槽位填充為句子中的每個(gè)單詞賦予不同的槽位標(biāo)簽(即,O, B-service,O,O,O)。從任務(wù)類型來區(qū)分,意圖識別屬于句子分類任務(wù),槽位填充可以被建模成序列標(biāo)注任務(wù)。 與英文口語語言理解相比,中文口語語言理解面臨了一個(gè)獨(dú)特的挑戰(zhàn):在完成任務(wù)之前需要進(jìn)行詞語切分。盡管事先做了分詞,不完美的分詞系統(tǒng)仍然會錯(cuò)誤識別槽位的邊界,隨即預(yù)測了錯(cuò)誤的槽位類別,使得模型的性能遭受來自分詞系統(tǒng)的錯(cuò)誤級聯(lián)。
圖1 中文口語語言理解示例
1.2 研究動機(jī)
為了避免來自分詞系統(tǒng)的錯(cuò)誤級聯(lián),Liu等人[2]提出了一個(gè)基于字符的聯(lián)合模型完成中文口語語言理解,達(dá)到了當(dāng)時(shí)最好的效果。
然而,直觀上,中文詞語信息的引入有助于對中文文本的理解,進(jìn)而正確完成意圖識別和槽位填充任務(wù)。
以圖1為例,正確的中文分詞為"周冬雨 / 有 / 哪些 / 電影"。如果不引入這種分詞信息作為補(bǔ)充,可能會給"周"賦予Datetime_date槽位標(biāo)記,將"冬雨"看作Datetime_time。而有了類似于"周冬雨"這樣詞語的幫助,檢測正確的槽位標(biāo)簽Artist會變得異常容易。
除此之外,由于口語語言理解由兩個(gè)類型不同又相互關(guān)聯(lián)的任務(wù)組成,利用任務(wù)間的交互可以對在兩個(gè)任務(wù)間建模細(xì)粒度的詞語信息遷移起到重要的幫助。
所以,在考慮任務(wù)特性的同時(shí)引入詞語信息是很有必要的。
因此,接下來的問題是:是否可以在避免分詞系統(tǒng)錯(cuò)誤級聯(lián)、考慮口語語言理解任務(wù)特性的同時(shí),引入中文詞語信息增強(qiáng)中文意圖識別和槽位填充。
為了解決此問題,我們提出了簡單而有效的Multi-LevelWordAdapter (MLWA)模型引入中文詞語信息,對意圖識別和槽位填充進(jìn)行聯(lián)合建模。其中,1) sentence-level word adapter 直接融合詞級別和字級別的句子表示實(shí)現(xiàn)對意圖的識別;2) character-level word adapter 針對輸入文本中的每個(gè)字動態(tài)地確定不同字特征和不同詞特征之間的融合比例,進(jìn)而得出該字的槽位標(biāo)簽,以達(dá)到對詞語知識的細(xì)粒度組合這一目的。另外,word adapter可以作為一個(gè)依附于輸出層的插件被應(yīng)用于各種基于字符的中文口語語言理解模型,其無需改變原始模型其他分量的特性帶來了更多的應(yīng)用靈活性。
2. 模型
2.1 整體框架
模型以一個(gè)普通的基于字符的模型(圖2 (a))為基礎(chǔ),附以multi-level word adapter模塊(圖2 (b))針對意圖識別和槽位填充分別引入并捕獲句子級和字符級詞語信息。
圖2 Multi-Level Word Adapter 整體框架
2.2 Vanilla Character-based Model
Char-Channel Encoder
自注意力編碼器(Self-Attentive Encoder)[3]由抽取序列上下文信息的自注意力模塊[4]和捕獲序列信息的雙向LSTM[5]組成。其接收中文字輸入序列 = ,獲得BiLSTM和self-attention的輸出后,連接兩者輸出字符編碼表示序列 = 。
Intent Detection and Slot Filling
意圖識別和槽位填充均以自注意力編碼器的輸出為基礎(chǔ),進(jìn)行進(jìn)一步的編碼,即兩者共享底層表示信息。其中,意圖識別模塊利用一個(gè)MLP Attention模塊獲得整個(gè)字序列的綜合表示向量 ,進(jìn)而完成對意圖的分類(意圖標(biāo)簽集表示為 ):
槽位填充應(yīng)用一個(gè)單向LSTM作為解碼器,在每個(gè)解碼時(shí)間步 ,其接收每個(gè)字表示 ,意圖標(biāo)簽編碼 ,來自上一個(gè)時(shí)間步解碼的槽位標(biāo)簽編碼 ,輸出解碼器隱層向量 ,進(jìn)而計(jì)算得到第 個(gè)字 的槽位標(biāo)簽(槽位標(biāo)簽集表示為 ):
2.3 Multi-Level Word Adapter
Word-Channel Encoder
在我們的框架中,單詞通道編碼器獨(dú)立于字符通道編碼器,也就是說,如何編碼單詞信息,編碼何種單詞信息都是自由的,在這里以使用外部中文分詞系統(tǒng)(CWS)為例。對字序列 進(jìn)行分詞可以得到單詞序列 = 。與字符通道編碼器相同,單詞通道編碼器利用另一個(gè)自注意力編碼器生成單詞編碼表示序列 = 。
Word Adapter
word adapter 是一個(gè)簡單的神經(jīng)網(wǎng)絡(luò),可以適應(yīng)性地融合不同的字特征的詞語特征,圖2 (c)顯示了其內(nèi)部結(jié)構(gòu)。給定輸入字符向量 和詞語向量 ,word adapter可以計(jì)算兩者之間的權(quán)重比例,進(jìn)而加權(quán)求和得到融合后的特征向量:
Sentence-Level Word Adapter
給定字符序列和單詞序列的上下文表示序列 和 ,可以通過上文的MLP Attention模塊獲得兩種序列的綜合表示向量 和 。
隨后,sentence-level word adapter計(jì)算融合后的綜合向量 ,并利用它預(yù)測意圖標(biāo)簽 :
Character-Level Word Adapter
在完成槽位填充之前,我們首先采納一個(gè)雙向LSTM增強(qiáng)單詞序列的表示。在每個(gè)時(shí)間步 ,單詞通道的槽位填充編碼器輸出的隱層向量由相應(yīng)的單詞表示 和意圖標(biāo)簽的編碼 計(jì)算得到。
然后,character-level word adapter針對每個(gè)輸入字符,為字符特征和詞語特征的不同組合確定不同的融合比例:
最后,我們利用融合后的表示 完成第 個(gè)字符的槽位標(biāo)注:
2.4 Joint Training
我們采納聯(lián)合訓(xùn)練策略優(yōu)化模型,最終的聯(lián)合目標(biāo)函數(shù)如下, and 分別是正確的意圖和槽位標(biāo)簽:
3. 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集
我們在兩個(gè)公開的中文數(shù)據(jù)集CAIS和ECDT-NLU上進(jìn)行了實(shí)驗(yàn),我們保持了兩個(gè)數(shù)據(jù)集原分割不變。
CAIS中, 訓(xùn)練集包含7995個(gè)句子,驗(yàn)證集和測試集分別有994和1024個(gè)句子。
ECDT-NLU由2576個(gè)訓(xùn)練樣本和1033個(gè)測試樣本組成。
評價(jià)指標(biāo)
與前人相同,我們使用以下三個(gè)指標(biāo)來評價(jià)中文口語語言理解模型的性能:
F1值作為槽位填充任務(wù)的評價(jià)指標(biāo)。
準(zhǔn)確率(accuracy)作為意圖識別任務(wù)的評價(jià)指標(biāo)。
使用整體準(zhǔn)確率(overall accuracy)指標(biāo)評價(jià)句子級語義幀解析能力。一個(gè)整體準(zhǔn)確的預(yù)測表示預(yù)測的意圖和槽位標(biāo)簽與人工標(biāo)注完全相同。
3.2 主實(shí)驗(yàn)結(jié)果
表1 主實(shí)驗(yàn)結(jié)果
所有的baseline模型均考慮了意圖識別和槽位填充兩個(gè)任務(wù)之間的相關(guān)性,并聯(lián)合建模這兩個(gè)相關(guān)任務(wù)。從結(jié)果可以看出:
我們的實(shí)驗(yàn)結(jié)果在所有指標(biāo)上均超過了這些baseline模型,達(dá)到了當(dāng)前最好的性能,證明了我們提出的multi-level word adapter的有效性。
Slot和Intent指標(biāo)的提升表明利用multi-level word adapter融入單詞信息可以促進(jìn)模型對于中文意圖和槽位的識別和標(biāo)注。
整體準(zhǔn)確率的提升歸因于考慮了兩個(gè)任務(wù)之間的相關(guān)性,并通過聯(lián)合訓(xùn)練相互增強(qiáng)兩者。
3.3 消融實(shí)驗(yàn)結(jié)果
為了驗(yàn)證已提出的word adapters的有效性,我們對以下幾個(gè)重要分量執(zhí)行了消融實(shí)驗(yàn):
w/o Multiple Levels 設(shè)置中,我們移除了character-level word adapter,在對每個(gè)字符的槽位標(biāo)記時(shí)使用相同的單詞信息。
w/o Sentence-Level word adapter 設(shè)置中,不使用sentence-level word adapter,只使用字序列編碼信息去完成意圖識別。
w/o Character-Level word adapter 設(shè)置中,不使用character-level word adapter,只使用字序列編碼信息去完成槽位填充。
表2 消融實(shí)驗(yàn)結(jié)果
上表是消融實(shí)驗(yàn)的結(jié)果,從中可以看出:
使用多層次機(jī)制帶來了顯著的正向效果,這從側(cè)面證實(shí)了對于字符級的槽位填充任務(wù),每個(gè)字需要不同的單詞信息,即細(xì)粒度的詞信息。
不使用sentence-level word adapter時(shí),在ECDT-NLU數(shù)據(jù)集上,意圖識別準(zhǔn)確率出現(xiàn)了明顯的下降,表明sentence-level word adapter可以抽取有利的詞信息去提升中文意圖識別。
不使用character-level word adapter時(shí),兩個(gè)數(shù)據(jù)集上的槽位填充指標(biāo)出現(xiàn)了不同程度的下降,證明了詞語信息可以為中文槽位填充的完成提供有效的指導(dǎo)信息(例如,明確的單詞信息可以幫助模型檢測單詞邊界)。
3.4 預(yù)訓(xùn)練模型探索實(shí)驗(yàn)
我們進(jìn)一步在這兩個(gè)數(shù)據(jù)集上探索了預(yù)訓(xùn)練模型的效果。我們將char-channel encoder替換為預(yù)訓(xùn)練模型BERT,模型的其他部分保持不變,進(jìn)行fine-tuning訓(xùn)練,來觀察我們提出的multi-level word adapter的效果。
表3 BERT模型探索結(jié)果
表3是對于BERT預(yù)訓(xùn)練模型的探索結(jié)果。其中,
Joint BERT 利用預(yù)訓(xùn)練模型BERT得到輸入字序列的編碼,經(jīng)過線性分類層完成意圖識別和槽位填充,隨后應(yīng)用多任務(wù)學(xué)習(xí)方法進(jìn)行訓(xùn)練。
Our Model + BERT 是使用BERT替換掉char-channel encoder作為字序列的Encoder。具體來說,BERT的[CLS]輸出向量作為字序列的綜合向量,其他輸出向量作為各字的表示向量。
實(shí)驗(yàn)結(jié)果表明,multi-level word adapter和BERT的結(jié)合可以進(jìn)一步提升模型效果,證明了我們的貢獻(xiàn)與預(yù)訓(xùn)練模型是互補(bǔ)的。
4.結(jié)論
在這篇文章中,我們的貢獻(xiàn)如下:
我們首次利用一個(gè)簡單有效的方法向中文口語語言理解中引入中文單詞信息。
我們提出了一個(gè)多層次的單詞適配器,句子級和字符級單詞適配器分別向意圖識別和槽位填充提供兩個(gè)層次的單詞信息表示,從而實(shí)現(xiàn)了不同級別任務(wù)的詞信息表示定制化。
在兩個(gè)公開數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)表明,我們的模型取得了顯著性的改進(jìn),并實(shí)現(xiàn)了最佳的性能。此外,我們的方法與預(yù)訓(xùn)練模型(BERT)在性能上是互補(bǔ)的。
原文標(biāo)題:【工大SCIR】首次探索中文詞信息增強(qiáng)中文口語語言理解!
文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
模型
+關(guān)注
關(guān)注
1文章
3226瀏覽量
48807 -
nlp
+關(guān)注
關(guān)注
1文章
488瀏覽量
22033
原文標(biāo)題:【工大SCIR】首次探索中文詞信息增強(qiáng)中文口語語言理解!
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論