詞性標註、關鍵詞提取、添加自定義詞典完整代碼示例- 台部落

文章推薦指數: 80 %
投票人數:10人

jieba 是目前最好的Python 中文分詞組件,它主要有以下3 種特性: 支持3 種分詞模式:精確模式、全模式、搜索引擎模式支持繁體分詞支持自定義詞典1 ... 請輸入正確的登錄賬號或密碼 註冊 忘記密碼 首頁 python自然語言處理 正文 python--jieba分詞、詞性標註、關鍵詞提取、添加自定義詞典完整代碼示例 原創 loveysuxin 2020-06-2504:34 jieba 是目前最好的Python中文分詞組件,它主要有以下3種特性: 支持3種分詞模式:精確模式、全模式、搜索引擎模式 支持繁體分詞 支持自定義詞典 1分詞   可使用jieba.cut和jieba.cut_for_search方法進行分詞,兩者所返回的結構都是一個可迭代的generator,可使用for循環來獲得分詞後得到的每一個詞語(unicode),或者直接使用jieba.lcut以及jieba.lcut_for_search直接返回list。

其中: jieba.cut和jieba.lcut接受3個參數: 需要分詞的字符串(unicode或UTF-8字符串、GBK字符串) cut_all參數:是否使用全模式,默認值爲False HMM參數:用來控制是否使用HMM模型,默認值爲True jieba.cut_for_search和jieba.lcut_for_search接受2個參數: 需要分詞的字符串(unicode或UTF-8字符串、GBK字符串) HMM參數:用來控制是否使用HMM模型,默認值爲True #儘量不要使用GBK字符串,可能無法預料地錯誤解碼成UTF-8   Jieba提供了三種分詞模式: 精確模式,試圖將句子最精確地切開,適合文本分析; 全模式,把句子中所有的可以成詞的詞語都掃描出來,速度非常快,但是不能解決歧義; 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。

示例代碼如下: importjieba sent="他來到北京大學讀書。

" seg_list1=jieba.cut(sent,cut_all=True) print('全模式:','/'.join(seg_list1)) seg_list2=jieba.cut(sent,cut_all=False) print('精確模式:','/'.join(seg_list2)) seg_list3=jieba.cut(sent) print('默認精確模式:','/'.join(seg_list3)) seg_list4=jieba.cut_for_search(sent) print('搜索引擎模式:','/'.join(seg_list4)) 運行結果: 全模式:他/來到/北京/北京大學/大學/讀書// 精確模式:他/來到/北京大學/讀書/。

默認精確模式:他/來到/北京大學/讀書/。

搜索引擎模式:他/來到/北京/大學/北京大學/讀書/。

2、添加用戶自定義詞典 開發者可以指定自定義詞典,以便包含jieba詞庫裏沒有的詞,詞典格式如下:  詞語詞頻(可省略)詞性(可省略) 例如: 創新辦3i 雲計算5 瑟琳娜nz 使用 jieba.load_userdict(file_name) 即可載入詞典。

file_name 爲文件類對象或自定義詞典的路徑 示例代碼如下: importjieba '''功能:添加用戶自定義詞典''' sent="周大福是創新辦主任也是雲計算方面的專家" seg_list=jieba.cut(sent,cut_all=False) print('未添加用戶詞典:','/'.join(seg_list)) #加載用戶自定義詞典 jieba.load_userdict("userDic.txt") seg_list=jieba.cut(sent,cut_all=False) print('添加用戶詞典:','/'.join(seg_list)) 運行結果: 未添加用戶詞典:周大福/是/創新/辦/主任/也/是/雲/計算/方面/的/專家 添加用戶詞典:周大福/是/創新辦/主任/也/是/雲計算/方面/的/專家 3、關鍵詞提取 jieba提供了兩種關鍵詞提取方法,分別基於TF-IDF算法和TextRank算法。

通過jieba.analyse.extract_tags方法可以基於TF-IDF算法進行關鍵詞提取,該方法共有4個參數: sentence:爲待提取的文本 topK:爲返回幾個TF/IDF權重最大的關鍵詞,默認值爲20 withWeight:是否一併返回關鍵詞權重值,默認值爲False allowPOS:僅包括指定詞性的詞,默認值爲空 通過jieba.analyse.textrank方法可以使用基於TextRank算法的關鍵詞提取,其與'jieba.analyse.extract_tags'有一樣的參數,但前者默認過濾詞性(allowPOS=('ns','n','vn','v'))。

