Python的jieba分詞及TF-IDF和TextRank 演算法提取關鍵字

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

基於TF-IDF演算法的關鍵詞抽取 import jieba import jieba.analyse sentence = '全國港澳研究會會長徐澤在會上發言指出,學習系列重要講話要深刻領會 ... 程式人生>>Python的jieba分詞及TF-IDF和TextRank演算法提取關鍵字 Python的jieba分詞及TF-IDF和TextRank演算法提取關鍵字 阿新••發佈:2018-12-09 參考文章:Github上的專案———jieba 中文分詞 對於NLP(自然語言處理)來說,分詞是一步重要的工作,市面上也有各種分詞庫,11款開放中文分詞系統比較。

1.基於詞典:基於字典、詞庫匹配的分詞方法;(字串匹配、機械分詞法) 2.基於統計:基於詞頻度統計的分詞方法; 3.基於規則:基於知識理解的分詞方法。

第一類方法應用詞典匹配、漢語詞法或其它漢語語言知識進行分詞,如:最大匹配法、最小分詞方法等。

這類方法簡單、分詞效率較高,但漢語語言現象複雜豐富,詞典的完備性、規則的一致性等問題使其難以適應開放的大規模文字的分詞處理。

第二類基於統計的分詞方法則基於字和詞的統計資訊,如把相鄰字間的資訊、詞頻及相應的共現資訊等應用於分詞,由於這些資訊是通過調查真實語料而取得的,因而基於統計的分詞方法具有較好的實用性。

jieba分詞,完全開源,有整合的python庫,簡單易用。

 jieba分詞是基於字首詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG),動態規劃查詢最大概率路徑,找出基於詞頻的最大切分組合 安裝jieba 在安裝有python3和pip的機子上,安裝jieba庫很簡單,使用pip即可: pipinstalljieba 1 jieba分詞特性 支援三種分詞模式: 精確模式,試圖將句子最精確地切開,適合文字分析; 全模式,把句子中所有的可以成詞的詞語都掃描出來,速度非常快,但是不能解決歧義; 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。

支援繁體分詞 支援自定義詞典 MIT授權協議 主要功能 分詞 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 直接返回 list jieba.Tokenizer(dictionary=DEFAULT_DICT):新建自定義分詞器,可用於同時使用不同詞典。

jieba.dt為預設分詞器,所有全域性分詞相關函式都是該分詞器的對映。

#官方例程 #encoding=utf-8 importjieba seg_list=jieba.cut("我來到北京清華大學",cut_all=True) print("FullMode:"+"/".join(seg_list))#全模式 seg_list=jieba.cut("我來到北京清華大學",cut_all=False) print("DefaultMode:"+"/".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 8 9 10 11 12 13 14 15 16 【全模式】:我/來到/北京/清華/清華大學/華大/大學 【精確模式】:我/來到/北京/清華大學 【新詞識別】:他,來到,了,網易,杭研,大廈(此處,“杭研”並沒有在詞典中,但是也被Viterbi演算法識別出來了) 【搜尋引擎模式】:小明,碩士,畢業,於,中國,科學,學院,科學院,中國科學院,計算,計算所,後,在,日本,京都,大學,日本京都大學,深造 關鍵詞提取 基於TF-IDF(termfrequency–inversedocumentfrequency)演算法的關鍵詞抽取 importjieba.analyse jieba.analyse.extract_tags(sentence,topK=20,withWeight=False,allowPOS=()) sentence :為待提取的文字 topK:為返回幾個TF/IDF權重最大的關鍵詞,預設值為20 withWeight :為是否一併返回關鍵詞權重值,預設值為False allowPOS :僅包括指定詞性的詞,預設值為空,即不篩選 #基於TF-IDF演算法的關鍵詞抽取 importjieba importjieba.analyse sentence='全國港澳研究會會長徐澤在會上發言指出,學習系列重要講話要深刻領會主席關於香港迴歸後的憲制基礎和憲制秩序的論述,這是過去20年特別是中共十八大以來"一國兩制"在香港實踐取得成功的根本經驗。

首先,要在夯實香港的憲制基礎、鞏固香港的憲制秩序上著力。

只有牢牢確立起"一國兩制"的憲制秩序,才能保證"一國兩制"實踐不走樣、不變形。

