中文分詞簡介

中文分詞簡介 

一、分詞方法分類   

至於分詞在搜索引擎中的作用,不用多說。以下主要對搜索引擎做簡單的介紹。 

    現有的分詞算法可分爲三大類:基於字符串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。

 

1、基於字符串匹配的分詞方法

       這種方法又叫做機械分詞方法,它是按照一定的策略將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行配,若在詞典中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分爲正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分爲最大(最長)匹配和最小(最短)匹配;按照是否與詞性標註過程相結合,又可以分爲單純分詞方法和分詞與標註相結合的一體化方法。常用的幾種機械分詞方法如下:

1)正向最大匹配法(由左到右的方向);

2)逆向最大匹配法(由右到左的方向);

3)最少切分(使每一句中切出的詞數最小)。

      還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結合起來構成雙向匹配法。由於漢語單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高於正向匹配,遇到的歧義現象也較少。統計結果表明,單純使用正向最大匹配的錯誤率爲1/169,單純使用逆向最大匹配的錯誤率爲1/245。但這種精度還遠遠不能滿足實際的需要。實際使用的分詞系統,都是把機械分詞作爲一種初分手段,還需通過利用各種其它的語言信息來進一步提高切分的準確率。

      一種方法是改進掃描方式,稱爲特徵掃描或標誌切分,優先在待分析字符串中識別和切分出一些帶有明顯特徵的詞,以這些詞作爲斷點,可將原字符串分爲較小的串再來進機械分詞,從而減少匹配的錯誤率。另一種方法是將分詞和詞類標註結合起來,利用豐富的詞類信息對分詞決策提供幫助,並且在標註過程中又反過來對分詞結果進行檢驗、調整,從而極大地提高切分的準確率。

      對於機械分詞方法,可以建立一個一般的模型,在這方面有專業的學術論文,這裏不做詳細論述。

 

2、基於理解的分詞方法

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

 

3、基於統計的分詞方法(畢業設計)

      從形式上看,詞是穩定的字的組合,因此在上下文中,相鄰的字同時出現的次數越多,就越有可能構成一個詞。因此字與字相鄰共現的頻率或概率能夠較好的反映成詞的可信度可以對語料中相鄰共現的各個字的組合的頻度進行統計,計算它們的互現信息。定義兩個字的互現信息,計算兩個漢字XY的相鄰共現概率。互現信息體現了漢字之間結合關係的緊密程度。當緊密程度高於某一個閾值時,便可認爲此字組可能構成了一個詞。這種方法只需對語料中的字組頻度進行統計,不需要切分詞典,因而又叫做無詞典分詞法或統計取詞方法。但這種方法也有一定的侷限性,會經常抽出一些共現頻度高、但並不是詞的常用字組,例如“這一”、“之一”、“有的”、“我的”、“許多的”等,並且對常用詞的識別精度差,時空開銷大。實際應用的統計分詞系統都要使用一部基本的分詞詞典(常用詞詞典)進行串匹配分詞,同時使用統計方法識別一些新的詞,即將串頻統計和串匹配結合起來,既發揮匹配分詞切分速度快、效率高的特點,又利用了無詞典分詞結合上下文識別生詞、自動消除歧義的優點。

 

       到底哪種分詞算法的準確度更高,目前並無定論。對於任何一個成熟的分詞系統來說,不可能單獨依靠某一種算法來實現,都需要綜合不同的算法。筆者瞭解,海量科技的分詞算法就採用“複方分詞法”,所謂複方,相當於用中藥中的複方概念,即用不同的藥才綜合起來去醫治疾病,同樣,對於中文詞的識別,需要多種算法來處理不同的問題。

4、三種分詞算法的比較

各種分詞方法的優劣對比

分詞方法

基於字符串匹配分詞

基於理解的分詞

基於統計的分詞

歧義識別

新詞識別

需要詞典

需要

不需要

不需要

需要語料庫

需要規則庫

算法複雜性

容易

很難

一般

技術成熟度

成熟

不成熟

成熟

實施難度

容易

很難

一般

分詞準確性

一般

準確

較準

分詞速度

一般


