日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jieba分词的原理

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jieba分词的原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?jieba介紹:

一、支持三種分詞模式:

  • 精確模式,試圖將句子最精確地切開,適合文本分析;
  • 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
  • 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞。

二、jieba自帶了一個叫做dict.txt的詞典, 里面有2萬多條詞, 包含了詞條出現的次數(這個次數是于作者自己基于人民日報語料等資源訓練得出來的)和詞性. 這個第一條的trie樹結構的詞圖掃描, 說的就是把這2萬多條詞語, 放到一個trie樹中, 而trie樹是有名的前綴樹, 也就是說一個詞語的前面幾個字一樣, 就表示他們具有相同的前綴, 就可以使用trie樹來存儲, 具有查找速度快的優勢。

三、jieba分詞應該屬于概率語言模型分詞

? ? ? ?概率語言模型分詞的任務是:在全切分所得的所有結果中求某個切分方案S,使得P(S)最大。

jieba用到的算法:

一、基于Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)

? ? ? ?1. 根據dict.txt生成trie樹。字典在生成trie樹的同時, 也把每個詞的出現次數轉換為了頻率;

? ? ? ?2. 對待分詞句子, 根據dict.txt生成的trie樹, 生成DAG, 實際上通俗的說, 就是對待分詞句子, 根據給定的詞典進行查詞典操作, 生成幾種可能的句子切分。jieba的作者在DAG中記錄的是句子中某個詞的開始位 置, 從0到n-1(n為句子的長度), 每個開始位置作為字典的鍵, value是個list, 其中保存了可能的詞語的結束位置(通過查字典得到詞, 開始位置+詞語的長度得到結束位置)注:所以可以聯想到,jieba支持全模式分詞,能把句子中所有的可以成詞的詞語都掃描出來

? ? ? ?例如:{0:[1,2,3]} 這樣一個簡單的DAG, 就是表示0位置開始, 在1,2,3位置都是詞, 就是說0~1, 0~2,0~3這三個起始位置之間的字符, 在dict.txt中是詞語.可看示例切分詞圖。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

二、采用了動態規劃查找最大概率路徑, 找出基于詞頻的最大切分組合

? ? ? ?1.查找待分詞句子中已經切分好的詞語(我覺得這里應該是全模式下的分詞list), 對該詞語查找該詞語出現的頻率(次數/總數),?如果沒有該詞(既然是基于詞典查找進行的分詞, 應該是有的), 就把詞典中出現頻率最小的那個詞語的頻率作為該詞的頻率, 也就是說P(某詞語)=FREQ.get(‘某詞語’,min_freq)

? ? ? ?2.根據動態規劃查找最大概率路徑的方法, 對句子從右往左反向計算最大概率(一些教科書上可能是從左往右, 這里反向是因為漢語句子的重心經常落在后面, 就是落在右邊, 因為通常情況下形容詞太多, 后面的才是主干, 因此, 從右往左計算, 正確率要高于從左往右計算, 這個類似于逆向最大匹配), P(NodeN)=1.0, P(NodeN-1)=P(NodeN)*Max(P(倒數第一個詞))…依次類推, 最后得到最大概率路徑, 得到最大概率的切分組合.

def calc(sentence,DAG,idx,route): #動態規劃,計算最大概率的切分組合 #輸入sentence是句子,DAG句子的有向無環圖 N = len(sentence) #句子長度 route[N] = (0.0,'') for idx in xrange(N-1,-1,-1): #和range用法一樣,不過還是建議使用xrange #可以看出是從后往前遍歷每個分詞方式的 #下面的FREQ保存的是每個詞在dict中的頻度得分,打分的公式是 log(float(v)/total),其中v就是被打分詞語的頻數 #FREQ.get(sentence[idx:x+1],min_freq)表示,如果字典get沒有找到這個key,那么我們就使用最后的frequency來做 #由于DAG中是以字典+list的結構存儲的,所以確定了idx為key之外, #仍然需要for x in DAG[idx]來遍歷所有的單詞結合方式(因為存在不同的結合方法,例如“國”,“國家”等) #以(頻度得分值,詞語最后一個字的位置)這樣的tuple保存在route中 candidates = [ ( FREQ.get(sentence[idx:x+1],min_freq) + route[x+1][0] , x ) for x in DAG[idx] ] route[idx] = max(candidates)

?

三、對于未登錄詞,采用了基于漢字成詞能力的HMM模型,使用了Viterbi算法

? ? ? ??未登錄詞:詞典 dict.txt 中沒有記錄的詞(注:?就算把dict.txt中所有的詞匯全部刪掉, jieba依然能夠分詞, 不過分出來的詞, 大部分的長度為2.這個就是基于HMM來預測分詞了)

? ? ? ? 1.中文詞匯按照BEMS四個狀態來標記, B是開始begin位置, E是end, 是結束位置, M是middle, 是中間位置, S是singgle, 單獨成詞的位置, 沒有前, 也沒有后. jieba作者就是采用了狀態為(B,E,M,S)這四種狀態來標記中文詞語, 比如北京可以標注為 BE, 即 北/B 京/E, 表示北是開始位置, 京是結束位置, 中華民族可以標注為BMME, 就是開始, 中間, 中間, 結束.

