資源簡介
有源碼及數據集,資源描述:基于TextRank、TF-IDF、LSI、LDA模型的關鍵詞提取,實驗數據為人民網的新聞,計算不同模型提取出的關鍵字的相似度

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
import?math
import?jieba
import?jieba.posseg?as?psg
from?gensim?import?corpora?models
from?jieba?import?analyse
import?functools
import?os
import?numpy?as?np
import?gensim.models?as?g
#?停用詞表加載方法
def?get_stopword_list():
????#?停用詞表存儲路徑,每一行為一個詞,按行讀取進行加載
????#?進行編碼轉換確保匹配準確率
????stop_word_path?=?‘./stopword.txt‘
????stopword_list?=?[sw.replace(‘\n‘?‘‘)?for?sw?in?open(stop_word_pathencoding=“utf-8“).readlines()]
????return?stopword_list
#?分詞方法,調用結巴接口
def?seg_to_list(sentence?pos=False):
????if?not?pos:
????????#?不進行詞性標注的分詞方法
????????seg_list?=?jieba.cut(sentence)
????else:
????????#?進行詞性標注的分詞方法
????????seg_list?=?psg.cut(sentence)
????return?seg_list
#?去除干擾詞
def?word_filter(seg_list?pos=False):
????stopword_list?=?get_stopword_list()
????filter_list?=?[]
????#?根據POS參數選擇是否詞性過濾
????##?不進行詞性過濾,則將詞性都標記為n,表示全部保留
????for?seg?in?seg_list:
????????if?not?pos:
????????????word?=?seg
????????????flag?=?‘n‘
????????else:
????????????word?=?seg.word
????????????flag?=?seg.flag
????????if?not?flag.startswith(‘n‘):
????????????continue
????????#?過濾停用詞表中的詞,以及長度為<2的詞
????????if?not?word?in?stopword_list?and?len(word)?>?1:
????????????filter_list.append(word)
????return?filter_list
#?數據加載,pos為是否詞性標注的參數,corpus_path為數據集路徑
def?load_data(word_listpos=False):
????#?調用上面方式對數據集進行處理,處理后的每條數據僅保留非干擾詞
????content?=?word_list.strip()
????seg_list?=?seg_to_list(content?pos)
????filter_list?=?word_filter(seg_list?pos)
????return?filter_list
#?idf值統計方法
def?train_idf(doc_list):
????idf_dic?=?{}
????#?總文檔數
????tt_count?=?len(doc_list)
????#?每個詞出現的文檔數
????for?doc?in?doc_list:
????????for?word?in?set(doc):
????????????idf_dic[word]?=?idf_dic.get(word?0.0)?+?1.0
????#?按公式轉換為idf值,分母加1進行平滑處理
????for?k?v?in?idf_dic.items():
????????idf_dic[k]?=?math.log(tt_count?/?(1.0?+?v))
????#?對于沒有在字典中的詞,默認其僅在一個文檔出現,得到默認idf值
????default_idf?=?math.log(tt_count?/?(1.0))
????return?idf_dic?default_idf
#??排序函數,用于topK關鍵詞的按值排序
def?cmp(e1?e2):
????import?numpy?as?np
????res?=?np.sign(e1[1]?-?e2[1])
????if?res?!=?0:
????????return?res
????else:
????????a?=?e1[0]?+?e2[0]
????????b?=?e2[0]?+?e1[0]
????????if?a?>?b:
????????????return?1
????????elif?a?==?b:
????????????return?0
????????else:
????????????return?-1
#?TF-IDF類
class?TfIdf(object):
????#?四個參數分別是:訓練好的idf字典,處理后的待提取文本,關鍵詞數量
????def?__init__(selfidf_dic?default_idf?word_listkeyword_num):
????????self.word_list?=?word_list
????????self.idf_dic?self.default_idf?=?idf_dic?default_idf
????????self.keyword_num?=?keyword_num
????#?統計tf值
????def?get_tf_dic(selfdoc):
????????tf_dic?=?{}
????????for?word?in?doc:???#某個單詞在一個文檔中出現的次數
????????????tf_dic[word]?=?tf_dic.get(word?0.0)?+?1.0
????????for?word?in?set(doc):
????????????tf_dic[word]=tf_dic.get(word)/len(doc)???#詞頻
????????return?tf_dic
????#?按公式計算tf-idf
????def?get_tfidf(self):
????????for?doc?in?self.word_list:
????????????tfidf_dic?=?{}
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11346??2019-04-25?22:10??實驗一\KeywordExtract.py
?????文件???????9482??2019-04-25?22:08??實驗一\number.txt
?????文件???????6038??2018-08-17?16:17??實驗一\stopword.txt
?????文件???????3040??2019-04-25?13:02??實驗一\人民網-粵經濟\30059_深圳深化商事制度改革再推4條措施.txt
?????文件???????6445??2019-04-25?13:02??實驗一\人民網-粵經濟\30060_以海關為突破口廣東可擴大與歐盟合作.txt
?????文件???????2872??2019-04-25?13:02??實驗一\人民網-粵經濟\30061_2018粵港經濟技術貿易合作交流會在香港舉行.txt
?????文件???????1917??2019-04-25?13:02??實驗一\人民網-粵經濟\30062_廣東荔枝豐收大量上市上月鮮果價格略降.txt
?????文件???????2420??2019-04-25?13:02??實驗一\人民網-粵經濟\30063_全國首套房貸平均利率繼續上升.txt
?????文件???????5940??2019-04-25?13:02??實驗一\人民網-粵經濟\30064_廣東省年內全面供應國Ⅵ汽柴油.txt
?????文件???????2030??2019-04-25?13:02??實驗一\人民網-粵經濟\30065_2018年上半年廣東CPI同比漲2.0%.txt
?????文件???????1017??2019-04-25?13:02??實驗一\人民網-粵經濟\30066_專利授權十強企業廣東占半數.txt
?????文件???????1672??2019-04-25?13:02??實驗一\人民網-粵經濟\30067_工信部就手機“黑卡”開展調查處理.txt
?????文件???????2569??2019-04-25?13:02??實驗一\人民網-粵經濟\30068_全國首個重化工外商獨資項目落戶廣東.txt
?????文件???????2530??2019-04-25?13:02??實驗一\人民網-粵經濟\30069_廣東實有各類市場主體已逾千萬戶.txt
?????文件???????3673??2019-04-25?13:02??實驗一\人民網-粵經濟\30070_2018年廣州城市形象國際傳播年新加坡推介會召開.txt
?????文件???????2290??2019-04-25?13:02??實驗一\人民網-粵經濟\30071_新加坡媒體點贊廣州:融入全球創新發展網絡的智慧城市.txt
?????文件???????4040??2019-04-25?13:02??實驗一\人民網-粵經濟\30072_唱響中國聲音!千年商都廣州成全球創新投資“黃金門戶”.txt
?????文件???????3771??2019-04-25?13:02??實驗一\人民網-粵經濟\30073_佛山市啟動治理房地產市場亂象專項行動.txt
?????文件???????1719??2019-04-25?13:02??實驗一\人民網-粵經濟\30074_世界杯帶旺酒店球迷房.txt
?????文件???????3762??2019-04-25?13:02??實驗一\人民網-粵經濟\30075_油價迎年內最大漲幅私家車加一箱油多花十余元.txt
?????文件???????6894??2019-04-25?13:02??實驗一\人民網-粵經濟\30076_個稅法修正案草案已收68000條意見專項扣除或有限額.txt
?????文件???????4417??2019-04-25?13:02??實驗一\人民網-粵經濟\30077_個稅改革,亮點不只是起征點.txt
?????文件???????2876??2019-04-25?13:02??實驗一\人民網-粵經濟\30078_去銀行存錢,當心“存單變保單”.txt
?????文件???????3412??2019-04-25?13:02??實驗一\人民網-粵經濟\30079_“強大消費卡”卻是一場空.txt
?????文件???????1170??2019-04-25?13:02??實驗一\人民網-粵經濟\30080_國家醫保局推動抗癌藥加快降價.txt
?????文件????????598??2019-04-25?13:02??實驗一\人民網-粵經濟\30081_全國林業產業總產值突破7萬億.txt
?????文件????????625??2019-04-25?13:02??實驗一\人民網-粵經濟\30082_中央財政187.6億保護草原生態.txt
?????文件???????3749??2019-04-25?13:02??實驗一\人民網-粵經濟\30083_進口藥主動降價搶市場.txt
?????文件???????2192??2019-04-25?13:02??實驗一\人民網-粵經濟\30084_廣東農行上線“智動貸”解中小微企業資金難題.txt
?????文件???????2881??2019-04-25?13:02??實驗一\人民網-粵經濟\30085_廣東農行優化企業開戶助力實體經濟發展.txt
............此處省略537個文件信息
- 上一篇:國科大圖像處理作業王偉強老師.rar
- 下一篇:松下AV HS300說明書
評論
共有 條評論