張梅山,鄧知龍,車萬翔,劉 挺
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院 社會計(jì)算與信息檢索研究中心,黑龍江 哈爾濱 150001)
中文分詞是中文自然語言處理中最基本的一個步驟,非常多的研究者對它做了很深入的研究,也因此產(chǎn)生了很多不同的分詞方法,這些方法大體上可以分為兩類: 基于詞典匹配的方法和基于統(tǒng)計(jì)的方法。
基于詞典的方法[1-2]利用詞典作為主要的資源,這類方法不需要考慮領(lǐng)域自適應(yīng)性的問題,它只需要有相關(guān)領(lǐng)域的高質(zhì)量詞典即可,但是這類方法不能很好的解決中文分詞所面臨的歧義性問題以及未登錄詞問題。
基于統(tǒng)計(jì)的方法[3-6]是近年來主流的分詞方法,它采用已經(jīng)切分好的分詞語料作為主要的資源,最終形成一個統(tǒng)計(jì)模型來進(jìn)行分詞解碼。基于統(tǒng)計(jì)的方法在分詞性能方面有了很大的提高,但是在跨領(lǐng)域方面都存在著很大的不足,它們需要針對不同的領(lǐng)域訓(xùn)練不同的統(tǒng)計(jì)分詞模型。這樣導(dǎo)致在領(lǐng)域變換后,必須為它們提供相應(yīng)領(lǐng)域的分詞訓(xùn)練語料,但是分詞訓(xùn)練語料的獲得是需要大量人工參與的,代價昂貴。而基于詞典的方法卻在領(lǐng)域自適應(yīng)方面存在著一定優(yōu)勢,當(dāng)目標(biāo)分詞領(lǐng)域改變時,只需要利用相應(yīng)領(lǐng)域的詞典即可。領(lǐng)域詞典的獲取相比訓(xùn)練語料而言要容易很多。如果把這兩種方法結(jié)合起來,使得統(tǒng)計(jì)的方法能夠合理應(yīng)用詞典,則可實(shí)現(xiàn)中文分詞的領(lǐng)域自適應(yīng)性。
趙海等人[7]以及張碧娟等人[8]都曾提出將詞典信息融入統(tǒng)計(jì)分詞模型中大大改善了分詞的性能。但是他們實(shí)際上都始終把詞典當(dāng)作一種內(nèi)部資源,訓(xùn)練和解碼都使用同樣的詞典,并沒有應(yīng)用到解決中文分詞領(lǐng)域自適應(yīng)性的問題中。本文借鑒在CRF[9]模型中融入詞典特征信息的方法來解決中文分詞的領(lǐng)域自適應(yīng)性問題。在訓(xùn)練CRF分詞模型時,使用通用詞典;而分詞階段通過額外再加入領(lǐng)域詞典來實(shí)現(xiàn)領(lǐng)域自適應(yīng)性。當(dāng)分詞領(lǐng)域改變時,只需要在原有詞典的基礎(chǔ)上再添加相應(yīng)領(lǐng)域的詞典,而且不需要改變原有已經(jīng)訓(xùn)練得到的統(tǒng)計(jì)中文分詞模型,就可以大大改善該領(lǐng)域的分詞準(zhǔn)確率。
最后本文利用SIGHAN CWS BAKEOFF 2005中提供的PKU corpora進(jìn)行訓(xùn)練,訓(xùn)練過程中采用通用詞典,訓(xùn)練得到的統(tǒng)計(jì)分詞模型分別在PKU test corpus和人工標(biāo)注的金融領(lǐng)域語料上進(jìn)行了測試。測試時,PKU語料所用的詞典保持與訓(xùn)練語料所用的詞典一致,而金融領(lǐng)域所用的詞典則額外再加入了部分金融領(lǐng)域的專業(yè)詞匯。最后的結(jié)果顯示,PKU語料上取得了2%的F-measure值提升;金融領(lǐng)域上取得了6%的F-measure值提升,最終達(dá)到93.4%。
本文組織內(nèi)容為: 第二部分介紹CRF中文分詞;第三部分介紹領(lǐng)域自適應(yīng)性的實(shí)現(xiàn);第四部分為實(shí)驗(yàn)部分;第五部分為結(jié)論及進(jìn)一步工作。
薛念文[3]等人2003年提出將中文分詞問題看成序列標(biāo)注問題。句子中每個字根據(jù)它在詞中的位置進(jìn)行分類,共分為B,M,E,S四類。其中B代表該字符是每個詞的開始,M表示該字符在某個詞的中間位置,E表示該字符是某個詞的結(jié)束位置而S表示該字符能獨(dú)立的構(gòu)成一個詞。
CRF[9]是目前主流的序列標(biāo)注算法,它在序列標(biāo)注問題上取得了很大的成功。對于給定的句子 x=c1…cn及其某個分詞標(biāo)注結(jié)果為y=y1…yn,其中ci為輸入字符,yi∈{B,M,E,S}(1≤i≤n),我們可以用如下的方法表示y的概率:
(1)
其中Z(x)為一個歸一化因子,Φ(yi-1,yi,x)為特征向量函數(shù),λ為特征權(quán)重向量。
對于CRF模型,特征的選擇尤為重要。本文首先使用了三類基本特征: 字符n-gram特征,字符重復(fù)信息特征和字符類別特征。這三類特征和論文Tseng[4]中提到的特征類似,這里對字形態(tài)特征做了一定的擴(kuò)展,將輸入字符分為九類: Single,Prefix,Suffix,Long,Punc,Digit,Chinese-Digit,Letter以及Other。本文中所使用的字符類別的定義以及相關(guān)例子如表1所示。
給定一個中文字符,首先判斷它是否屬于標(biāo)點(diǎn)符號(Punc)、數(shù)字(Digit)、中文數(shù)字(Chinese-Digit)或者字母(Letter);如果不屬于其中的任何一類,則統(tǒng)計(jì)該字符在訓(xùn)練語料中出現(xiàn)的時候所處在的詞的位置,仍用B、M、E、S表示,如果B位置出現(xiàn)的頻次超過總次數(shù)的95%,則判定該字符屬于Prefix類別,如果E位置出現(xiàn)的頻次超過總次數(shù)的95%,則為Suffix類別,同理S位置對應(yīng)于Single類別, M位置對應(yīng)于Long類別;如果還未找到該字符的類別,則標(biāo)記為Other類別。
表1 字符類別定義以及示例
最后這里列舉一下在本文中CRF中文分詞模型所使用的基本特征,如表2所示。
表2 CRF中文分詞模型中所使用的基本特征
其中下標(biāo)代表距離當(dāng)前考察字符的相對位置,例如,c-1表示該字符的前一個字符。Reduplication(c0,ci)表示c0和ci是否為兩個完全一樣的字符,Type(ci)表示字符ci的類別。
詞典對中文分詞有著很大的用處,最初基于詞典簡單匹配的方法以及基于二元語法的方法都曾經(jīng)取得了很大的成功。而且詞典的獲取途徑非常廣泛,與統(tǒng)計(jì)模型中用到的分詞語料相比較,它更容易獲取。針對特定的領(lǐng)域,領(lǐng)域詞典的獲取也非常容易而且覆蓋面廣。但是過去這些基于詞典的方法在解決分詞的歧義性問題上比統(tǒng)計(jì)模型的方法要弱很多。
本文通過在統(tǒng)計(jì)中文分詞模型中融入詞典相關(guān)特征的方法,使得統(tǒng)計(jì)中文分詞模型和詞典有機(jī)結(jié)合起來。一方面可以進(jìn)一步提高中文分詞的準(zhǔn)確率,另一方面大大改善了中文分詞的領(lǐng)域自適應(yīng)性。
由于本文中所使用的特征并不依賴特定的詞,而是采用類似最大匹配的思想將包含目前字符的最長的詞的長度信息提供給統(tǒng)計(jì)模型,因此當(dāng)為特定領(lǐng)域進(jìn)行中文分詞時,不需要改變原有的分詞模型,只需要加載相應(yīng)的領(lǐng)域詞典,便可以大大的減少不同領(lǐng)域?qū)Ψ衷~所產(chǎn)生的影響。整個系統(tǒng)框架如圖1所示。
圖1 領(lǐng)域自適應(yīng)性分詞系統(tǒng)框架圖
對于給定句子x=c1…cn,以及詞典D,考慮其中的第j個字符cj(1≤j≤n),定義如下三個函數(shù):
(2)
其中w表示詞語;fB(x,j,D)表示對于句子x在j位置根據(jù)詞典D采用正向最大匹配所獲得的詞的長度;fM(x,j,D)表示對于句子x在j前面的某個位置根據(jù)詞典D采用正向最大匹配所獲得的經(jīng)過j位置而且不以j結(jié)尾的最長詞的長度;fE(x,j,D)表示對于句子x在j位置根據(jù)詞典D采用逆向最大匹配所獲得的詞的長度。
本文對CRF分詞模型所引入的與詞典D相關(guān)的擴(kuò)展特征如表3所示。
假設(shè)目前考慮位置為j,則上面相應(yīng)的[fB]i=fB(x,j+i,D),[fM]i=fM(x,j+i,D),[fE]i=fE(x,j+i,D),[fM]i??紤]一個例子,“門前車水馬龍”,如果詞典中與這個句子相關(guān)的詞為“門, 門前,車,水,車水馬龍,馬,馬龍”,考慮當(dāng)前字“水”,則有 [fB]-1=4,[fB]0=1,[fB]1=2,[fM]-1=0,[fM]0=4,[fM]1=4,[fE]-1=1,[fE]0=1,[fE]1=1。
表3 CRF中文分詞模型中所使用的詞典特征
本文利用SIGHAN CWS BAKEOFF 2005中提供的PKU訓(xùn)練語料進(jìn)行訓(xùn)練,訓(xùn)練過程中使用北京大學(xué)中國語言學(xué)研究中心公開的詞典*http://ccl.pku.edu.cn/doubtfire/Course/Chinese%20Information%20Processing/Source_Code/Chapter_8/Lexicon _full_2000.zip.,該詞典一共包含大約10萬多個詞。最后分別在相應(yīng)的PKU測試語料和人工標(biāo)注的金融領(lǐng)域語料上進(jìn)行了評測,表4給出了兩個測試語料的統(tǒng)計(jì)信息。本文使用準(zhǔn)確率(P)、召回率(R)和F-measure值(F)來評價分詞系統(tǒng)。本文采用CRFC++工具包*http://chasen.org/?taku/software/CRF++/.來進(jìn)行訓(xùn)練和標(biāo)注。
表4 測試語料相關(guān)統(tǒng)計(jì)信息
CRF-basic代表僅使用基本特征訓(xùn)練出來的模型;CRF-post表示使用拼接的后處理方法去糾正被CRF錯誤切分的詞,這個方法假定詞典中沒有在訓(xùn)練語料中出現(xiàn)的詞都應(yīng)該是不可切分的;CRF-extern 表示融入了詞典信息特征之后所得到模型。
在PKU的測試語料上,使用訓(xùn)練出來的模型,測試時所使用的詞典和訓(xùn)練時所使用的詞典一致。表5給出了PKU語料上測試的結(jié)果。從表中可以看出,CRF-extern與CRF-basic相比,F(xiàn)-measure提升了1.8%;與CRF-post相比,提升了0.3%。
表5 SIGHAN BAKEOFF 2005 PKU測試語料上分詞性能比較
在金融領(lǐng)域的測試語料上,保持訓(xùn)練出來的CRF分詞模型不變,使用的詞典是在訓(xùn)練語料的詞典基礎(chǔ)上增加了1 000個左右的金融領(lǐng)域?qū)S迷~典。表6給出了金融領(lǐng)域測試語料上的結(jié)果。從表中可以看出,CRF-extern與CRF-basic相比,F(xiàn)-measure提升了7.6%;與CRF-post相比,提升了3.2%。
表6 金融領(lǐng)域測試語料上分詞性能比較
從上面的兩個實(shí)驗(yàn)可以看出,(a) 無論測試語料的領(lǐng)域與訓(xùn)練語料領(lǐng)域是否相同, CRF-extern對比CRF-basic顯著提高了分詞的性能; (b) 當(dāng)訓(xùn)練語料和測試語料領(lǐng)域相同時,CRF-extern和CRF-post相比,分詞性能有稍微的提高;但是當(dāng)領(lǐng)域不同時,CRF-extern對比CRF-post而言,有了非常顯著的提高; (c) 測試領(lǐng)域和訓(xùn)練語料不同時,最終的分詞F-measure值達(dá)到了93.4%,已經(jīng)非常接近于CRF-basic在不考慮跨領(lǐng)域時的F-measure值94.8%。
綜上所述,在統(tǒng)計(jì)模型中融入詞典信息特征后,一方面分詞性能有了一定的提高;另外一方面領(lǐng)域遷移后,分詞性能依然能夠保持在一定的水平。因此統(tǒng)計(jì)模型與詞典結(jié)合后,使得中文分詞具有良好的領(lǐng)域自適應(yīng)性。
本文通過在CRF統(tǒng)計(jì)分詞模型中融入詞典特征來實(shí)現(xiàn)中文分詞的領(lǐng)域自適應(yīng)性。當(dāng)面向不同的領(lǐng)域時,只需通過加載相應(yīng)領(lǐng)域的詞典。因?yàn)轭I(lǐng)域詞典的獲取與為該領(lǐng)域標(biāo)注分詞訓(xùn)練語料相比代價要小很多。最終實(shí)驗(yàn)結(jié)果表明,該方法不僅僅在原有領(lǐng)域上取得了比較好的效果,而且在金融領(lǐng)域上也取得了不錯的效果。
下一步我們需要自動挖掘各種領(lǐng)域相關(guān)的詞,從而使得我們的分詞系統(tǒng)能適應(yīng)各個領(lǐng)域的需求。
[1] 駱正清,陳增武,胡尚序.一種改進(jìn)的MM分詞方法的算法設(shè)計(jì)[J].中文信息學(xué)報(bào),1996, 10(3):30-36.
[2] 吳春穎,王士同.基于二元文法的N-最大概率中文粗分模型[J].計(jì)算機(jī)應(yīng)用,2007, 27(12):332-339.
[3] Nianwen Xue. Chinese word segmentation as character tagging[J]. International Journal of Computational Linguistics and Chinese Language Processing, 2003, 8(1):29-48.
[4] Huihsin Tseng, Pichuan Chang, Galen Andrew, et al. A conditional random field word segmenter for sighan bakeoff 2005[C]//Proceedings of the fourth SIGHAN workshop. 2005:168-171.
[5] Yue Zhang, Stephen Clark. Chinese segmentation with a word-based perceptron algorithm[C]//Proceedings of the 45th ACL. 2007:840-847.
[6] Xu Sun, Yaozhong Zhang, Takuya Matsuzaki, et al. A discriminative latent variable chinese segmenter with hybrid word/character information[C]//Proceedings of NAACL. 2009:56-64.
[7] Hai Zhao, Chang-Ning Huang, Mu Li. An Improved Chinese Word Segmentation System with Conditional Random Field[C]//Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing. 2006:162-165.
[8] Pi-Chuan Chang, Michel Galley, Christopher D.Manning. Optimizing Chinese Word Segmentation for Machine Translation Performance[C]//ACL Workshop on Statistical Machine Translation. 2008:224-232.
[9] John D. Lafferty, Andrew McCallum, Fernando C. N. Pereira. Conditional random fields: Probabilistic models for segmenting and labeling sequence data[C]//Proceedings of ICML. 2001:282-289.