NLP系列 中文分詞(基於詞典)

2022-09-04 00:15:17 字數 1899 閱讀 6948

詞是最小的能夠獨立活動的有意義的語言成分,一般分詞是自然語言處理的第一項核心技術。英文中每個句子都將詞用空格或標點符號分隔開來,而在中文中很難對詞的邊界進行界定,難以將詞劃分出來。在漢語中,雖然是以字為最小單位,但是一篇文章的語義表達卻仍然是以詞來劃分的。因此處理中文文字時,需要進行分詞處理,將句子轉為詞的表示,這就是中文分詞。

分詞規則,消除歧義和未登入詞識別。

構建完美的分詞規則便可以將所有的句子正確的劃分,但是這根本無法實現,語言是長期發展自然而然形成的,而且語言規則龐大複雜,很難做出完美的分詞規則。

在中文句子中,很多詞是由歧義性的,在一句話也可能有多種分詞方法。比如:」結婚/的/和尚/未結婚/的「,「結婚/的/和/尚未/結婚/的」,人分辨這樣的句子都是問題,更何況是機器。

此外對於未登陸詞,很難對其進行正確的劃分。

基於規則,基於統計以及二者混合。

主要是人工建立詞庫也叫做詞典,通過詞典匹配的方式對句子進行劃分。其實現簡單高效,但是對未登陸詞很難進行處理。主要有正向最大匹配法,逆向最大匹配法以及雙向最大匹配法。

fmm的步驟是:

(1)從左向右取待分漢語句的m個字作為匹配字段,m為詞典中最長詞的長度。

(2)查詢詞典進行匹配。

(3)若匹配成功,則將該字段作為乙個詞切分出去。

(4)若匹配不成功,則將該字段最後乙個字去掉,剩下的字作為新匹配字段,進行再次匹配。

(5)重複上述過程,直到切分所有詞為止。

分詞的結果為:

rmm的基本原理與fmm基本相同,不同的是分詞的方向與fmm相反。rmm是從待分詞句子的末端開始,也就是從右向左開始匹配掃瞄,每次取末端m個字作為匹配字段,匹配失敗,則去掉匹配字段前面的乙個字,繼續匹配。

分詞的結果為:

bi-mm是將正向最大匹配法得到的分詞結果和逆向最大匹配法得到的結果進行比較,然後按照最大匹配原則,選取詞數切分最少的作為結果。據sunm.s.和benjamin k.t.(1995)的研究表明,中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正確,只有大概9.0%的句子兩種切分方法得到的結果不一樣,但其中必有乙個是正確的(歧義檢測成功),只有不到1.0%的句子,使用正向最大匹配法和逆向最大匹配法的切分雖然重合但是錯的,或者兩種方法切分不同但結果都不對(歧義檢測失敗)。

雙向最大匹配的規則是:

(1)如果正反向分詞結果詞數不同,則取分詞數量少的那個。

(2)如果分詞結果詞數相同:

1)分詞結果相同,沒有歧義,返回任意乙個。

2)分詞結果不同,返回其中單字數量較少的那個。

比如:上述例子中詞數相同,但結果不同,逆向最大匹配法的分詞結果單字個數是1,所以返回的是逆向最大匹配法的結果。

分詞的結果為:

基於規則的分詞,一般較為簡單高效,但是詞典的維護很大的人力維護,同時對於未登入詞也沒有很好的解決辦法。雙向最大匹配結合了正反兩種方法的結果,結果較為準確,在實用中文資訊處理中使用廣泛。

待更新。

詳細**可參考github: **連線

參考:個人部落格

《python自然語言處理實戰-核心技術與演算法》塗銘,劉祥,劉樹春  著

《統計自然語言處理》 宗成慶  著

NLP實戰 基於列舉實現中文分詞(python)

邏輯 例子 我們經常有意見分歧 詞典 我們 經常 有 有意見 意見 分歧 列舉滿足詞典的所有可能情況 我們 經常 有 意見 分歧 我們 經常 有意見 分歧 實現所需的資料需求 給定詞典 我們 學習 人工 智慧型 人工智慧 未來 是 另外我們給定unigram概率 p 我們 0.25,p 學習 0.1...

NLP基礎實驗 中文分詞 jieba

中文分詞有很多種,常見的比如有中科院計算所 nlpir 哈工大 ltp 清華大學 thulac 斯坦福分詞器 hanlp 分詞器 jieba 分詞 ikanalyzer 等。官方 三種分詞演算法 支援三種分詞模式 import jieba content 現如今,機器學習和深度學習帶動人工智慧飛速的...

與自定義詞典 分詞 小公尺開源NLP分詞工具

近日,小公尺nlp團隊開源了其分詞工具minlp tokenizer,該分詞工具支援細粒度和粗粒度分詞,且能夠新增使用者自定義詞典。minlp tokenizer是小公尺ai實驗室nlp團隊自研的中文分詞工具,基於深度學習序列標註模型實現,在公開測試集上取得了sota效果。其具備以下特點 pip全自...