論文研讀 一 A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding |...

由于個(gè)人習(xí)慣已烤,系統(tǒng)設(shè)計(jì)及老、nlp任務(wù),會(huì)從 `五個(gè)步驟衅胀、四個(gè)組件`來分析:

系統(tǒng)設(shè)計(jì)五個(gè)步驟:

1. 數(shù)據(jù)預(yù)處理

2. 模型

3. 策略

4. 優(yōu)化(算法)

5. 正則化

NLP模型四個(gè)組件:

1. Embedding

2. Representation(encoder)

3. Decoder

4. Output

任何論文在以上五個(gè)步驟卒茬、四個(gè)組件中任何一環(huán)節(jié)有卓越設(shè)計(jì)之處船老,我都希望能有機(jī)會(huì)好好學(xué)習(xí)研讀咖熟,同大家分享。侵權(quán)必刪努隙。

Paper:?A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding球恤;

Task:?JointTextTask;

一荸镊、Paper綜述

該文章為針對(duì)SLU(Spoken Language Understanding)的意圖-槽填充聯(lián)合模型咽斧,文章的出色之處在于提供了一個(gè)同時(shí)在文本分類和文本標(biāo)記兩個(gè)nlp基本任務(wù)中都取得卓越成績的基于RNNs的聯(lián)合模型。

對(duì)于SLU(即語義理解)來說躬存,一般有兩項(xiàng)主要任務(wù):意圖識(shí)別(Intent determination张惹,即文本分類)和槽填充(slot filling,即文本標(biāo)記)岭洲。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)宛逗,在文本分類任務(wù)中被證明可取得較好的結(jié)果。由于意圖識(shí)別和槽填充有相當(dāng)?shù)穆?lián)系盾剩,所以論文作者提出一個(gè)適合于兩種任務(wù)的聯(lián)合模型雷激。

GRU具有隨著時(shí)序?qū)W習(xí)每個(gè)詞(token)的表征的特性,通過這個(gè)特性可以預(yù)測每個(gè)插槽告私,同時(shí)屎暇,一個(gè)max-pooling層可以捕捉句子的全局特征從而實(shí)現(xiàn)意圖識(shí)別。GRU捕捉到的每個(gè)token的特征和max-pooling層捕捉的句子全局特征是被兩個(gè)任務(wù)所共享的驻粟,譬如根悼,假如一句話的意圖是找到一個(gè)航班,那么他更有可能有出發(fā)以及目的城市蜀撑,反之亦然挤巡。實(shí)驗(yàn)證明了聯(lián)合模型比分開的每個(gè)模型效果都要更好一些。文章選用了United loss function作為策略酷麦,實(shí)驗(yàn)結(jié)果證明了該篇論文在兩個(gè)任務(wù)中都取得了state-of-the-art的結(jié)果矿卑。


二、模型解釋

模型的整體框架如下圖所示沃饶,現(xiàn)在具體解釋每一層的作用粪摘。


1. `Embeddings`

文章使用了預(yù)訓(xùn)練的詞向量模型,并且加入了Mesnil et al.[2015]提出的context word window的想法绍坝,后者可以有效提高SF任務(wù)的表現(xiàn),即除了使用詞向量e(w_{t} )表征每個(gè)單詞苔悦,使用d-context word window?x_{t}^d 來作為RNNs網(wǎng)絡(luò)的時(shí)序輸入轩褐,x_{t}^d 由單詞w_t的前d個(gè)、后d個(gè)和其本身一共2d+1個(gè)詞向量表示而成玖详,如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?x_t^imtler7 = [ e(w_{t-d}), ... e(w_t), ... e(w_{t+d})]? ? ? ? ? ? ? ? ? ? ? ?(1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

命名實(shí)體NER對(duì)SLU來說是一個(gè)非常重要的特征把介,為了使用這個(gè)特征勤讽,原文賦予每個(gè)命名實(shí)體一個(gè)置于[0, 1]的一個(gè)embedding,維度和詞向量一樣拗踢,并使之能在反向傳播時(shí)進(jìn)行訓(xùn)練脚牍,context named window如同上面定義context word window一樣。所以巢墅,最后每個(gè)時(shí)序t的輸入表示為:

? ????????????????????????????????????x_t^d = [e(w_{t-d}), ... e(w_t), ... e(w_{t+d}),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?e^{\prime}(w_{t-c}), ... e^{\prime}(w_t), ... e^{\prime}(w_{t+c})]? ? ? ? ? ? ? ? ? ? (2)

注意诸狭,word和ner的窗口并不一定一樣。

觀察Pytext的model參數(shù)可以發(fā)現(xiàn)WordEmbedding的參數(shù)君纫,其中驯遇,Embedding(820, 100)中的820代表輸入文本單詞總種類數(shù)vocabulary_size,100代表詞向量的維數(shù)dimenstion_word2vec蓄髓。

2. `Recurrent Hidden Layers`

即`Representation`叉庐,表示層,這里不再贅述Lstm和Gru的推導(dǎo)證明過程了会喝,原文使用Gru的原因是陡叠,Gru使用了比Lstm更少的參數(shù),但是得到了相當(dāng)?shù)慕Y(jié)果肢执。

