孟凡東,徐金安,姜文斌,劉 群
(1. 中國科學院 計算技術(shù)研究所 智能信息處理重點實驗室,北京 100190;2. 北京交通大學 計算機與信息技術(shù)學院,北京 100044)
詞法分析是自然語言處理領(lǐng)域的基礎(chǔ)性研究課題之一,詞法分析的精度直接影響自然語言處理后續(xù)工作的效果?;诮y(tǒng)計的詞法分析很大程度上依賴于語料庫,加大訓練語料,可以直接提高詞法分析的精度。但是,手工標注大規(guī)模語料代價昂貴。并且,不同領(lǐng)域的語料切分和標注的標準往往不同,難以直接混合使用。圖1 以《人民日報》語料和賓州中文樹庫語料為例,具有不同的切分和詞性標注標準,在《人民日報》語料中“高新技術(shù)”為一個詞,標注為名詞(n),在賓州樹庫中,“高新技術(shù)”被分為“高”“新”“技術(shù)”,并分別標注為形容詞(JJ)、形容詞(JJ)和名詞(NN)。并且,這兩種語料的詞性標注集也不同,名詞的標注分別是n和NN。
圖1 《人民日報》語料(上面)和賓州中文樹庫語料(下面)的分詞和詞性標注標準舉例
針對上述問題,Jiang et al.[1]提出了一種基于錯誤驅(qū)動的方法。利用源語料信息,將其分詞和詞性標注標準作為特征指導目標分析器,使其產(chǎn)生更好的效果。解碼時,首先用源詞法分析器對測試語料切分,再用目標詞法分析器進行第二次切分,此時以第一次的切分結(jié)果為特征,即利用源語料指導目標詞法分析器。該方法明顯地提高了詞法分析精度,是目前中文詞法分析中效果最好的方法之一。但是該方法的解碼過程略為復雜,不如一次解碼的效率高。
本文在Jiang et al.[1]基礎(chǔ)上提出了異種語料的自動融合策略,以此提高中文詞法分析的精度。本方法的思想是先將源語料的分詞和詞性標注標準進行轉(zhuǎn)化,使其與目標語料一致,再將轉(zhuǎn)化后的語料與目標語料融合,訓練一個新詞法分析器。利用這個新的詞法分析器可以直接進行解碼,不需要二次解碼。實驗結(jié)果表明,本方法可以明顯提高中文詞法分析精度。與Jiang et al.[1]的方法相比,本方法與其具有相當?shù)脑~法分析性能,甚至比其略高。并且具有更快的詞法分析速度,只進行一次解碼,簡化了解碼步驟,更具有實用性。而且,本方法可用于進一步融合其他領(lǐng)域的語料,更好地提高詞法分析性能。因此,本方法更具有可擴展性。
本文在第二節(jié)簡要介紹采用的詞法分析方法,第三節(jié)詳細闡述語料自動融合思想,第四節(jié)是實驗及結(jié)果分析,第五節(jié)是總結(jié)與展望。
本文采用判別式的詞法分析方法。將分詞和詞性標注問題轉(zhuǎn)化為字符(漢字)分類問題。根據(jù)Ng and Low[2]的方法,分詞采用四種位置標記,b表示詞首,m表示詞中,e表示詞尾,s表示單個漢字獨立成詞。即一個詞只可以被標記成s(單字詞)或bm*e(多字詞)。聯(lián)合分詞與詞性標注就是對于每個字,有位置標記和詞性標記,例如“e_v”,表示一個動詞的詞尾。
根據(jù)Ng and Low[2]的方法,用C0表示當前的漢字,C-i表示C0左邊第i個漢字,Ci表示C0右邊第i個漢字。Pu(Ci)用于判斷當前漢字Ci是否為分隔符(是就返回1,否則返回0)。T(Ci)用于判斷當前漢字Ci的類別: 數(shù)字、日期、英文字母和其他(分別返回 1,2,3 和 4)。
表1 特征模板
表1 描述了分詞和詞性標注的特征模板。假設(shè)當前分析的漢字是 “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)
下面是感知機訓練算法的偽代碼。本文使用了“平均參數(shù)”技術(shù)(Collins, 2002)避免過擬合。
1:Input: Training examples (x,y)
3:fort←1…Tdo
4:fori←1…Ndo
本文采用自動融合語料的方法提高詞法分析的精度?;玖鞒倘缦?流程如圖2所示):
1. 將源語料(語料1)轉(zhuǎn)化為與目標語料切分和詞性標注標準一致的語料(語料3);
2. 將目標語料(語料2)和轉(zhuǎn)化后的語料(語料3)合并,成為更大的語料(語料4);
3. 用語料4訓練新的分詞和詞性標注模型。本方法的關(guān)鍵是第一步。
圖2 方法流程圖
為了方便說明,“源語料”表示其他領(lǐng)域的語料,“目標語料”表示當前訓練詞法分析器所需要的語料;“源標準”表示“源語料”的分詞和詞性標注標準,“目標標準”表示“目標語料”的分詞和詞性標注標準;“源分析器”表示用“源語料”訓練的詞法分析器,“目標分析器”表示用“目標語料”訓練的詞法分析器。
首先,為了獲取源標準,用源語料訓練一個源分析器,該分析器是用來處理目標語料使其帶有源標準的。然后利用這個帶有源標準的語料(作為源轉(zhuǎn)化特征)和目標語料訓練一個從源標準到目標標準的轉(zhuǎn)換分析器。最后,用這個轉(zhuǎn)換分析器處理源語料(并將源語料作為源轉(zhuǎn)換特征),使其具有目標標準。經(jīng)過以上步驟,便成功地將源語料轉(zhuǎn)化為具有目標標準的語料。圖3描述了語料標準轉(zhuǎn)化的過程。該方法是合理的,因為目標語料經(jīng)源分析器處理后,分詞和詞性標注的格式與源語料很相似,當然也存在一定的噪聲,因為源分析器的精度不是百分之百。但是再通過轉(zhuǎn)化訓練,將源標準轉(zhuǎn)化為目標標準的同時,起到了修正源分析器錯誤結(jié)果的作用,使得模型具有一定的容錯能力。最后,再用該模型處理源語料,便可將源語料轉(zhuǎn)化為具有目標標準的語料。
圖3 將源語料轉(zhuǎn)化為具有目標標準的語料
表2 描述了轉(zhuǎn)換特征的一個例子。假設(shè)正在分析漢字串“美國副部長”中的“副”字,該漢字串經(jīng)源分析器處理后被切分和標注為“美國/ns 副/b 部長/n”,而目標語料中切分和標注情況為“美國/NR 副部長/NN”。以聯(lián)合分詞與詞性標注為例,語料標準轉(zhuǎn)化過程如下: 經(jīng)源分析器處理后,漢字串“美國副部長”中的“副”字被標記為“副/s_b”,表示“副”是單字副詞,經(jīng)過轉(zhuǎn)換后“副”字被標記為“副/b_NN”,表示一個名詞的詞首。除了“@=s”和“@=s-b”以外,轉(zhuǎn)換特征和基礎(chǔ)特征基本一致,其中“@=s”表示源分析器標記當前漢字的位置信息為“s”,單字詞;“@=s_b”表示源分析器標記當前漢字的位置和詞性信息為“s_b”,單字副詞。
將上面處理好的具有目標標準的源語料與目標語料合并,用這個合并后的大語料訓練,便可得到一個新的詞法分析器。訓練新的詞法分析器只用基礎(chǔ)特征,不需要轉(zhuǎn)化特征。
本方法與Jiang et al.[1]的方法有些類似,但也有很大的不同。圖4和圖5分別是Jiang et al.[1]方法的訓練流程圖和解碼流程圖。Jiang et al.[1]的方法旨在利用源語料信息,將其分詞和詞性標注標準作為特征指導目標分析器。該方法在解碼時分為兩步,首先用源詞法分析器對測試語料進行切分,然后再用目標詞法分析器切分一次,并以第一次的切分結(jié)果為特征指導第二次的切分。此方法取得了很好的效果,但是需要兩次解碼,增加了解碼的復雜性。本論文方法旨在利用語料自動融合技術(shù),訓練出一個更好的詞法分析器。其優(yōu)點體現(xiàn)在詞法分析精度高,只需一次解碼,更具有實用性。并且,本方法還可以融合多領(lǐng)域語料,不限于兩種,更具有擴展性。
表2 用于訓練轉(zhuǎn)化模型的轉(zhuǎn)換特征
圖4 Jiang et al.的訓練流程
圖5 Jiang et al.的解碼流程
本文實驗采用《人民日報》語料和賓州中文樹庫語料5.0。這兩種語料庫具有不同的分詞和詞性標注標準,詞性標注集也不同 (例如圖1中的描述)?!度嗣袢請蟆酚柧氄Z料與測試語料的句子數(shù)分別為 100 344 和19 007,賓州樹庫訓練語料與測試語料的句子數(shù)分別為18 074和348。
訓練和解碼的實驗環(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 來評價詞法分析精度,F1=2PR/(P+R),其中P是準確率,R是召回率。
表3的前三行是單獨的在相應的語料上利用感知機算法訓練的模型,即Baseline模型。表中PD表示《人民日報》語料,CTB表示賓州中文樹庫語料,PD→CTB 表示將《人民日報》語料融入到賓州樹庫語料中,CTB→PD 表示將賓州樹庫語料融入到《人民日報》語料中,PD+CTB表示將《人民日報》語料與賓州樹庫語料直接合并?!?-”表示沒有做該部分實驗,因為PD與CTB詞性標注集不同。
分別比較表3的第一行和第三行,可以看出聯(lián)合分詞與詞性標注要比單獨分詞的精度高,因為詞性標注信息相當于是額外的特征(Ng and Low, 2004)。同時可以看出,用PD訓練模型,并且在CTB上進行測試,無論是分詞還是聯(lián)合分詞與詞性標注,精度都會下降很多(F1值只有不到92%),比單獨在CTB上訓練的模型精度(97%以上)低很多。雖然PD比CTB大很多,仍然不會提高精度,因為不同領(lǐng)域的語料的分詞和詞性標注標準不同。然而,利用本方法將PD融入CTB后,在CTB上做測試,無論單獨分詞還是聯(lián)合分詞與詞性標注,F(xiàn)1值都有很明顯的提高,較單獨CTB訓練的模型提高0.81個百分點,聯(lián)合分詞與詞性標注的F1值分別提高了0.38個百分點(不考慮詞性標注)和0.96個百分點(考慮詞性標注)。將CTB融入PD后,在PD上測試,單獨分詞和聯(lián)合分詞與詞性標注的F1值也都有提高。因為 CTB語料相對PD語料太少,只有不到其五分之一,因此F1值的提高不明顯。直接將PD與CTB合并訓練,無論在PD還是CTB上測試,F(xiàn)1值都下降很多。尤其是在PD上測試,F(xiàn)1值急劇下降,可見不同標準語料直接合并產(chǎn)生的負面影響也很大。
表3 單獨分詞、聯(lián)合分詞與詞性標注的結(jié)果
表4中,源語料是PD,目標語料是CTB,測試集是CTB測試集。從表4可以看出,本方法與Jiang et al.[1]的方法相比,分詞和聯(lián)合分詞與詞性標注的性能基本與其相當,甚至略高一些,因為大語料具有更高的詞語覆蓋率,而如果遇到?jīng)]有出現(xiàn)的詞語,基于錯誤驅(qū)動的修正方法仍然無法很好的處理。而且本方法的解碼速度快很多,其中分詞速度提高了34.15%,聯(lián)合分詞與詞性標注的速度提高了53.38%。并且,解碼步驟只有一步,實用性更強。
表4 方法比較
表5中,“錯誤融合法”指的是首先利用目標分析器處理源語料,使其具有目標標準,再將處理后的源語料合并到目標語料中,再由這混合后的大語料訓練出新的目標分析器。該方法看似更簡單,但源語料經(jīng)目標分析器處理后,雖然接近目標標準,卻有很多錯誤的切分結(jié)果,直接使用會產(chǎn)生負面影響。表5的結(jié)果表明,利用該方法得到的分詞結(jié)果比融合語料前只提高0.05個百分點,不排除是融入大語料提高了詞語覆蓋率所起的作用。而且聯(lián)合分詞與詞性標注的F1值比融合語料前低很多,可見融合了含有錯誤信息的語料將導致詞法分析精度的下降。
表5 錯誤融合法
綜上所述,通過一系列實驗,從正、反兩面都說明了本方法的有效性和較強地實用性。
本文提出了一種異種語料的自動融合方法,將該方法應用于中文詞法分析,明顯地提高了詞法分析性能。我們用《人民日報》語料和賓州中文樹庫語料進行了實驗,并且利用平均感知機算法,分別在《人民日報》語料、賓州中文樹庫語料以及融合后的語料上訓練模型,對各個模型的分詞以及聯(lián)合分詞與詞性標注的效果進行了比較,實驗結(jié)果表明,本方法確實可以提高詞法分析精度。
本文還將本方法與Jiang et al.[1]的方法進行了比較,本方法在保證了與Jiang et al.[1]的方法具有相當性能的情況下,提高了分詞以及聯(lián)合分詞與詞性標注的解碼效率。本方法具有更簡單的解碼步驟,實用性更強。而且本方法不局限于融合兩個領(lǐng)域的語料,更具有擴展性。
接下來,我們將繼續(xù)研究語料標準的轉(zhuǎn)化方法,以及后續(xù)改進的語料合并方法,例如,語料加權(quá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.