楊濤
摘要:自動分詞技術(shù)是中文信息處理的入門技術(shù)。通過對現(xiàn)有的三類中文分詞算法(即基于詞典的分詞方法、基于統(tǒng)計(jì)的分詞方法和基于理解的分詞方法)的回顧和評述,分析“詞”的界定、歧義消除和未登錄詞識別等制約中文分詞的三大瓶頸,為中文分詞技術(shù)的進(jìn)一步發(fā)展提供方向。
關(guān)鍵詞:中文分詞 分詞算法 歧義消除 未登錄詞
中圖分類號:H087 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-5349(2019)07-0093-03
分詞技術(shù)是自然語言處理的一項(xiàng)基礎(chǔ)任務(wù)。以英語為代表的印歐語系語言在詞之間有明顯的空格作為邊界,一般情況下,詞語都可以比較簡單而準(zhǔn)確地提取出來。相對而言,中文分詞(Chinese word segmentation)就要復(fù)雜得多。中文句子中的字符呈緊密相連的狀態(tài),詞之間沒有明顯的分割標(biāo)記和形態(tài)變化。而在自然語言理解中,詞是表達(dá)意義的基本語言成分,對詞的理解是對句子含義理解的前提條件。因此,中文信息處理的首要問題就是將沒有分隔標(biāo)記的字符串切分為合理的詞序列。在機(jī)器翻譯、信息檢索、文本分類、語音識別等大多數(shù)智能化自然語言任務(wù)中,都需要將分詞系統(tǒng)作為其基本模塊和關(guān)鍵技術(shù)點(diǎn)。中文分詞系統(tǒng)的準(zhǔn)確與否,會直接影響和傳遞到下一級任務(wù)中,進(jìn)而影響到相關(guān)中文信息處理系統(tǒng)的可靠性和實(shí)用性。[1]
一、中文分詞算法
近30多年來,經(jīng)過國內(nèi)外大量學(xué)者的共同努力,中文自動分詞已發(fā)展成一個(gè)獨(dú)立的研究領(lǐng)域,取得了許多可喜的進(jìn)步,也出現(xiàn)了眾多的知識理論和算法。根據(jù)研究方法的不同出發(fā)點(diǎn),現(xiàn)有的分詞算法可以分為三大類:基于詞典的分詞方法、基于統(tǒng)計(jì)的分詞方法和基于理解的分詞方法。
(一)基于詞典的分詞方法
該方法是一種基于規(guī)則的詞切分法。其核心理念是:在進(jìn)行詞切分之前,預(yù)先建立一個(gè)足夠大的機(jī)器詞典,詞典中盡可能包含所有可能出現(xiàn)的詞;然后按照預(yù)定的策略,逐一比對待切分字符串和詞典中的詞條;如成功匹配到相對應(yīng)的字符串,則完成切詞。因此,這種方法也叫做基于字符串匹配的分詞算法或稱為機(jī)械分詞方法。該方法有三個(gè)主要因素:即分詞詞典、匹配規(guī)則和掃描方向。[2]根據(jù)匹配詞長的優(yōu)先度,這種算法分為最大匹配、最小匹配、逐詞匹配和最優(yōu)匹配;根據(jù)文本的不同掃描方向,這種算法分為逆向匹配、正向匹配和雙向匹配。
一般情況下,一個(gè)詞的詞長和它所能表達(dá)的信息量呈正相關(guān),因此,最大匹配算法在一些比較成熟的詞典分詞方法中被廣泛采用。這其中常見的有:正向最大匹配法(Maximum Matching,MM)、逆向最大匹配法(Reverse Maximum Matching,RMM)和雙向最大匹配法(Bi-Direction Maximum Matching,BDMM)等。MM和RMM分詞過程大同小異,都是采用減字的方式進(jìn)行匹配,二者的區(qū)別主要在掃描順序上。而由于信息后置這一中文語句的顯著特點(diǎn),MM的分詞效果相較而言要略遜于RMM。有實(shí)驗(yàn)結(jié)果表明,僅使用MM的錯誤概率為0.59%,而僅使用RMM的錯誤概率為0.41%[3],這樣的分詞效果距離實(shí)際的應(yīng)用還有一定的距離。BDMM是對分別使用了MM和RMM切分結(jié)果中的不重合歧義問題做進(jìn)一步處理,以此降低歧義句造成的分詞錯誤率,但錯誤率的降低是以巨大的時(shí)間消耗換來的。除了上述常用的分詞方法外,還有最佳匹配法、逐詞遍歷法、有窮多層次列舉法和設(shè)立切分標(biāo)志法等。
總體來說,基于詞典的分詞方法算法簡單且易于實(shí)現(xiàn),但詞典的完備性難以保證,特別是對于未登錄詞(out of vocabulary,OOV)的識別率低;由于詞的劃分沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),因此機(jī)器詞典的詞集質(zhì)量對分詞精度造成的影響較大。此外,詞典的匹配速度慢,交集型和組合型歧義的切分問題也是兩個(gè)比較明顯的缺陷。因此,研究者往往將詞典分詞方法作為文本粗分和歧義識別的起始環(huán)節(jié),將其與基于統(tǒng)計(jì)和理解的分詞方法結(jié)合使用,以期提升整體的分詞精度和分詞效率。
(二)基于統(tǒng)計(jì)的分詞方法
近年來,基于統(tǒng)計(jì)的分詞方法成為中文分詞技術(shù)的主流。該算法的依據(jù)是:在漢語上下文中,雖然沒有任何的詞邊界,但相鄰字之間聯(lián)合出現(xiàn)的頻率越高,則其越有可能形成一個(gè)詞。因此,該算法首先對語料中的字符串進(jìn)行全切分,然后對所有可能相鄰共現(xiàn)的字組合進(jìn)行頻率統(tǒng)計(jì),計(jì)算它們的互現(xiàn)信息[4],這樣便將語言問題轉(zhuǎn)化成了統(tǒng)計(jì)問題,繼而建立反映相鄰字互信度的概率模型,從而完成新詞識別和切分。這種算法僅需對語料中每個(gè)詞的頻率進(jìn)行計(jì)算,而不依賴于大規(guī)模的機(jī)器詞典,因此也稱為無詞典分詞方法。該方法常用的統(tǒng)計(jì)量主要有:信息熵、互信息、t-測試差等;相關(guān)的分詞模型包括:N元文法模型(N-gram)、最大熵模型(Maximum Entropy,ME)、隱馬爾可夫模型(Hidden Markov Model,HMM)以及條件隨機(jī)場模型(Conditional Random Fields,CRFs)等。
N-gram模型是一種基于有向圖的全切分算法的經(jīng)典模型。該模型認(rèn)為,單個(gè)詞的出現(xiàn)與其上下文的詞序列相關(guān),即第i個(gè)詞的出現(xiàn)與其前面i-1個(gè)詞相關(guān),而和其他的詞不相關(guān),整個(gè)句子出現(xiàn)的概率是所有詞概率的乘積。我們將與前面一個(gè)詞相關(guān)的模型叫作二元模型;如與前面兩個(gè)詞相關(guān),叫作三元模型;以此類推。在2003年首屆SIGHAN國際中文分詞評測中,N-gram模型是當(dāng)時(shí)大部分系統(tǒng)所采用的分詞模式。[5]
基于字標(biāo)注(Character Tagging)的無向圖算法實(shí)際上是構(gòu)詞方法,它將中文分詞過程轉(zhuǎn)化為字在詞語中的標(biāo)注(詞位)問題。在這種算法中,分詞過程成了字重組的簡單過程,算法的關(guān)鍵是詞位學(xué)習(xí),并根據(jù)人工分詞的語料庫建立模型參數(shù)。近年來,隨著機(jī)器學(xué)習(xí)(Machine Learning,ML)技術(shù)的發(fā)展,隱馬爾可夫模型、支持向量機(jī)、最大熵模型和條件隨機(jī)場等主要機(jī)器學(xué)習(xí)方法被廣泛應(yīng)用于字構(gòu)詞的詞位學(xué)習(xí)任務(wù)中。CRF模型因其綜合了HMM和ME的特質(zhì),成為目前主流的訓(xùn)練模型。資料顯示,第一篇基于字標(biāo)注的論文發(fā)表于首屆SIGHAN研討會上[6],而使用該方法的分詞系統(tǒng)在Bakeoff-2005上嶄露頭角,到了Bakeoff-2006則遍地開花[7]。
該方法的優(yōu)勢在于不需要人工事先建立機(jī)器詞典,其數(shù)據(jù)由機(jī)器從語料中訓(xùn)練獲得,不用設(shè)計(jì)特定的未登錄詞識別模塊,具有一定的歧義消除和未登錄詞識別能力,分詞準(zhǔn)確度也更高。但它也存在一定的局限性,例如經(jīng)常會切分出共現(xiàn)頻率高但不是詞的常見字組。對于長距離依賴導(dǎo)致的分詞錯誤,該算法的處理能力也較弱。此外,該算法需要大規(guī)模、涵蓋面廣的訓(xùn)練語料庫以建立模型參數(shù),計(jì)算量和運(yùn)行時(shí)間開銷比較大,而且分詞精度和訓(xùn)練語料的選擇相關(guān)度很高。
(三)基于理解的分詞方法
該方法也稱為基于人工智能的分詞算法。它在一定程度上是基于“先理解后分詞”的技術(shù)路線設(shè)計(jì)的,旨在解決詞典分詞方法缺少全局信息,而統(tǒng)計(jì)分詞方法缺少句子結(jié)構(gòu)信息的問題,在理論上是一種最理想的分詞方法。其基本思想是:在分詞時(shí)模擬人腦對于語言的理解方式,根據(jù)句法、語義以及構(gòu)詞特點(diǎn)來進(jìn)行分析,以達(dá)到詞匯識別的效果?;诶斫獾姆衷~系統(tǒng)一般分為分詞系統(tǒng)、句法語義系統(tǒng)和總控系統(tǒng)三個(gè)部分。在總控系統(tǒng)的統(tǒng)一協(xié)調(diào)下,分詞系統(tǒng)模擬人類的語言理解能力和思考過程,從句法語義系統(tǒng)中獲得相關(guān)信息,并將其應(yīng)用到詞切分的歧義消除過程中。常見的分詞方法有專家系統(tǒng)分詞法(Expert System)和神經(jīng)網(wǎng)絡(luò)分詞法(BP Neural Network)兩種。
專家系統(tǒng)分詞法從模擬人腦的功能出發(fā),將分詞所需的句法、語義等常識性分詞知識和歧義切分規(guī)則等啟發(fā)性知識從推理機(jī)中獨(dú)立出來,兩者互不干擾,從而便于知識庫的維護(hù)和管理。專家系統(tǒng)分詞的過程可以總結(jié)為利用常識性知識生成詞語樹和利用啟發(fā)性知識進(jìn)行歧義校正的過程。該系統(tǒng)將分詞問題看作知識的推理過程,利用句法、詞法、語用和語義知識進(jìn)行邏輯推理,從而實(shí)現(xiàn)對歧義詞的有效切分。
神經(jīng)網(wǎng)絡(luò)分詞法是通過模擬人腦神經(jīng)元的工作運(yùn)行機(jī)制,進(jìn)行分布處理和數(shù)學(xué)建模,將分詞知識存入內(nèi)部神經(jīng)網(wǎng)絡(luò),通過機(jī)器學(xué)習(xí)和訓(xùn)練給出正確的詞切分結(jié)果。隨著深度神經(jīng)網(wǎng)絡(luò)的興起,人們開始從大量特征工程的研究中解脫出來。從2013年Mikolov提出的Word2Vec[8]模型起,深度學(xué)習(xí)開始大量應(yīng)用到中文自動分詞的前沿研究中。2013年,Zheng采用帶窗口的前饋申請網(wǎng)絡(luò),第一次把神經(jīng)網(wǎng)絡(luò)應(yīng)用到了中文分詞中。[9]2015年,Chen第一次使用單向的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory)實(shí)現(xiàn)了中文自動分詞。[10]
從目前來看,基于理解的分詞方法更加注重利用句法和語義信息來消除歧義現(xiàn)象,具有自學(xué)習(xí)和自組織的能力,提高了分詞的效果。但是,在實(shí)際使用過程中,該算法需要使用大量的語言學(xué)知識,而鑒于漢語句法規(guī)則的復(fù)雜程度,各種語言知識很難輕易轉(zhuǎn)換成機(jī)器可以讀取的形式,實(shí)現(xiàn)起來非常困難,離達(dá)到真正的實(shí)用性還有很大的距離。但作為自動分詞技術(shù)的一種探討,將專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的思想引入中文分詞領(lǐng)域是一種有益的嘗試,具有很好的研究價(jià)值。
二、中文分詞的瓶頸
中文自動分詞領(lǐng)域近年來取得了不小的成就,產(chǎn)出了一些在分詞精度和分詞速度方面具有相當(dāng)水平的實(shí)用分詞系統(tǒng),但中文分詞過程仍存在難以解決的問題,成為制約中文信息處理的一個(gè)瓶頸。目前,中文自動分詞技術(shù)面臨三個(gè)方面的困難:“詞”的界定、歧義消除和未登錄詞識別。
(一)“詞”的界定
對于自動分詞而言,有一個(gè)重要前提是至少要在計(jì)算的意義上能清楚地界定文本中詞的邊界。而對于以漢語為母語的大多數(shù)人來說,“詞”的概念往往是一種朦朧的感覺。在漢語中,“詞”相對于語素和短語之間很多時(shí)候沒有一個(gè)清晰的界限。有調(diào)查表明,以漢語為母語的被試者對于文本中“詞”的認(rèn)同率只有70%左右。[11]在不同的語法教科書中,都可以找到關(guān)于“詞”的抽象定義,而這種模棱兩可的定義是不可計(jì)算的。對于分詞標(biāo)準(zhǔn)的問題,簡單地頒布一個(gè)分詞規(guī)范或給出一條定義無法從根本上解決這一問題。經(jīng)過信息界和語言學(xué)界研究者的共同努力,1992年制訂的國標(biāo)《信息處理用現(xiàn)代漢語分詞規(guī)范》[12]提供了一套比較系統(tǒng)的分詞規(guī)則,并按照詞類分別給出了各類“分詞單位”的定義。但它同時(shí)將“結(jié)合緊密”“使用穩(wěn)定”等這些帶有主觀判斷的標(biāo)準(zhǔn)作為界定準(zhǔn)則,給中文自動分詞系統(tǒng)的實(shí)現(xiàn)和評測都造成了不小的困惑。
(二)歧義消除
漢語博大精深、靈活多變,同一詞語在不同語境中表示不同意義的情況很常見。在漢語分詞過程中,當(dāng)一個(gè)待切分句子中的字串存在多個(gè)切分結(jié)果,則該語句存在切分歧義。歧義的存在加大了分詞的難度,因此,歧義消除理所當(dāng)然地成為分詞的一個(gè)難點(diǎn)。引起切分歧義的情況很多,通常可分為交集型歧義、組合型歧義和真歧義三種類型。統(tǒng)計(jì)結(jié)果表明,交集型歧義在分詞階段占總歧義的比例超過了80%,因此,能否解決交集型歧義的問題在很大程度上決定了分詞系統(tǒng)的歧義消除能力。[13]組合型歧義是指,對于一個(gè)漢字序列“AB”,可以作為“AB”整體為詞,也可切分成“A、B”兩個(gè)詞。例如“將來”一詞在不同的情況下有不同的切分方法:“西安|將來|會|更|好?!焙汀懊魈靯小王|將|來|西安?!北闶莾煞N不同的情況。交集型歧義是指,對于一個(gè)漢字序列“ABC”滿足切分為“AB”“BC”同時(shí)為詞的情況。例如“人民生活好”中可切分出“人民”和“民生”這兩種結(jié)果。真歧義是指一個(gè)句子可以有多種切分結(jié)果,而且從語法和語義的角度來說,所有的結(jié)果都是正確的。例如,“乒乓球拍賣光了”可以切分為“乒乓球|拍賣|光了”和“乒乓球拍|賣|光了”兩種結(jié)果。無論分詞規(guī)范多么詳細(xì),要徹底消除中文的切分歧義非常之難。切分岐義的存在嚴(yán)重影響中文分詞系統(tǒng)的切分精度,而目前大多數(shù)的分詞系統(tǒng)在岐義消除方面還不理想。
(三)未登錄詞識別
歧義詞的存在雖然給中文分詞造成了很大的困難,但仍可以通過不斷擴(kuò)充和修訂詞庫來增加分詞的正確率,相對而言,未登錄詞的識別就顯得更加麻煩。所謂未登錄詞,也叫集外詞,是指分詞系統(tǒng)詞典沒有收錄到的詞語,也指在訓(xùn)練集中沒有出現(xiàn)過的詞語。[14]常見的未登錄詞可以分為兩大類:一類是人名、地名、機(jī)構(gòu)名等專有名詞;一類是新出現(xiàn)的通用詞或?qū)I(yè)術(shù)語等。對于漢語而言,實(shí)詞部分永遠(yuǎn)是一個(gè)開放集,隨著人們表達(dá)方式的轉(zhuǎn)變和社會的發(fā)展,新名詞和網(wǎng)絡(luò)新詞不斷涌現(xiàn);專有名詞雖然更新緩慢,但也不可能全部收入詞典。例如,“冷香凝在寰宇縱橫的演出中非常杠精”一句話,分別出現(xiàn)了人名“冷香凝”、機(jī)構(gòu)名“寰宇縱橫”和網(wǎng)絡(luò)詞“杠精”三個(gè)未登錄詞,給分詞過程帶來了很大的麻煩。未登錄詞極大地影響了分詞系統(tǒng)的精度,它的出現(xiàn)很容易對語句的其他部分造成分詞錯誤。有研究結(jié)果表明,未登錄詞造成的分詞精度失落遠(yuǎn)超過歧義切分引發(fā)的錯誤,從比例上來講至少大5倍以上。[7]因此,能大幅提高未登錄詞識別的分詞方法必定能提升分詞系統(tǒng)的整體切分精度,也正是在這種背景下,前文所述的基于字標(biāo)注的分詞方法才應(yīng)運(yùn)而生。
三、結(jié)語
近些年來,尤其是自2003年SIGHAN舉辦的Bakeoff分詞評測以來,中文分詞技術(shù)在算法創(chuàng)新和理論研究方面取得了很大的成績。但在自然語言處理中,中文信息處理技術(shù)和以英語為代表的西方語言處理技術(shù)仍有很大的差距,即使和同為東方語言的日語之間也形成鮮明對比。分詞系統(tǒng)作為中文信息處理的入門技術(shù),還一直處在“研究系統(tǒng)”階段,即為了取得最高的準(zhǔn)確率和召回率,忽視了資源成本和運(yùn)算時(shí)間成本,系統(tǒng)對訓(xùn)練語料的類型和規(guī)模依賴性較強(qiáng),而未能真正達(dá)到強(qiáng)健的“實(shí)用系統(tǒng)”階段。因此,研究者們需要從分詞精度、運(yùn)行效率、通用性和適用性等多個(gè)角度對中文自動分詞算法不斷改進(jìn),從而開發(fā)出質(zhì)量更高、性能更好的多功能中文自動分詞系統(tǒng)。
參考文獻(xiàn):
[1]劉遷,賈惠波.中文信息處理中自動分詞技術(shù)的研究與展望[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(3):175-177.
[2]翟鳳文.統(tǒng)計(jì)與字典相結(jié)合的中文分詞[D].吉林大學(xué),2005.
[3]劉源,梁南元.漢語處理的基礎(chǔ)工程——現(xiàn)代漢語詞頻統(tǒng)計(jì)[J].中文信息學(xué)報(bào),1986(1):17-25.
[4]張旭.一個(gè)基于詞典和統(tǒng)計(jì)的中文分詞算法[D].成都:電子科技大學(xué),2006.
[5]Emerson T.The second international Chinese word segmentation bakeoff:proceedings of the Fourth SIGHAN Workshop on Chinese Language Processing[C].Jeju Island,2005:123-133.
[6]Xue N,Converse S P.Combining classifiers for Chinese word segmentation:proceedings of the First SIGHAN Workshop on Chinese Language Processing[C].Taipei,2002:57-63.
[7]黃昌寧,趙海.中文分詞十年回顧[J].中文信息學(xué)報(bào),2007(3):8-19.
[8]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[OL].2013.https://arxiv.org/abs/1301.3781.
[9]Zheng X,Chen H,Xu T.Deep learning for Chinese word segmentation and POS tagging:EMNLP 2013:proceedings of the Conference on Empirical Methods in Natural Language Processing[C]. Seattle,2013:647-657.
[10]Chen X,Qiu X,Zhu C,et al.Long short-term memory neural networks for Chinese word segmentation:EMNLP 2015:proceedings of the Conference on Empirical Methods in Natural Language Processing[C].Lisbon,2015:1197-1206.
[11]黃昌寧,高劍峰,李沐.對自動分詞的反思:語言計(jì)算與基于內(nèi)容的文本處理——全國第七屆計(jì)算語言學(xué)聯(lián)合學(xué)術(shù)會議論文集,哈爾濱,2003[C].北京:清華大學(xué)出版社,2003:36-48.
[12]劉源,譚強(qiáng),沈旭昆.信息處理用現(xiàn)代漢語分詞規(guī)范及自動分詞方法[M].北京:清華大學(xué)出版社,1994.
[13]秦贊.中文分詞算法的研究與實(shí)現(xiàn)[D].吉林大學(xué),2016.
[14]邢富坤.中文分詞中未登錄詞分布規(guī)律及處理方法研究[J].解放軍外國語學(xué)院學(xué)報(bào),2013,36(5):27-32.
責(zé)任編輯:張蕊