大家好,我是安果!
分詞在自然語言處理中有著常見的場景,比如從一篇文章自動提取關鍵詞就需要用到分詞工具,中文搜索領域同樣離不開分詞
Python 中有很多開源的分詞工具,下面給大家介紹幾款常見的分詞依賴庫
1. jieba 分詞
“結巴” 分詞,GitHub 最受歡迎的分詞工具,立志做最好的 Python 中文分詞組件,支持多種分詞模式,支持自定義詞典
github star:26k
代碼示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import jieba strs = [ "我來到北京清華大學" , "乒乓球拍賣完了" , "中國科學技術大學" ] for str in strs: seg_list = jieba.cut( str ,use_paddle = True ) # 使用paddle模式 print ( "Paddle Mode: " + '/' .join( list (seg_list))) 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)) |
輸出:
1
2
3
4
5
6
7
|
【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學 【精確模式】: 我/ 來到/ 北京/ 清華大學 【新詞識別】:他, 來到, 了, 網易, 杭研, 大廈 (此處,“杭研”并沒有在詞典中,但是也被Viterbi算法識別出來了) 【搜索引擎模式】: 小明, 碩士, 畢業, 于, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 后, 在, 日本, 京都, 大學, 日本京都大學, 深造 |
項目地址:
https://github.com/fxsjy/jieba
2. pkuseg 分詞
pkuseg 是北大語言計算與機器學習研究組開源的一款分詞工具
它的特點是支持多領域分詞,目前支持新聞領域,網絡領域,醫藥領域,旅游領域,以及混合領域的分詞預訓練模型,用戶可以自由地選擇不同的模型
相比通用分詞工具,它的分詞準確率更高
github star:5.4k
代碼示例
1
2
3
4
5
|
import pkuseg seg = pkuseg.pkuseg() # 以默認配置加載模型 text = seg.cut( 'python是一門很棒的語言' ) # 進行分詞 print (text) |
輸出
1
|
['python', '是', '一', '門', '很', '棒', '的', '語言'] |
項目地址:
https://github.com/lancopku/pkuseg-python
3. FoolNLTK 分詞
基于 BiLSTM 模型訓練而成,據說可能是最準的開源中文分詞,同樣支持用戶自定義詞典
GitHub star: 1.6k
代碼示例
1
2
3
4
5
|
import fool text = "一個傻子在北京" print (fool.cut(text)) # ['一個', '傻子', '在', '北京'] |
項目地址:
https://github.com/rockyzhengwu/FoolNLTK
4. THULAC
THULAC 由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包
具有詞性標注功能,能分析出某個詞是名詞還是動詞或者形容詞
github star:1.5k
代碼示例
1
2
3
4
5
6
7
8
|
import thulac thu1 = thulac.thulac() #默認模式 text = thu1.cut( "我愛北京天安門" , text = True ) #進行一句話分詞 print (text) # 我_r 愛_v 北京_ns 天安門_ns 代碼示例 2 thu1 = thulac.thulac(seg_only = True ) #只進行分詞,不進行詞性標注 thu1.cut_f( "input.txt" , "output.txt" ) #對input.txt文件內容進行分詞,輸出到output.txt |
項目地址:
https://github.com/thunlp/THULAC-Python
目前我在用的還是結巴分詞,配合用戶自定義詞典,解決常見的網絡詞語
你在用什么分詞工具,歡迎留下你的意見
以上就是簡述python四種分詞工具,盤點哪個更好用?的詳細內容,更多關于python 分詞工具的資料請關注服務器之家其它相關文章!
原文鏈接:https://mp.weixin.qq.com/s/cfubf3NTCeyNkJk5uH5cXA