分詞技術怎么樣,如何掌握分詞技術?


導語本周對自然語言處理的分詞技術進行了學習 。本文針對分詞技術的進行了全視角的概覽,目標是掌握什么是分詞技術、為什么需要分詞技術和如何使用分詞技術 。后續將分不同篇幅對其中內容進行深挖和講解 。
文章結構如下(全文閱讀時間大約10分鐘):

分詞技術怎么樣,如何掌握分詞技術?

文章插圖
文章大綱
1.簡介
首先,簡單介紹一下自然語言處理技術(簡稱NLP),是人工智能領域中一個重要的方向,主要研究如何讓人類和計算機之間,能夠使用人類能夠理解的語言進行有效溝通,其涵蓋語言學、計算機科學、數學等多種交叉學科 。
在現如今人工智能技術迅速發展時期,AI技術逐步從感知智能朝認知智能大跨步邁進,NLP技術或許是人類實現強人工智能的關鍵所在 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
NLP技術
什么是分詞技術?分詞技術屬于自然語言處理技術范疇,分詞就是將句子中的詞語劃分出來的技術,人能夠知道哪些是詞語,如何讓計算機能夠理解和劃分,其處理過程就是分詞 。當然,分詞只是一種工具,場景不同,要求也不同 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
分詞
為什么需要分詞技術?因為許多自然語言處理技術都會圍繞詞語展開,例如情感分析、問答模型等;分詞效果直接影響上層技術的效果;并且,詞語是最小粒度有意義的語言成分;英文往往不需要分詞,但中文需要,因為中文在基本文法上有其特殊性,主要體現在:
1.英文以空格作為天然分隔符,中文詞語間沒有分隔
2.古文詞通常是單個漢字,而現在漢語雙字多字詞比較多
3.詞和詞組邊界模糊
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
古文與現代文對比
2.技術難點
到目前為止,中文分詞技術仍存在三大難題未完全突破:
1.分詞的規范:字和詞的界限往往很模糊,并沒有一個公認、權威的標準,會有很多不同主觀上的分詞差異
2.歧義詞的切分,歧義詞的情況分為:交集型歧義、組合型歧義和混合型歧義 。另外,更頭痛的情況就是真歧義,即使是人都無法判斷的情況
3.未登錄詞識別,就是新詞的意思,如人名、地名、網絡用詞等等
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
交集型歧義
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
組合型歧義
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
混合型歧義
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
真歧義
分詞算法概述1算法中的數據結構
在展開算法實現之前,先來講講算法中提到的數據結構:一個是詞典,一個是詞圖 。
詞典一般可以用鏈表或數組實現,更高級的詞典還有Trie樹和AC自動機等,例如在HanLp的源碼中用戶自定義詞典的識別是用的AC自動機實現的(需要了解Trie樹、KMP算法、AC自動機可以在后續的推文中學習) 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
Trie樹
圖作為一種常見的數據結構,其存儲方式一般有兩種:鄰接矩陣和鄰接表 。所謂矩陣其實就是二維數組,所謂鄰接矩陣存儲結構,就是每個頂點用一個一維數組存儲每條邊的信息,就能用矩陣表示圖中各頂點之間的鄰接關系 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
鄰接矩陣
鄰接表,存儲方法跟樹的子鏈表示法相類似,是一種順序分配和鏈式分配相結合的存儲結構 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
鄰接圖
2分詞算法簡介
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
分詞算法
現有的分詞算法,大體上可以分為如下幾類:1.基于規則的分詞算法 2.基于統計的分詞算法 3.基于語義的分詞算法 4.基于理解的分詞算法(該部分內容在本期后續推文中會展開講解)
基于規則的分詞算法主要思想是按照一定的策略將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行匹配 。若在詞典中找到某個字符串,則匹配成功 。該方法有三個要素,即分詞詞典、文本掃描順序和匹配原則 。

推薦閱讀