1. 程式人生 > >中文分詞技術(一)

中文分詞技術(一)

一、什麼是分詞:

分 詞就是將連續的字(詞)序列按照一定的規範重新組合成詞序列的過程。《資訊處理用現代漢語分詞規範》中對分詞的定義是:從資訊處理需要出發,按照特定的規 範,對漢語按分詞單位進行劃分的過程。對於英文分詞,只要簡單地以空格為分界符就能很好地把句子分析出來。這是由於英文是以詞為單位的。不同於英文,計算 機對中文分詞時,由於中文句子中詞與詞之間是沒有空格的,而且,兩個字組合起來看似是一個詞在句子中未必是一個詞,所以計算機想要識別出中文句子中的詞, 就必須採用不同於英文分詞的新技術。

二、分詞出現的必要性:

1)人與計算機的溝通的基礎。由於中文文字的字與字之間的連續性,即漢語文字中詞與詞之間卻沒有明確的分隔標記,計算機無法識別出中文文字中哪些漢字串組合成詞,導致處理中文資訊無法直接理解中文的意義。所以,中文資訊處理就必須比西文資訊處理多了中文分詞這一基本的步驟。漢語的中文資訊處理就是要

用計算機對漢語的音、形、義進行處理。而詞是最小的能夠獨立活動的有意義的語言成分 2)中文資訊處理的基礎性工作。網際網路的出現,徹底改變了人們對世界的認識;獲得資訊的成本越來越低,時間越來越短,資訊量也越來越大.在資訊貧泛與資訊爆炸同時存在的時候,伴著資訊幾何級增長,如何對海量資料的處理,快速的定位到資源,是資訊化時代不可缺少的部分。由此發展而來的,資訊檢索技術,文字挖掘,都是依賴於分詞技術,分詞技術還廣泛應用於,文字校對、機器翻譯、語音識別等領域。

三、分詞處理技術:

目前對漢語分詞方法的研究主要有三個方面:基於規則的分詞方法、基於統計的分詞方法和基於理解的分詞方法。

1)基於規則的分詞方法,這種方法又叫做機械分詞方法

,它是按照一定的策略將待分析的漢字串與一個充分大的機器詞典中的詞條進行匹配,若在詞典中找到某個字串,則匹配成功(識別出一個詞) 。常用的方法:最小匹配演算法(Minimum Matching),正向(逆向)最大匹配法(Maximum Matching),逐字匹配演算法,神經網路法、聯想一回溯法,基於N-最短路徑分詞演算法,以及可以相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結合起來構成雙向匹配法等。目前機械式分詞佔主流地位的是正向最大匹配法和逆向最大匹配法.

在所有的分詞演算法中,最早研究的是最小匹配演算法(Minimum Matching),該演算法從待比較字串左邊開始比較,先取前兩個字元組成的欄位與詞典中的詞進行比較,如果詞典中有該詞,則分出此詞,繼續從第三個字元開始取兩個字元組成的欄位進行比較,如果沒有匹配到,則取前

3個字串組成的欄位進行比較,依次類推,直到取的字串的長度等於預先設定的閾值,如果還沒有匹配成功,則從待處理字串的第二個字元開始比較,如此迴圈。例如,如果還沒有匹配成功,取出左邊兩個字組成的欄位與詞典進行比較,分出如果;再從開始,取還沒,字典中沒有此詞,繼續取還沒有,依次取到欄位還沒有匹配”(假設閾值為5),然後從開始,取沒有,如此迴圈直到字串末尾為止。這種方法的優點是速度快,但是準確率卻不是很高,比如待處理字符串為中華人民共和國,此匹配演算法分出的結果為:中華、人民、共和國,因此該方法基本上已經不被採用

基於字串的最大匹配,這種方法現在仍比較常用,最大匹配(Maximum Matching)分為正向和逆向兩種最大匹配,正向匹配的基本思想是:假設詞典中最大詞條所含的漢字個數為n個,取待處理字串的前n個字作為匹配欄位,查詢分詞詞典。若詞典中含有該詞,則匹配成功,分出該詞,然後從被比較字串的n+1處開始再取n個字組成的欄位重新在詞典中匹配;如果沒有匹配成功,則將這n個字組成的欄位的最後一位剔除,用剩下的n1個字組成的欄位在詞典中進行匹配,如此進行下去,直到切分成功為止。例如,待處理字串為漢字多為表意文字,取字串漢語多為表”(假設比較的步長為5,本文步長step都取5)與詞典進行比較,沒有與之對應的詞,去除字,用欄位漢語多為進行匹配,直至匹配到漢語為至,再取字串多為表意,迴圈到切分出文字一詞。目前,正向最大匹配方法作為一種基本的方法已被肯定下來,但是由於錯誤比較大,一般不單獨使用。如字串處理機器發生的故障,在正向最大匹配方法中會出現歧義切分,該字串被分為:處理機、發生、故障,但是使用逆向匹配就能得到有效的切分。

逆向最大匹配RMM(Reverse Directional Maximum Matching Method)的分詞原理和過程與正向最大匹配相似,區別在於前者從文章或者句子(字串)的末尾開始切分,若不成功則減去最前面的一個字。比如對於字串處理機器發生的故障,第一步,從字串的右邊取長度以步長為單位的欄位發生的故障在詞典中進行匹配,匹配不成功,再取欄位生的故障進行匹配,依次匹配,直到分出故障一詞,最終使用RMM方法切分的結果為:故障、發生、機器、處理。該方法要求配備逆序詞典。

