基于python中jieba包的中文分詞中詳細使用(一)
01.前言
之前的文章中也是用過一些jieba分詞但是基本上都是處于皮毛,現在就現有的python環境中對其官方檔案做一些自己的理解以及具體的介紹,本文主要內容也是從官網檔案中獲取,
02.jieba的介紹
02.1 What
“jieba” (Chinese for “to stutter”)Chiese text segmention:built to be the best Python Chinse word segmenmtation module.
"jieba"中文分詞:做最好的Python中文分詞組件
02.2特點
- 支持三種分詞模式:
精確模式,試圖將句子最精確地切開,適合文本分析;
全模式,把句子中所有的可以成詞的詞語都掃描處理,速度非常快,但是不能解決歧義;
搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用于引擎分詞, - 支持繁體分詞
- 支持自定義詞典
- MIT授權協議
02.3安裝與使用
鑒于當前提供各大包的組織逐漸放棄對Python2的維護,這里也強烈建議使用Python3,jieba分詞的安裝也是很簡單的,
全自動安裝的方式:pip install jieba (window環境) pip3 install jieba (Linux環境);
使用的方式:import jieba
02.4涉及到的演算法
- 基于前綴詞典實作高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖 (DAG)
- 采用了動態規劃查找最大概率路徑, 找出基于詞頻的最大切分組合
- 對于未登錄詞,采用了基于漢字成詞能力的 HMM (隱馬爾科夫)模型,使用了 Viterbi 演算法
03.主要功能
03.01分詞
jieba.cut方法接受三個輸入引數: 需要分詞的字串;cut_all 引數用來控制是否采用全模式;HMM 引數用來控制是否使用 HMM 模型jieba.cut_for_search方法接受兩個引數:需要分詞的字串;是否使用 HMM 模型,該方法適合用于搜索引擎構建倒排索引的分詞,粒度比較細- 待分詞的字串可以是 unicode 或 UTF-8 字串、GBK 字串,注意:不建議直接輸入 GBK 字串,可能無法預料地錯誤解碼成 UTF-8
jieba.cut以及 jieba.cut_for_search 回傳的結構都是一個可迭代的 generator,可以使用 for 回圈來獲得分詞后得到的每一個詞語(unicode),或者用jieba.lcut以及jieba.lcut_for_search直接回傳 listjieba.Tokenizer(dictionary=DEFAULT_DICT)新建自定義分詞器,可用于同時使用不同詞典,jieba.dt為默認分詞器,所有全域分詞相關函式都是該分詞器的映射,
代碼實體
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-05-05 22:15:13
# @Author : JackPI ([email protected])
# @Link : https://blog.csdn.net/meiqi0538
# @Version : $Id$
import jieba
seg_list = jieba.cut("我來到北京清華大學", cut_all=True)
print("全模式: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我來到北京清華大學", cut_all=False)
print("精準模式: " + "/ ".join(seg_list)) # 精確模式
seg_list = jieba.cut("他來到了網易杭研大廈") # 默認是精確模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search("小明碩士畢業于中國科學院計算所,后在日本京都大學深造") # 搜索引擎模式
print(", ".join(seg_list))
輸出結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.026 seconds.
Prefix dict has been built succesfully.
全模式: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學
精準模式: 我/ 來到/ 北京/ 清華大學
他, 來到, 了, 網易, 杭研, 大廈
小明, 碩士, 畢業, 于, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, ,, 后, 在, 日本, 京都, 大學, 日本京都大學, 深造
[Finished in 1.7s]
03.02添加自定義詞典
- 開發者可以指定自己自定義的詞典,以便包含 jieba 詞庫里沒有的詞,雖然 jieba 有新詞識別能力,但是自行添加新詞可以保證更高的正確率
- 用法:
jieba.load_userdict(file_name)# file_name 為檔案類物件或自定義詞典的路徑 - 詞典格式和
dict.txt一樣,一個詞占一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒,file_name 若為路徑或二進制方式打開的檔案,則檔案必須為 UTF-8 編碼, - 詞頻省略時使用自動計算的能保證分出該詞的詞頻
添加自定義字典舉例
創新辦 3 i
云計算 5
凱特琳 nz
臺中
- 更改分詞器(默認為 jieba.dt)的 tmp_dir 和 cache_file 屬性,可分別指定快取檔案所在的檔案夾及其檔案名,用于受限的檔案系統,
使用案例
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-05-05 22:15:13
# @Author : JackPI ([email protected])
# @Link : https://blog.csdn.net/meiqi0538
# @Version : $Id$
#匯入jieba包
import jieba
#管理系統路徑
import sys
sys.path.append("../")
#獲取自定義詞典
jieba.load_userdict("userdict.txt")
#匯入詞性標注的包
import jieba.posseg as pseg
#添加詞
jieba.add_word('石墨烯')
jieba.add_word('凱特琳')
#洗掉詞
jieba.del_word('自定義詞')
#元組型別的測驗資料
test_sent = (
"李小福是創新辦主任也是云計算方面的專家; 什么是八一雙鹿\n"
"例如我輸入一個帶“韓玉賞鑒”的標題,在自定義詞庫中也增加了此詞為N類\n"
"「臺中」正確應該不會被切開,mac上可分出「石墨烯」;此時又可以分出來凱特琳了,"
)
#默認分詞
words = jieba.cut(test_sent)
print('/'.join(words))#使用/把分詞的結果分開
print("="*40)
#用于詞性標注
result = pseg.cut(test_sent)
#使用for回圈把分出的詞及其詞性用/隔開,并添加,和空格
for w in result:
print(w.word, "/", w.flag, ", ", end=' ')
print("\n" + "="*40)
#對英文的分割
terms = jieba.cut('easy_install is great')
print('/'.join(terms))
#對英文和漢字的分割
terms = jieba.cut('python 的正則運算式是好用的')
print('/'.join(terms))
print("="*40)
# test frequency tune
testlist = [
('今天天氣不錯', ('今天', '天氣')),
('如果放到post中將出錯,', ('中', '將')),
('我們中出了一個叛徒', ('中', '出')),
]
for sent, seg in testlist:
print('/'.join(jieba.cut(sent, HMM=False)))
word = ''.join(seg)
print('%s Before: %s, After: %s' % (word, jieba.get_FREQ(word), jieba.suggest_freq(seg, True)))
print('/'.join(jieba.cut(sent, HMM=False)))
print("-"*40)
結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.063 seconds.
Prefix dict has been built succesfully.
李小福/是/創新辦/主任/也/是/云計算/方面/的/專家/;/ /什么/是/八一雙鹿/
/例如/我/輸入/一個/帶/“/韓玉賞鑒/”/的/標題/,/在/自定義/詞庫/中/也/增加/了/此/詞為/N/類/
/「/臺中/」/正確/應該/不會/被/切開/,/mac/上/可/分出/「/石墨烯/」/;/此時/又/可以/分出/來/凱特琳/了/,
========================================
李小福 / nr , 是 / v , 創新辦 / i , 主任 / b , 也 / d , 是 / v , 云計算 / x , 方面 / n , 的 / uj , 專家 / n , ; / x , / x , 什么 / r , 是 / v , 八一雙鹿 / nz ,
/ x , 例如 / v , 我 / r , 輸入 / v , 一個 / m , 帶 / v , “ / x , 韓玉賞鑒 / nz , ” / x , 的 / uj , 標題 / n , , / x , 在 / p , 自定義 / l , 詞庫 / n , 中 / f , 也 / d , 增加 / v , 了 / ul , 此 / r , 詞 / n , 為 / p , N / eng , 類 / q ,
/ x , 「 / x , 臺中 / s , 」 / x , 正確 / ad , 應該 / v , 不 / d , 會 / v , 被 / p , 切開 / ad , , / x , mac / eng , 上 / f , 可 / v , 分出 / v , 「 / x , 石墨烯 / x , 」 / x , ; / x , 此時 / c , 又 / d , 可以 / c , 分出 / v , 來 / zg , 凱特琳 / nz , 了 / ul , , / x ,
========================================
easy_install/ /is/ /great
python/ /的/正則運算式/是/好用/的
========================================
今天天氣/不錯
今天天氣 Before: 3, After: 0
今天/天氣/不錯
----------------------------------------
如果/放到/post/中將/出錯/,
中將 Before: 763, After: 494
如果/放到/post/中/將/出錯/,
----------------------------------------
我們/中/出/了/一個/叛徒
中出 Before: 3, After: 3
我們/中/出/了/一個/叛徒
----------------------------------------
[Finished in 2.6s]
03.02調整詞典
- 使用
add_word(word, freq=None, tag=None)和del_word(word)可在程式中動態修改詞典, - 使用
suggest_freq(segment, tune=True)可調節單個詞語的詞頻,使其能(或不能)被分出來, - 注意:自動計算的詞頻在使用 HMM 新詞發現功能時可能無效,
>>> print('/'.join(jieba.cut('如果放到post中將出錯,', HMM=False)))
如果/放到/post/中將/出錯/,
>>> jieba.suggest_freq(('中', '將'), True)
494
>>> print('/'.join(jieba.cut('如果放到post中將出錯,', HMM=False)))
如果/放到/post/中/將/出錯/,
>>> print('/'.join(jieba.cut('「臺中」正確應該不會被切開', HMM=False)))
「/臺/中/」/正確/應該/不會/被/切開
>>> jieba.suggest_freq('臺中', True)
69
>>> print('/'.join(jieba.cut('「臺中」正確應該不會被切開', HMM=False)))
「/臺中/」/正確/應該/不會/被/切開
基于python中jieba包的中文分詞中詳細使用(二)
02.關鍵詞提取
02.01基于TF-IDF演算法的關鍵詞提取
import jieba.analyse
- jieba.analyse.extract_tags(sentence, topK=20, withWeight=False,
allowPOS=())
其中需要說明的是:
1.sentence 為待提取的文本
2.topK 為回傳幾個 TF/IDF 權重最大的關鍵詞,默認值為 20
3.withWeight 為是否一并回傳關鍵詞權重值,默認值為 False
4.allowPOS 僅包括指定詞性的詞,默認值為空,即不篩選 - jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 實體,idf_path 為 IDF 頻率檔案
代碼示例
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-05-05 22:15:13
# @Author : JackPI ([email protected])
# @Link : https://blog.csdn.net/meiqi0538
# @Version : $Id$
import jieba
import jieba.analyse
#讀取檔案,回傳一個字串,使用utf-8編碼方式讀取,該檔案位于此python同以及目錄下
content = open('人民的名義.txt','r',encoding='utf-8').read()
tags = jieba.analyse.extract_tags(content,topK=10)
print(",".join(tags))
運行結果
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.280 seconds.
Prefix dict has been built succesfully.
侯亮,李達康,高育良,祁同偉,高小琴,瑞金,陳海,老師,丁義珍,成功
[Finished in 5.9s]
關鍵詞提取所使用逆向檔案頻率(IDF)文本語料庫可以切換成自定義語料庫的路徑
- 用法: jieba.analyse.set_idf_path(file_name) # file_name為自定義語料庫的路徑
- 自定義語料庫示例
勞動防護 13.900677652 勞動防護 13.900677652 生化學 13.900677652 生化學 13.900677652 奧薩貝爾 13.900677652 奧薩貝爾 13.900677652 考察隊員 13.900677652 考察隊員 13.900677652 崗上 11.5027823792 崗上 11.5027823792 倒車檔 12.2912397395 倒車檔 12.2912397395 編譯 9.21854642485 編譯 9.21854642485 蝶泳 11.1926274509 外委 11.8212361103 - 用法示例
import jieba
import jieba.analyse
#讀取檔案,回傳一個字串,使用utf-8編碼方式讀取,該檔案位于此python同以及目錄下
content = open('idf.txt.big','r',encoding='utf-8').read()
tags = jieba.analyse.extract_tags(content, topK=10)
print(",".join(tags))
結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.186 seconds.
Prefix dict has been built succesfully.
13.2075304714,13.900677652,12.8020653633,12.5143832909,12.2912397395,12.1089181827,11.9547675029,11.8212361103,11.7034530746,11.598092559
[Finished in 20.9s]
關鍵詞提取所使用停止詞(Stop Words)文本語料庫可以切換成自定義語料庫的路徑
- 用法: jieba.analyse.set_stop_words(file_name) # file_name為自定義語料庫的路徑
- 自定義語料庫示例:
!
"
#
$
%
&
'
(
)
*
+
,
-
--
.
..
...
......
...................
./
.一
記者
數
年
月
日
時
分
秒
/
//
0
1
2
3
4
- 用法示例
import jieba
import jieba.analyse
#讀取檔案,回傳一個字串,使用utf-8編碼方式讀取,該檔案位于此python同以及目錄下
content = open(u'人民的名義.txt','r',encoding='utf-8').read()
jieba.analyse.set_stop_words("stopwords.txt")
tags = jieba.analyse.extract_tags(content, topK=10)
print(",".join(tags))
結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.316 seconds.
Prefix dict has been built succesfully.
侯亮,李達康,高育良,祁同偉,高小琴,瑞金,陳海,老師,丁義珍,成功
[Finished in 5.2s]
關鍵詞一并回傳關鍵詞權重值示例
import jieba
import jieba.analyse
#讀取檔案,回傳一個字串,使用utf-8編碼方式讀取,該檔案位于此python同以及目錄下
content = open(u'人民的名義.txt','r',encoding='utf-8').read()
jieba.analyse.set_stop_words("stopwords.txt")
tags = jieba.analyse.extract_tags(content, topK=10,withWeight=True)
for tag in tags:
print("tag:%s\t\t weight:%f"%(tag[0],tag[1]))
結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.115 seconds.
Prefix dict has been built succesfully.
tag:侯亮 weight:0.257260
tag:李達康 weight:0.143901
tag:高育良 weight:0.108856
tag:祁同偉 weight:0.098479
tag:高小琴 weight:0.062259
tag:瑞金 weight:0.060405
tag:陳海 weight:0.054036
tag:老師 weight:0.051980
tag:丁義珍 weight:0.049729
tag:成功 weight:0.046647
[Finished in 5.3s]
02.02詞性標注
- jieba.posseg.POSTokenizer(tokenizer=None) 新建自定義分詞器,tokenizer
引數可指定內部使用的 jieba.Tokenizer 分詞器, jieba.posseg.dt 為默認詞性標注分詞器, - 標注句子分詞后每個詞的詞性,采用和 ictclas 兼容的標記法,
- 用法示例
>>> import jieba.posseg as pseg
>>> words = pseg.cut("我愛北京天安門")
>>> for word, flag in words:
... print('%s %s' % (word, flag))
...
我 r
愛 v
北京 ns
天安門 ns
詞性對照表
| 詞性編碼 | 詞性名稱 | 注解 |
|---|---|---|
| Ag | 形語素 | 形容詞性語素,形容詞代碼為 a,語素代碼g前面置以A, |
| a | 形成詞 | 取英語形容詞 adjective的第1個字母, |
| ad | 副形詞 | 直接作狀語的形容詞,形容詞代碼 a和副詞代碼d并在一起, |
| an | 名形詞 | 具有名詞功能的形容詞,形容詞代碼 a和名詞代碼n并在一起, |
| b | 區別詞 | 取漢字“別”的聲母, |
| c | 連詞 | 取英語連詞 conjunction的第1個字母, |
| dg | 副語素 | 副詞性語素,副詞代碼為 d,語素代碼g前面置以D, |
| d | 副詞 | 取 adverb的第2個字母,因其第1個字母已用于形容詞, |
| e | 嘆詞 | 取英語嘆詞 exclamation的第1個字母, |
| f | 方位詞 | 取漢字“方” |
| g | 語素 | 絕大多數語素都能作為合成詞的“詞根”,取漢字“根”的聲母, |
| h | 前接成分 | 取英語 head的第1個字母, |
| i | 成語 | 取英語成語 idiom的第1個字母, |
| j | 簡稱略語 | 取漢字“簡”的聲母, |
| k | 后接成分 | |
| l | 習用語 | 習用語尚未成為成語,有點“臨時性”,取“臨”的聲母, |
| m | 數詞 | 取英語 numeral的第3個字母,n,u已有他用, |
| Ng | 名語素 | 名詞性語素,名詞代碼為 n,語素代碼g前面置以N, |
| n | 名詞 | 取英語名詞 noun的第1個字母, |
| nr | 人名 | 名詞代碼 n和“人(ren)”的聲母并在一起, |
| ns | 地名 | 名詞代碼 n和處所詞代碼s并在一起, |
| nt | 機構團體 | “團”的聲母為 t,名詞代碼n和t并在一起, |
| nz | 其他專名 | “專”的聲母的第 1個字母為z,名詞代碼n和z并在一起, |
| o | 擬聲詞 | 取英語擬聲詞 onomatopoeia的第1個字母, |
| p | 介詞 | 取英語介詞 prepositional的第1個字母, |
| q | 量詞 | 取英語 quantity的第1個字母, |
| r | 代詞 | 取英語代詞 pronoun的第2個字母,因p已用于介詞, |
| s | 處所詞 | 取英語 space的第1個字母, |
| tg | 時語素 | 時間詞性語素,時間詞代碼為 t,在語素的代碼g前面置以T, |
| t | 時間詞 | 取英語 time的第1個字母, |
| u | 助詞 | 取英語助詞 auxiliary |
| vg | 動語素 | 動詞性語素,動詞代碼為 v,在語素的代碼g前面置以V, |
| v | 動詞 | 取英語動詞 verb的第一個字母 |
| vd | 副動詞 | 直接作狀語的動詞,動詞和副詞的代碼并在一起, |
| vn | 名動詞 | 指具有名詞功能的動詞,動詞和名詞的代碼并在一起, |
| w | 標點符號 | |
| x | 非語素字 | 非語素字只是一個符號,字母 x通常用于代表未知數、符號, |
| y | 語氣詞 | 取漢字“語”的聲母, |
| z | 狀態詞 | 取漢字“狀”的聲母的前一個字母 |
| un | 未知詞 | 不可識別詞及用戶自定義詞組,取英文Unkonwn首兩個字母,(非北大標準,CSW分詞中定義) |
02.03并行分詞
- 原理:將目標文本按行分隔后,把各行文本分配到多個 Python 行程并行分詞,然后歸并結果,從而獲得分詞速度的可觀提升
- 基于 python 自帶的 multiprocessing 模塊,目前暫不支持 Windows
- 用法
jieba.enable_parallel(4) # 開啟并行分詞模式,引數為并行行程數 jieba.disable_parallel() # 關閉并行分詞模式
官方使用案例
import sys
import time
sys.path.append("../../")
import jieba
jieba.enable_parallel()
url = sys.argv[1]
content = open(url,"rb").read()
t1 = time.time()
words = "/ ".join(jieba.cut(content))
t2 = time.time()
tm_cost = t2-t1
log_f = open("1.log","wb")
log_f.write(words.encode('utf-8'))
print('speed %s bytes/second' % (len(content)/tm_cost))
- 注意:并行分詞僅支持默認分詞器 jieba.dt 和 jieba.posseg.dt,
02.04Tokenize:回傳詞語在原文的起止位置
注意,輸入引數只接受 unicode
默認模式
import jieba
import jieba.analyse
result = jieba.tokenize(u'永和服裝飾品有限公司')
for tk in result:
print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))
結果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.054 seconds.
Prefix dict has been built succesfully.
word 永和 start: 0 end:2
word 服裝 start: 2 end:4
word 飾品 start: 4 end:6
word 有限公司 start: 6 end:10
[Finished in 3.3s]
- 搜索模式
result = jieba.tokenize(u'永和服裝飾品有限公司', mode='search')
for tk in result:
print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))
結果
word 永和 start: 0 end:2
word 服裝 start: 2 end:4
word 飾品 start: 4 end:6
word 有限 start: 6 end:8
word 公司 start: 8 end:10
word 有限公司 start: 6 end:10
#02.05ChineseAnalyzer for Whoosh 搜索引擎
- 參考: from jieba.analyse import ChineseAnalyzer
- 官方案例
# -*- coding: UTF-8 -*-
from __future__ import unicode_literals
import sys,os
sys.path.append("../")
from whoosh.index import create_in,open_dir
from whoosh.fields import *
from whoosh.qparser import QueryParser
from jieba.analyse import ChineseAnalyzer
analyzer = ChineseAnalyzer()
schema = Schema(title=TEXT(stored=True), path=ID(stored=True), content=TEXT(stored=True, analyzer=analyzer))
if not os.path.exists("tmp"):
os.mkdir("tmp")
ix = create_in("tmp", schema) # for create new index
#ix = open_dir("tmp") # for read only
writer = ix.writer()
writer.add_document(
title="document1",
path="/a",
content="This is the first document we’ve added!"
)
writer.add_document(
title="document2",
path="/b",
content="The second one 你 中文測驗中文 is even more interesting! 吃水果"
)
writer.add_document(
title="document3",
path="/c",
content="買水果然后來世博園,"
)
writer.add_document(
title="document4",
path="/c",
content="工信處女干事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝作業"
)
writer.add_document(
title="document4",
path="/c",
content="咱倆交換一下吧,"
)
writer.commit()
searcher = ix.searcher()
parser = QueryParser("content", schema=ix.schema)
for keyword in ("水果世博園","你","first","中文","交換機","交換"):
print("result of ",keyword)
q = parser.parse(keyword)
results = searcher.search(q)
for hit in results:
print(hit.highlights("content"))
print("="*10)
for t in analyzer("我的好朋友是李明;我愛北京天安門;IBM和Microsoft; I have a dream. this is intetesting and interested me a lot"):
print(t.text)
03.延遲加載
jieba 采用延遲加載,import jieba 和 jieba.Tokenizer() 不會立即觸發詞典的加載,一旦有必要才開始加載詞典構建前綴字典,如果你想手工初始 jieba,也可以手動初始化,
import jieba
jieba.initialize() # 手動初始化(可選)
官方使用案例
#encoding=utf-8
from __future__ import print_function
import sys
sys.path.append("../")
import jieba
def cuttest(test_sent):
result = jieba.cut(test_sent)
print(" ".join(result))
def testcase():
cuttest("這是一個伸手不見五指的黑夜,我叫孫悟空,我愛北京,我愛Python和C++,")
cuttest("我不喜歡日本和服,")
cuttest("雷猴回歸人間,")
cuttest("工信處女干事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝作業")
cuttest("我需要廉租房")
cuttest("永和服裝飾品有限公司")
cuttest("我愛北京天安門")
cuttest("abc")
cuttest("隱馬爾可夫")
cuttest("雷猴是個好網站")
if __name__ == "__main__":
testcase()
jieba.set_dictionary("foobar.txt")
print("================================")
testcase()
04.其他詞典
1.占用記憶體較小的詞典檔案 https://github.com/fxsjy/jieba/raw/master/extra_dict/dict.txt.small
2.支持繁體分詞更好的詞典檔案 https://github.com/fxsjy/jieba/raw/master/extra_dict/dict.txt.big
下載你所需要的詞典,然后覆寫 jieba/dict.txt 即可;或者用 jieba.set_dictionary('data/dict.txt.big')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235267.html
標籤:其他
下一篇:田忌賽馬 貪心演算法
