中文分詞看似簡單,但其實不是一個小課題,我想在中文分詞上研究的絕不是一個兩個人就可以搞定的事情,不過因時置地的開發適合自己用的分詞也是不錯的打算。不過能夠借用別人的研究結果而最大化的達到效果則也是一種辦法。
如果非要投入到中文分詞的研究中,就不能單純的在分詞中分詞.如很多時候我們自己讀一篇難以歧義的句子,都是通過上下文來判斷的,估計那個時候的分詞則是人工智能的領域.
下面全面介紹下其中文分類的細節
1. 如何進行分詞?
最容易想到的辦法是,用一個大詞典,把所有的詞都存入詞典中,掃描輸入的文本,查找所有可能的詞,然后看哪個詞可以做為輸出。例如:
輸入文本: 我是學生
詞: 我/是/學生
其實這樣做了以后,可以解決60%的問題。總結起來,分詞的算法分為:
1. 基于字符串匹配的分詞方法
2. 基于理解的分詞方法
3. 基于統計的分詞方法
關于這3種算法的詳細介紹,可以查看中文分詞技術.
2.分詞的問題
1.通用詞表和切分規范
信息處理中分詞單位的定義比傳統意義上的詞更寬泛些。分詞系統可以面向解決實際問題的需求和真實語料中使用的頻繁程度來規定“分詞單位”。而傳統詞語是可能不包含所有的詞語的,例如,一些人名、地名、機構名、外國人譯名,應予以識別和切分。一些動詞和形容詞重疊結構,如“高高大大”、“甜甜蜜蜜”等;一些附加詞,如后綴,“親和性”、“熱敏性”等;都可以作為分詞單位予以識別和切分。故對于一個分詞系統而言,制定一個一致性的分詞單位切分規范是需要考慮的.
2.歧義切分字段
文本中歧義切分字段的判別。漢語中歧義切分字段最基本有兩種類型:
交集型歧義字段,如:“中國/人”,“中/國人”兩種切分結果。 組合型歧義。如:“有/才能/”。“他/才/能/告訴/你”
3.未登錄詞識別(新詞)
語言的發展和變化,以及詞的衍生現象非常普遍,不可能都收入辭典中。特別是人名、地名等專有名詞,在文本中有非常高的使用頻度和比例。
3.中文分詞解決方法
a.處理新詞。
如:2003年之前,沒有人知道"非典
"。"非典"剛出現的時候,這就是新詞。還有"超女",
"三個代表","芙蓉姐姐"。識別新詞的能力是評估一個分詞系統的重要指標。在國際上每年進行的分詞大賽中,識別新詞的比賽也單獨提出。2006年
SIGHAN的分詞大賽中,就增添了對于機構名識別的比賽。
識別新詞是最近幾年分詞技術研究的重點。總結起來,無非分成兩種:
1. 基于規則的方法。
2. 基于統計、機器學習。
拿人名識別為例。你不可能把所有的人名都放入詞典中,這決定了人名注定會是新詞。從人名構造來說,很有規律:姓+名。張王劉李陳、天下一半人。也就是說可
能有一半的人,是這五個姓。名也有一定規律:建華/建國/志強.....等有許多經常用于名字中的漢字;對于地名識別也可以找出很多規則,省/縣/村/鎮
/灣/河等,都是很常用的后綴,如果他們出現,之前出現地名的可能性比較大。如果把這些規律轉化成計算機能識別的算法,就是基于規則的算法。這種基于規則
的算法簡單有效,而且發現規則可很方便加入。
規則總會有例外,規則過多以后,如何去權衡這些規則,會是十分頭疼的問題。人們試著告訴計算機目標,讓計算機自己去嘗試各種方法組合這些規則并得到最優參
數,這就機器學習。隨著Machine
Learning(機器學習)技術的不斷進步,其應用范圍也越來越廣,中文分詞算法也從中受益。ANN(人工神經網絡), 最大熵模型,
HMM(隱馬爾可夫模型)等算法都在新詞識別中有應用。
通過機器學習識別新詞的原理并不復雜。一般都是先定義一些特征,然后利用訓練語料進行學習,建立模
型。還是以人名識別為例,可以定義姓名前面的字、姓、名、姓名后面的字做為特征,通過利用標注好姓名的語料庫進行學習訓練。
機器學習識別新詞的好處在于自動尋找一些識別新詞的特征,其準確度和召回率都能達到比較高的水平。但機器學習算法需要有足夠多的訓練語料,人工準備準確的
大規模的訓練語料也會十分困難。另外,機器學習算法一般速度會比較慢,優化速度,使之用于海量數據處理,也是使用機器學習的一個關鍵點。
4.目前分詞廣泛的方法
1.基于詞表的分詞-最大匹配(MM)
這是一種有著廣泛應用的機械分詞方法,該方法依據一個分詞詞表和一個基本的切分評估原則,即“長詞優先”原則,來進行分詞。這種評估原則雖然在大多數情況下是合理的,但也會引發一些切分錯誤。根據我們小規模測試的結果,其正確率為95.422%,速度為65,000字/分鐘。
這種切分方法,需要最少的語言資源(僅需一個詞表,不需要任何詞法、句法、語義知識),程序實現簡單,開發周期短,是一個簡單實用的方法。
2.基于統計的分詞
這種方法首先切分出與詞表匹配的所有可能的詞,這種切分方法稱為“全切分”,運用統計語言模型和決策算法決定最優的切分結果。
這種方法的優點是可以發現所有的切分歧義,但是解決歧義的方法很大程度上取決于統計語言模型的精度和決策算法。需要大量的標注語料,并且分詞速度也因搜索空間的增大而有所緩慢。根據我們小規模測試的結果,其正確率為96.252%。分詞速度為:40,000字/分鐘。
3.基于規則和基于統計相結合
這種方法首先運用最大匹配作為一種初步切分,再對切分的邊界處進行歧義探測,發現歧義。再運用統計和規則結合的方法來判別正確的切分,運用不同的規則解決人名、地名、機構名識別,運用詞法結構規則來生成復合詞和衍生詞。
這段話來自微軟開發分詞的一段.