一般來說根據漢語詞彙構成的特點,從理論上說明了逆向匹配的精確度高於正向匹配,漢語語句的特點一般中心語偏後。有研究資料,單純使用正向最大匹配的錯誤率為1/ 169 ,單純使用逆向最大匹配的錯誤率為1/245。實際應用中可以從下面幾方面改進,同時採取幾種分詞演算法,來提高正確率;改進掃描方式,稱為特徵掃描或標誌切分,優先在待分析字串中識別和切分出一些帶有明顯特徵的詞,以這些詞作為斷點,可將原字串分為較小的串再來進機械分詞,

從而減少匹配的錯誤率等。

逐字匹配演算法,基於TRIE索引樹的逐字匹配演算法,是建立在樹型詞典機制上,匹配的過程是從索引樹的根結點依次同步匹配待查詞中的每個字,可以看成是對樹某一分枝的遍歷。因此,採用該演算法的分詞速度較快,但樹的構造和維護比較複雜。一種改進的演算法是和最大匹配演算法相結合,吸取最大匹配演算法詞典結構簡單、TRIE索引樹演算法查詢速度快的優點。因此詞典結構和最大匹配詞典構造機制相似,區別在於詞典正文前增加了多級索引。匹配過程類似TRIE引樹進行逐字匹配,在效能上和TRIE索引樹相近。

神經網路分詞演算法,尹峰等提出了以神經網路理論(BP模型)為基礎的漢語分詞模型,為漢語分詞研究開闢了新途徑。在實用中,BP演算法存在收斂速度慢、易陷入區域性最小等缺點,嚴重妨礙了分詞速度。一種改進演算法採用Levenbery2Marquart 演算法來加速收斂速度,加快了收斂速度利用神經網路的基本原理進行分詞。

聯想回溯法(AssociationBacktracking Method,簡稱 AB )。這種方法要求建立三個知識庫——特 徵詞詞庫、實詞詞庫和規則庫。首先將待切分的漢字字串序列按特徵詞詞庫分割為若干子串,子串可以是詞,也可以是由幾個詞組合而成的詞群;然後,再利用實 詞詞庫和規則庫將詞群再細分為詞。切詞時,要利用一定的語法知識,建立聯想機制和回溯機制。聯想機制由聯想網路和聯想推理構成,聯想網路描述每個虛詞的構 詞能力,聯想推理利用相應的聯想網路來判定所描述的虛詞究竟是單獨成詞還是作為其他詞中的構詞成分。回溯機制主要用於處理歧義句子的切分。聯想回溯法雖然增加了演算法的時間複雜度和空間複雜度,但這種方法的切詞正確率較高,是一種行之有效的方法。

基於N-最短路徑分詞演算法,其基本思想是根據詞典,找出字串中所有可能的詞,構造詞語切分有向無環圖。每個詞對應圖中的一條有向邊,並賦給相應的邊長(權值)。然後針對該切分圖,在起點到終點的所有路徑中,求出長度值按嚴格升序排列(任何兩個不同位置上的值一定不等,下同)依次為第1,第2,第i,第N的路徑集合作為相應的粗分結果集。如果兩條或兩條以上路徑長度相等,那麼他們的長度並列第 i,都要列入粗分結果集,而且不影響其他路徑的排列序號,最後的粗分結果集合大小大於或等於NN一最短路徑方法實際上是最短路徑方法和全切分的有機結合。該方法的出發點是儘量減少切分出來的詞數,這和最短路徑分詞方法是完全一致的;同時又要儘可能的包含最終結果,這和全切分的思想是共通的。通過這種綜合,一方面避免了最短路徑分詞方法大量捨棄正確結果的可能,另一方面又大大解決了全切分搜尋空間過大,執行效率差的弊端。N一最短路徑方法相對的不足就是粗分結果不唯一,後續過程需要處理多個粗分結果。但是,對於預處理過程來講,粗分結果的高召回率至關重要。因為低召回率就意味著沒有辦法再作後續的補救措施。預處理一旦出錯,後續處理只能是一錯再錯,基本上得不到正確的最終結果。而少量的粗分結果對後續過程的執行效率影響不會太大,後續處理可以進一步優選排錯,如詞性標註、句法分析等。除上面之外,還有基於詞頻統計的切詞法,基於期望的切詞法,有窮多級列舉法等。

2)基於統計的分詞方法,基於統計的方法是基於(兩個或多個) 漢字同時出現的概率,通過對語料庫(經過處理的大量領域文字的集合)中的文字進行有監督或無監督的學習.可以獲取該類文字的某些整體特徵或規律。如果能夠充分地利用這些統計現象、規律.就可以構造基於語料庫的統計學資訊抽取演算法統計的分析方法多種多樣.近來研究的熱點主要集中於由隨機過程發展而來的理論和方法,其中最重要的是應用隱馬爾科夫模型(HMM)進行自然語言處理的方法。隱馬爾科夫模型,在語音識別領域已經取得了很好的成效,在資訊抽取領域的應用也正在不斷的嘗試和推廣中

3)基於理解分詞,又稱之為知識分詞,知識分詞是一種理想的分詞方法,但這類分詞方案的演算法複雜度高,其有效性與可行性尚需在實際工作中得到進一步的驗證。知識分詞利用有關詞、句子等的句法和語義資訊或者從大量語料中找出漢字組詞的結合特點來進行評價,以期找到最貼近於原句語義的分詞結果。