這里使用了一個(gè)雙向GRU的網(wǎng)絡(luò)枉阵,用以捕捉一個(gè)d-gram的前向和反向序列的特征編碼,前向\vec{h} 和反向\overleftarrow{h}分別定義如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\vec{h}_t = \vec{GRU}(x_t, \vec{h}_{t-1})? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????? ?\overleftarrow{h}_t  = \overleftarrow{GRU}(x_t, \overleftarrow{h}_{t+1})? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)

而t時(shí)刻的雙向隱層狀態(tài)\overleftrightarrow{h}是前向和反向隱層狀態(tài)的拼接:

? ??????????????????????????????????????????????????????????\overleftrightarrow{h} = [\overrightarrow{h}, \overleftarrow{h}]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)

觀察Pytext的model參數(shù)可以發(fā)現(xiàn)Representation的參數(shù)蔚万,可以發(fā)現(xiàn)雙向LSTM的uniLSTM的輸入和輸出維數(shù)分別是100和366岭妖,通過將兩個(gè)uniLSTM拼接起來,即可得到每個(gè)時(shí)序t的隱藏層\overleftrightarrow{h}反璃,維數(shù)為732昵慌,假設(shè)一共有n個(gè)word,那么則有n個(gè)732維的向量來作為word級(jí)的表征淮蜈。這里使用了SelfAttention而不是MaxPooling來作為網(wǎng)絡(luò)的Pooling層(本人感覺Pooling層的定義在nlp領(lǐng)域現(xiàn)在逐漸發(fā)展為一種為數(shù)據(jù)降維或者連接各個(gè)部分得到語句統(tǒng)一表示的一種方法)以捕獲句子級(jí)表征斋攀。

3. `Task Specific Layers`

雙向隱層狀態(tài)被兩個(gè)任務(wù)所共用。一方面梧田,\overleftrightarrow{h}在每個(gè)時(shí)序捕捉到的特征可以直接用來預(yù)測插槽的標(biāo)簽Label淳蔼,另一方面,我們用max-pooling層來得到整個(gè)句子的表示:

? ??????????????????????????????????????????????????????????h^u = \max^{T}_{t = 1} \overleftrightarrow{h}_t? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)

這樣我們即可得到整句話的特征信息表示裁眯。

最后鹉梨,即是`Output` layer:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?y_t^s = softmax(W^s\overleftrightarrow{h}_t + b^s)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?y^u = softmax(W^uh^u + b^u)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (8)

其中,W^sW^u分別是SF和ID任務(wù)的轉(zhuǎn)移矩陣穿稳,b_t^sb^u分別是偏置向量存皂。像序列標(biāo)注和文本分類的任務(wù)不需要單獨(dú)一個(gè)`Decoder` layers,或者說,解碼和輸出是同時(shí)進(jìn)行的旦袋,如Pytext調(diào)用該模型時(shí):


4. 策略

即目標(biāo)函數(shù)的定義骤菠。事實(shí)上,目標(biāo)函數(shù)的定義疤孕,作者希望能夠考慮到從一個(gè)標(biāo)簽到另一個(gè)標(biāo)簽的轉(zhuǎn)移分?jǐn)?shù)(A_{i,j}商乎,in [Chen et al., 2015]),即從B-City到I-City的概率應(yīng)該遠(yuǎn)比B-City到B-City的概率要大祭阀,所以鹉戚,對(duì)于一個(gè)標(biāo)簽序列l_{1:T},一句話的分?jǐn)?shù)由下面式子給出:

? ?????????????????????????????????????????????s(l_{1:T}, \theta ) = \Sigma_{t=1}^{T}(A_{l_{t-1}}l_t+y_t^s(l_t))? ? ? ? ? ? ? ? ? ? ? (9)

其中柬讨,y_t^s(l_t)是在t時(shí)刻預(yù)測正確的概率崩瓤,即式(7)。特別注意的是踩官,在t_0時(shí)刻却桶,標(biāo)簽為"BOS"。最后要輸出的序列是得分最高的那組序列蔗牡,即:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\hat{l^s} = argmax_{l^s \in L} s(l^s, \theta )? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)

所以要訓(xùn)練的網(wǎng)絡(luò)中參數(shù)\theta 包括:

? ??????????????????????????????\theta = \left\{ E, E^{\prime}, \overrightarrow{GRU_{\theta}}, \overleftarrow{GRU_{\theta}}, W^s, b^s, W^u, b^u, A\right\} ? ? ? ? (11)

其中颖系,E和E'分別是單詞token和命名實(shí)體ner的詞嵌入,\overrightarrow{GRU_\theta }\overleftarrow{GRU_\theta }分別是正向神經(jīng)網(wǎng)絡(luò)和反向神經(jīng)網(wǎng)絡(luò)的參數(shù)群辩越。

