jieba分詞、自定義詞典提取高頻詞、詞性標註及獲取詞的位置
文章推薦指數: 80 %
支援自定義詞典. 演算法. 基於Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG); 採用了動態規劃查詢最大概率 ...
程式人生>>jieba分詞、自定義詞典提取高頻詞、詞性標註及獲取詞的位置
jieba分詞、自定義詞典提取高頻詞、詞性標註及獲取詞的位置
阿新••發佈:2019-02-05
準備工作
安裝anaconda環境,anaconda環境是一個強大的科學計算環境,自帶python2.7和3.4兩個版本以及很多科學計算庫
安裝完成後配置環境變數,然後在終端用pipinstalljieba安裝結巴分詞庫
jieba介紹
支援三種分詞模式:
精確模式,試圖將句子最精確地切開,適合文字分析;
全模式,把句子中所有的可以成詞的詞語都掃描出來,速度非常快,但是不能解決歧義;
搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
支援繁體分詞
支援自定義詞典
演算法
基於Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)
採用了動態規劃查詢最大概率路徑,找出基於詞頻的最大切分組合
對於未登入詞,採用了基於漢字成詞能力的HMM模型,使用了Viterbi演算法
jieba使用
分詞程式碼
我的工程中的程式碼:
#encoding=utf-8
importjieba
fromastropy.table.np_utilsimportjoin
importos
importsys
f=open(u"爽膚水評論.txt")
line=f.readline()
f2=file(u"分詞後的爽膚水評論.txt","w+")
whileline:
seg_list=jieba.cut(line,cut_all=False)
seg_list="".join(seg_list)
seg_list.encode("utf8")
seg_list.decode("utf8")
f2.write(seg_list)
f2.write("\n")
line=f.readline()
f2.close()
f.close()
print"end"
我在工程中通過這段程式碼進行分詞,按行讀入每條評論,進行分詞,然後按行寫入新的txt中。
測試程式碼:
#encoding=utf-8
importjieba
fromastropy.table.np_utilsimportjoin
importos
importsys
seg_list=jieba.cut("工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作",cut_all=False)
seg_list="".join(seg_list)
printseg_list
執行結果:
Buildingprefixdictfromthedefaultdictionary...
Loadingmodelfromcachec:\users\user\appdata\local\temp\jieba.cache
Loadingmodelcost0.334seconds.
Prefixdicthasbeenbuiltsuccesfully.
工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作
有沒有很強大?
解析程式碼:
jieba.cut(text,cut_all=False)
jieba.cut方法有兩個引數,第一個引數是要分詞的String,第二個引數控制是否為全模式切分,True表示全模式。
當然也可以
jieba.cut(text)
預設為精確模式
全模式和精確模式的效果:
【原句】:我來到北京清華大學
【全模式】:我/來到/北京/清華/清華大學/華大/大學
【精確模式】:我/來到/北京/清華大學
自定義詞典新增
用法:
jieba.load_userdict(file_name)file_name為自定義詞典的路徑
詞典格式和dict.txt一樣,一個詞佔一行;每一行分三部分,一部分為詞語,
另一部分為詞頻,最後為詞性(可省略),用空格隔開
按TF-IDF提取關鍵詞
importjieba.analyse
result=jieba.analyse.extract_tags(sentence,topK)
方法:jieba.analyse.extract_tags(sentence,topK)有兩個引數,第一個為要提取的文字,第二個為要獲取的按tf-idf排序的詞的個數
詞性標註
#encoding=utf-8
importjieba.possegaspseg
words=pseg.cut("我愛北京天安門")
forwinwords:
printw.word,w.flag
----------------------------
執行結果:
我r
愛v
北京ns
天安門ns
其他
並行分詞、獲取一個詞的位置資訊。
。
。
今後遇到再分析
分詞、詞性標註、按TF-IDF獲取關鍵詞等是NLP任務中最初的幾步,jieba還可以自定義詞典、並行分詞、可謂十分強大!
至於jieba和其他分詞工具的比較以及jieba分詞的內部演算法,今後討論
Android論模組化
«上一篇
JsBridge原理是啥?下一篇»
相關推薦
jieba分詞、自定義詞典提取高頻詞、詞性標註及獲取詞的位置
準備工作
安裝anaconda環境,anaconda環境是一個強大的科學計算環境,自帶python2.7和3....
pythonjieba分詞自定義字典
python中結巴分詞的準確性比較高,網上有詳細的教程,包括自字義字典的使用方法。
最近在做實驗室的一個小專案,其中有很多實...
jieba之sedict(自定義字典)
程式碼:importjieba
string="李小福是創新辦主任也是雲端計算方面的專家"
#精確模式分詞
cut...
Xcode自定義.h和.m中檔案的個性化註釋(公司、版本、作者、版權宣告等)
每個iOS開發者新建class檔案的時候都可以看到檔案最上面宣告的一些基本資訊。
而這些資訊都是預設的,我們現...
自定義的tabbar在跳轉之後隱藏tabbar後,tabbar原來的位置不能響應點選事件,這樣解決
yourInnerViewController.h...
HTML5--表單新特性使用自定義錯誤提示訊息validity屬性
一、HTML5表單新特性
這裡由於不是本文的主要內...
jieba分詞自定義詞典
從語料庫down下來的詞頻表,結合業務實際分詞進行調優,新增雲端計算(jieba無法準確劃分該詞)等詞及詞頻,down...
jieba分詞自定義詞典問題
只對長詞起作用
對如果定義的詞比jieba自己分的短,則沒有用
下面是三種分詞方式的影響
原始:
#encodin...
python分詞、自定義詞表、停用詞、詞頻統計與權值(tfidf)、詞性標註與部分詞性刪除
#-*-coding:utf-8-*-
"""
CreatedonTueApr1715:11:442018...
吐血中,呼叫分享到微信好友,載入的網路圖片顯示不出來,微信分享,自定義分享標題、內容描述關鍵詞限制(紅包)
太坑爹了,嘗試吐血後,總結一番,這種問題,讓我從何說說起啊!!!!!!!分享後,自己能看到,自己分享的連結圖片,被分享人竟然看...
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
最近訪問
jieba分詞、自定義詞典提取高頻詞、詞性標註及獲取詞的位置
python實現高精度乘法
cisco命令+login與login+local的區別
金融時間序列分析:+10.+ARMA模型例項(R,Python)
1+、GO簡介及環境
WPS怎麽轉成PPT文件
LU分解+python
一元錢分成1,2,5分錢分配方案
臨時新增環境變數
c+++STL+學習筆記(pair+和+set)
延伸文章資訊
- 1Jieba 中文分詞-一- ——分詞與自定義字典 - 閱坊
Jieba 中文分詞-一- ——分詞與自定義字典. jieba 分詞特點. 支持四種分詞模式:. 精確模式試圖將句子最精確地切開,適合文本分析;.
- 2jieba分词+自定义词典补充+停用词词库补充+词频统计 - 知乎专栏
Python 中文文本分析实战:jieba分词+自定义词典补充+停用词词库补充+词频统计 · 安装结巴: pip install jiaba · 基于Trie树结构实现高效的词图扫描,生成句子中...
- 3Jieba中文分词(一) ——分词与自定义字典 - 腾讯云
Jieba中文分词(一) ——分词与自定义字典 ... 初始化时,先加载词典文件dict.txt,遍历每一行,生成词语-词数的键值对和总词数,并将生成结果保存 ...
- 4jieba结巴分词加入自定义词典 - CSDN博客
添加自定义词典. 开发者可以指定自己自定义的词典,以便包含jieba词库里没有的词。虽然jieba有新词识别能力,但是自行添加新词可以保证更高的正确率
- 5python jieba分詞(結巴分詞)、提取詞,載入詞,修改詞頻
載入自定義詞庫