開箱即用!中文關(guān)鍵詞抽?。↘eyphrase Extraction),基于LDA與PageRank(TextRank, TPR, Salience Rank, Single TPR)

Keyphrase Extraction Algorithm

項目地址:https://github.com/JackHCC/Chinese-Keyphrase-Extraction

無監(jiān)督學(xué)習(xí):中文關(guān)鍵詞抽?。↘eyphrase Extraction),基于LDA與PageRank(TextRank, TPR, Salience Rank, Single TPR)

英文Keyphrase Extraction參考:https://github.com/JackHCC/Keyphrase-Extraction

Introduction

Algorithm Intro ref
TextRank 將PageRank應(yīng)用于文本關(guān)鍵詞抽取 paper
TPR 首次將主題(Topic)信息整合到 PageRank 計算的公式中 paper
Single TPR 單詞迭代計算的Topic PageRank paper
Salience Rank 引入顯著性的Topic PageRank paper

Dependencies

  • sklearn
  • jieba==0.42.1
  • networkx==2.5
  • numpy==1.20.1
  • pandas==1.2.4
  • matplotlib==3.3.4
  • queue==0.6.3

File

  • main.py:主程序入口
  • process.py:數(shù)據(jù)預(yù)處理和配置加載
  • lda.py:潛在迪利克雷分配
  • ranks.py:Topic PageRank算法實現(xiàn)
  • utils.py:工具函數(shù)

Data

本項目采用新浪新聞8個領(lǐng)域(體育,娛樂,彩票,房產(chǎn),教育,游戲,科技,股票)的新聞數(shù)據(jù)共800條作為實驗數(shù)據(jù)。

數(shù)據(jù)集位于data/data.xlsx下,由兩列組成,第一列content存放新聞標題和新聞的正文內(nèi)容,第二列是type是該新聞的話題類型。

在模型訓(xùn)練過程只需要利用excel文件中的content列,第二列是根據(jù)提取的關(guān)鍵詞來衡量提取的準確性。

如何使用自己的數(shù)據(jù)

按照data.xlsx的數(shù)據(jù)格式放置你的數(shù)據(jù),只需要content列即可。

Config

config目錄下可以配置:

  • jieba分詞庫的自定義詞典jieba_user_dict.txt,具體參考:Jieba
  • 添加停用詞(stopwords)stop_words.txt
  • 添加詞性配置POS_dict.txt,即設(shè)置提取最終關(guān)鍵詞的詞性篩選,具體詞性表參考:詞性表

Usage

Install

git clone https://github.com/JackHCC/Chinese-Keyphrase-Extraction.git

cd Chinese-Keyphrase-Extraction

pip install -r requirements.txt

Run

# TextRank
python main.py --alg text_rank
# TPR
python main.py --alg tpr
# Single TPR
python main.py --alg single_tpr
# Salience Rank
python main.py

Custom

python main.py --alg salience_rank --data ./data/data.xlsx --topic_num 10 --top_k 20 --alpha 0.2
  • alg:選擇Top PageRank算法,提供四種選擇:text_rank, tpr, single_tpr, salience_rank
  • data:訓(xùn)練數(shù)據(jù)集路徑
  • topic_num:確定潛在迪利克雷分配的主題數(shù)量
  • top_k:每個文檔提取關(guān)鍵詞的數(shù)量
  • alphasalience_rank算法的超參數(shù),用于控制語料庫特異性和話題特異性之間的權(quán)衡,取值位于0到1之間,越趨近于1,話題特異性越明顯,越趨近于0,語料庫特異性越明顯

Result

  • TextRank前十條數(shù)據(jù)提取關(guān)鍵詞結(jié)果
0  :  訓(xùn)練;大雨;球員;隊員;隊伍;雨水;熱身賽;事情;球隊;全隊;國奧;影響;情況;比賽;傷病
1  :  戰(zhàn)術(shù);姑娘;首戰(zhàn);比賽;過程;記者;主帥;交鋒;信心;剪輯;將士;軟肋;世界杯;夫杯;遭遇
2  :  冠軍;活動;女士;文靜;游戲;抽獎;俱樂部;眼鏡;大獎;特等獎;獎品;現(xiàn)場;環(huán)節(jié);教練;球隊
3  :  俱樂部;球員;工資;危機;宏運;球隊;獎金;管理;老隊員;教練;笑里藏刀;前提;集體;集團;經(jīng)驗
4  :  警方;立案偵查;總局;產(chǎn)業(yè);電話;足球;外界;消息;公安部門;依法;中體;主席;裁判;檢察機關(guān);委員會
5  :  比賽;鹿隊;機會;命中率;隊員;聯(lián)賽;調(diào)整;開賽;壓力;包袱;外援;主場;狀態(tài);體育訊;金隅
6  :  火箭;球隊;比賽;原因;時間;效率;開局;事實;教練組;變化;軌道;過程;漫長;判斷能力;時機
7  :  勝利;球隊;隊友;火箭;籃板;比賽;關(guān)鍵;墊底;句式;小牛;新浪;戰(zhàn)績;體育訊;活塞;時間
8  :  火箭;交易;活塞;球隊;球員;情況;籌碼;價值;命運;市場;續(xù)約;掘金;遭遇;球星;核心
9  :  湖人;比賽;球隊;后衛(wèi);揭幕戰(zhàn);沙農(nóng);時間;出場;陣容;板凳;火力;外線;念頭;貢獻;證明
10  :  公牛;球員;球隊;教練;數(shù)據(jù);比賽;能力;體系;主教練;命中率;交流;研究;水平;記者;小時
  • 最終提取結(jié)果寫入excel表格中,具體在result目錄下。

Reference

  • Text Rank: Mihalcea and Tarau. 2004. Textrank: Bringing order into texts.
  • TPR: Liu et al. 2010. Automatic keyphrase extraction via topic decomposition.
  • Single TPR: Sterckx et al. 2015. Topical word importance for fast keyphrase extraction.
  • Salience Rank: Nedelina et al . 2017.Salience Rank: Efficient Keyphrase Extraction with Topic Modeling.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容