基於jieba分詞的TF-IDF提取關鍵詞算法中 - 台部落
文章推薦指數: 80 %
TF-IDF的概念TF(Term Frequency,縮寫爲TF)也就是詞頻,即一個詞在文中出現的次數,統計出來就是詞頻TF,顯而易見,一個詞在文章中出現很多次, ...
請輸入正確的登錄賬號或密碼
註冊
忘記密碼
首頁
nlp
正文
基於jieba分詞的TF-IDF提取關鍵詞算法中,根據不同領域自定義所使用逆向文件頻率(IDF)的文本語料庫
原創
小十亘
2020-06-0705:33
TF-IDF的概念
TF(TermFrequency,縮寫爲TF)也就是詞頻,即一個詞在文中出現的次數,統計出來就是詞頻TF,顯而易見,一個詞在文章中出現很多次,那麼這個詞肯定有着很大的作用,在提取關鍵詞之前,由於待提取的語句中會有很多無用詞,例如“的”,“我”等等,所以我個人理解在提取關鍵詞之前的簡單步驟如下:
待分析語句------>分詞------>去除停用詞------>提取關鍵詞
使用jieba中的TF-IDF算法
兩種方法使用tf-idf算法提取關鍵詞
fromtextrank4zhimportTextRank4Keyword
jieba中的jieba.analyse.extract_tags()
在提取關鍵詞時,我們經常發現提取的關鍵詞肯能無法反應改語句的中心思想,也就是提取的不好,一些重要的詞沒提取出來。
這要從TF-IDF算法原理來分析。
TF-IDF算法計算原理
詞頻(termfrequency,TF)指的是某一個給定的詞語在該文件中出現的次數。
這個數字通常會被歸一化(一般是詞頻除以文章總詞數),以防止它偏向長的文件。
逆向文件頻率(inversedocumentfrequency,IDF)IDF的主要思想是:如果包含詞條t的文檔越少,IDF越大,則說明詞條具有很好的類別區分能力。
某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到。
某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。
因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。
從這裏我們可以知道,提取的關鍵詞不好的原因可能是因爲語料庫的問題。
(通用語料庫無法針對專業領域的語料進行提取重要關鍵詞)
自定義逆向文件頻率的文本語料庫
基於jieba自帶的jieba.analyse.extract_tags()上,改變jieba默認加載的IDF語料庫
jieba可以使用jieba.analyse.set_idf_path(file_path)更換默認IDF語料庫,這樣就很方面我們操作,我們只要創建我們需要的IDF文本語料庫就行了。
上代碼:
importmath
idf_dic={}
#data_content是帶分析文本,一個demo:如下圖
doc_count=len(data_content)#總共有多少篇文章
foriinrange(len(data_content)):
new_content=data_content[i].split('')
forwordinset(new_content):
iflen(word)>1:
idf_dic[word]=idf_dic.get(word,0.0)+1.0
#此時idf_dic的v值:有多少篇文檔有這個詞,就是多少
fork,vinidf_dic.items():
w=k
p='%.10f'%(math.log(doc_count/(1.0+v)))#結合上面的tf-idf算法公式
ifw>u'\u4e00'andw<=u'\u9fa5':#判斷key值全是中文
idf_dic[w]=p
withopen('G:/wdic.txt','w',encoding='utf-8')asf:
forkinidf_dic:
ifk!='\n':
f.write(k+''+idf_dic[k]+'\n')#寫入txt文件,注意utf-8,否則jieba不認
一個demo:data_content:
生成後的txt圖:
具體使用代碼:
jieba.analyse.set_idf_path(r'G:/wdic.txt')
jieba.analyse.extract_tags(content[i],topK=k,withWeight=True,allowPOS=())
nlp
發表評論
登录
所有評論
還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布.
相關文章
word2vec過程理解&詞向量的獲取
網上有很多這方面的資源,詳細各位都能夠對於word2vec瞭解了大概,這裏只講講個人的理解,
目的:通過對於一個神經網絡的訓練,得到每個詞對應的一個向量表達
基於:這個神經網絡,是基於語言模型,即給定T個詞的字符串s,計算s
BVL10101111
2020-07-0810:23:34
Word2vec_1
初識Word2vec
ChristopherManningCS224n2019秋
Overview
Word2vec由Mikolov在2013年提出,是一個學習詞向量(表示)的框架。
Idea
現實世界中,首先
Hang-HangLi
2020-07-0714:29:43
推薦-代碼-李航老師-《統計學習方法》第二版
推薦李航老師的《統計學習方法》第二版的代碼實現網站:
(1)https://github.com/fengdu78/lihang-code
(2)https://github.com/WenDesi/lihang_book_alg
Gabriel_wei
2020-07-0700:27:32
關於LDA的一些思考
問1:LDA生成一個文檔的過程是什麼樣的?
答1:1)根據預料級參數α,生成文檔d的主題分佈Θ_d~p(Θ|α)
2)對於文檔d中每個位置i對應的單
赵志雄
2020-07-0700:04:37
關於LSTM解決梯度彌散爆炸問題解析
轉自知乎@Towser原鏈接
“LSTM能解決梯度消失/梯度爆炸”是對LSTM的經典誤解。
這裏我先給出幾個粗線條的結論,詳細的回答以後有時間了再擴展:
1、首先需要明確的是,RNN中的梯度消失/梯度爆炸和普通的MLP或
coolerzZ
2020-07-0613:14:13
NLP數據集整理(持續更新。
。
。
)
這篇文章總結了我看到的NLP相關論文中使用的語料數據,將會持續更新。
小夥伴們如果也知道文中沒有的數據集,歡迎大家在評論中告訴我~只要寫數據集的名字,對應文章和下載網址就可以,我看到會第一時間添加到本文中^.^
用於NLP實驗的各
Nicoder
2020-07-0523:48:38
2、TF-IDF和BM25計算文本相似度
這兩者計算的都是文檔和文本之間的相似度,如果是兩個短文本貌似也可以。
1、TF-IDF=TF*IDF
假設文本是“我怎麼這麼帥氣”,4個詞,第一個詞“我”,文檔1中一共有10個詞,“我”有2次,這個詞的詞頻都是2,這
Jeu
2020-07-0522:00:39
bert模型裁剪及標籤平滑在短文本意圖識別中的效果分析
1、bert網絡模型base有12層,
隱含層大小:H=768,
詞向量參數矩陣:W=V*H,V大概在兩萬多,
12個attentionhead,
每個投的QKV矩陣:H*(H/12)
前饋層參數量是H*4H=768*
Jeu
2020-07-0522:00:28
阿里、騰訊、滴滴等社招面試問題整理
已入職阿里,騰訊總監面聊得不開心,掛,也拿到滴滴offer
1、爲何會梯度消失和爆炸:
消失:BPTT時,多個激活函數導數的相乘導致
解決:LSTM、BN、RELU
爆炸:權重函數初始化過大,
Jeu
2020-07-0522:00:28
1、word2vec
1、以前怎麼計算兩句話的相似度呢?就是詞袋模型
我很帥 》[1(我),1(帥),1(很),0(不)]
我不帥 》[1,1,0,1]
2、現在怎麼計算呢?就是把每個字轉換成一個向量(也可以把一句話變成一個向量
Jeu
2020-07-0522:00:28
fastText解讀
背景
上一章的Word2Vec解讀我們瞭解到了一種快速對詞語進行embedding的方式,對於文本分類任務,fasttex被facebook提出,具體論文見
《BagofTricksforEfficientTextCl
别水贴了
2020-07-0505:26:28
tf-idf使用-提取文章關鍵詞-搜索文章
tf-idf使用
我們的目標是提取一篇文章中的關鍵詞or給出關鍵詞,在語料庫中找到這組關鍵詞最相近的文章。
兩個目標要解決的問題是差不多的。
今天用一種很簡單卻很有效的方法來解決這個問題,TF-IDF。
在本文,我們選取第二種
EastWR
2020-07-0417:18:55
SpeechandNaturalLanguageProcessing相關資源列表
Referto https://github.com/edobashira/speech-language-processing
Acuratedlistofspeechandnaturallanguageprocess
lizzy05
2020-07-0409:16:03
利用Python輕鬆實現圖片相似度對比(二)
五:圖像指紋
對每一張圖片生成一個“指紋”,通過比較兩張圖片的指紋,來判斷他們的相似度,是否屬於同一張圖片。
主要通過比較漢明距離來比較圖片,值越小,越相似
1:均值哈希算法(Averagehashalgorithm)
Alicia_N
2020-07-0407:12:50
【轉載】NLP從詞袋到Word2Vec的文本表示
前面說明:近期在學習nlp方面的知識背景,恰巧看到一篇挺全面的科普性博客(來自掘金社區mantch用戶,侵權必刪),傳送門:https://juejin.im/post/5cd41afa6fb9a032332b47a4
此
CSW996
2020-07-0402:46:48
小
小十亘
24小時熱門文章
瀨043821#學生妹#模特#OL#清純#美腿#高挑#粉紅色奶頭#吞精#粉色嫩穴#奶泡#69#顏射#老漢推車
最新文章
隨機森林算法原理梳理
決策樹不調包超詳細python代碼實現及案例
k_近鄰算法不調包超詳細python實現加案例演示
基於jieba分詞的TF-IDF提取關鍵詞算法中,根據不同領域自定義所使用逆向文件頻率(IDF)的文本語料庫
各種詞向量的原理和詳細代碼實戰(word2vec,fasttext,glove,elmo,gpt,bert)
最新評論文章
一些冷門卻很美的英文單詞,聽過3個以上算我輸
瀨043821#學生妹#模特#OL#清純#美腿#高挑#粉紅色奶頭#吞精#粉色嫩穴#奶泡#69#顏射#老漢推車
#小糖心賴XD12377或加9008688台中情趣試穿麻豆大奶騷貨皮白悶騷型床上很主動耐操配合度高
#高雄外約清純學生妹瀨043821小羽156cmB杯.21歲#鄉下女孩清秀單純嬌小玲瓏調皮可愛
台中東海學生妹校花兼職瀨043821嬌小可愛#甜心#軟萌蘿莉 小小少女一枚乖巧的寶貝#無刺青可愛喜歡撒嬌賣萌
台灣本土吃魚喝茶加小番茄賴fb852喝茶覓小姐羅莉學生咩高雄妹技?平价好喝碗電報:sm20290大台北嫖娼林口龜山淫淫正妹思春看照選妹頻
台北/板橋/學/生/賴fb852台中上/門/服/務/高雄小/模/高/檔/茶
台灣本土吃魚喝茶加小番茄賴fb852喝茶覓小姐羅莉學生咩高雄妹技?平价好喝碗電報:sm20290大台北嫖娼林口龜山淫淫正妹思春看照選妹頻道: t.me/linesm20290
台北/板橋/學/生/賴fb852台中上/門/服/務/高雄小/模/高/檔/茶
加賴ok5320抱著抽插嗎小隻馬69舌吻女上位插穴射出口爆
延伸文章資訊
- 1jieba 基於TF-IDF 演算法的關鍵詞提取 - IT人
import jieba.analysejieba.analyse.extract_tags(sentence, topK=20, withWeight=False,allowPOS=())se...
- 2關鍵詞提取之TF-IDF - jieba源碼研讀筆記(十七) - 代码先锋网
在前篇介紹了 jieba/analyse/tfidf.py 的架構,本篇將介紹該檔案中的 TFIDF 類別。 TFIDF 類別的 extract_tags 函數負責實現核心算法。透過 allow...
- 3將使用jieba分詞的語料庫轉化成TFIDF向量 - IT人
二、使用jieba元件對分類語料庫分詞本文參考 ... corpus_tfidf.py 檔案:已分詞語料庫轉為tfidf向量執行檔案。 stopword 目錄:停用詞路徑。
- 4使用python的jieba库中的TF-IDF算法进行关键词提取 - 知乎专栏
目录: 1.什么是关键词? 2.TF-IDF关键词提取算法3.算法实现1.什么是关键词?关键词是指能反映文本主题或者意思的词语,如论文中的Keyword字段。
- 5Python的jieba分词及TF-IDF和TextRank 算法提取关键字
基于TF-IDF(term frequency–inverse document frequency) 算法的关键词抽取. import jieba.analyse. jieba.analyse...