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