孟凡東,徐金安,姜文斌,劉 群
(1. 中國(guó)科學(xué)院 計(jì)算技術(shù)研究所 智能信息處理重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,北京 100044)
詞法分析是自然語言處理領(lǐng)域的基礎(chǔ)性研究課題之一,詞法分析的精度直接影響自然語言處理后續(xù)工作的效果?;诮y(tǒng)計(jì)的詞法分析很大程度上依賴于語料庫(kù),加大訓(xùn)練語料,可以直接提高詞法分析的精度。但是,手工標(biāo)注大規(guī)模語料代價(jià)昂貴。并且,不同領(lǐng)域的語料切分和標(biāo)注的標(biāo)準(zhǔn)往往不同,難以直接混合使用。圖1 以《人民日?qǐng)?bào)》語料和賓州中文樹庫(kù)語料為例,具有不同的切分和詞性標(biāo)注標(biāo)準(zhǔn),在《人民日?qǐng)?bào)》語料中“高新技術(shù)”為一個(gè)詞,標(biāo)注為名詞(n),在賓州樹庫(kù)中,“高新技術(shù)”被分為“高”“新”“技術(shù)”,并分別標(biāo)注為形容詞(JJ)、形容詞(JJ)和名詞(NN)。并且,這兩種語料的詞性標(biāo)注集也不同,名詞的標(biāo)注分別是n和NN。
圖1 《人民日?qǐng)?bào)》語料(上面)和賓州中文樹庫(kù)語料(下面)的分詞和詞性標(biāo)注標(biāo)準(zhǔn)舉例
針對(duì)上述問題,Jiang et al.[1]提出了一種基于錯(cuò)誤驅(qū)動(dòng)的方法。利用源語料信息,將其分詞和詞性標(biāo)注標(biāo)準(zhǔn)作為特征指導(dǎo)目標(biāo)分析器,使其產(chǎn)生更好的效果。解碼時(shí),首先用源詞法分析器對(duì)測(cè)試語料切分,再用目標(biāo)詞法分析器進(jìn)行第二次切分,此時(shí)以第一次的切分結(jié)果為特征,即利用源語料指導(dǎo)目標(biāo)詞法分析器。該方法明顯地提高了詞法分析精度,是目前中文詞法分析中效果最好的方法之一。但是該方法的解碼過程略為復(fù)雜,不如一次解碼的效率高。
本文在Jiang et al.[1]基礎(chǔ)上提出了異種語料的自動(dòng)融合策略,以此提高中文詞法分析的精度。本方法的思想是先將源語料的分詞和詞性標(biāo)注標(biāo)準(zhǔn)進(jìn)行轉(zhuǎn)化,使其與目標(biāo)語料一致,再將轉(zhuǎn)化后的語料與目標(biāo)語料融合,訓(xùn)練一個(gè)新詞法分析器。利用這個(gè)新的詞法分析器可以直接進(jìn)行解碼,不需要二次解碼。實(shí)驗(yàn)結(jié)果表明,本方法可以明顯提高中文詞法分析精度。與Jiang et al.[1]的方法相比,本方法與其具有相當(dāng)?shù)脑~法分析性能,甚至比其略高。并且具有更快的詞法分析速度,只進(jìn)行一次解碼,簡(jiǎn)化了解碼步驟,更具有實(shí)用性。而且,本方法可用于進(jìn)一步融合其他領(lǐng)域的語料,更好地提高詞法分析性能。因此,本方法更具有可擴(kuò)展性。
本文在第二節(jié)簡(jiǎn)要介紹采用的詞法分析方法,第三節(jié)詳細(xì)闡述語料自動(dòng)融合思想,第四節(jié)是實(shí)驗(yàn)及結(jié)果分析,第五節(jié)是總結(jié)與展望。
本文采用判別式的詞法分析方法。將分詞和詞性標(biāo)注問題轉(zhuǎn)化為字符(漢字)分類問題。根據(jù)Ng and Low[2]的方法,分詞采用四種位置標(biāo)記,b表示詞首,m表示詞中,e表示詞尾,s表示單個(gè)漢字獨(dú)立成詞。即一個(gè)詞只可以被標(biāo)記成s(單字詞)或bm*e(多字詞)。聯(lián)合分詞與詞性標(biāo)注就是對(duì)于每個(gè)字,有位置標(biāo)記和詞性標(biāo)記,例如“e_v”,表示一個(gè)動(dòng)詞的詞尾。
根據(jù)Ng and Low[2]的方法,用C0表示當(dāng)前的漢字,C-i表示C0左邊第i個(gè)漢字,Ci表示C0右邊第i個(gè)漢字。Pu(Ci)用于判斷當(dāng)前漢字Ci是否為分隔符(是就返回1,否則返回0)。T(Ci)用于判斷當(dāng)前漢字Ci的類別: 數(shù)字、日期、英文字母和其他(分別返回 1,2,3 和 4)。
表1 特征模板
表1 描述了分詞和詞性標(biāo)注的特征模板。假設(shè)當(dāng)前分析的漢字是 “450 公里”中的“0”,特征模板生成的特征:C-2=4,C-1=5,C0=0,C1=公,C2=里;C-2C-1=45,C-1C0=50,C0C1=0公,C1C2=公里;C-1C1=5公;Pu(C0)=0;T(C-2)T(C-1)T(C0)T(C1)T(C2)=11 144。
(1)
下面是感知機(jī)訓(xùn)練算法的偽代碼。本文使用了“平均參數(shù)”技術(shù)(Collins, 2002)避免過擬合。
1:Input: Training examples (x,y)
3:fort←1…Tdo
4:fori←1…Ndo
本文采用自動(dòng)融合語料的方法提高詞法分析的精度?;玖鞒倘缦?流程如圖2所示):
1. 將源語料(語料1)轉(zhuǎn)化為與目標(biāo)語料切分和詞性標(biāo)注標(biāo)準(zhǔn)一致的語料(語料3);
2. 將目標(biāo)語料(語料2)和轉(zhuǎn)化后的語料(語料3)合并,成為更大的語料(語料4);
3. 用語料4訓(xùn)練新的分詞和詞性標(biāo)注模型。本方法的關(guān)鍵是第一步。
圖2 方法流程圖
為了方便說明,“源語料”表示其他領(lǐng)域的語料,“目標(biāo)語料”表示當(dāng)前訓(xùn)練詞法分析器所需要的語料;“源標(biāo)準(zhǔn)”表示“源語料”的分詞和詞性標(biāo)注標(biāo)準(zhǔn),“目標(biāo)標(biāo)準(zhǔn)”表示“目標(biāo)語料”的分詞和詞性標(biāo)注標(biāo)準(zhǔn);“源分析器”表示用“源語料”訓(xùn)練的詞法分析器,“目標(biāo)分析器”表示用“目標(biāo)語料”訓(xùn)練的詞法分析器。
首先,為了獲取源標(biāo)準(zhǔn),用源語料訓(xùn)練一個(gè)源分析器,該分析器是用來處理目標(biāo)語料使其帶有源標(biāo)準(zhǔn)的。然后利用這個(gè)帶有源標(biāo)準(zhǔn)的語料(作為源轉(zhuǎn)化特征)和目標(biāo)語料訓(xùn)練一個(gè)從源標(biāo)準(zhǔn)到目標(biāo)標(biāo)準(zhǔn)的轉(zhuǎn)換分析器。最后,用這個(gè)轉(zhuǎn)換分析器處理源語料(并將源語料作為源轉(zhuǎn)換特征),使其具有目標(biāo)標(biāo)準(zhǔn)。經(jīng)過以上步驟,便成功地將源語料轉(zhuǎn)化為具有目標(biāo)標(biāo)準(zhǔn)的語料。圖3描述了語料標(biāo)準(zhǔn)轉(zhuǎn)化的過程。該方法是合理的,因?yàn)槟繕?biāo)語料經(jīng)源分析器處理后,分詞和詞性標(biāo)注的格式與源語料很相似,當(dāng)然也存在一定的噪聲,因?yàn)樵捶治銎鞯木炔皇前俜种?。但是再通過轉(zhuǎn)化訓(xùn)練,將源標(biāo)準(zhǔn)轉(zhuǎn)化為目標(biāo)標(biāo)準(zhǔn)的同時(shí),起到了修正源分析器錯(cuò)誤結(jié)果的作用,使得模型具有一定的容錯(cuò)能力。最后,再用該模型處理源語料,便可將源語料轉(zhuǎn)化為具有目標(biāo)標(biāo)準(zhǔn)的語料。
圖3 將源語料轉(zhuǎn)化為具有目標(biāo)標(biāo)準(zhǔn)的語料
表2 描述了轉(zhuǎn)換特征的一個(gè)例子。假設(shè)正在分析漢字串“美國(guó)副部長(zhǎng)”中的“副”字,該漢字串經(jīng)源分析器處理后被切分和標(biāo)注為“美國(guó)/ns 副/b 部長(zhǎng)/n”,而目標(biāo)語料中切分和標(biāo)注情況為“美國(guó)/NR 副部長(zhǎng)/NN”。以聯(lián)合分詞與詞性標(biāo)注為例,語料標(biāo)準(zhǔn)轉(zhuǎn)化過程如下: 經(jīng)源分析器處理后,漢字串“美國(guó)副部長(zhǎng)”中的“副”字被標(biāo)記為“副/s_b”,表示“副”是單字副詞,經(jīng)過轉(zhuǎn)換后“副”字被標(biāo)記為“副/b_NN”,表示一個(gè)名詞的詞首。除了“@=s”和“@=s-b”以外,轉(zhuǎn)換特征和基礎(chǔ)特征基本一致,其中“@=s”表示源分析器標(biāo)記當(dāng)前漢字的位置信息為“s”,單字詞;“@=s_b”表示源分析器標(biāo)記當(dāng)前漢字的位置和詞性信息為“s_b”,單字副詞。
將上面處理好的具有目標(biāo)標(biāo)準(zhǔn)的源語料與目標(biāo)語料合并,用這個(gè)合并后的大語料訓(xùn)練,便可得到一個(gè)新的詞法分析器。訓(xùn)練新的詞法分析器只用基礎(chǔ)特征,不需要轉(zhuǎn)化特征。
本方法與Jiang et al.[1]的方法有些類似,但也有很大的不同。圖4和圖5分別是Jiang et al.[1]方法的訓(xùn)練流程圖和解碼流程圖。Jiang et al.[1]的方法旨在利用源語料信息,將其分詞和詞性標(biāo)注標(biāo)準(zhǔn)作為特征指導(dǎo)目標(biāo)分析器。該方法在解碼時(shí)分為兩步,首先用源詞法分析器對(duì)測(cè)試語料進(jìn)行切分,然后再用目標(biāo)詞法分析器切分一次,并以第一次的切分結(jié)果為特征指導(dǎo)第二次的切分。此方法取得了很好的效果,但是需要兩次解碼,增加了解碼的復(fù)雜性。本論文方法旨在利用語料自動(dòng)融合技術(shù),訓(xùn)練出一個(gè)更好的詞法分析器。其優(yōu)點(diǎn)體現(xiàn)在詞法分析精度高,只需一次解碼,更具有實(shí)用性。并且,本方法還可以融合多領(lǐng)域語料,不限于兩種,更具有擴(kuò)展性。
表2 用于訓(xùn)練轉(zhuǎn)化模型的轉(zhuǎn)換特征
圖4 Jiang et al.的訓(xùn)練流程
圖5 Jiang et al.的解碼流程
本文實(shí)驗(yàn)采用《人民日?qǐng)?bào)》語料和賓州中文樹庫(kù)語料5.0。這兩種語料庫(kù)具有不同的分詞和詞性標(biāo)注標(biāo)準(zhǔn),詞性標(biāo)注集也不同 (例如圖1中的描述)?!度嗣袢?qǐng)?bào)》訓(xùn)練語料與測(cè)試語料的句子數(shù)分別為 100 344 和19 007,賓州樹庫(kù)訓(xùn)練語料與測(cè)試語料的句子數(shù)分別為18 074和348。
訓(xùn)練和解碼的實(shí)驗(yàn)環(huán)境。操作系統(tǒng): Red Hat Enterprise Linux AS,X64;處理器: Quad-Core AMD Opteron Processor 8347HE,1.9GHZ;內(nèi)存: 64G;編譯環(huán)境: GCC4.1。
本文采用F-measure 來評(píng)價(jià)詞法分析精度,F1=2PR/(P+R),其中P是準(zhǔn)確率,R是召回率。
表3的前三行是單獨(dú)的在相應(yīng)的語料上利用感知機(jī)算法訓(xùn)練的模型,即Baseline模型。表中PD表示《人民日?qǐng)?bào)》語料,CTB表示賓州中文樹庫(kù)語料,PD→CTB 表示將《人民日?qǐng)?bào)》語料融入到賓州樹庫(kù)語料中,CTB→PD 表示將賓州樹庫(kù)語料融入到《人民日?qǐng)?bào)》語料中,PD+CTB表示將《人民日?qǐng)?bào)》語料與賓州樹庫(kù)語料直接合并。“--”表示沒有做該部分實(shí)驗(yàn),因?yàn)镻D與CTB詞性標(biāo)注集不同。
分別比較表3的第一行和第三行,可以看出聯(lián)合分詞與詞性標(biāo)注要比單獨(dú)分詞的精度高,因?yàn)樵~性標(biāo)注信息相當(dāng)于是額外的特征(Ng and Low, 2004)。同時(shí)可以看出,用PD訓(xùn)練模型,并且在CTB上進(jìn)行測(cè)試,無論是分詞還是聯(lián)合分詞與詞性標(biāo)注,精度都會(huì)下降很多(F1值只有不到92%),比單獨(dú)在CTB上訓(xùn)練的模型精度(97%以上)低很多。雖然PD比CTB大很多,仍然不會(huì)提高精度,因?yàn)椴煌I(lǐng)域的語料的分詞和詞性標(biāo)注標(biāo)準(zhǔn)不同。然而,利用本方法將PD融入CTB后,在CTB上做測(cè)試,無論單獨(dú)分詞還是聯(lián)合分詞與詞性標(biāo)注,F(xiàn)1值都有很明顯的提高,較單獨(dú)CTB訓(xùn)練的模型提高0.81個(gè)百分點(diǎn),聯(lián)合分詞與詞性標(biāo)注的F1值分別提高了0.38個(gè)百分點(diǎn)(不考慮詞性標(biāo)注)和0.96個(gè)百分點(diǎn)(考慮詞性標(biāo)注)。將CTB融入PD后,在PD上測(cè)試,單獨(dú)分詞和聯(lián)合分詞與詞性標(biāo)注的F1值也都有提高。因?yàn)?CTB語料相對(duì)PD語料太少,只有不到其五分之一,因此F1值的提高不明顯。直接將PD與CTB合并訓(xùn)練,無論在PD還是CTB上測(cè)試,F(xiàn)1值都下降很多。尤其是在PD上測(cè)試,F(xiàn)1值急劇下降,可見不同標(biāo)準(zhǔn)語料直接合并產(chǎn)生的負(fù)面影響也很大。
表3 單獨(dú)分詞、聯(lián)合分詞與詞性標(biāo)注的結(jié)果
表4中,源語料是PD,目標(biāo)語料是CTB,測(cè)試集是CTB測(cè)試集。從表4可以看出,本方法與Jiang et al.[1]的方法相比,分詞和聯(lián)合分詞與詞性標(biāo)注的性能基本與其相當(dāng),甚至略高一些,因?yàn)榇笳Z料具有更高的詞語覆蓋率,而如果遇到?jīng)]有出現(xiàn)的詞語,基于錯(cuò)誤驅(qū)動(dòng)的修正方法仍然無法很好的處理。而且本方法的解碼速度快很多,其中分詞速度提高了34.15%,聯(lián)合分詞與詞性標(biāo)注的速度提高了53.38%。并且,解碼步驟只有一步,實(shí)用性更強(qiáng)。
表4 方法比較
表5中,“錯(cuò)誤融合法”指的是首先利用目標(biāo)分析器處理源語料,使其具有目標(biāo)標(biāo)準(zhǔn),再將處理后的源語料合并到目標(biāo)語料中,再由這混合后的大語料訓(xùn)練出新的目標(biāo)分析器。該方法看似更簡(jiǎn)單,但源語料經(jīng)目標(biāo)分析器處理后,雖然接近目標(biāo)標(biāo)準(zhǔn),卻有很多錯(cuò)誤的切分結(jié)果,直接使用會(huì)產(chǎn)生負(fù)面影響。表5的結(jié)果表明,利用該方法得到的分詞結(jié)果比融合語料前只提高0.05個(gè)百分點(diǎn),不排除是融入大語料提高了詞語覆蓋率所起的作用。而且聯(lián)合分詞與詞性標(biāo)注的F1值比融合語料前低很多,可見融合了含有錯(cuò)誤信息的語料將導(dǎo)致詞法分析精度的下降。
表5 錯(cuò)誤融合法
綜上所述,通過一系列實(shí)驗(yàn),從正、反兩面都說明了本方法的有效性和較強(qiáng)地實(shí)用性。
本文提出了一種異種語料的自動(dòng)融合方法,將該方法應(yīng)用于中文詞法分析,明顯地提高了詞法分析性能。我們用《人民日?qǐng)?bào)》語料和賓州中文樹庫(kù)語料進(jìn)行了實(shí)驗(yàn),并且利用平均感知機(jī)算法,分別在《人民日?qǐng)?bào)》語料、賓州中文樹庫(kù)語料以及融合后的語料上訓(xùn)練模型,對(duì)各個(gè)模型的分詞以及聯(lián)合分詞與詞性標(biāo)注的效果進(jìn)行了比較,實(shí)驗(yàn)結(jié)果表明,本方法確實(shí)可以提高詞法分析精度。
本文還將本方法與Jiang et al.[1]的方法進(jìn)行了比較,本方法在保證了與Jiang et al.[1]的方法具有相當(dāng)性能的情況下,提高了分詞以及聯(lián)合分詞與詞性標(biāo)注的解碼效率。本方法具有更簡(jiǎn)單的解碼步驟,實(shí)用性更強(qiáng)。而且本方法不局限于融合兩個(gè)領(lǐng)域的語料,更具有擴(kuò)展性。
接下來,我們將繼續(xù)研究語料標(biāo)準(zhǔn)的轉(zhuǎn)化方法,以及后續(xù)改進(jìn)的語料合并方法,例如,語料加權(quán)合并。并且,進(jìn)一步融合其他領(lǐng)域的語料以提高詞法分析精度。
[1] Wenbin Jiang, Liang Huang, Qun Liu. Automatic Adaptation of Annotation Standards: Chinese Word Segmentation and POS Tagging—A Case Study. Association for Computational Linguistics[C]//Proceed-ings of the 47th Annual Meeting of the Association for
Computational Linguistics. Suntec, Singapore: ACL Publication Chairs, 2009:522-530.
[2] Hwee Tou Ng, Jin Kiat Low. Chinese part-of-speech tagging: One-at-a-time or all-at-once? word-based or character-based?[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing. Barcelona, Spain: ENMLP Publication Chairs, 2004.
[3] Wenbin Jiang, Liang Huang, Yajuan Lv, et al. A cascaded linear model for joint Chinese word segmentation and part-of-speech tagging[C]//Proceedings of the 46th Annual Meeting of the Association for Computational Linguistics. Oho, USA: ACL Publication Chairs, 2008:897-904.
[4] Wenbin Jiang, Haitao Mi, Qun Liu. Word Lattice Reranking for Chinese Word Segmentation and Part-of-Speech Tagging[C]//Proceedings of the 22nd International Conference on Computational Linguistics. Manchester, England: COLING Publication Chairs, 2008:385-392.
[5] Kun Wang, Chengqing Zong, Keh-Yih Su. A Character-Based Joint Model for Chinese Word Segmentation[C]//Proceedings of the 24th International Conference on Computational Linguistics. Beijing, China: COLING Publication Chairs, 2010:1173-1181.
[6] Zhongguo Li, Maosong Sun. Punctuation as Implicit Annotations for Chinese Word Segmentation[J].Computational Linguistics. Proceedings of Computational Linguistics. 2009, 35(4):505-512.
[7] Yue Zhang, Stephen Clark. Chinese segmentation with a word-based perceptron algorithm[C]//Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics. Prague, Czech Republic: ACL Publication Chairs, 2007:840-847.