二、分詞中的難題

      有了成熟的分詞算法,是否就能容易的解決中文分詞的問題呢?事實遠非如此。中文是一種十分複雜的語言,讓計算機理解中文語言更是困難。在中文分詞過程中,有兩大難題一直沒有完全突破。

 

1、歧義識別(交叉歧義、組合歧義、真歧義)

       歧義是指同樣的一句話,可能有兩種或者更多的切分方法。例如:表面的,因爲“表面”和“面的”都是詞,那麼這個短語就可以分成“表面的”和“表面的”。這種稱爲交叉歧義。像這種交叉歧義十分常見,前面舉的“和服”的例子,其實就是因爲交叉歧義引起的錯誤。“化妝和服裝”可以分成“化妝和服裝”或者“化妝 和服 裝”。由於沒有人的知識去理解,計算機很難知道到底哪個方案正確。

       交叉歧義相對組合歧義來說是還算比較容易處理,組合歧義就必需根據整個句子來判斷了。例如,在句子“這個門把手壞了”中,“把手”是個詞,但在句子“請把手拿開”中,“把手”就不是一個詞;在句子“將軍任命了一名中將”中,“中將”是個詞,但在句子“產量三年中將增長兩倍”中,“中將”就不再是詞。這些詞計算機又如何去識別?如果交叉歧義和組合歧義計算機都能解決的話,在歧義中還有一個難題,是真歧義。真歧義意思是給出一句話,由人去判斷也不知道哪個應該是詞,哪個應該不是詞。例如:“乒乓球拍賣完了”,可以切分成“乒乓球拍賣 完 了”、也可切分成“乒乓球 拍賣 完 了”,如果沒有上下文其他的句子,恐怕誰也不知道“拍賣”在這裏算不算一個詞。

 

2、新詞識別

       新詞,專業術語稱爲未登錄詞。也就是那些在字典中都沒有收錄過,但又確實能稱爲詞的那些詞。最典型的是人名,人可以很容易理解句子“王軍虎去廣州了”中,“王軍虎”是個詞,因爲是一個人的名字,但要是讓計算機去識別就困難了。如果把“王軍虎”做爲一個詞收錄到字典中去,全世界有那麼多名字,而且每時每刻都有新增的人名,收錄這些人名本身就是一項巨大的工程。即使這項工作可以完成,還是會存在問題,例如:在句子“王軍虎頭虎腦的”中,“王軍虎”還能不能算詞?

      新詞中除了人名以外,還有機構名、地名、產品名、商標名、簡稱、省略語等都是很難處理的問題,而且這些又正好是人們經常使用的詞,因此對於搜索引擎來說,分詞系統中的新詞識別十分重要。目前新詞識別準確率已經成爲評價一個分詞系統好壞的重要標誌之一。

 

三、中文分詞的應用

        目前在自然語言處理技術中,中文處理技術比西文處理技術要落後很大一段距離,許多西文的處理方法中文不能直接採用,就是因爲中文必需有分詞這道工序。中文分詞是其他中文信息處理的基礎,搜索引擎只是中文分詞的一個應用。其他的比如機器翻譯(MT)、語音合成、自動分類、自動摘要、自動校對等等,都需要用到分詞。因爲中文需要分詞,可能會影響一些研究,但同時也爲一些企業帶來機會,因爲國外的計算機處理技術要想進入中國市場,首先也是要解決中文分詞問題。在中文研究方面,相比外國人來說,中國人有十分明顯的優勢。

        分詞準確性對搜索引擎來說十分重要,但如果分詞速度太慢,即使準確性再高,對於搜索引擎來說也是不可用的,因爲搜索引擎需要處理數以億計的網頁,如果分詞耗用的時間過長,會嚴重影響搜索引擎內容更新的速度。因此對於搜索引擎來說,分詞的準確性和速度,二者都需要達到很高的要求。目前研究中文分詞的大多是科研院校,清華、北大、中科院、北京語言學院、東北大學、IBM研究院、微軟中國研究院等都有自己的研究隊伍,而真正專業研究中文分詞的商業公司除了海量科技以外,幾乎沒有了。科研院校研究的技術,大部分不能很快產品化,而一個專業公司的力量畢竟有限,看來中文分詞技術要想更好的服務於更多的產品,還有很長一段路。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章