其次,要在完善基本法實施的制度和機制上用功。

中央直接行使的權力和特區高度自治權的結合是特區憲制秩序不可或缺的兩個方面,同時必須切實建立以行政長官為核心的行政主導體制。

第三,要切實加強香港社會特別是針對公職人員和青少年的憲法、基本法宣傳,牢固樹立"一國"意識,堅守"一國"原則。

第四,要努力在全社會形成聚焦發展、抵制泛政治化的氛圍和勢能,全面準確理解和落實基本法有關經濟事務的規定,使香港繼續在國家發展中發揮獨特作用並由此讓最廣大民眾獲得更實在的利益。

' keywords=jieba.analyse.extract_tags(sentence,topK=20,withWeight=True,allowPOS=('n','nr','ns')) #print(type(keywords)) # foriteminkeywords: print(item[0],item[1]) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 執行結果:  基於TextRank演算法的關鍵詞抽取 jieba.analyse.textrank(sentence,topK=20,withWeight=False,allowPOS=(‘ns’,‘n’,‘vn’,‘v’)) 直接使用,介面相同,注意預設過濾詞性。

jieba.analyse.TextRank()新建自定義TextRank例項 基本思想: 將待抽取關鍵詞的文字進行分詞 以固定視窗大小(預設為5,通過span屬性調整),詞之間的共現關係,構建圖 計算圖中節點的PageRank,注意是無向帶權圖 #基於TextRank演算法的關鍵詞抽取 keywords=jieba.analyse.extract_tags(sentence,topK=20,withWeight=True,allowPOS=('n','nr','ns')) #type(keywords) # foriteminkeywords: print(item[0],item[1]) 1 2 3 4 5 6 7 8 9 執行結果: 詞性標註 jieba.posseg.POSTokenizer(tokenizer=None)新建自定義分詞器,tokenizer引數可指定內部使用的jieba.Tokenizer分詞器。

jieba.posseg.dt為預設詞性標註分詞器。

標註句子分詞後每個詞的詞性,採用和ictclas相容的標記法。

#官方例程 importjieba.possegaspseg words=pseg.cut("我愛北京天安門") #words類別為:generator forword,flaginwords: print('%s%s'%(word,flag)) 1 2 3 4 5 6 7 8 執行結果: 我r 愛v 北京ns 天安門ns 詞性對照表 名詞(1個一類,7個二類,5個三類) 名詞分為以下子類: n名詞 nr人名 nr1漢語姓氏 nr2漢語名字 nrj日語人名 nrf音譯人名 ns地名 nsf音譯地名 nt機構團體名 nz其它專名 nl名詞性慣用語 ng名詞性語素 時間詞(1個一類,1個二類) t時間詞 tg時間詞性語素 處所詞(1個一類) s處所詞 方位詞(1個一類) f方位詞 動詞(1個一類,9個二類) v動詞 vd副動詞 vn名動詞 vshi動詞“是” vyou動詞“有” vf趨向動詞 vx形式動詞 vi不及物動詞(內動詞) vl動詞性慣用語 vg動詞性語素 形容詞(1個一類,4個二類) a形容詞 ad副形詞 an名形詞 ag形容詞性語素 al形容詞性慣用語 區別詞(1個一類,2個二類) b區別詞 bl區別詞性慣用語 狀態詞(1個一類) z狀態詞 代詞(1個一類,4個二類,6個三類) r代詞 rr人稱代詞 rz指示代詞 rzt時間指示代詞 rzs處所指示代詞 rzv謂詞性指示代詞 ry疑問代詞 ryt時間疑問代詞 rys處所疑問代詞 ryv謂詞性疑問代詞 rg代詞性語素 數詞(1個一類,1個二類) m數詞 mq數量詞 量詞(1個一類,2個二類) q量詞 qv動量詞 qt時量詞 副詞(1個一類) d副詞 介詞(1個一類,2個二類) p介詞 pba介詞“把” pbei介詞“被” 連詞(1個一類,1個二類) c連詞 cc並列連詞 助詞(1個一類,15個二類) u助詞 uzhe著 ule了嘍 uguo過 ude1的底 ude2地 ude3得 usuo所 udeng等等等云云 uyy一樣一般似的般 udh的話 uls來講來說而言說來 uzhi之 ulian連(“連小學生都會”) 嘆詞(1個一類) e嘆詞 語氣詞(1個一類) y語氣詞(deleteyg) 擬聲詞(1個一類) o擬聲詞 字首(1個一類) h字首 字尾(1個一類) k字尾 字串(1個一類,2個二類) x字串 xx非語素字 xu網址URL 標點符號(1個一類,16個二類) w標點符號 wkz左括號,全形:(〔[{《【〖〈半形:([{ wyz左引號,全形:“‘『 wyy右引號,全形:”’』 wj句號,全形:。

 ww問號,全形:?半形:? wt歎號,全形:!半形:! wd逗號,全形:,半形:, wf分號,全形:;半形:; wn頓號,全形:、 wm冒號,全形::半形:: ws省略號,全形:……… wp破折號,全形:——--——-半形:——- wb百分號千分號,全形:%‰半形:% wh單位符號,全形:¥$£°℃半形:$ 轉自https://blog.csdn.net/sinat_34022298/article/details/75943272   侵請聯刪 解決從GitHub上下載檔案慢的問題 «上一篇 開啟txt或者其他檔案出現編碼錯誤的下一篇» 相關推薦 Python的jieba分詞及TF-IDF和TextRank演算法提取關鍵字 參考文章:Github上的專案———jieba 中文分詞 對於NLP(自然語言處理)來說,分詞是一步重要的工作,市面上也有各種分詞庫,11款開放中... TextRank演算法提取關鍵詞的Java實現 http://www.hankcs.com/nlp/textrank-algorithm-to-extract-the-ke... 【自然語言處理】TF-IDF演算法提取關鍵詞 自然語言處理——TF-IDF演算法提取關鍵詞 這個標題看上去好像很複雜,其實我要談的是一個很簡單的問題。

