金國哲,崔榮一
(延邊大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,吉林 延吉 133002)
詞性標(biāo)注是指為句子中的每個(gè)單詞標(biāo)注一個(gè)正確詞性的過程。詞性標(biāo)注是自然語言處理中的一項(xiàng)基本任務(wù),是文本分類、機(jī)器翻譯等其他自然語言處理任務(wù)的基礎(chǔ),同時(shí)在語音識(shí)別、信息檢索等領(lǐng)域起著重要的作用。目前,英漢等語種詞性標(biāo)注研究比較成熟,而朝鮮語詞性標(biāo)注則較為落后,需要結(jié)合朝鮮語的語言特性,做深入研究。


圖1 朝鮮語句子中的語節(jié)和形態(tài)素


表1 朝鮮語字母表

本文的主要工作有:
(1) 提出基于字母嵌入和seq2seq模型的朝鮮語形態(tài)素原形恢復(fù)方法。
(2) 基于LSTM-CRF[2]的朝鮮語音節(jié)單位詞性標(biāo)注方法及形態(tài)素為單位的標(biāo)注合并。
下文內(nèi)容安排如下: 第1節(jié)介紹朝鮮語詞性標(biāo)注相關(guān)的研究,第2節(jié)詳細(xì)描述朝鮮語詞性標(biāo)注過程中的形態(tài)素原形恢復(fù)方法及基于LSTM-CRF的以音節(jié)為單位的詞性標(biāo)注方法,第3節(jié)是實(shí)驗(yàn)過程及實(shí)驗(yàn)結(jié)果分析,第4節(jié)是結(jié)束語。
常用的詞性標(biāo)注方法有: 隱馬爾科夫模型、最大熵模型、條件隨機(jī)場模型等,而隨著近年來深度學(xué)習(xí)的流行,基于LSTM-CRF的模型在詞性標(biāo)注任務(wù)中取得了良好的效果。朝鮮語詞性標(biāo)注過程中同樣可以借鑒和使用這些模型。
朝鮮語詞性標(biāo)注的研究分為兩類: 第一類直接應(yīng)用形態(tài)素分析器再結(jié)合統(tǒng)計(jì)模型完成詞性標(biāo)注,第二類則在詞性標(biāo)注過程中間接完成形態(tài)素分析。
朝鮮語屬于黏著語,形態(tài)素之間的組合變化較多,若直接以語節(jié)為單位進(jìn)行詞性標(biāo)注,則容易引起數(shù)據(jù)不足的問題。采用第一類方法的學(xué)者認(rèn)為,利用形態(tài)素分析器預(yù)先做好形態(tài)素分析有助于解決數(shù)據(jù)不足問題[3]。這些方法大都是基于概率的模型,例如,隱馬爾科夫模型[4]或最大熵模型[5]等。另外也有學(xué)者對(duì)上述兩種模型進(jìn)行了改進(jìn),例如,Lee S等人[6]提出融合朝鮮語的多種語言特征,同時(shí)放寬隱馬爾科夫假設(shè),以此解決訓(xùn)練數(shù)據(jù)不足的問題。
反觀第二類方法,通常在詞性標(biāo)注過程中,間接完成形態(tài)素分析。Han等人[7]提出將朝鮮語詞性標(biāo)注任務(wù)分成三個(gè)階段: 語節(jié)為單位的形態(tài)素原形恢復(fù);語節(jié)為單位的復(fù)合型詞性標(biāo)注;利用規(guī)則從語節(jié)為單位的復(fù)合型詞性標(biāo)注中獲取形態(tài)素詞性標(biāo)注。其中第一步和第三步均采用詞典完成轉(zhuǎn)換工作。Shim等人[8-9]的方法同樣采用復(fù)合型詞性標(biāo)注,但因?yàn)椴捎昧烁〉囊艄?jié)為單位的復(fù)合型標(biāo)注,因此相比于Han的方法,復(fù)合型標(biāo)注集較小,一定程度上解決了訓(xùn)練數(shù)據(jù)不足的問題。Na等人[10]同樣采用了分三步進(jìn)行詞性標(biāo)注的方法: 利用CRF模型將語節(jié)分解成形態(tài)素,同樣利用CRF進(jìn)行形態(tài)素單位的詞性標(biāo)注,通過形態(tài)素原形恢復(fù)詞典獲得最終結(jié)果。本文提出的方法屬于第二類,同時(shí)借鑒了Shim等人提出的音節(jié)單位詞性標(biāo)注方法。
首先將朝鮮語句子以語節(jié)為單位輸入到形態(tài)素原形轉(zhuǎn)換模塊(該模塊是利用同一個(gè)語料庫提前訓(xùn)練好的模型),通過該模塊將句子中的每個(gè)語節(jié)轉(zhuǎn)換成對(duì)應(yīng)的形態(tài)素原形,如圖2中的第1步所示。之后將第1步的結(jié)果句以音節(jié)為單位輸入到訓(xùn)練好的LSTM-CRF模型中。由于LSTM-CRF模型訓(xùn)練過程中針對(duì)無分寫的句子進(jìn)行訓(xùn)練,因此LSTM-CRF的輸出實(shí)際上包含兩類標(biāo)注,其中一類是分寫標(biāo)注,另一類是詞性標(biāo)注。圖2中第2步的實(shí)際輸出如表2所示。
本文采用了標(biāo)注集合{B,I}作為分寫標(biāo)注,其中B表示一個(gè)語節(jié)的首音節(jié),I代表語節(jié)中除首音節(jié)外的其他音節(jié)。

