歐霖 趙永標



摘? 要:對新聞標注關鍵詞有助于用戶快速了解新聞內容,也有利于新聞的分類及檢索。鑒于人工選取關鍵詞效率太低,設計并實現了一個基于TextRank的新聞關鍵詞抽取系統。該系統包含五個模塊:用戶登錄、用戶注冊、分詞與詞性標注、候選詞提取、關鍵詞提取。該系統可以輔助新聞編輯人員進行關鍵詞抽取和篩選。經過測試,該系統達到了一定的準確度,而且界面友好,易于使用。
關鍵詞:TextRank;關鍵詞抽取;新聞
中圖分類號:TP391.3 ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)18-0023-04
Abstract:Tagging news with keywords helps users quickly understand the content of the news,and is also conducive to news classification and retrieval. In view of the low efficiency of manual keyword selection,a news keyword extraction system based on TextRank was designed and implemented. The system includes five modules:user login,user registration,word segmentation and part-of-speech tagging,candidate word extraction,and keyword extraction. The system can assist news editors in keyword extraction and screening. After testing,the system has reached a certain degree of accuracy,and the interface is friendly and easy to use.
Keywords:TextRank;keywords extraction;news
0? 引? 言
隨著互聯網的飛速發展,人們獲取新聞的方式發生了很大的改變,已從電視、報紙等傳統媒體轉向新聞網站等互聯網媒體。新聞關鍵詞能勾勒新聞的輪廓,反映新聞的主題;同時,新聞關鍵詞也可以用于新聞的分類和檢索,因此,對新聞標注關鍵詞是十分必要的[1]。人工選取關鍵詞雖然準確性高,但效率低。為了提高效率,必須利用相關算法自動抽取新聞關鍵詞。
關鍵詞抽取方法分為有監督和無監督兩種。有監督方法將關鍵詞抽取轉化為二分類問題,即首先構造一個詞表,再針對文檔集中的每一個文檔,標注詞表中的哪些詞是該文檔的關鍵詞,然后用標注的文檔集訓練分類器。有監督方法需要構造詞表,標注語料,代價太大,而無監督方法沒有這些要求,因而應用更廣泛。無監督關鍵詞抽取算法主要有三類:基于統計特征的抽取算法,常用的統計特征是TF-IDF;基于詞圖模型的抽取算法,如TextRank算法;基于主題模型的抽取算法,如LDA[2]。其中,基于詞圖模型的抽取算法,特別是TextRank算法具有理論完備、實現簡單、性能優良的特點而被廣泛應用。鑒于此,本文將其應用于新聞文本關鍵詞抽取,設計并實現了基于TextRank算法的新聞文本關鍵詞抽取系統。該系統可以輔助新聞編輯人員標注新聞關鍵詞,提高工作效率。
1? 關鍵詞抽取的相關技術
1.1? TextRank算法
TextRank算法的思想源于Google的PageRank算法[3]。用一個有向有權圖G=(V,E)來表示TextRank普通模型,由點集合V和邊集合E組成,E為V×V的子集。用wji表示任兩點vi,vj之間邊的權重,對于一個給定的點vi,In(vi)表示指向該點的點集合,Out(vj)表示點vi指向的點集合,點vi的權重ws定義為:
其中,d為阻尼系數,取值范圍為0到1,代表從圖中某一特定點指向其余任意點的概率,一般取值為0.85[4]。
基于TextRank的關鍵詞提取步驟為:
(1)把給定的文本T按照完整句子進行分割,即:T=[S1,S2,…,Sm],其中,m為句子數量。
(2)關于每個句子Si∈T,對其進行分詞和詞性標注處理,并除去掉停用詞,只留下指定詞性的單詞,如名詞、動詞、形容詞,即Si=[S(i,1),S(i,2),…,S(i,n)]為候選關鍵詞,n為候選關鍵詞的個數。
(3)構建候選關鍵詞圖G=(V,E),其中,V為節點集,由步驟(2)生成的候選關鍵詞組成,而后運用共現關系構造任兩點之間的邊,兩個節點之間存在邊僅當它們對應的詞匯在長度為K的窗口中共現,K為窗口大小,即最多共現K個單詞。其中,在這里K值的設定不同,可能導致抽取的關鍵詞可能會有所區別。
(4)根據上面的權重計算公式,迭代傳播各節點的權重,直至收斂。
(5)對節點權重進行倒序排序,從而得到最重要的T個單詞,即為關鍵詞。
1.2? 中文分詞與詞性標注
與英文不同,中文文本詞語之間沒有界限。在對中文文本進行處理前,一般需要對其進行分詞,根據具體情況還需要同時進行詞性標注。經過多年的研究,中文分詞技術取得了很大的進展,出現了不少成熟的分詞軟件,例如:結巴分詞、哈工大的LTP、復旦大學的FudanNLP、北京理工大的NLPIR-ICTCLAS等。本系統選擇NLPIR-ICTCLAS系統,該分詞系統采用層疊形馬爾科夫模型(CHMM)進行分詞,通過分層,既增加了分詞的準確性,又保證了分詞的效率。NLPIR-ICTCLAS系統采用北大標準/中科院標準的詞性對照表。表1展示了本系統涉及的名詞、動詞、副詞、形容詞的詞性對照表。
2? 基于TextRank的新聞關鍵詞抽取系統
2.1? 系統總體設計
系統的功能模塊圖如圖1所示。
系統主要包含5個功能模塊,分別是“用戶登錄”“用戶注冊”“分詞與詞性標注”“候選詞提取”“關鍵詞提取”。
系統啟動后,首先進入“用戶登錄”界面,如果登錄成功,即進入“分詞與詞性標注”界面,然后依次進入“候選詞提取”界面,“關鍵詞提取”界面,如果是新用戶,則首先需要注冊,然后才能登錄。系統的運行流程圖如圖2所示。
2.2? 系統詳細設計與實現
本軟件用Java語言編寫,包含5個界面,分別對應于5個功能模塊。其中“用戶登錄”“用戶注冊”功能與一般軟件類似,在此略過,重點介紹另外3個模塊的功能。
2.2.1? 分詞與詞性標注模塊
首先在文本框中輸入或者粘貼新聞文本,“分詞與詞性標注”模塊通過調用NLPIR-ICTCLAS漢語分詞系統(2016版)對待提取關鍵詞的文本進行分詞和詞性標注,并顯示結果,如圖3所示。
2.2.2? 候選詞提取模塊
“候選詞提取”模塊用于從已分詞和標注詞性的文本中挑選出候選關鍵詞。候選關鍵詞一般為名詞,也可以增加動詞,形容詞或者副詞,用戶可以根據實際情況選取,名詞必選。選擇候選關鍵詞的詞性后,點擊候選詞提取,所有候選關鍵詞即出現在下部文本框中,如圖4所示。
2.2.3? 關鍵詞提取模塊
“關鍵詞提取”是本軟件的核心模塊。關鍵詞提取采用TextRank算法。對于關鍵詞提取功能,需要設置兩個參數,一個是TextRank算法所需要的窗口大小,另一個是關鍵詞的個數。參數設置好后,點擊“提取關鍵詞”按鈕,左邊的文本框即顯示所提取的關鍵詞以及關鍵詞的TextRank值,如圖5所示。
2.3? 軟件性能測試
為了測試本軟件對新聞文本抽取的關鍵詞的準確性,本文從鳳凰網新聞板塊隨機選取了10篇新聞進行測試。這些新聞均已標注了關鍵詞,以下為其中一篇新聞的部分頁面HTML代碼:
上述HTML代碼中,名稱為“keywords”的meta數據即為關鍵詞。
通過觀察,這10篇新聞的關鍵詞均為名詞,個數平均為6個。基于此,將系統中三個的參數分別設置為:候選關鍵詞的詞性只選名詞,窗口大小設置為10個,關鍵詞個數設置為6個。將系統抽取的關鍵詞與已標注的關鍵詞進行對比,準確率為69%,即6個關鍵詞中平均有約4個屬于已標注的關鍵詞。
3? 結? 論
本文設計并實現了基于TextRank的新聞關鍵詞抽取系統。設置相關參數后,系統可以運用TextRank算法抽取新聞文本中的關鍵詞。通過在一定數量的實際新聞文本上進行測試,結果表明該系統具有較高的準確性。本系統采用的是經典的TextRank算法。雖然該算法簡單高效,但也具有主題相關性不高以及忽視新詞等缺點,下一步將考慮引入改進的TextRank算法。
參考文獻:
[1] 陶潔.基于新聞文本的關鍵詞提取 [D].武漢:華中師范大學,2019.
[2] 田脈.新聞文本關鍵詞提取算法研究與實現 [D].武漢:中南財經政法大學,2019.
[3] MIHALCEA R,TARAU P.TextRank:Bringing Order into Texts [C]//Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing.Barcelona:Association for Computational Linguistics,2004:404-411.
[4] Together_CZ.TextRank雜談 [EB/OL].(2017-04-09).https://blog.csdn.net/together_cz/article/details/69935286.
作者簡介:歐霖(1998—),男,漢族,廣東惠州人,本科,研究方向:自然語言處理;趙永標(1980—),男,漢族,湖北洪湖人,講師,碩士,研究方向:自然語言處理。