有一篇很長的文章... 自然語言處理——TF-IDF演算法提取關鍵詞 這個標題看上去好像很複雜,其實我要談的是一個很簡單的問題。

有一篇很長的文章,我要用計算機提取它的關鍵詞(AutomaticKeyphraseextracti... TextRank演算法抽取關鍵詞 PageRank 由於TextRank是由大名鼎鼎的Google的PageRank演算法轉化而來,所以這裡先介紹... 關鍵詞提取/關鍵字提取之TF-IDF演算法 TF-IDF(termfrequency–inversedocumentfrequency)是一種用於資訊檢索與資訊探勘的常用加權技術。

TF的意思是詞頻(... 解析TF-IDF演算法原理:關鍵詞提取,自動摘要,文字相似度計算 Abstract:TF-IDF演算法是一種常用的詞頻統計方法,常被用於關鍵詞提取、文字摘要、文章相似度計算等。

TF-IDF的演算法思路 ... TF-IDF演算法實現關鍵詞抽取     TF-IDF演算法是關鍵詞提取演算法中基礎,並且有效的一種演算法,實現簡單效果比較明顯,在使用中非常廣泛。

假設現在有一... NLP—TextRank演算法獲取文字關鍵詞和摘要 TextRank演算法主要用來生成文字的關鍵詞和摘要,其來源於PageRank演算法,下面先介紹PageRank。

PageRa... javatf-idf提取關鍵字 最近在研究nlp,nlp第一步就是分詞,目前開源的工具中,java的有中科院的分詞工具nlpir、還有word分... 搜尋 基礎教學 Mysql入門 Sql入門 Android入門 Docker入門 Go語言入門 Ruby程式入門 Python入門 Python進階 Django入門 Python爬蟲入門 最近訪問 Python的jieba分詞及TF-IDF和TextRank+演算法提取關鍵字 [學習筆記]+CS131+Computer+Vision:+Foundations+and+Applications:Lecture+9+深度學習2 SSM+生成mapper中xml文件:未能解析映射資源:“文件嵌套異常 小程式自定義元件深度剖析 類的靜態成員變量及函數(二十) .DS_Store+檔案是什麼?+/+.DS_Store+檔案是什麼macOS Unity3D下雪粒子特效 Python練習(七)計算1到n的階乘的和 KNN演算法(有監督學習演算法) Python學習筆記——爬蟲之Scrapy-Redis實戰



請為這篇文章評分?