圖2 本文采用的朝鮮語詞性標(biāo)注流程

音節(jié)分寫標(biāo)注BIBIBIIII詞性標(biāo)注dmdmncpovbvbepefsf
第3步將每個(gè)語節(jié)中(根據(jù)分寫標(biāo)注B、I判定語節(jié)邊界)詞性標(biāo)注相同的相鄰音節(jié)進(jìn)行合并,輸出最終的詞性標(biāo)注結(jié)果。
通過“分析世宗21世紀(jì)語料庫”(人工標(biāo)注過詞性)中的1 000萬條語節(jié),我們發(fā)現(xiàn)了以下幾條規(guī)律。
(1) 將近19%的朝鮮語形態(tài)素在詞性標(biāo)注過程中發(fā)生了變形(由句子中的寫法轉(zhuǎn)化成形態(tài)素原形)。
(2) 轉(zhuǎn)為原形的形態(tài)素長度大部分比實(shí)際寫法增加了1~3個(gè)音節(jié)單位。

基于以上分析,本文提出朝鮮語音節(jié)嵌入融入seq2seq模型的形態(tài)素原形轉(zhuǎn)換方法,如圖3所示。

圖3 形態(tài)素原形轉(zhuǎn)換模型

下一步通過音節(jié)查詢表Ls和字母查詢表LJ,將音節(jié)s和s對(duì)應(yīng)的三個(gè)字母Jf、Jy、Js轉(zhuǎn)化成對(duì)應(yīng)的音節(jié)嵌入向量和字母嵌入向量,計(jì)算過程如式(1)~式(4)所示。
其中音節(jié)嵌入es為d維實(shí)數(shù)向量,字母嵌入eJf,eJy,eJs均為k維實(shí)數(shù)向量。下一步通過向量拼接操作將向量es,eJf,eJy,eJs拼接成(公式中用;表示)長向量e,作為seq2seq中編碼器和解碼器Cell的輸入向量,計(jì)算如式(5)所示。
e=es;eJf;eJy;eJs,e∈d+3k
(5)
為了保持字母嵌入向量的位置信息,未采用向量加或取向量平均,取而代之的是拼接操作。用S=s1,s2,…,sm表示輸入序列(一個(gè)朝鮮語語節(jié)的音節(jié)序列),用Y=y1,y2,…,yn表示該語節(jié)的形態(tài)素原形序列。模型通過上述輸入向量的生成方法把S中的每個(gè)音節(jié)轉(zhuǎn)化成向量表示e1,e2,…,em,作為編碼器LSTM的輸入。每一個(gè)LSTM Cell的計(jì)算如式(6)所示。
ht=f(et,ht-1), ?t=1,…,m
(6)
其中f表示一個(gè)LSTM Cell的映射函數(shù),通過當(dāng)前輸入et和Cell的前一個(gè)狀態(tài)ht-1,輸出Cell的當(dāng)前狀態(tài)ht。模型將最后一個(gè)狀態(tài)hm作為編碼器對(duì)輸入音節(jié)序列的編碼向量,傳遞給解碼器。
解碼過程在訓(xùn)練和預(yù)測階段有所不同。訓(xùn)練階段將正確的形態(tài)素原形序列右移一個(gè)單位,左側(cè)填充特殊符號(hào)
訓(xùn)練階段解碼過程如式(7)、式(8)所示。


