鄒佳倫 文漢云 王同喜


摘要:最近幾年大數據、人工智能的迅猛發展,對數據的采集、加工、挖掘也得到了長足的發展,信息的價值逐漸凸顯,智能推薦、語音識別等高價值的信息處理越來越多的改變生活。如何從互聯網上中文網頁內容提取出有效的識別、提取出有價值的信息是當今信息研究的重要課程。中文分詞作為中文文本處理的重要組成部分,本文作者在對當前分詞的基本問題,以及主要分詞方法的優缺點進行思考和分析的基礎上,重點分析了基于統計的分詞方法,分析了基于統計的分詞器的設計理念與算法思想。文中涉及中文分詞的難點分析,隱含馬爾科夫模型的處理,維特比路徑優化算法。
關鍵詞:中文分詞;隱馬爾科夫模型;路徑優化問題;維特比算法
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2019)04-0149-02
對于自然語言處理,詞是最小的有意義的組成部分。中文相對于英文在“詞”上有明顯的難度。拉丁文語系,詞與詞之間是有明顯的分隔符的存在,而這一點在中文是不存在的,中文詞之間沒有空格符,只能通過對于單個字符、句子、或語句段來劃分。但是中文文本的分析,必須轉換為一個個的最小語義單位“詞”才能進行。因此中文的分詞,不僅是中文自然語言處理中的重要環節,也是中文進行更高層次信息處理,如:語義,語句順序等的基礎。
1 中文分詞發展歷史和現狀
中文分詞早期方法,也是最簡單的方法就是查字典。這種方法最先由北京航空航天大學的梁南元教授提出。查字典的方法,就是建立一個字典,將句子從左向右掃描一次,將句子與詞典進行匹配,遇到字典里面包含的詞語就標識出來。遇到復合詞,找最長的匹配詞切割。這個方法簡單,可以在復雜度不高的前提下處理70%~80%的分詞問題。20世紀80年代,哈爾濱工業大學的王曉龍博士進一步將查字典的方法理論化,發展成為最少詞數的分詞理論。就是將一句話分成數量最少的詞串。基于查字典的方法過于簡單,不適用于稍稍復雜的問題,有一個無法避免的問題,即切分遇到二義性詞就無能為力。
二十世紀九十年代之前,許多海內外學者試圖用一些文法規則,來解決二義性問題,但最后都不是很成功。直到1990年前后,清華大學的郭靜博士用統計語言模型,成功地解決了分詞的二義性問題,成功將中文分詞的錯誤率降低了一個數量級。
基于詞典的中文分詞方法是該領域的主要研究方向,主要包括基于規則、統計、字標注三大類方法。早期主要使用基于規則的方法,即根據中文的特點建立一些處理規則,計算機按照這些處理規則處理文本使之歧義消除。二十一世紀以前,由于這種方法類似于語言學思維,基于規則的分詞方法非常流行,占據了中文分詞研究絕大部分。但后來發現基于規則的分詞方法效率低下,規則越來越龐大復雜,而且語言學家對詞語的定義并不完全相同,這種方法并不能如人所愿。于是基于統計的方法慢慢成為主流,其主要思想是使用某個數學模型作為工具,最常見的且比較成熟的有隱馬爾科夫模型、最大熵模型、條件隨機場模型等。自從基于統計的分詞方法提出來之后,切分速度和準確度都有了明顯提高,明顯優于基于規則的分詞方法。2002年,第一屆SIGHAN研討會上,第一篇基于字標注分詞的文章發布,基于字標注分詞的模型的產品接二連三的出現,技術也越來越成熟,其中比較出名的有Low開發的系統,以及Nianwcn Xuc的系統,它們都有不錯的成果。
2 基于統計的中文分詞的基本原理
由于分詞滿足隱馬爾科夫數學模型,利用隱馬爾科夫模型計算出各種分詞后,句子出現的概率,再利用維特比算法求出最大值,最終找到最好的分詞方法。
3 基于統計的中文分詞的核心算法
3.1 基于隱含馬爾科夫模型的數學模型
隱含馬爾科夫模型是馬爾科夫鏈的一個擴展,任何時刻t的狀態St是不可見的,所以觀察者沒分通過觀察一個序列s1,s2…st來推測轉移概率等參數。但是隱含馬爾科夫模型每個時刻t都會輸出一個符號ot,ot是和st相關且只和st相關的獨立輸出假設。
第二步:針對每一步Ti,計算這一步中的每一個可能分詞的最佳路徑
Best(wi,Tn)=max(Best(wj,Tn-1)P(wi|wj))
其中Best(wi|Tn) 表示分詞wi在Tn時與之前所得到得分詞組成的聯合概率中最佳概,即當前階段所對應字串最可能的分詞,對應圖就是當前階段最可能的分詞所組成的最佳路徑。wj表示wi在最佳路徑上的前向詞,p(wi|wj)是轉移概率,到最后時刻Tm時我們得到最后結果,即完整最佳分詞的路徑,結合圖1,從T1進行到T6最后一步,就得到最后結果,最佳分詞路徑。
4 總結與展望
基于統計方法的中文分詞方法,經過不斷的改進中文分詞的精度已經達到95%以上,已大體解決了中文分詞的問題。但并不是說中文分詞已經非常完美了。對于未登錄詞語的處理一直一個大問題,未登錄詞大致分為兩類:(1)新出現的通用名詞或專業術語(2)專有名詞,如:人名、外國譯名、地名、機構名等。第一種情況的未登錄詞理論上雖然可以預期,可通過人工添加詞表中,但是實際操作中并不容易做到。后一種情況難度更大,完全不能預測,無論詞庫字典如何龐大,都不能概括。松茂松等指出,未登錄詞對分詞精度的影響超過了歧義切分,可見未登錄詞在分詞系統中占有舉足輕重的地位。雖然孫茂松、吳立德、劉挺、鄒嘉彥等做了大量的工作,在一定程度上提高了未登錄詞的分詞效果,但效果仍然不很好。后期仍可以做大量的研究。
參考文獻:
[1] 孫茂松,鄒嘉彥.漢語自動化分詞研究評述[J].當代語言學,2001(1):22-32.
[2] 魏曉宇.基于隱馬爾科夫模型的中文分詞研究[J].計算機教育,2007(1):885-886.
[3] 董振東.漢語分詞研究漫談[J].語言文字應用,1997(1):107-112.
[4] 黃祥喜,書面漢語自動分詞的“生成一測試”方法[J].中文信息學報,1989(4):42-49.
[5] 梁南元.書面漢語自動分詞系統—CDWS[J].中文信息學報,1987(2):44-52.
[6] 劉開瑛.現代漢語自動分詞評測技術研究[J].語言文字應用,1997(1):101-106.
[7] 劉源,梁南元.漢語處理的基礎工程—現代漢語詞頻統計[J].中文信息學報,1986(1):17-25.
[8] 于江生.隱Markov 模型及其在自然語言處理中的應用[M].北京大學計算語言學研究所,1999.
[9] 陳桂林,王永成,等.一種改進的快速分詞算法[M].計算機研究與發展,2000 .
[10] 苗奪謙,衛志華中文文本信息處理的原理與應用[M].清華大學出版社,2000.
【通聯編輯:梁書】