張少陽,王裴巖,蔡東風(fēng)
(沈陽航空航天大學(xué) 人機智能研究中心,沈陽 110136)
一種基于字的多模型中文分詞方法
張少陽,王裴巖,蔡東風(fēng)
(沈陽航空航天大學(xué) 人機智能研究中心,沈陽 110136)
字標(biāo)注的分詞方法是當(dāng)前中文分詞領(lǐng)域中一種較為有效的分詞方法。但由于中文漢字本身帶有語義信息,不同的字在不同語境中其含義與作用不同,導(dǎo)致與上下文的相關(guān)性不同,每個字的構(gòu)詞規(guī)律存在差異。針對這一問題,提出了一種多模型的分詞方法。該方法對每個字單獨建立模型,能夠有效區(qū)分每個特征對不同待切分字的影響,從而學(xué)習(xí)出每個字的特殊構(gòu)詞規(guī)律。由于向量化的特征表示能夠有效地解決特征稀疏問題,采用特征向量化來表示輸入特征。實驗結(jié)果表明,該方法是一種有效的中文分詞方法,很好地區(qū)分出了同類特征對于不同字的作用程度,充分體現(xiàn)了每個字的構(gòu)詞規(guī)律。
中文分詞;字標(biāo)注;多模型;特征向量化
中文以字為基本書寫單位,而詞是漢語中能夠獨立運用的最小語義單元[1]。不同于英語和其他西方語言,由于中文句子中詞和詞之間沒有明顯的分隔符,計算機無法判斷詞的確切邊界,從而很難理解句子所描述的語義信息[2]。因此,中文分詞成為中文自然語言處理最基本的一個步驟,是信息檢索、主題詞提取以及機器翻譯等應(yīng)用必須處理的關(guān)鍵環(huán)節(jié)[3],其分詞性能的優(yōu)劣對于中文信息處理尤為重要[2]。
目前,主流的中文分詞方法是基于機器學(xué)習(xí)的方法[4-6]。該類方法將中文分詞任務(wù)抽象為字的有指導(dǎo)的序列標(biāo)記任務(wù),將待分詞的句子視為字序列,將每個字在構(gòu)詞時的位置作為標(biāo)記,利用已標(biāo)注的分詞語料學(xué)習(xí)模型參數(shù)。隱馬爾科夫模型和條件隨機場(CRF,Conditional Random Field)等序列標(biāo)注模型被廣泛地用于分詞任務(wù)[7-10]。近些年隨著深度學(xué)習(xí)的興起,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Networks)與長短期記憶網(wǎng)絡(luò)(LSTM,Long-Short Term Memory)等適用于序列標(biāo)注問題的深度學(xué)習(xí)方法也被用于分詞任務(wù)[11-13]。無論是CRF還是深度學(xué)習(xí)方法,都是依據(jù)當(dāng)前待標(biāo)注字的上下文環(huán)境判斷其標(biāo)記。由于該類方法受制于上下文變化的影響,在上下文分布差異較大的情況下預(yù)測效果較差[14-15]。文獻(xiàn)[16]通過實驗證明5字寬的上下文窗口恰好大致表達(dá)了前后各一個詞的上下文,即上下文窗口為5字寬具備了字和詞的雙重含義。
現(xiàn)有字標(biāo)注分詞方法基于訓(xùn)練語料學(xué)習(xí)單一模型參數(shù),使訓(xùn)練過程中不同字產(chǎn)生相互影響。由于中文漢字本身帶有語義信息,不同的字其含義與作用不同,與上下文的相關(guān)性不同,造成每個字的構(gòu)詞規(guī)律存在差異?,F(xiàn)有模型所考慮的是上下文特征對于所有字的全局綜合作用,也就是一般性的字構(gòu)詞規(guī)律,而忽略了同一特征對不同字的作用差異,即忽略了每個字構(gòu)詞規(guī)律的差異。
對于上述問題,本文提出了一種多模型的分詞方法,對每個字單獨建立模型,能夠有效區(qū)分每個特征對不同待切分字的影響,從而學(xué)習(xí)出每個字的特殊構(gòu)詞規(guī)律。借鑒Jianqiang Ma等人[17]的思想,用特征embedding來表示輸入特征,以解決特征稀疏的問題。
1.1 模型結(jié)構(gòu)
多模型中文分詞方法同樣將分詞問題視為序列標(biāo)注問題,將待分詞的句子視為字序列,將每個字在構(gòu)詞時的位置作為標(biāo)記。但與其他方法不同,針對每個字單獨建立模型,每個模型間特征與模型參數(shù)相互獨立。分詞時,每個字采用自己的模型單獨決策。為降低問題復(fù)雜性,每個模型采用相同的結(jié)構(gòu),如圖1。其結(jié)構(gòu)由3部分組成,分別為Look-up 表、Concatenation函數(shù)和Sigmoid函數(shù)。
圖1 模型結(jié)構(gòu)
Look-up表記錄了特征的embedding,特征從訓(xùn)練語料中獲得,借鑒Xinchi Chen等人[18]的思想,特征與Look-up表存在唯一的映射關(guān)系。特征t的embedding由d維較小的實數(shù)值向量表示,記為Embed(t)∈d。
Concatenation函數(shù)是將待切分字對應(yīng)的特征embedding向量連結(jié)成一個單一的向量,作為模型的輸入,為k×d的向量,即a∈k×d,其中k是選取的特征數(shù),d為特征embedding的維度。
激活函數(shù)采用Sigmoid函數(shù)如式(1)所示,首先計算輸入的a與特征權(quán)重w的點積,然后將計算結(jié)果作為Sigmoid函數(shù)的輸入,根據(jù)輸出結(jié)果判斷待切分字的狀態(tài)標(biāo)記。
(1)
1.1.1 輸入
輸入是在當(dāng)前字的上下文中從寬度為5的窗口里抽取出的特征,包括一元特征和二元特征,如表1。下標(biāo)代表距離當(dāng)前待切分字的相對位置,如C-1表示當(dāng)前待考察字的前一個字。對于上例中的字“云”和“集”,對應(yīng)的一元特征分別為“使”、“節(jié)”、“云”、“集”、“冰”和“節(jié)”、“云”、“集”、“冰”、“城”,對應(yīng)的二元特征分別為“使節(jié)”、“節(jié)云”、“云集”、“集冰”與“節(jié)云”、“云集”、“集冰”、“冰城”。特征embedding的維度設(shè)定為50維,50維既可更好地表示特征又保證了模型的計算量,從而保證了模型的訓(xùn)練時間[2]。
表1 一元/二元特征表
1.1.2 輸出
本文使用“S”和“C”2種狀態(tài)標(biāo)記來表示當(dāng)前字的切分狀態(tài),其中“S”狀態(tài)表示當(dāng)前字處于分離狀態(tài),即作為一個新詞的起始位置,而“C”狀態(tài)表示當(dāng)前字處于結(jié)合狀態(tài),即與前一個字結(jié)合組成一個詞或詞的一部分。以下面的句子為例,其正確標(biāo)記序列如下。
理想的輸出值應(yīng)該是1和0,分別表示狀態(tài)標(biāo)記“S”和“C”。但實際輸出值分布在區(qū)間[0,1]內(nèi),以值0.5為分界,若輸出值大于0.5則標(biāo)記為“S”,否則標(biāo)記為“C”。
1.2 模型訓(xùn)練
首先在當(dāng)前參數(shù)下判斷被標(biāo)注字的標(biāo)記,再根據(jù)語料中其正確標(biāo)記來更新模型參數(shù)。本文采用交叉熵作為損失函數(shù)如式(2)所示,其中yi表示正確狀態(tài)標(biāo)記,h(ai)為模型輸出。
(2)
正則化是結(jié)構(gòu)風(fēng)險最小化策略的實現(xiàn)。為了防止過擬合導(dǎo)致模型的泛化能力差,在損失函數(shù)中增加L2正則化,如公式(3)所示。其中λ為正則項系數(shù)。
(3)
采用隨機梯度下降法更新w和a,更新w時保證a不變,反之亦然。w梯度如式(4)所示,更新規(guī)則如式(5)所示,其中η為學(xué)習(xí)率。a梯度和更新規(guī)則與w的梯度公式和更新規(guī)則相似。
(4)
(5)
2.1 實驗數(shù)據(jù)及預(yù)處理
本文使用的語料為SIGHAN Backoff2(2005)[19]提供的公開數(shù)據(jù)集,包含訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)、測試數(shù)據(jù)的正確答案、詞典及評估腳本。本文選取其中2類被廣泛使用的簡體語料,分別為北京大學(xué)提供的PKU語料和微軟亞洲研究院提供的MSR語料。表2為語料的詳細(xì)信息。
表2 PKU和MSR語料的詳細(xì)信息
由于訓(xùn)練語料包含全角字符,對于數(shù)字和英文字母相同的字符全角和半角所占字節(jié)不同,為此在訓(xùn)練之前將文本中的所有字符由全角轉(zhuǎn)換成半角,統(tǒng)一訓(xùn)練數(shù)據(jù)。
2.2 評價方法
中文分詞的評價標(biāo)準(zhǔn)通常采用5個評價指標(biāo),分別是準(zhǔn)確率(P)、召回率(R)、F值(F)、未登錄詞召回率(ROOV)和詞表詞召回率(RIV)。準(zhǔn)確率定義為算法得到的正確的詞的個數(shù)與切分得到的所有詞的個數(shù)之比。召回率定義為算法得到的正確的詞的個數(shù)與測試答案中所有的詞的個數(shù)之比。對分詞進(jìn)行評估時,需要綜合考慮準(zhǔn)確率和召回率,F(xiàn)值就是綜合評價這2個指標(biāo)的方法之一,定義如公式(6)。未登錄詞召回率能夠反應(yīng)模型的泛化能力。
(6)
2.3 實驗結(jié)果
將所提出方法與4種方法進(jìn)行了對比,分別為單模型方法、基于CRF的方法、Zheng[20]的方法和Pei[21]的方法。其中單模型方法與多模型方法的模型結(jié)構(gòu)與特征相同,但所有字共用一個模型。基于CRF的方法采用了3種策略,分別為采用2標(biāo)記和4標(biāo)記的方法,并考慮標(biāo)記二元轉(zhuǎn)移特征(分別記為CRF2和CRF4),以及采用2標(biāo)記的方法不考慮標(biāo)記二元轉(zhuǎn)移特征(記為CRF)?;贑RF的方法采用表1中的特征。
Zheng與Pei使用深度學(xué)習(xí)的分詞方法。Zheng采用字的embedding作為神經(jīng)網(wǎng)絡(luò)的輸入,通過判斷字的位置標(biāo)記實現(xiàn)中文分詞,提出的神經(jīng)網(wǎng)絡(luò)由embedding層、一層非線性層和一層線性層組成。Pei在Zheng的基礎(chǔ)上,引入標(biāo)記的embedding和張量變換,提出了最大邊界張量神經(jīng)網(wǎng)絡(luò)(MMTNN,Max-Margin Tensor Neural Network),能夠?qū)?biāo)記和上下文間復(fù)雜關(guān)系進(jìn)行建模。實驗結(jié)果列于表3和表4中。
表3 在PKU語料上的實驗結(jié)果 %
表4 在MSR語料上的實驗結(jié)果 %
通過比較單模型與多模型結(jié)果可見,多模型分詞效果明顯好于單模型的效果,在兩個數(shù)據(jù)集上F值分別高于單模型方法1.1個百分點和4.3個百分點。多模型的RIV高于單模型,而ROOV低于單模型。在2個數(shù)據(jù)上,單模型方法都具有較高的ROOV。單模型方法學(xué)習(xí)出了字構(gòu)詞的一般性規(guī)律,由于訓(xùn)練時不同字之間的相互影響,產(chǎn)生了噪聲,使得詞典詞識別效果較差。多模型方法充分區(qū)分了每個字,學(xué)習(xí)出了每個字的構(gòu)詞規(guī)律,其RIV明顯高于單模型,但未登錄詞的識別差于單模型。可見,建模粒度是影響RIV與ROOV的關(guān)鍵因素。在最大粒度的單模型與最細(xì)粒度的多模型之間,合適的建模粒度的選擇將在今后工作中被進(jìn)一步研究。
表5展示了該方法與CRF方法的實驗結(jié)果。對比發(fā)現(xiàn),CRF采用4標(biāo)記并加入標(biāo)記轉(zhuǎn)移特征取得了較好的結(jié)果。在PKU數(shù)據(jù)集上,多模型方法獲得的召回率、未登錄詞召回率、詞典詞召回率和F值皆高于CRF4的方法,其中F值比CRF4方法高0.3個百分點。但在MSR數(shù)據(jù)集上,CRF4方法取得了更好的分詞結(jié)果。因為針對MSR數(shù)據(jù)集,CRF4方法與多模型方法獲得的詞典詞召回率相差不大,但未登錄詞召回率相差較大,CRF4方法取得了更好的未登錄詞召回率,使得CRF4方法的結(jié)果好于多模型方法。
表5 與CRF方法的對比 %
表6對比了前人[20-21]的實驗結(jié)果。Zheng和Pei采用隨機初始化字的embedding作為模型的輸入,而(+Pre-trained)表示在一個大的無監(jiān)督的數(shù)據(jù)集上訓(xùn)練字embedding。Zheng(+Pre-trained)和Pei(+Pre-trained)則是將(+Pre-trained)預(yù)先訓(xùn)練獲得的字向量應(yīng)用于Zheng和Pei中,作為輸入的初始化。對比發(fā)現(xiàn),增加預(yù)訓(xùn)練的方法比隨機初始化字embedding的實驗結(jié)果好。多模型與Zheng(+Pre-trained)相比,在PKU和MSR數(shù)據(jù)集上F值高0.6個百分點和1.6個百分點。與Pei(+Pre-trained)方法相比,在PKU數(shù)據(jù)集上F值小0.6個百分點,但在MSR數(shù)據(jù)集上高出0.6個百分點。多模型方法未采用預(yù)訓(xùn)練,可能由于PKU數(shù)據(jù)集相對小,訓(xùn)練時數(shù)據(jù)沒有預(yù)訓(xùn)練方法充分,導(dǎo)致實驗結(jié)果不如Pei(+Pre-trained)。但與Pei相比,PKU數(shù)據(jù)集上F值小0.1百分點,MSR數(shù)據(jù)集上F值高1.1百分點??梢?,本文提出的方法具有較好的分詞效果。
對分詞結(jié)果進(jìn)一步分析發(fā)現(xiàn),多模型很好地區(qū)分出了同類特征對于不同字的作用,如:對于數(shù)字后的字的標(biāo)注,“16周”、“第5屆”、“6位”等情況下,后續(xù)字表量詞的“周”、“屆”、“位”等字標(biāo)記為“S”,而“10時15分”、“2001年”等情況下后續(xù)表時間的字標(biāo)記為“C”。多模型方法很好的區(qū)分了上述情況。以“次”為例,多模型方法比CRF4方法多14個(6.6%)正確標(biāo)注實例。
表6 與前人方法的對比 %
本文提出了一種多模型結(jié)構(gòu)的中文分詞方法。與現(xiàn)有構(gòu)造單一模型的方法不同,該方法針對每一個字單獨建立模型,從而能夠有效區(qū)分每個特征對不同待切分字的影響。在PKU與MSR語料上,效果好于使用相同特征的單一模型。與基于CRF和基于深度學(xué)習(xí)的方法相比,也具有較好的效果。
本文提出方法面向每個字建立一個模型,粒度較細(xì),雖然有效地區(qū)分了每個特征對不同待切分字的影響,但勢必帶來了冗余。在今后工作中,將嘗試稍大粒度的建模方法或使用后處理等方法,將可共享特征分布的字統(tǒng)一建模,從而減少時間和空間的消耗。此外,面向跨領(lǐng)域中文分詞,只需對遷移能力較差的字重新訓(xùn)練模型即可,節(jié)省了具有相似構(gòu)詞規(guī)律的字的訓(xùn)練模型時間。同時,命名實體識別等任務(wù)也可以視為字序列標(biāo)注任務(wù),在此類任務(wù)上也可嘗試本文的方法。
[1]國家技術(shù)監(jiān)督局.(GB12200.190)6.漢語信息處理詞匯01部分:基本術(shù)語[S].北京:中國標(biāo)準(zhǔn)出版社,1991.
[2]來斯惟,徐立恒,陳玉博,等.基于表示學(xué)習(xí)的中文分詞算法探索[J].中文信息學(xué)報,2013,27(5):8-14.
[3]曹勇剛,曹羽中,金茂忠,等.面向信息檢索的自適應(yīng)中文分詞系統(tǒng)[J].軟件學(xué)報,2006,17(3):356-363.
[4]TSENG H,CHANG P,ANDREW G,et al.A conditional random field word segmenter for sighan bakeoff 2005[C]// The Second International Chinese Word Segmentation Bakeoff.Jeju Island,Korea,2005:168-171.
[5]ZHANG Y,CLARK S.Chinese segmentation with a word-based perceptron algorithm.[C]// ACL 2007,Proceedings of the Meeting of the Association for Computational Linguistics,June 23-30,2007,Prague,Czech Republic,2007.
[6]SUN X,ZHANG Y,MATSUZAKI T,et al.A discriminative latent variable Chinese segmenter with hybrid word/character information[C]// Human Language Technologies:the 2009 Conference of the North American Chapter of the Association for Computational Linguistics.Association for Computational Linguistics,Boulder,Colorado,2009:56-64.
[7]XUE N.Chinese word segmentation as character tagging[J].Computational Linguistics and Chinese Language Processing,2003,8(1):29-48.
[8]LAFFERTY J D,MCCALLUM A,PEREIRA F C N.Conditional random fields:probabilistic models for segmenting and labeling sequence data[C]// ICML′ 01 Proceedings of the Eighteenth International Conference on Machine Learning,San Francisco,CA,USA,2001:282-289.
[9]ZHANG R,KIKUI G,SUMITA E.Subword-based tagging by conditional random fields for Chinese word segmentation[C]// the Human Language Technology Conference of the NAACL,Companion Volume:Short Papers,Stroudsburg,PA,USA,2006:193-196.
[10]ZHAO H,LI M,LU B L,et al.Effective tag set selection in Chinese word segmentation via conditional random field modeling[C]// The 20th Pacific Asia Conference on Language,Information and Computation:Proceedings of the Conference,Wuhan,China,2006:87-94.
[11]HE J,LI G H.Research of Chinese word segmentation based on neural network and particle swarm optimization[C]// International Conference on Apperceiving Computing and Intelligence Analysis.IEEE,Chengdu,China,2010:56-59.
[12]CHEN X,QIU X,ZHU C,et al.Long Short-Term Memory Neural Networks for Chinese Word Segmentation[C]// Conference on Empirical Methods in Natural Language Processing,Lisbon,Portugal,2015:1197-1206.
[13]CAI D,ZHAO H.Neural word segmentation learning for Chinese[C]// Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics,Berlin,Germany,2016.
[14]韓冬煦,常寶寶.中文分詞模型的領(lǐng)域適應(yīng)性方法[J].計算機學(xué)報,2015,38(2):272-281.
[15]LIKUN Q,ZHANG Y.Word segmentation for Chinese novels[C]// Proceeding of 29th AAAI Conference on Artificial Intelligence,Austin,Texas,USA,2015:2440-2446.
[16]黃昌寧,趙海.中文分詞十年回顧[J].中文信息學(xué)報,2007,21(3):8-19.
[17]MA J,HINRICHS E.Accurate linear-time Chinese word segmentation via embedding matching[C]// Meeting of the Association for Computational Linguistics and the International Joint Conference on Natural Language Processing,Beijing,China,2015.
[18]CHEN X,QIU X,ZHU C,et al.Gated recursive neural network for Chinese word segmentation[C]// Meeting of the Association for Computational Linguistics and the International Joint Conference on Natural Language Processing,Beijing,China,2015.
[19]THOMAS EMERSON.The second international Chinese word segmentation bakeoff[C]// Proceedings of the Fourth SIGHAN Workshop on Chinese Language Processing,Jeju Island,Korea,2005:133.
[20]ZHENG X,CHEN H,XU T.Deep learning for Chinese word segmentation and POS tagging[C]// Conference on Empirical Methods in Natural Language Processing,Seattle,USA,2013.
[21]PEI W,GE T,CHANG B.Max-margin tensor neural network for chinese word segmentation[C]// Meeting of the Association for Computational Linguistics.Baltimore,MD,USA,2014:293-303.
(責(zé)任編輯:劉劃 英文審校:趙亮)
A character-based multi-model method for Chinese word segmentation
ZHANG Shao-yang,WANG Pei-yan,CAI Dong-feng
(Research Center for Human-computer Intelligence,Shenyang Aerospace University,Shenyang 110136,China)
Character-based tagging method is an effective method for Chinese word segmentation.However,each Chinese character presents its own semantic information while there are different meanings and functions in different contexts in different words.This leads to various correlations with context and results in the difference of word-formation rules for each word.To solve the problem,this paper proposed a multi-model method for Chinese word segmentation.The method which separately constructed model for each character,can effectively distinguish the effects of each feature for different characters,and learn the special word-formation rules of each word.To effectively solve the data sparse problem,we applied the feature embedding to represent the features.Experimental results show that this method is effective for Chinese word segmentation.It can distinguish the similar features′ effect on different characters,and fully reflect the word-formation rules of each word.
Chinese word segmentation;character-based tagging;multi-model;feature embedding
2016-11-30
國家科技支撐計劃項目(項目編號:2015BAH20F01)
張少陽(1991-),男,遼寧鞍山人,碩士研究生,主要研究方向:人工智能及其應(yīng)用,E-mail:zhangshyang@163.com;蔡東風(fēng)(1958-),男,河北霸縣人,教授,主要研究方向:人工智能,自然語言處理,E-mail:caidf@vip.163.com。
2095-1248(2017)01-0070-06
TP391.1
A
10.3969/j.issn.2095-1248.2017.01.011