中文分詞技術(shù)

背景

  • 英文以空格作為分隔符,而中文詞語之間沒有分隔;
  • 在中文里,“詞”和“詞組”邊界模糊現(xiàn)代漢語的基本表達(dá)單元雖然為“詞”,且以雙字或者多字詞居多,但由于人們認(rèn)識水平的不同,對詞和短語的邊界很難去區(qū)分;

中文分詞的方法其實不局限于中文應(yīng)用,也被應(yīng)用到英文處理,如手寫識別,單詞之間的空格就不很清楚,中文分詞方法可以幫助判別英文單詞的邊界。

分詞算法

現(xiàn)有的分詞算法可以分為三大類:基于字符串匹配的分詞方法,基于理解的分詞方法,基于統(tǒng)計以及機(jī)器學(xué)習(xí)的分詞方法。

基于字符串匹配的分詞方法

這種方法又叫做機(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個“充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優(yōu)先匹配的情況,可以分為最大(最長)匹配和最?。ㄗ疃蹋┢ヅ?;常用的幾種機(jī)械分詞方法如下:

  • 正向最大匹配法(由左到右的方向);
  • 逆向最大匹配法(由右到左的方向);
  • 最少切分(使每一句中切出的詞數(shù)最?。?;
  • 雙向最大匹配法(進(jìn)行由左到右、由右到左兩次掃描)

還可以將上述各種方法相互組合。例如,可以將正向最大匹配方法和逆向最大匹配方法結(jié)合起來構(gòu)成雙向匹配法。由于漢語單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少。

統(tǒng)計結(jié)果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245。但這種精度還遠(yuǎn)遠(yuǎn)不能滿足實際的需要。實際使用的分詞系統(tǒng),都是把機(jī)械分詞作為一種初分手段,還需通過利用各種其它的語言信息來進(jìn)一步提高切分的準(zhǔn)確率。

基于理解的分詞方法

這種分詞方法是通過讓計算機(jī)模擬人對句子的理解,達(dá)到識別詞的效果。其基本思想就是在分詞的同時進(jìn)行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。它通常包括三個部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對分詞歧義進(jìn)行判斷,即它模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在試驗階段。

基于統(tǒng)計以及機(jī)器學(xué)習(xí)的分詞方法

這類分詞基于人工標(biāo)注的詞性和統(tǒng)計特征,對中文進(jìn)行建模,即根據(jù)觀測到的數(shù)據(jù)(標(biāo)注好的語料)對模型參數(shù)進(jìn)行估計,即訓(xùn)練。 在分詞階段再通過模型計算各種分詞出現(xiàn)的概率,將概率最大的分詞結(jié)果作為最終結(jié)果。常見的序列標(biāo)注模型有HMM和CRF。

從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可信度??梢詫φZ料中相鄰共現(xiàn)的各個字的組合的頻度進(jìn)行統(tǒng)計,計算它們的互現(xiàn)信息。定義兩個字的互現(xiàn)信息,計算兩個漢字X、Y的相鄰共現(xiàn)概率?;ガF(xiàn)信息體現(xiàn)了漢字之間結(jié)合關(guān)系的緊密程度。當(dāng)緊密程度高于某一個閾值時,便可認(rèn)為此字組可能構(gòu)成了一個詞。這種方法只需對語料中的字組頻度進(jìn)行統(tǒng)計,不需要切分詞典,因而又叫做無詞典分詞法或統(tǒng)計取詞方法。

但這種方法也有一定的局限性,會經(jīng)常抽出一些共現(xiàn)頻度高、但并不是詞的常用字組,例如“這一”、“之一”、“有的”、“我的”、“許多的”等,并且對常用詞的識別精度差,時空開銷大。實際應(yīng)用的統(tǒng)計分詞系統(tǒng)都要使用一部基本的分詞詞典(常用詞詞典)進(jìn)行串匹配分詞,同時使用統(tǒng)計方法識別一些新的詞,即將串頻統(tǒng)計和串匹配結(jié)合起來,既發(fā)揮匹配分詞切分速度快、效率高的特點,又利用了無詞典分詞結(jié)合上下文識別生詞、自動消除歧義的優(yōu)點。

另外一類是基于統(tǒng)計機(jī)器學(xué)習(xí)的方法。首先給出大量已經(jīng)分詞的文本,利用統(tǒng)計機(jī)器學(xué)習(xí)模型學(xué)習(xí)詞語切分的規(guī)律(稱為訓(xùn)練),從而實現(xiàn)對未知文本的切分。我們知道,漢語中各個字單獨作詞語的能力是不同的,此外有的字常常作為前綴出現(xiàn),有的字卻常常作為后綴(“者”“性”),結(jié)合兩個字相臨時是否成詞的信息,這樣就得到了許多與分詞有關(guān)的知識。這種方法就是充分利用漢語組詞的規(guī)律來分詞。

優(yōu)點:

  • 這類分詞算法能很好處理歧義和未登錄詞問題,效果比前一類效果好;

缺點:

  • 需要預(yù)先有大量人工標(biāo)注數(shù)據(jù)分好詞的語料作支撐;
  • 較慢的分詞速度;
  • 訓(xùn)練過程中時空開銷極大。
分詞方法總結(jié)

到底哪種分詞算法的準(zhǔn)確度更高,目前并無定論。對于任何一個成熟的分詞系統(tǒng)來說,不可能單獨依靠某一種算法來實現(xiàn),都需要綜合不同的算法。例如,海量科技的分詞算法就采用“復(fù)方分詞法”,所謂復(fù)方,就是像中西醫(yī)結(jié)合般綜合運用機(jī)械方法和知識方法。對于成熟的中文分詞系統(tǒng),需要多種算法綜合處理問題。

常用的分詞工具

基于字符串匹配的分詞工具
基于統(tǒng)計的分詞工具
  • 中科院的 ICTCLAS 分詞,以及Java版的實現(xiàn) ansj,ansj 的性能已超越 ICTCLAS ;ICTCLAS是基于HMM的分詞庫。

參考資料

有哪些比較好的中文分詞方案?
中文分詞-百度百科
常用的開源中文分詞工具
NLP中的中文分詞技術(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容