(9)
通過訓(xùn)練好的形態(tài)素原形轉(zhuǎn)換模型,把原始朝鮮語句子轉(zhuǎn)化成形態(tài)素原形表示的句子,我們用X=〈x1,x2,…,xn〉表示這樣的一個(gè)朝鮮語句子,其中xi為代表第i個(gè)音節(jié)的索引值,Y=〈y1,y2,…,yn〉為一個(gè)句子的分寫—詞性標(biāo)注序列。模型首先把X輸入到音節(jié)查詢表,通過查詢將每個(gè)音節(jié)xi轉(zhuǎn)化成固定長度的低維實(shí)數(shù)向量。訓(xùn)練過程中將音節(jié)查詢表當(dāng)作可訓(xùn)練參數(shù),進(jìn)行動(dòng)態(tài)更新。我們用LT(X)表示經(jīng)過向量化的輸入句。

模型的最后一層通過CRF預(yù)測全局最優(yōu)的分寫—詞性標(biāo)注序列,計(jì)算如式(10)、式(11)所示。

基于LSTM-CRF的朝鮮語詞性及分寫標(biāo)注模型如圖4所示。
本文采用了“世宗21世紀(jì)詞性標(biāo)注語料庫”,其中包括原始句文件和對(duì)應(yīng)的詞性標(biāo)注句文件,共計(jì)803 043條句對(duì)。

圖4 基于LSTM-CRF的朝鮮語詞性及分寫標(biāo)注模型
針對(duì)形態(tài)素原形轉(zhuǎn)換模型的預(yù)處理:
(1) 利用原始語料庫的句子分寫信息,將86萬個(gè)句子拆分成1 000萬個(gè)左右的語節(jié),用于形態(tài)素原形轉(zhuǎn)換模型。同時(shí)在標(biāo)準(zhǔn)的詞性標(biāo)注句中加入分寫標(biāo)注,用于訓(xùn)練LSTM-CRF模型。
(2) 生成字典:按照字符頻率從高到低進(jìn)行排序,取前6 000個(gè)字符作為字典,未出現(xiàn)在字典中的字符用
(3) 索引化:根據(jù)字典將第一步中的字符序列轉(zhuǎn)化成對(duì)應(yīng)字符的整型數(shù)字序列。另外,本文中涉及的RNN結(jié)構(gòu)均采用dynamic RNN,因此訓(xùn)練數(shù)據(jù)按照序列長度進(jìn)行排序,生成各個(gè)batch后,再以batch為單位打亂batch間的順序。
(4) 將預(yù)處理的數(shù)據(jù)按照9∶1的比例分成訓(xùn)練集和測試集。
實(shí)驗(yàn)中采用的數(shù)據(jù)集結(jié)構(gòu)如表3所示。

表3 數(shù)據(jù)集結(jié)構(gòu)
實(shí)驗(yàn)中采用了tensorflow1.2框架,并用NVIDIA的1070GPU進(jìn)行了加速。
具體的模型參數(shù)配置如下:
(1) 形態(tài)素原形轉(zhuǎn)換模型:編碼器和解碼器均采用了4層LSTM疊加的縱向結(jié)構(gòu)和動(dòng)態(tài)RNN橫向結(jié)構(gòu),LSTM Cell的大小為256,batch size設(shè)置為128,學(xué)習(xí)率為0.001,采用了Adam優(yōu)化算法,經(jīng)過5個(gè)epoch的訓(xùn)練最終得到朝鮮語形態(tài)素原形轉(zhuǎn)換器。
(2) 訓(xùn)練LSTM-CRF模型:模型中雙向LSTM網(wǎng)絡(luò)的輸入是大小為(128×None×128)的張量,其中第一維代表batch size,第二維None(每個(gè)batch的長度都不同)表示LSTM網(wǎng)絡(luò)的步長(一個(gè)batch內(nèi)序列長度均等于batch內(nèi)最長序列的長度),第三維表示音節(jié)向量的大小。LSTM網(wǎng)絡(luò)的輸出部分將生成(128×None×256)的張量,其中256是前向和后向兩個(gè)LSTM的Cell拼接而成的向量大小。最后通過全連接及softmax函數(shù)得到(128×None×90)的張量,其中Wout大小為256×90,bout大小則是90。其中數(shù)字90的解釋如下:語料庫中的詞性標(biāo)注集合共有45種,這些詞性集合與分寫標(biāo)注集合(B,I兩種)組合形成90種輸出標(biāo)注集合。
首先,實(shí)驗(yàn)中復(fù)現(xiàn)了Shim等人提出的基于音節(jié)的形態(tài)素原形恢復(fù)詞典的方法,并與本文提出的基于seq2seq的方法進(jìn)行了對(duì)比實(shí)驗(yàn)。另外,為了驗(yàn)證朝鮮語字母向量的有效性,實(shí)現(xiàn)了兩種seq2seq模型:音節(jié)嵌入+seq2seq,音節(jié)嵌入+字母嵌入+seq2seq。表4中Psyllable為以音節(jié)為單位的原形恢復(fù)準(zhǔn)確率,Peojeol為以語節(jié)為單位的形態(tài)素原形恢復(fù)準(zhǔn)確率。