? ? ? ? 2.作者對大量語料進行訓練, 得到了三個概率表。訓通過練得到的概率表和viterbi算法, 就可以得到一個概率最大的BEMS序列, 按照B打頭, E結尾的方式, 對待分詞的句子重新組合, 就得到了分詞結果. 比如 對待分詞的句子 ‘全世界都在學中國話’ 得到一個BEMS序列 [S,B,E,S,S,S,B,E,S] 這個序列只是舉例, 不一定正確, 通過把連續的BE湊合到一起得到一個詞, 單獨的S放單, 就得到一個分詞結果了: 上面的BE位置和句子中單個漢字的位置一一對應, 得到全/S 世界/BE 都/S 在/S 學/S 中國/BE 話/S 從而將句子切分為詞語.

jeiba分詞過程:

1、生成全切分詞圖:根據trie樹對句子進行全切分,并且生成一個鄰接鏈表表示的詞圖(DAG),查詞典形成切分詞圖的主體過程如下所示:

for(int i=0;i<len;){ boolean match = dict.getMatch(sentence, i, wordMatch);//到詞典中查詢 if (match) {// 已經匹配上 for (String word:wordMatch.values) {//把查詢到的詞作為邊加入切分詞圖中 j = i+word.length(); g.addEdge(new CnToken(i, j, 10, word)); } i=wordMatch.end; }else{//把單字作為邊加入切分詞圖中 j = i+1; g.addEdge(new CnToken(i,j,1,sentence.substring(i,j))); i=j; } }

2、計算最佳切分路徑:在這個詞圖的基礎上,運用動態規劃算法生成切分最佳路徑。

3、使用了HMM模型對未登錄詞進行識別:如進行中國人名、外國人名、地名、機構名等未登錄名詞的識別。

重新計算最佳切分路徑。

疑問:

1.識別出的未登錄詞貌似是沒有頻率的以及用戶自定義詞典中詞頻和詞性都是可省略的,那jieba重新計算最佳切分組合是怎么算的?,是把詞典中頻率最小的那個詞語的頻率作為該詞的頻率?

答:詞頻省略時,jieba會自動計算詞頻

轉自https://www.cnblogs.com/echo-cheng/p/7967221.html

總結

以上是生活随笔為你收集整理的jieba分词的原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕在线观看精品 | 欧美精品第一页 | 国产成人三级在线观看视频 | 中文一区在线 | 污网在线观看 | 麻豆视频免费在线 | 又黄又爽又刺激的视频 | 男女啪啪资源 | 成人小视频免费在线观看 | 午夜激情福利电影 | 91精品在线看 | 综合网亚洲 | 亚洲精品成人无码毛片 | 外国黄色网 | 视频一区 中文字幕 | 毛片视频软件 | 日韩成人精品一区 | 蜜桃av成人永久免费 | 精品在线第一页 | 日本精品少妇 | 一级片免费播放 | 伊人影院在线观看视频 | 制服.丝袜.亚洲.中文.综合懂 | 伊人久久青草 | 成人免费在线网址 | 草草影院网址 | 国产精品99久久久久久www | 欧美一区二区三区粗大 | 国产东北女人做受av | 亚洲熟女乱色一区二区三区 | 中文字幕不卡在线播放 | 欧美乱妇18p | 国产又粗又爽视频 | 美女的诞生免费观看在线高清 | av无限看 | 爽爽淫人 | 色伊人 | 欧美高清v| 国产精品高潮呻吟av | 永久久久久久久 | 国产精品视频不卡 | 日本精品一二三区 | 精品国产高清在线观看 | 加勒比波多野结衣 | 天天干天天草天天射 | 国产免费专区 | 最新国产三级 | 亚洲精品热 | 精品国产一二区 | 日本成人性爱 | 天天操天天操天天操天天操天天操 | 91激情网| 3d欧美精品动漫xxxx无尽 | 国产av剧情一区 | 久久婷五月天 | 久久免费在线观看 | 99有精品 | 丁香婷婷久久久综合精品国产 | 久久久久久免费精品 | 秋霞一区二区三区 | 欧美偷拍另类 | 亚洲综合视频在线播放 | 亚洲国产成人精品一区二区三区 | 玉蒲团在线 | 亚洲电影一区二区三区 | 色哟哟av | xxxxx黄色片| 夜av| 紧身裙女教师三上悠亚红杏 | 污漫网站 | 色图在线观看 | 成人欧美一区二区三区在线播放 | 国产激情无码一区二区三区 | 中国女人黄色大片 | 私人午夜影院 | 有码在线| av在线a| 日韩欧美性视频 | 国产一级做a爰片久久毛片男 | 一级黄色播放 | 免费精品视频一区二区三区 | 欧美日韩国产精品一区二区三区 | 韩日在线视频 | 人妻互换一区二区激情偷拍 | 久久久久久国产精品日本 | 操操操插插插 | 中文字幕在线视频免费 | 蜜桃tv一区二区三区 | 欧美高清视频一区二区三区 | 少妇久久久久久被弄高潮 | 17c在线观看视频 | 丰满人妻一区二区三区性色 | 爱爱小视频网站 | 有码中文字幕 | 亚洲欧美综合色 | 久久欧 | 国产免费不卡av | 欧美日韩国产成人精品 | 差差差30分钟 |