牛偉農 吳林 于水源
摘 要:互聯網的飛速發展為大眾帶來便利的同時也產生了大量冗余信息,利用自然語言處理技術對新話題文章進行提取,控制新話題中虛假新聞傳播,可為輿情控制提供有效支持。提出一種基于詞聚類信息熵的新聞提取方法,并對“一帶一路”相關新聞語料進行實驗。實驗通過網絡爬蟲的方式獲取相關報道,利用Pkuseg工具分詞進行一系列預處理后訓練生成Word2vec詞向量,然后利用詞頻統計篩選出歷史高頻詞進行K-means聚類,將聚類后的詞簇作為隨機變量計算當前文章的信息熵。若文章的信息熵高于設定閾值,則為新話題文章,需要重點關注。結果表明,該方法在閾值設置為0.65時,新聞提取結果的準確率可達到84%。
關鍵詞:新聞提取;新話題;詞向量;聚類;信息熵
DOI: 10. 11907/rjdk.192209
開放科學(資源服務)標識碼(OSID):
中圖分類號:TP301
文獻標識碼:A
文章編號:1672-7800( 2020)001-0036-05
0 引言
隨著第四媒體的迅速發展,新聞行業迎來了新的發展機遇。自媒體的出現和新聞發布渠道的多樣化,為大眾獲取信息提供了便利。但與此同時.大量信息的產生導致虛假新聞的有效控制受到了阻礙。利用計算機技術在大量新聞數據中提取出新話題新聞,將焦點放在新話題新聞上,可以減少相關工作者需要關注的新聞數量,降低輿情控制難度。自2013年9月“一帶一路”倡議提出后,相關報道不斷增加,一時間引起轟動[1]。政府部門在面向有關“一帶一路”的報道時,需在大量新聞中掌握新話題新聞,關注事態走向,令其向正確的方向發展,確?!耙粠б宦贰背h順利實施。因此,本文針對“一帶一路”相關新聞進行驗證分析。
20世紀90年代,隨著在日本神戶第四屆機器翻譯高層會議的召開,自然語言處理( Natural Language Processing,NLP)技術由發展期逐漸進入繁榮期[2]。自然語言處理作為人工智能的一部分,在文本分類[3-4]、問答系統[5]、機器閱讀理解[6]和機器翻譯[7]等領域有著廣泛應用。近年來,網絡媒體的發展使得NLP在新聞行業的應用也取得了一定進展。目前,部分學者對新聞信息提取進行了研究,包括基于中文命名實體識別和指代消解的新聞事件要素提取[8]、基于篇章主次關系的單文檔摘要抽取[9]以及基于PageRank的新聞關鍵詞提取[10]。當前研究雖然解決了文章關鍵信息提取的問題,可以幫助讀者快速閱讀新聞,但并不能很好地處理在多文本中提取新話題新聞的任務。
綜上,為減少“一帶一路”新聞中相關冗余信息對分析工作帶來的干擾,本文提出了一種基于詞聚類信息熵的新聞提取方法,用于在多文本中提取新話題新聞??傮w流程如下:①利用分詞工具對語料進行分詞;②由于實驗語料相關性較大,去停止詞的同時對背景詞進行去除;③生成word2vec詞向量;④進行詞頻統計并篩選出歷史高頻詞;⑤對歷史高頻詞進行聚類,以減少單個詞的詞頻變化以及同近義詞對結果的影響;⑥在詞聚類的基礎上計算新聞的信息熵,將高熵新聞作為新話題新聞。
1 理論方法
1.1 Word2vec詞向量
語言是人類智慧定義的一種高層符號組合而成的數據,這些數據并不是原生態數據。在自然語言處理領域,需要將其還原成計算機可以理解的形式,即詞向量編碼,這是進行后續研究的基礎。在進行詞編碼時,需要保證原始文本信息的同時充分表達文本信息。傳統方法是,構建一個很大的詞典,給出特定詞的上位詞及近義詞等[11]。但是這種做法需要大量的人工干預,而人為判斷帶有一定的主觀性,難以精確計算詞之間的相似度。
2013年,Coogle開源了一款用于詞向量計算的工具,即Word2vec[12],其包括CBOW( Continuous Bag-of-WordsModel)模型和Skip-C ram( Continuous Skip-C ram Model)模型。Word2vec的基礎是神經語言模型(Neural NetworkLanguage Model,NNLM[13])。神經語言模型是用給定的前n一1個詞預測第n個詞,即輸入w1,w2,…,wn-1,預測wn。NNLM模型的缺點是復雜度較高,而Word2vec可以降低模型復雜度。
1.1.1 基于CBOW方法的詞向量編碼
CBOW可通過一句話的左右窗口去預測中間的詞。該模型在輸入層(INPUT)輸入目標詞匯左右的詞,即周圍詞的詞向量,經過投影層(PROJECTION)后,在輸出層( OUTPUT)輸出當前詞的詞向量。
例如,在 “‘一帶一路是實現共同繁榮的合作共贏之路”這句話中,將“繁榮”設置為目標詞(target),再設置一個滑動窗口長度為2,即目標詞匯前后各取2個詞,加上目標詞本身,一共5個詞。在這5個詞中,除目標詞外的其余詞為背景詞( context)。如圖1所示,首先,在輸入層輸人“實現”、“共同”、“的”、“合作”4個詞的詞向量;然后,在投影層將輸入層的4個詞向量求和累加,計算公式為:
1.1.2 基于Skip-Gram方法的詞向量編碼
Skip-Gram和CBOW相反,Skip-Gram是通過中間的詞預測左右的詞。Skip-G ram模型輸入是當前詞的詞向量,輸出是周圍詞的詞向量。由于沒有上下文,Skip-C ram模型在投影層是一個恒等投影[14]。如圖2所示,在輸入層輸人中間詞匯“繁榮”的詞向量,經過投影層后,在輸出層輸出“實現”、“共同”、“的”、“合作”4個詞的詞向量。
Skip-Gram模型的目標函數如式(2)所示,T為語料中的全部詞匯數。
本實驗語料基于CBOW方法進行詞向量訓練。Word2vec雖是基于大量語料基礎上學習而來體現相互之間關系的詞向量,也存在一定問題,其在訓練詞向量時對每一個滑動窗口單獨訓練,沒有利用包含在全局詞共現矩陣中的統計信息,并且由于使用唯一的詞向量表示詞,對多義詞無法很好地表示和處理。
1.2 基于K-means的詞聚類
針對Word2vec詞向量無法很好表示和處理多義詞的缺點以及語言所具有的靈活性[15],本實驗提出基于K-means對詞向量進行聚類。語言的靈活性表現在,文本中存在多個表述同一含義的詞匯,例如,“好處”、“利益”、“甜頭”等詞匯描述的意義相同,這些同義詞、近義詞的出現對高頻詞的篩選工作造成了一定干擾。一方面,表述同一含義的詞匯在語料中均大量出現,高頻詞中可能存在多個表達相同含義的詞匯,導致詞匯冗余,選定的高頻詞匯不具有代表性;另一方面,由于表達方式不同,表述同一含義的詞匯可能交替出現,新文章中使用了高頻詞的替代詞,導致高頻詞在新文章中出現次數減少,而替代詞出現次數增加,從而引起信息熵的增加,導致計算誤差。為了減少上述干擾,實驗采用對歷史高頻詞進行聚類的方式,將相似詞及共現詞歸為一個類別,統計每個類別中的詞匯在新文章中出現的概率。
聚類是一種無監督學習算法,將相似對象歸類到一個簇中。聚類與分類算法的最大區別在于聚類的目標類別未知,分類的目標類別已知。K-means聚類算法,也稱k均值聚類算法( K-means Clustering Algorithm),是一種迭代求解的無監督聚類分析算法[16]。K-means用來發現給定數據集的k個簇,簇的個數k由用戶指定,每個簇中心采用簇中所含值的均值計算而成,即由簇中所有點的中心描述。其核心原理為:①首先隨機確定k個點作為質心;②將數據集中的每一個點分配到每一個簇中,為每個點找到距離其最近的質心;③將每個簇的質心更新為該簇中所有數據點的平均值;④重復第②③步,直到每個簇中的數據點和質心都不再發生變化。
1.3 信息熵在NLP中的應用
1948年,香農借用熱力學中熵的概念,提出了“信息熵”的概念,解決了信息的量化度量問題[17]。信息熵是消除不確定性所需信息量的度量,也即未知事件可能含有的信息量。
一個系統包含了許多不確定性因素(x1,x2,…,xn),這些因素稱為隨機變量X。要消除隨機變量的不確定性,就要引入更多信息,這些信息的度量用“信息熵”表示。需要引入的消除不確定性的信息量越多,信息熵越高,系統越不穩定;反之,信息熵越低,系統越穩定。
在自然語言處理中,信息熵反映內容的不確定性。信息熵描述的是隨機變量的不確定性,對于同一個隨機變量,不同觀測者從不同粒度上觀察,得到的信息熵不一樣。對于文本而言,表達語義的最小粒度是詞語,因此,本實驗從詞語的粒度計算文章信息熵。
經過詞聚類后,信息熵計算如式(5)、式(6)所示,其中,p(Xk)為第k類中所有詞匯出現的頻率,labelk表示第k個類別,count(words)為待計算文章中的總詞匯數。
值得注意的是,當作為隨機變量的詞匯在待計算文章中出現次數為0時,設置該詞的概率為1 /count(words)2,相較于設置固定極小概率值更具靈活性。
2 實驗過程
2.1 數據來源
本實驗數據通過網絡爬蟲技術獲取。網絡爬蟲是指通過一段程序或者腳本,自動獲取網絡中的信息。本實驗結合Selenium模擬瀏覽器和Scrapy爬蟲框架進行新聞抓取。Selenium可以模擬真實瀏覽器,支持對js加載頁面的抓取;Scrapy是一個為爬取網站數據而編寫的應用框架,可以極大提高爬取速度。
本爬蟲框架的核心工作流程是通過谷歌搜索“一帶一路”相關新聞,然后通過xpath規則抽取返回的網頁新聞列表鏈接,將獲取到的URL存放到相應數據庫中,通過讀取數據庫中的URL進行下一步新聞詳情內容抓取。詳情內容抓取主要包括文章標題、日期、來源、正文4個部分。新聞抓取流程如圖3所示。
2.2 數據預處理
實驗語料根據日期對新聞進行正序排序,并對正文內容進行處理分析。
在對正文進行分析前,需要首先對語料進行一系列的分詞、去停用詞等預處理操作。其中,分詞使用了Pkuseg工具[18]的新聞領域模型,去停用詞采用了停用詞典的方式。此外,在預處理階段還進行了背景詞的去除。實驗語料圍繞“一帶一路”這一主題展開,具有一定的特殊性。因此,文本的高頻詞中存在大量背景詞,即在所有文章中都頻繁出現,但對文章區分度并不大的詞匯[19],這些背景詞無法滿足利用歷史高頻詞發現新話題文章的需求。因此,本實驗剔除了語料中對于新話題文章提取造成干擾的背景詞,將剔除背景詞后的歷史高頻詞作為計算信息熵的隨機事件。表1中列出了語料中的部分背景詞。
2.3 詞頻統計
對于給定新聞,在計算信息熵前,首先需要確定與信息熵相關的隨機變量,即能表達文章信息的詞匯。新聞的高頻詞在一定程度上表達了文章的主要內容以及一段時間內的新聞話題,因此本實驗選取歷史高頻詞作為計算文章信息熵的隨機變量。由于新聞語料的時效性,選取待計算文章前6天內新聞的高頻詞作為關鍵詞。圖4為2019年4月7日-2019年4月12日時間段內關于“一帶一路”相關文章前20個高頻詞出現次數折線圖,其中橫坐標為20個高頻詞匯,縱坐標為6天內各詞匯出現總次數。
通過詞頻統計發現,歷史詞匯中有大量詞匯出現次數相同,且這些詞匯的出現次數集中在10次左右,與前20高頻詞中末尾的詞匯出現次數接近,為避免設置固定高頻詞個數而帶來的高頻詞缺失誤差,設置高頻詞閾值為10。
如果某高頻詞的變化曲線趨于平緩,在連續幾天內的文章中出現的次數基本保持一致,則該高頻詞在這段時間內不具有隨機性,無法表示文章的信息量變化程度,因此具有這種特性的高頻詞不作為計算信息熵的隨機事件。圖5為前20高頻詞在2019年4月7日-2019年4月12日時間段內的變化曲線,其中橫坐標為該時間段內的文章數,縱坐標為各詞匯在每篇文章中的出現次數。這20個高頻詞的出現次數在連續6天內的文章中均具有明顯變化,可作為隨機變量計算信息熵。
2.4 高頻詞聚類
使用Word2vec對語料中經過預處理的所有詞匯進行訓練,維度為200維。利用已訓練好的詞向量對高頻詞進行K-means聚類,將所有的高頻詞分為20組,結果如表2所示。若待計算文章中未出現某個高頻詞,可在同一類別中查看是否出現了其它高頻詞,將同一類別中所有詞匯的出現次數作為某一類別的出現頻率。最后,根據設置的信息熵閾值,判定所計算文章是否屬于新話題新聞。若信息熵高于閾值,則判定為新話題文章。
3 實驗結果
將聚類后的高頻詞組作為隨機變量計算文章信息熵,通過改變信息熵閾值加以對比,并采用準確率、精確率、召回率、F值作為評估指標[20]。準確率、精確率、召回率、F值計算分別如式(7)-式(10)所示。
TP為結果中預測正確的新話題文章數,TN為結果中預測正確的非新話題文章數,FP為結果中預測為新話題文章的非新話題文章數,FN為結果中預測為非新話題文章的新話題文章數。本文對800條數據進行人工標注,利用Single-Pass對詞聚類進行對比實驗,表2為Single-Pass聚類的實驗結果,表3為對高頻詞進行K-means聚類后實驗結果評估。
Single-Pass算法受聚類后詞簇個數以及相似度閾值設定的影響,評估結果低于K-means詞聚類結果。針對K-means詞聚類方法,通過設定不同閾值,發現信息熵的閾值為0.6時,準確率為61%,但精確率為35%,說明真正的新話題文章在所有預測為新話題文章中所占比例僅為35%。當閾值設置為0.65時,實驗結果準確率、精確率、召回率分別為84%、62%、83%,實驗結果較好。當閾值設置為0.7時,準確率為73%,精確率為42%,說明真正新話題文章占預測為新話題文章的比例為42%,表明在預測為新話題的文章中.有較多為非新話題文章;召回率為50%,表示預測出的真正新話題文章占所有真正新話題文章的比例為50%,表明僅能預測出一半的新話題文章,實驗結果意義不大。綜上,設置判定新話題文章的信息熵閾值為0.65,其綜合評價指標F值為70%,說明實驗結果較為有效。
4 結語
本文通過分析在多文本中提取新話題新聞的任務需求,提出了一種基于詞聚類的提取方法。該方法針對當代新聞的特點以及計算機對新聞進行處理的研究現狀,在Word2vec、K-means聚類、信息熵的基礎上,采用詞聚類信息熵的方法對新聞進行新話題文章判定,并對“一帶一路”語料進行了實驗。實驗結果表明,該方法具有一定效果。本文方法中使用了歷史高頻詞作為隨機變量,信息熵越高,說明詞匯變化越顯著,而詞匯的明顯變化往往是由于新話題的出現。因此,對于提取出的文章,政府部門可以及時了解當前新話題,對新話題中具有誤導傾向的話題進行及時更正,控制輿論走向,維持社會穩定。目前,本文成果已應用于《“一帶一路”建設國際傳播力監測》項目中,并已收到相關采納證明,為我國現階段發展“一帶一路”的領導層決策提供了有力參考和支撐。
此外,本實驗仍然存在一些不足,在實驗過程中,未就文章長度對信息熵計算的影響進行優化,這是需要突破的一個關鍵點。
參考文獻:
[1] 劉曉.“一帶一路”對外傳播研究[D].湘潭:湘潭大學,2016.
[2] 宋一凡.自然語言處理的發展歷史與現狀[J].中國高新科技,2019(3):64-66.
[3]陳慧,田大鋼,馮成剛.多種算法對不同中文文本分類效果比較研究[J].軟件導刊,2019,18(5):73-78.
[4] HOWARD J,RUDER S.Universal language model fine-tuning fortext classification[ DB/OL].https: //arxiv.org/abs/1607.03250, 2018.
[5]QU C,YANG L, QIU M,et al.Bert with history answer emhedding forconversational question answering [DB/OL]. https://arxiv.org/abs/1905.05412. 2019.
[6] JOSHI M, CHOI E, WELD D S,et al.Triviaqa:a large scale distantlysupervised challenge dataset for reading comprehension[DB/OL].https: //arxiv.org/abs/1705.03551, 2017.
[7]WANG Q, LI B,XIAO T,et al.Learning deep transformer models formachine translation[ DB/OL].https: //arxiv.org/abs/1906.01787, 2019.
[8]虞金中,楊先鳳,陳雁,等.基于混合模型的新聞事件要素提取方法[J].計算機系統應用,2018,27( 12):169-174.
[9]張迎,王中卿,王紅玲.基于篇章主次關系的單文檔抽取式摘要方法研究[J].中文信息學報,2019,33(8):67-76.
[10]顧亦然,許夢馨.基于PageRank的新聞關鍵詞提取算法[J].電子科技大學學報,2017,46(5):777-783.
[11] 江大鵬.基于詞向量的短文本分類方法研究[D].杭州:浙江大學,2015.
[12]RONG X.Word2vec parameter learning explained[ DB/OL]. http://www.oalib.com/paper/4066349, 2014.
[13]BENGIO Y, DUCHARME R, VINCENT P, et al.A neural prohabilis-tic language model[J].Journal of Machine Learning Research, 2003(3):1137-1155.
[14] 鄭捷.NLP漢語自然語言處理原理與實踐[M].北京:電子工業出版社.2017.
[15]胡馨月.Twitter事件檢測中的語義和情感分析[D].成都:電子科技大學.2017.
[16]COATES A,NG A Y.Learning feature representations with K-means[ M]. Springer Press, 2012.
[17] 吳中慶.廣義德·摩根定理及廣義香農定理的推廣[J].江漢石油學院學報,1989(4):67-73.
[ 8]LUO R X. XU J J,ZHANG Y. et al.Pkuseg:a toolkit for multi-do-main Chinese word segmentation[ DB/O L]. https: //arxiv.org/abs/1906.11455vl. 2019.
[19] 周楠,杜攀,靳小龍,等.面向輿情事件的子話題標簽生成模型ET-TAG[J].計算機學報,2018,41(7):1490-1503.
[20]李航,統計學習方法[M].北京:清華大學出版社,2012.
(責任編輯:孫娟)
基金項目:中國傳媒大學青年理工科規劃項目( 3132018XNC1834)
作者簡介:牛偉農(1994-),女,中國傳媒大學智能融媒體教育部重點實驗室碩士研究生,研究方向為自然語言處理;吳林(1979-),男,中國傳媒大學智能融媒體教育部重點實驗室博士研究生,研究方向為大數據分析、自然語言處理、機器學習;于水源(1964-),男,博士,中國傳媒大學智能融媒體教育部重點實驗室教授、博士生導師,研究方向為計量語言學、智能信息處理。本文通訊作者:吳林。