表4 形態(tài)素原形恢復(fù)準(zhǔn)確率
從實(shí)驗(yàn)結(jié)果中可以看到,相比于基于詞典的形態(tài)素原形方法,基于seq2seq模型方法將音節(jié)單位準(zhǔn)確率提高了2~3個(gè)百分點(diǎn),將語節(jié)單位準(zhǔn)確率提高了3~4個(gè)百分點(diǎn)。同時(shí),由于取得了較高的形態(tài)素恢復(fù)準(zhǔn)確率,最大限度地降低了本階段誤差傳遞到詞性標(biāo)注階段,進(jìn)而影響詞性標(biāo)注準(zhǔn)確率的風(fēng)險(xiǎn)。

其次,在相同的“世宗21世紀(jì)詞性標(biāo)注語料庫”條件下,實(shí)驗(yàn)中復(fù)現(xiàn)了相關(guān)研究中的幾種典型的朝鮮語詞性標(biāo)注方法,分別是Lee等人提出的基于隱馬爾科夫模型的方法、Han等人2004年提出的形態(tài)素原形詞典結(jié)合統(tǒng)計(jì)模型(利用馬爾科夫假設(shè))的方法、Shim等人2013年提出的以音節(jié)為單位的CRF模型,本文提出的基于seq2seq模型的形態(tài)素原形轉(zhuǎn)換+基于LSTM-CRF的詞性標(biāo)注方法。表5給出了各個(gè)模型的實(shí)驗(yàn)結(jié)果。

表5 實(shí)驗(yàn)結(jié)果
可以看到,本文提出的方法在音節(jié)級(jí)準(zhǔn)確率、形態(tài)素級(jí)準(zhǔn)確率、形態(tài)素級(jí)召回率以及F1值均高于其他現(xiàn)有的方法,其中F1值相比于現(xiàn)有最好的音節(jié)單位的CRF模型提高了1.72個(gè)百分點(diǎn)。與音節(jié)單位的CRF模型相比本文提出的方法在音節(jié)標(biāo)注準(zhǔn)確率上較為接近。然而本文中提出的基于seq2seq的形態(tài)素轉(zhuǎn)換方法提供了較高的形態(tài)素原形恢復(fù)準(zhǔn)確率,因此在形態(tài)素級(jí)的詞性標(biāo)注任務(wù)中由于形態(tài)素本身的原形錯(cuò)誤導(dǎo)致的詞性標(biāo)注錯(cuò)誤極少,這也幫助我們提高了詞性標(biāo)注準(zhǔn)確率。
本文提出了一種新的朝鮮語詞性標(biāo)注方法。該方法將朝鮮語詞性標(biāo)注過程分為三步: 第一步利用seq2seq模型將朝鮮語形態(tài)素以語節(jié)為單位轉(zhuǎn)化成原形;第二步利用LSTM-CRF模型以句子為單位進(jìn)行音節(jié)級(jí)詞性標(biāo)注;第三步根據(jù)音節(jié)級(jí)分寫及詞性標(biāo)注進(jìn)行合并,得到最終的形態(tài)素級(jí)的詞性標(biāo)注結(jié)果。相比于現(xiàn)有最好的音節(jié)單位的CRF模型,本文提出的方法將F1值提高了1.72個(gè)百分點(diǎn)。未來工作中我們希望嘗試最近較為流行的端到端的訓(xùn)練模型,并進(jìn)一步挖掘朝鮮語本身的語言特征,用于提高朝鮮語詞性標(biāo)注的準(zhǔn)確性。