論文:https://arxiv.org/pdf/1701.04027.pdf
亮點(diǎn):以前都是給每個(gè)字標(biāo)標(biāo)簽(sequence labeling),這篇文章是給每個(gè)chunk標(biāo)標(biāo)簽(sequence chunking)
In this paper, we propose an alternative approach by investigating the use of DNN for sequence chunk- ing, and propose three neural models so that each chunk can be treated as a complete unit for labeling.
Introduction
IOB scheme 不好:1)IOB是間接地學(xué)習(xí)chunks的范圍它改,沒(méi)有充分利用訓(xùn)練數(shù)據(jù);2)一些神經(jīng)網(wǎng)絡(luò)可以解碼出上下文信息但不能將每個(gè)chunk當(dāng)作一個(gè)單元
Sequence chunking把原先的sequence labeling task分為兩個(gè)子任務(wù):
- Segmentation. 識(shí)別chunks的范圍
- Labeling. 把識(shí)別出的每個(gè)chunk作為一個(gè)單元標(biāo)label
這篇文章依賴于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)取進(jìn)行分段房待,用了兩個(gè)方法:1)IOB labels;2)pointer networks and three neural sequence chunking models缀辩。第二種方法結(jié)果好岸啡。
Proposed Models (3個(gè))
-
Model 1
先對(duì)每個(gè)字分類(lèi)鸵赖,分成三類(lèi) { I, O, B };然后再對(duì)每個(gè)chunk(B+I)取平均后分類(lèi)滚婉,分為chunk label图筹。若有錯(cuò)誤的,比如I在O的后面让腹,就把第一個(gè)I當(dāng)作B远剩。
-
Model 2
encoder:BLSTM for segmentation with IOB labels,和model 1一樣骇窍。把頂層hidden作為句子表示特征 [hf_T, hb_1]瓜晤,用來(lái)初始化decoder LSTM。
decoder:LSTM for labeling. 由三部分組成輸入:1)以每個(gè)chunk作為單個(gè)輸入腹纳,用CNNMax提取chunk中單詞的重要特征痢掠。2)chunk的context word embeddings;3)把encoder BLSTM的hidden取平均嘲恍。
缺點(diǎn):IOB不能利用chunk-level特征足画,也不能直接比較不同的chunk。包括shift-reduce算法佃牛,都是將多分類(lèi)任務(wù)轉(zhuǎn)為三分類(lèi)任務(wù)淹辞。 -
Model 3
Model 3. 黑色向下小箭頭是起始點(diǎn),紅色部分是終結(jié)點(diǎn)俘侠。decoder的輸入與model 2相同
因?yàn)閏hunks都是相連的爷速,我們知道當(dāng)前chunk的起始點(diǎn)就是上一個(gè)chunk的終結(jié)點(diǎn)的后一個(gè)字央星,因此只需要識(shí)別出當(dāng)前chunk結(jié)束點(diǎn)在哪 -> pointer network
Pointer network learning objective
L = L_seg + L_label
Experiments
-
text chunking
CoNLL 2000: 8936 training and 893 test, 12 labels
只有model 3超過(guò)baseline(BLSTM) - **slot filling **
ATIS: 4978 training and 893 test, 84 labels
LARGE: (ATIS + MIT Restaurant + MIT Movie Corpus) 30229 training and 6810 test, 116 labels, 3 different domains.(提出者)
LARGE的詞匯量和chunk長(zhǎng)度都比較大,當(dāng)chunk長(zhǎng)度大的時(shí)候,三個(gè)模型都明顯表現(xiàn)不好