代碼示例如下: importjieba.analyseasanls#關鍵詞提取 '''功能:提取關鍵詞''' sent=open("all.txt",'r',encoding='UTF-8').read() #基於tf-idf提取關鍵詞 print("基於TF-IDF提取關鍵詞結果:") forx,winanls.extract_tags(sent,topK=20,withWeight=True): print('%s%s'%(x,w)) #基於textrank提取關鍵詞 print("基於textrank提取關鍵詞結果:") forx,winanls.textrank(sent,withWeight=True): print('%s%s'%(x,w)) 運行結果: 基於TF-IDF提取關鍵詞結果: 故宮0.2926176361335443 北京故宮0.264979505 20190.22698925638417722 外朝0.1513261709227848 20180.1513261709227848 中心0.12202795792556963 古建築0.11424658644012657 大殿0.10322119571443038 紫禁城0.09920117016822785 永樂0.09911316359455696 統稱0.0955449146286076 宮殿0.09541328542329114 萬平方米0.0929427829007595 列爲0.09066487540987342 九千餘0.08797897248101266 世界0.08292777352348102 和內廷0.07779265657911393 720.0756630854613924 150.0756630854613924 14060.0756630854613924 基於textrank提取關鍵詞結果: 故宮1.0 中心0.9908920177809065 世界0.5734006593111067 大殿0.5521326736013975 北京故宮0.5316046737608524 英國0.4986608115801715 國家0.48905863236581826 修繕0.457942099649872 中國0.4571298768895292 列爲0.4563189310093983 建築0.4465371080385551 南京0.4374665601969024 外朝0.43039726183147553 統稱0.42592844268023056 工作0.38930993246593065 保護0.38300696880781676 保存0.37770077979626976 皇后0.3717748063436477 美國白宮0.37027900907588707 居住0.36903003334388784 4、詞性標註 importjieba.possegaspseg#詞性標註 sent="他在北京大學讀書" words=pseg.cut(sent) forword,flaginwords: print("{0}{1}".format(word,flag))  運行結果: 他r Prefixdicthasbeenbuiltsuccesfully. 在p 北京大學nt 讀書n   Python自然語言處理 發表評論 登录 所有評論 還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布. 相關文章 python生成詞雲--完整代碼示例 工作之餘,寫個python生成詞雲來玩玩~~~ 運行環境:pycharm,需要引入wordcloud包,中文分詞需要用到jieba 隨便找了一篇介紹“故宮的文章”,以該文章爲例生成詞雲。

fromwordcloudimportWo loveysuxin 2020-06-2504:34:46 01_百度智能雲圖像識別API調用 lsqzedu 2020-03-0222:28:20 02_ITBoy,你的年終總結缺張圖 lsqzedu 2020-03-0222:28:20 python--對文本分詞去停用詞提取關鍵詞並詞雲展示完整代碼示例 loveysuxin 2020-02-2023:45:20 python--統計詞頻Counter loveysuxin 2020-02-2023:45:20 提取關鍵詞--tf-idf算法講解 loveysuxin 2020-02-2023:45:20 python生成詞雲--完整代碼示例 工作之餘,寫個python生成詞雲來玩玩~~~ 運行環境:pycharm,需要引入wordcloud包,中文分詞需要用到jieba 隨便找了一篇介紹“故宮的文章”,以該文章爲例生成詞雲。

fromwordcloudimportWo loveysuxin 2020-06-2504:34:46 困惑度(perplexity)的基本概念及比較多種模型下的計算(N-gram,主題模型/LDA,神經網絡/RNN) 發現網絡上流傳的關於困惑度(perplexity)大多數都是利用了N-gram或者主題模型的例子來闡述的。

但是現在這個年代來學習這個指標的人多半都是想研究神經網絡的,而兩者的對困惑度的計算方法又很不同,這就不能不讓人對“困惑度”感 blmoistawinde 2020-06-1713:21:03 01_百度智能雲圖像識別API調用 lsqzedu 2020-03-0222:28:20 02_ITBoy,你的年終總結缺張圖 lsqzedu 2020-03-0222:28:20 Python正則表達式清洗微博文本特殊符號(網址,@,表情符等) blmoistawinde 2020-02-2502:44:41 用HarvestText自動識別實體及人物別名,用於實體鏈接分析 blmoistawinde 2020-02-2502:44:41 python--對文本分詞去停用詞提取關鍵詞並詞雲展示完整代碼示例 loveysuxin 2020-02-2023:45:20 python--統計詞頻Counter loveysuxin 2020-02-2023:45:20 提取關鍵詞--tf-idf算法講解 loveysuxin 2020-02-2023:45:20 L loveysuxin 24小時熱門文章 瀨043821#學生妹#模特#OL#清純#美腿#高挑#粉紅色奶頭#吞精#粉色嫩穴#奶泡#69#顏射#老漢推車 waerdesfdsfdsf 最新文章 18、python讀文件--read()、read(size)、readline()、readlines() 21、python面向對象編程---訪問權限(私有變量) 爬蟲下來的網頁中文亂碼解決 4、mybatis使用動態帶代理實現增刪改查CRUD xshell---vi操作命令 最新評論文章 一些冷門卻很美的英文單詞,聽過3個以上算我輸 瀨043821#學生妹#模特#OL#清純#美腿#高挑#粉紅色奶頭#吞精#粉色嫩穴#奶泡#69#顏射#老漢推車 #小糖心賴XD12377或加9008688台中情趣試穿麻豆大奶騷貨皮白悶騷型床上很主動耐操配合度高 #高雄外約清純學生妹瀨043821小羽156cmB杯.21歲#鄉下女孩清秀單純嬌小玲瓏調皮可愛 台中東海學生妹校花兼職瀨043821嬌小可愛#甜心#軟萌蘿莉 小小少女一枚乖巧的寶貝#無刺青可愛喜歡撒嬌賣萌 台灣本土吃魚喝茶加小番茄賴fb852喝茶覓小姐羅莉學生咩高雄妹技?平价好喝碗電報:sm20290大台北嫖娼林口龜山淫淫正妹思春看照選妹頻 台北/板橋/學/生/賴fb852台中上/門/服/務/高雄小/模/高/檔/茶 台灣本土吃魚喝茶加小番茄賴fb852喝茶覓小姐羅莉學生咩高雄妹技?平价好喝碗電報:sm20290大台北嫖娼林口龜山淫淫正妹思春看照選妹頻道: t.me/linesm20290 台北/板橋/學/生/賴fb852台中上/門/服/務/高雄小/模/高/檔/茶 加賴ok5320抱著抽插嗎小隻馬69舌吻女上位插穴射出口爆



請為這篇文章評分?