jieba分詞原始碼分析

2021-08-19 08:30:40 字數 927 閱讀 5304

jieba是乙個開源的中文分詞庫。

posseg:自定義詞典

init.py:jieba分詞的入口

_compat.py:

dict.txt:總的詞庫,記錄乙個詞、詞頻和詞性

test:測試demo

# encoding=utf-8

import jieba

seg_list = jieba.cut("我來到北京清華大學", cut_all=true)

print("full mode: " + "/ ".join(seg_list)) # 全模式

seg_list = jieba.cut("我來到北京清華大學", cut_all=false)

print("default mode: " + "/ ".join(seg_list)) # 精確模式

seg_list = jieba.cut("他來到了網易杭研大廈") # 預設是精確模式

print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造") # 搜尋引擎模式

print(", ".join(seg_list))

輸出結果:

【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學

【精確模式】: 我/ 來到/ 北京/ 清華大學

【新詞識別】:他, 來到, 了, 網易, 杭研, 大廈 (此處,「杭研」並沒有在詞典中,但是也被viterbi演算法識別出來了)

【搜尋引擎模式】: 小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造

jieba分詞原始碼解讀四

在上一節中我們考察了結巴分詞對於未登入詞的分詞方法,它使用了hmm模型和用來解碼hmm的維特比演算法。較之基於語料庫打分的初步分詞結果,例句 喬治馬丁寫冰與火之歌拖了好久 分詞情況變成了這樣 喬治 馬丁 寫冰 與 火之歌 拖 了 好久 比原來有改進,但改進幅度可以忽略不計。下一步我們就要除錯 了,目...

原始碼閱讀之jieba分詞

功能 計算每一步的最優路徑 輸入 sentence 我是來到北京清華大學 dag route defcalc self,sentence,dag,route n len sentence route n 0,0 logtotal log self.total for idx in xrange n ...

jieba分詞流程及部分原始碼解讀(一)

首先我們來看一下jieba分詞的流程圖 結巴中文分詞簡介 1 支援三種分詞模式 精確模式 將句子最精確的分開,適合文字分析 全模式 句子中所有可以成詞的詞語都掃瞄出來,速度快,不能解決歧義 搜尋引擎模式 在精確的基礎上,對長詞再次切分,提高召回 2 支援繁體分詞 3 支援自定義詞典 4 基於trie...