接來下定義網(wǎng)絡(luò)的損失函數(shù)嘁扼,使用S來表示輸入語句,l^sl^u分別表示插槽slot和意圖intent的ground truth黔攒。意圖的損失函數(shù)是:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??L^u(\theta) = -logy^u(l^u)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(12)

插槽slot的損失函數(shù)是max-margin(hinge loss):

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\Delta (l^s,\hat{l^s} ) =\Sigma _{t=1}^{T}1\{l_t^s\neq \hat{l_t^s}\} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (13)

對(duì)整個(gè)標(biāo)簽序列來說趁啸,損失函數(shù)定義如下:

? ??????????????????????????????????L^s(\theta )=max(0, s(\hat{l^s}, \theta )+\Delta (l^s, \hat{l^s}) - s(l^s, \theta ))? ? ? ?(14)

最后的訓(xùn)練目標(biāo)是最小化一個(gè)統(tǒng)一的損失函數(shù):

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?L(\theta)=\Sigma _{l^s, l^u, S\in D}(\alpha L^s(\theta) + L^u(\theta))? ? ? ? ? ? ? ? ?(15)

\alpha 是平衡兩個(gè)任務(wù)的一個(gè)權(quán)重,D是整個(gè)數(shù)據(jù)集督惰。通過這個(gè)損失函數(shù)不傅,由GRU學(xué)到的表征可以同時(shí)考慮兩個(gè)任務(wù),并且赏胚,兩個(gè)任務(wù)的聯(lián)系使得表征可以同時(shí)被學(xué)習(xí)并且彼此提升访娶。


三、實(shí)驗(yàn)分析

3.1. 數(shù)據(jù)集

ATIS dataset

ATIS是SLU領(lǐng)域中使用最廣的數(shù)據(jù)集觉阅。

CQUD dataset

CQUD是百度知道搜集到的問題崖疤,是中文社區(qū)最受歡迎的Question Understanding Dataset.


3.2. 與之前的方法進(jìn)行對(duì)比

實(shí)驗(yàn)結(jié)果展示如下,第二列是每個(gè)方法使用的特征典勇,其中劫哼,W,N和S分別代表單詞割笙、命名實(shí)體和語義特征沦偎,在CQUD數(shù)據(jù)集中,W代表每一個(gè)中文字特征表示。

可以看到CRF的結(jié)果比SVM好豪嚎,表明CRF更加適合序列標(biāo)注任務(wù)。另外谈火,RNN打敗了CRF侈询,因?yàn)镽NN可以捕捉長依賴關(guān)系。而R-CRF模型結(jié)合了RNN和CRF模型的優(yōu)點(diǎn)糯耍,可以模擬標(biāo)簽轉(zhuǎn)移(本人以為這是指RNN加了CRF模型是可以避免一些大概率不存在的序列情況)和得到整個(gè)序列的全局的優(yōu)點(diǎn)扔字。對(duì)于填槽任務(wù)來說,sentence simplification是最好的辦法温技,它使用了依存分析來提取句中關(guān)鍵詞革为。RecNN使用dl提取的語義信息,但是他的效果比sentence simplification更差舵鳞,作者認(rèn)為可能的原因是語料的規(guī)模不夠大震檩。總的來說蜓堕,論文在ID和SF領(lǐng)域分別提升了1.59%和1.24%的準(zhǔn)確率抛虏。


3.3. 聯(lián)合模型和分開的模型的對(duì)比

Joint Model根據(jù)\alpha 不同有相應(yīng)不同的表現(xiàn),如下圖所示:

論文地址https://www.ijcai.org/Proceedings/16/Papers/425.pdf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末套才,一起剝皮案震驚了整個(gè)濱河市迂猴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌背伴,老刑警劉巖沸毁,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異傻寂,居然都是意外死亡息尺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門崎逃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掷倔,“玉大人,你說我怎么就攤上這事个绍±沾校” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵巴柿,是天一觀的道長凛虽。 經(jīng)常有香客問我,道長广恢,這世上最難降的妖魔是什么凯旋? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上至非,老公的妹妹穿的比我還像新娘钠署。我一直安慰自己,他們只是感情好荒椭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布谐鼎。 她就那樣靜靜地躺著,像睡著了一般趣惠。 火紅的嫁衣襯著肌膚如雪狸棍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天味悄,我揣著相機(jī)與錄音草戈,去河邊找鬼。 笑死侍瑟,一個(gè)胖子當(dāng)著我的面吹牛唐片,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丢习,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼牵触,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了咐低?” 一聲冷哼從身側(cè)響起揽思,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎见擦,沒想到半個(gè)月后钉汗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鲤屡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年损痰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酒来。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卢未,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出堰汉,到底是詐尸還是另有隱情辽社,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布翘鸭,位于F島的核電站滴铅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏就乓。R本人自食惡果不足惜汉匙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一拱烁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧噩翠,春花似錦戏自、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至见芹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蠢涝,已是汗流浹背玄呛。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留和二,地道東北人徘铝。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像惯吕,于是被迫代替她去往敵國和親惕它。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容