張韜政,張家健
(中國傳媒大學(xué)信息與通信工程學(xué)院,北京 100024)
中文分詞一直被視為是其他中文自然語言處理任務(wù)的前提,由于漢語不像英語一樣在書寫過程中天生帶有空格來表明詞與詞之間的分界,所以許多自然語言處理技術(shù)在中文領(lǐng)域中不能正常運(yùn)行,因此,如何將中文進(jìn)行快速、準(zhǔn)確的分詞成為了大家共同所關(guān)注的問題。
2003年,隱馬爾可夫模型[1](Hidden Markov Model,HMM)和最大熵模型[2](Maximum Entropy Model,ME)是主要的分詞方法。2004年,Peng[3]提出了將條件隨機(jī)場(Conditional Random Fields,CRF)和分詞相結(jié)合,解決了輸出關(guān)聯(lián)之間的問題。近幾年人工神經(jīng)網(wǎng)絡(luò)飛速發(fā)展,深度學(xué)習(xí)也開始應(yīng)用于解決中文分詞問題,學(xué)者們開始使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決句子的長期依賴問題,Chen[4]將長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory Networks,LSTM)引入到中文分詞,使分詞的準(zhǔn)確率有了很大突破。在之后的幾年里,門控循環(huán)單元和LSTM網(wǎng)絡(luò)等及其雙向結(jié)構(gòu),結(jié)合CRF,便成了中文分詞的經(jīng)典方案,一直沿用至今。2019年,谷歌[5]發(fā)布并開源了一種新的語言表征模型:BERT,即來自Transformer的雙向編碼器表征,其性能使自然語言處理領(lǐng)域的各個(gè)任務(wù)都有突破性的進(jìn)步。至此,中文分詞在封閉數(shù)據(jù)范圍內(nèi)的成績已經(jīng)十分可觀。
然而,隨著互聯(lián)網(wǎng)時(shí)代飛速發(fā)展,各種新詞層出不窮,舊詞新用的現(xiàn)象屢見不鮮,這對中文分詞又提出了新的挑戰(zhàn)。同其他序列標(biāo)注類任務(wù)一樣,中文分詞對于專業(yè)性強(qiáng)的法律、新聞、醫(yī)療、文學(xué)作品等特有領(lǐng)域來說,未登錄詞很可能出現(xiàn)激增的可能;在微博等互聯(lián)網(wǎng)平臺上,一方面,每時(shí)每刻都有新詞新意不斷誕生,另一方面,這些文本的句式、格式、語言習(xí)慣也和其他領(lǐng)域有著很大的不同;傳統(tǒng)的語料庫很難對各個(gè)領(lǐng)域進(jìn)行完整的覆蓋,因此對于特定領(lǐng)域分詞的表現(xiàn)總是不盡如人意。同時(shí),在特定領(lǐng)域中的分詞任務(wù)往往伴隨著數(shù)據(jù)量不足的情況,而擁有足夠數(shù)據(jù)量的開放性語料又很難針對特定領(lǐng)域有很高的提升,盲目的合并訓(xùn)練只會產(chǎn)生負(fù)遷移,對于深度學(xué)習(xí)來說,沒有足夠的數(shù)據(jù)很難支撐起龐大的參數(shù)迭代,模型在訓(xùn)練過程中退化嚴(yán)重。
基于這個(gè)背景,成于思等人[6]使用源域數(shù)據(jù)對模型的參數(shù)進(jìn)行預(yù)訓(xùn)練,并使用目標(biāo)域數(shù)據(jù)進(jìn)行微調(diào),但該類方法容易使模型產(chǎn)生過擬合,并且模型仍然使用小數(shù)據(jù)量進(jìn)行訓(xùn)練,結(jié)果魯棒性不強(qiáng)。武惠等人[7]通過文本相似性從源域中篩選出和目標(biāo)域相似的樣本進(jìn)行有針對性的遷移學(xué)習(xí),但這類方法需要兩個(gè)領(lǐng)域的數(shù)據(jù)分布有交集,并且高度依賴衡量文本相似性的算法的精度。Guo[8]提出了共享參數(shù)層的遷移方法,但是該模型只會盲目地對兩個(gè)領(lǐng)域的數(shù)據(jù)進(jìn)行學(xué)習(xí),并不對提取的特征加以區(qū)分,學(xué)習(xí)效率較低。因此,總結(jié)前人的工作,我們采取了一種遷移和對抗的方法來解決特定領(lǐng)域的小樣本深度學(xué)習(xí)問題,該模型鮮少用于解決序列標(biāo)注類任務(wù),這個(gè)方法通過共享層實(shí)現(xiàn)遷移學(xué)習(xí),并運(yùn)用了目前飛速發(fā)展的生成對抗網(wǎng)絡(luò)技術(shù),來進(jìn)一步提升模型的表現(xiàn),實(shí)驗(yàn)證明該模型確實(shí)對F1分?jǐn)?shù)有不錯(cuò)的提升。
我們采用了經(jīng)典的Word Embedding+Bi-LSTM+CRF模型[9]作為對抗遷移模型的基礎(chǔ)結(jié)構(gòu),如圖1所示。該模型在絕大多數(shù)自然語言處理任務(wù)中都有著穩(wěn)定的表現(xiàn),我們將在此結(jié)構(gòu)上進(jìn)行改進(jìn),完成進(jìn)一步提升。本節(jié)主要分析模型基礎(chǔ)結(jié)構(gòu)的一些技術(shù)特點(diǎn)。
圖1 中文分詞基礎(chǔ)模型
Bengio在2003年[10],根據(jù)Hinton提出的分布式表示概念[11],提出了詞嵌入技術(shù)(Word Embedding,WE),并用之于神經(jīng)網(wǎng)絡(luò),Zheng[12]在2013年中將該技術(shù)用于分詞。WE是將每一個(gè)字或詞語映射到向量空間之中,用稠密的向量對其進(jìn)行表示,將語義相近的詞語之間距離拉近,這種表示方式改變了傳統(tǒng)one-hot的數(shù)據(jù)輸入模式,降低了數(shù)據(jù)維度以加快計(jì)算,提高語料利用率,并且WE 也拓展了遷移的可能,極大地加強(qiáng)了模型的泛化能力。
LSTM網(wǎng)絡(luò),是基于循環(huán)神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型。由Schmidhube在1997年提出[13],其計(jì)算單元如圖2所示。
圖2 LSTM 計(jì)算單元
它的特點(diǎn)是在模型中加入了記憶細(xì)胞,用于保存當(dāng)前輸入的狀態(tài),這個(gè)細(xì)胞將在傳輸中一直傳遞下去,同時(shí)用一系列的門函數(shù)來判斷是否處理細(xì)胞中的信息、是否更新細(xì)胞信息、以多大程度使用細(xì)胞提供的信息,從而將信息較好地傳遞到后方,達(dá)成長輸入學(xué)習(xí),公式如下:
1997年Schuster 和Paliwal 提出雙向的循環(huán)神經(jīng)網(wǎng)絡(luò)[14],雙向的LSTM 網(wǎng)絡(luò)—Bi-LSTM 應(yīng)運(yùn)而生。單向的網(wǎng)絡(luò)中將信息從頭傳至尾,而許多信息并不是簡單的單向關(guān)聯(lián),因此雙向網(wǎng)絡(luò)的引入能使模型更好的理解上下文信息。
CRF 是Lafferty 于2001年提出的一種無向圖模型[15],如圖3 所示,它同時(shí)擁有HMM 和ME 的優(yōu)點(diǎn),在序列標(biāo)注類任務(wù)中有舉足輕重的作用。深度學(xué)習(xí)中通常使用Softmax 函數(shù)來進(jìn)行分類預(yù)測,但是序列標(biāo)注的輸出之間有著緊密的邏輯關(guān)系,因此CRF層通過發(fā)射分?jǐn)?shù)矩陣和轉(zhuǎn)移分?jǐn)?shù)矩陣全面衡量輸出之間的關(guān)系,最終給出符合邏輯的輸出序列,大大地提高準(zhǔn)確率。
圖3 CRF層
本文提出的模型整體結(jié)構(gòu)如圖4所示。我們采用多任務(wù)學(xué)習(xí)中的共享-私有結(jié)構(gòu)[16],并在其基礎(chǔ)上做出進(jìn)一步改動。
圖4 對抗遷移模型
遷移學(xué)習(xí)的核心思想是在數(shù)據(jù)量充足的源領(lǐng)域中學(xué)習(xí)一些有用的知識信息來幫助目標(biāo)領(lǐng)域更好地學(xué)習(xí),接下來對共享-私有結(jié)構(gòu)做簡單介紹。
我們將源域和目標(biāo)域中學(xué)習(xí)到的特征分為兩類:私有特征和共享特征。該模型將在源域和目標(biāo)域?qū)W習(xí)到的特征分別引入兩類獨(dú)立的特征空間:私有特征空間和共享特征空間。私有特征強(qiáng)調(diào)領(lǐng)域本身的知識,共享特征更加蘊(yùn)含對于分詞方法的通性知識。由此可見,我們希望源域在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過程中,將對于目標(biāo)域有用的知識信息通過共享特征空間傳遞給目標(biāo)域。因此我們的目標(biāo)就是讓共享特征空間中出現(xiàn)更多有用的共享特征,同時(shí)讓私有特征盡量少地出現(xiàn)在共享特征空間中,避免特征污染和冗余。
最后,給出分詞任務(wù)的損失函數(shù)計(jì)算過程:
正交約束由Konstantinos 于2016 提出[17],是指通過將源域和目標(biāo)域的私有特征與共享特征進(jìn)行正交乘積,并在結(jié)果中按一定比例加入損失函數(shù),完成共享特征和私有特征的差異化,計(jì)算公式如下:
其中:Hs和Hsc分別是源域的私有特征和共享特征構(gòu)成的參數(shù)矩陣,同樣,Ht和Htc是目標(biāo)域的相應(yīng)參數(shù)矩陣,這些矩陣均為batch-size 行、特征維度列,batch-size是批大小。
Goodfellow[18]首先提出了GAN網(wǎng)絡(luò)的概念,Ganin[19]在2016年將對抗思想用于解決遷移學(xué)習(xí)中的領(lǐng)域自適應(yīng)問題。
正交約束的作用僅是增加共享特征和私有特征的差異,并不能明確保留在空間內(nèi)的特征是共享特征還是私有特征,所以需要其他網(wǎng)絡(luò)來完成分類任務(wù)。因?yàn)楣蚕硖卣骺臻g提取的是兩個(gè)領(lǐng)域交叉的共有信息,因此在理想狀態(tài)下,兩個(gè)領(lǐng)域的輸入經(jīng)過共享層所提取的特征應(yīng)當(dāng)為不帶有私有特征的共享特征,將這些特征輸入神經(jīng)網(wǎng)絡(luò)和分類器后,模型應(yīng)當(dāng)無法給出可靠的預(yù)測。帶有梯度反轉(zhuǎn)的GAN 網(wǎng)絡(luò)便適用于這種情況,在正向傳播過程中,LSTM 網(wǎng)絡(luò)給出的共享特征試圖誤導(dǎo)分類器,而分類器則努力判斷該特征來自哪個(gè)領(lǐng)域,在反向傳播時(shí)梯度反轉(zhuǎn)不斷優(yōu)化特征,使其變?yōu)椴粠в兴接刑卣鞯墓蚕硖卣鳎?jīng)過不斷迭代后,對抗網(wǎng)絡(luò)達(dá)到平衡。對抗網(wǎng)絡(luò)的損失函數(shù):
其中:Wc是權(quán)重參數(shù),bc為偏置參數(shù)p(k|hic)。是對目標(biāo)域(k=1)的預(yù)測,n為batch-size 的大小,即樣本個(gè)數(shù)。
Chen[20]在論文中指出,Liu[16]的模型中對抗學(xué)習(xí)并沒有起到作用。在實(shí)驗(yàn)之后我們也發(fā)現(xiàn)其模型相比于簡單的多任務(wù)學(xué)習(xí)并沒有明顯提升,加大對抗網(wǎng)絡(luò)和正交約束的損失函數(shù)比例反而會使模型退化更加嚴(yán)重,Chen分析原因認(rèn)為共享特征并不能很好的訓(xùn)練分類器,因此將私有特征也加入到分類器的訓(xùn)練當(dāng)中,完善了模型。輔助對抗學(xué)習(xí)損失函數(shù):
其中:Wc是權(quán)重參數(shù),bp為偏置參數(shù)。hp為私有特征,是hs、ht的集合。
最終的損失函數(shù)是:
其中:λ1、λ2、λ3是可調(diào)節(jié)的超參數(shù)。λ1代表正交約束損失函數(shù)的比重,該值越大,訓(xùn)練后領(lǐng)域中的共享特征和私有特征差異越大。λ2是對抗訓(xùn)練損失函數(shù)的比重,需要根據(jù)目標(biāo)領(lǐng)域和源領(lǐng)域的特征分布重合程度調(diào)節(jié)。λ3代表輔助對抗訓(xùn)練的損失比重,該值大小決定了模型對分類器性能關(guān)注程度,如果訓(xùn)練后對抗網(wǎng)絡(luò)的分類器效果不好,便可進(jìn)一步調(diào)整該參數(shù)。
我們盡可能收集了網(wǎng)絡(luò)上的開源中文分詞數(shù)據(jù)庫,分別為:sighan2005的PKU、MSR、AS、CITYU和SXU、CTB、UDC、CNC以及微博(WTB)和文學(xué)作品《誅仙》(ZX)共10個(gè)語料庫。將它們的嵌入通過t-SNE可視化出來如圖5所示,因?yàn)樵~嵌入向量的數(shù)值并沒有具體意義,因此圖5的坐標(biāo)軸并未標(biāo)出具體單位。通過圖5發(fā)現(xiàn)各個(gè)語料庫之間幾乎沒有顯著的相似性[21]。
圖5 語料庫領(lǐng)域分布
經(jīng)過多次實(shí)驗(yàn),我們得出損失函數(shù)的超參數(shù)為λ1=λ2=0.03,λ3=0.05 時(shí)模型的表現(xiàn)最好。由于對抗訓(xùn)練需要一定的學(xué)習(xí)時(shí)間,所以迭代次數(shù)設(shè)定不能過少,本次實(shí)驗(yàn)batch-size 設(shè)置為128,迭代次數(shù)為800。當(dāng)僅使用正交約束進(jìn)行訓(xùn)練時(shí),λ2在0~0.1 的范圍內(nèi)時(shí)模型性能有不錯(cuò)的提升,經(jīng)過對比實(shí)驗(yàn),正交約束的輸入加入正則化后模型效果會進(jìn)一步提高。當(dāng)我們僅使用對抗和輔助對抗進(jìn)行訓(xùn)練時(shí),發(fā)現(xiàn)模型F1分?jǐn)?shù)是否上升十分依賴損失函數(shù)的超參數(shù)。最后,由于有多個(gè)損失函數(shù)項(xiàng),實(shí)驗(yàn)結(jié)果存在波動并不穩(wěn)定,需要多次實(shí)驗(yàn)觀察避免偶然性。
本次實(shí)驗(yàn)取10萬個(gè)樣本作為源域數(shù)據(jù),3000樣本作為目標(biāo)域數(shù)據(jù)(其中WTB數(shù)據(jù)庫不足3000,用700訓(xùn)練集和300測試集樣本進(jìn)行實(shí)驗(yàn)),評價(jià)標(biāo)準(zhǔn)為F1分?jǐn)?shù)(通過準(zhǔn)確率和召回率計(jì)算得出,該指標(biāo)能夠更全面地衡量模型結(jié)果),按照數(shù)據(jù)量選擇了5個(gè)語料庫作為源域,5個(gè)語料庫作為目標(biāo)域,對抗遷移模型在各個(gè)語料庫的表現(xiàn)如表1所示。
表1 模型在各個(gè)領(lǐng)域?qū)嶒?yàn)的F1分?jǐn)?shù)
為了更直觀地展現(xiàn)遷移結(jié)果,我們從ZX的預(yù)測結(jié)果中選出一個(gè)典型例子,如表2所示。
表2 語料庫ZX中的實(shí)例
觀察表2發(fā)現(xiàn),在“佛道魔三方面”的分詞過程中,數(shù)據(jù)量稀缺的基礎(chǔ)模型認(rèn)為“佛道”、“方面”經(jīng)常作為完整的詞獨(dú)立出現(xiàn),因而造成了分詞錯(cuò)誤。但在我們的模型中,大量的源域數(shù)據(jù)中含有更多“佛道魔”、“三方面”相關(guān)的分詞樣本,這些樣本通過共享層遷移至目標(biāo)域,使模型最后做出更準(zhǔn)確的預(yù)測,同時(shí)分詞的粒度也更為精細(xì)。
我們同時(shí)也進(jìn)行了多組對比實(shí)驗(yàn),分別為:基礎(chǔ)模型,包括:使用源域語料訓(xùn)練模型后將其應(yīng)用于目標(biāo)域(source-only)、使用目標(biāo)域語料訓(xùn)練模型后將其應(yīng)用于目標(biāo)域(target-only)、源域和目標(biāo)域語料混合訓(xùn)練模型后將其應(yīng)用于目標(biāo)域(mix)等;目前的強(qiáng)基線模型[16]為僅共享Bi-LSTM 的遷移模型(SP-MTL),本文提出的對抗遷移模型(Ad-Tr),我們隨機(jī)選擇了5種情況進(jìn)行實(shí)驗(yàn),S?T 代表從源域S 向目標(biāo)域T 遷移,結(jié)果如表3所示。
表3 對比實(shí)驗(yàn)結(jié)果
通過觀察我們發(fā)現(xiàn)CNC語料對ZX遷移效果最好,AS對UDC效果最差,因此我們進(jìn)一步做了CNC和AS對目標(biāo)域語料的對比實(shí)驗(yàn)。通過觀察結(jié)果圖6和圖7,我們發(fā)現(xiàn)AS對各個(gè)語料的提升微弱,CNC對各個(gè)語料均有不錯(cuò)的提升,分析原因可能是AS的語料內(nèi)容比較單一,在遷移學(xué)習(xí)中沒有足夠的知識可以幫助目標(biāo)域,而CNC的語料相比之下更加豐富,在各個(gè)領(lǐng)域都有涉及,可以更好地完成知識共享。
圖6 AS作為源域時(shí)的F1分?jǐn)?shù)
圖7 CNC作為源域時(shí)的F1分?jǐn)?shù)
本文實(shí)驗(yàn)結(jié)果說明,雖然中文分詞各語料領(lǐng)域分布和分詞標(biāo)準(zhǔn)不同,但語料間仍存在可用于遷移學(xué)習(xí)的信息,同時(shí),對抗學(xué)習(xí)和正交約束可提升共享特征的純凈度。本文模型同樣適用于諸如命名實(shí)體識別、詞性標(biāo)注等其他序列標(biāo)注類任務(wù)。此外,由于對抗學(xué)習(xí)可引入未標(biāo)注數(shù)據(jù),故今后可在對抗學(xué)習(xí)中引入無標(biāo)注語料進(jìn)一步提升效果。