在上一篇文章我們學(xué)習(xí)了基本的數(shù)據(jù)增強(qiáng)的 N 種方法,今天我們針對(duì)“序列標(biāo)注”任務(wù)具體聊一聊如何數(shù)據(jù)增強(qiáng)?“序列標(biāo)注”是一個(gè) token-level 的分類任務(wù),當(dāng)進(jìn)行全局結(jié)構(gòu)化預(yù)測(cè)時(shí)候,一些增強(qiáng)方式產(chǎn)生的數(shù)據(jù)噪音可能會(huì)讓“序列標(biāo)注”模型變得敏感脆弱,導(dǎo)致評(píng)估指標(biāo)下降。本文主要講解一篇論文對(duì)“序列標(biāo)注”任務(wù)的數(shù)據(jù)增強(qiáng)方法:
- DAGA: Data Augmentation with a Generation Approach forLow-resource Tagging Tasks
DAGA
本文提出了一種新的用于序列標(biāo)注任務(wù)的數(shù)據(jù)增強(qiáng)技術(shù)。不同于以往提出的同義詞替換或者針對(duì)翻譯任務(wù)的反向翻譯等數(shù)據(jù)增強(qiáng)方法,論文提出的方法通過(guò)線性化的方式把文本數(shù)據(jù)和序列標(biāo)注變成語(yǔ)言模型的輸入數(shù)據(jù),從而通過(guò)語(yǔ)言模型,生成更多的訓(xùn)練數(shù)據(jù),以此達(dá)到數(shù)據(jù)增強(qiáng)的目的。 此方法可以顯著提高NER, POS, ABSA等下游序列標(biāo)注任務(wù)在低資源場(chǎng)景下的準(zhǔn)確率。
線性化
DAGA的核心思想就是標(biāo)簽線性化: 即將原始的「序列標(biāo)注標(biāo)簽」與「句子token」進(jìn)行混合,也就是變成「Tag-Word」的形式,如下圖所示:將「B-PER」放置在「Jose」之前,將「E-PER」放置在「Valentin」之前;對(duì)于標(biāo)簽「O」則不與句子混合。標(biāo)簽線性化后就可以生成一個(gè)句子了,基于這個(gè)句子就可以進(jìn)行語(yǔ)言模型生成訓(xùn)練。
Language Modeling and Data Generation
模型訓(xùn)練
利用無(wú)標(biāo)簽數(shù)據(jù)、知識(shí)庫(kù)和有標(biāo)簽數(shù)據(jù),學(xué)到更好的句子分布。
- 對(duì)于標(biāo)注語(yǔ)料,用「labeled」在句首作為條件標(biāo)記;
- 對(duì)于無(wú)標(biāo)注語(yǔ)料,用「unlabeled」在句首作為條件標(biāo)記;
- 對(duì)于知識(shí)庫(kù),對(duì)無(wú)標(biāo)注語(yǔ)料進(jìn)行詞典匹配后(正向最大匹配),用「KB」在句首作為條件標(biāo)記;
- 只要輸入「BOS」+「labeled」/「unlabeled」/「KB」,即可通過(guò)上述語(yǔ)言模型、自回歸生成新的增強(qiáng)數(shù)據(jù)
數(shù)據(jù)生成
Example: "I have booked a flight to"
- RNNLM 模型預(yù)測(cè)一下個(gè)字符是「S-LOC」概率遠(yuǎn)大于其他字符。
- RNNLM 模型繼續(xù)預(yù)測(cè)“ I have booked a flight to S-LOC”的下一個(gè)字符,下一個(gè)字符可能是“London、Paris,Tokyo”等。
問(wèn)題一:標(biāo)簽放在實(shí)體前還是放在實(shí)體后?
將「B-PER」放置在「Jose」之前,還是放置到「Jose」之后,作者嘗試了兩個(gè)方案,標(biāo)簽放在實(shí)體之前效果較好。
問(wèn)題二: 為什么DAGA方法有效?
生成數(shù)據(jù)的多樣性,多陽(yáng)性的評(píng)估標(biāo)準(zhǔn)是一個(gè)實(shí)體上下文的豐富度。