艾瑋,許佳,謝燦豪,孟濤
(中南林業(yè)科技大學(xué) 計算機與信息工程學(xué)院,湖南 長沙 410018)
隨著大數(shù)據(jù)時代網(wǎng)絡(luò)信息激增,擴展了人們獲取信息的渠道,有利于信息的傳播,但是隨之而來的是大量重復(fù)網(wǎng)絡(luò)信息,如何對大量且重復(fù)的網(wǎng)絡(luò)信息進行提煉是亟待解決的問題.其次,從當(dāng)前的網(wǎng)絡(luò)信息中可以得出,當(dāng)前網(wǎng)絡(luò)信息中需要分析、提煉的大部分是新聞文本.因此,對新聞文本展開文本去重研究是十分必要的,并且如何從冗余的數(shù)據(jù)中獲取需要的信息,是信息處理的首要任務(wù).
當(dāng)前主流的去重方法,均是通過文本表示技術(shù)獲取文本的向量表示,再計算向量之間的相似度,從而判斷文本之間是否相似、重復(fù).而隨著詞向量、神經(jīng)網(wǎng)絡(luò)、預(yù)訓(xùn)練模型等技術(shù)的發(fā)展,研究者們不斷提出基于不同文本表示的文本去重算法,通過不同的文本表示方法可以將當(dāng)前的文本去重技術(shù)分為四類:經(jīng)典文本表示方法、分布式文本表示方法、上下文表示方法以及圖結(jié)構(gòu)表示方法.不同的文本表示方法,所獲取的文本信息也是不一樣的,而獲取的文本信息越多,文本相似度計算結(jié)果越準確,從而文本去重準確率越高,并且新聞文本的核心是其描述的事件,因此更多地獲取新聞文本描述的事件的語義信息,有利于提高文本去重的準確率.
首先,在經(jīng)典的文本表示方法中主要有二值0-1、詞頻(Term Frequency,TF)、詞頻-逆文本頻率指數(shù)(Term Frequency–Inverse Document Frequency)等向量文本表示,經(jīng)典的文本表示方法能獲取淺層的文本語義[1].王誠等作者提出了基于TF-IDF 的Simhash大規(guī)模文本去重[2],該方法通過TF-IDF 技術(shù)篩選出文本的主題詞匯,再采取Simhash 算法,獲取文本的向量表示,該方法消除了大量的噪聲,能有效地進行大規(guī)模文本去重,同時也能保持Simhash的高效計算性能.但是經(jīng)典的文本表示方法只能獲取淺層的文本語義,無法獲取較深層次的語義信息及文本結(jié)構(gòu)信息,因此基于分布式假設(shè)理論的神經(jīng)網(wǎng)絡(luò)語言模型與分布式詞向量表示應(yīng)運而生.
分布式文本表示方法主要有NNLM(Neural Net?work Language Model)[3]、Word2vec[4]、Glove[5]等,分布式文本表示方法能獲取詞語的局部上下文信息,增加了文本表示的語義含量.崔潔提出了進行加權(quán)處理的Word2vec 算法進行文本相似度計算[6],該研究考慮了詞語中的局部文本信息,也對詞語的位置信息進行考慮,結(jié)合余弦相似度得到最終的文本是否重復(fù)的信息.但是分布式文本表示方法存在文本多義詞以及未登錄詞(Out of Vocabulary,OOV)問題.于是研究者們針對上述問題,提出了基于上下文的文本表示方法.
基于上下文的文本表示方法主要有ELMo(Em?bedding from Language Models)[7]、BERT(Bidirec?tional Encoder Representation from Transformers)[8]等模型,這些模型能解決分布式文本表示的相關(guān)問題,還能獲取文本序列的上下文信息.寧春妹提出了基于BERT 的文本相似度算法[9],利用BERT 進行文本表示,解決一詞多義的問題,在文本相似度上取得較好的結(jié)果.盡管目前使用最多的文本表示是基于上下文的文本表示方法,但是它忽略了文本的全局結(jié)構(gòu)信息,而圖結(jié)構(gòu)能夠很好地表示結(jié)構(gòu)信息,因此提出了基于圖結(jié)構(gòu)的文本表示方法.
目前主要有兩種圖結(jié)構(gòu),分別是詞連通子圖結(jié)構(gòu)與事件連通子圖結(jié)構(gòu).二者均是通過將文本中的詞或者特征句當(dāng)作節(jié)點,并將詞或者特征句之間的關(guān)系構(gòu)建邊,得到最終的圖結(jié)構(gòu),通過圖結(jié)構(gòu)能夠?qū)⑽谋镜慕Y(jié)構(gòu)信息進行表示,豐富了文本表示的信息含量.劉銘等人提出了基于詞進行構(gòu)建篇章級事件表示的文本相似度方法[10],通過圖結(jié)構(gòu)將句子級事件進行連接,形成篇章級事件表示,能將事件內(nèi)部觸發(fā)詞與事件元素進行聯(lián)系,之后采取結(jié)合EM思想的TextRank 算法,計算得出文本的相似度.譚偉志等人提出了面向事件的文本表示方法計算文本相似度[11],該方法將特征句作為圖結(jié)構(gòu)的基本節(jié)點,特征句之間的關(guān)系作為邊,以此構(gòu)建事件語義網(wǎng)絡(luò)模型,之后采取PageRank算法,計算得出文本的相似度.
基于圖結(jié)構(gòu)的文本表示方法中,對圖的表征除了采取PageRank 等算法,還有采取圖核算法的.蔣強榮等提出使用圖核算法對文本圖表示結(jié)構(gòu)表征[12],在計算表征后的向量的相似度得到文本相似度,通過圖核算法能更好地表征結(jié)構(gòu)信息,提高計算的準確率.左咪等提出的基于W-L 圖核算法的文本圖表示進行圖表征[13],利用W-L 圖核算法,能獲取圖的結(jié)構(gòu)信息并且能簡化圖計算的復(fù)雜度,有效提升了圖相似度計算的準確率及性能.雖然當(dāng)前基于圖結(jié)構(gòu)的文本表示已經(jīng)使得文本去重效果得到提升,并且采取的相關(guān)圖表征算法也有一定的效率及效果上的提升.但是,目前基于圖結(jié)構(gòu)的文本表示仍然存在一定的缺陷,無法對事件語義或者事件元素關(guān)系進行完整表示,并且當(dāng)前圖表征計算方法,不能獲取圖結(jié)構(gòu)信息或者不能對多種節(jié)點類型的圖進行完整表征.
針對上述問題,本文以新聞文本為研究對象,根據(jù)新聞文本的核心內(nèi)容事件進行分析,提出基于事件異構(gòu)圖表示的文本去重算法,該算法首先采取事件異構(gòu)圖進行文本圖表示,事件異構(gòu)圖包含了事件實體、事件觸發(fā)詞、事件特征句三種節(jié)點類型,以及多種節(jié)點邊類型,通過事件異構(gòu)圖可以更好地表達出文本的各種信息.其次,為了更好地表征事件異構(gòu)圖,我們采取能夠獲取圖結(jié)構(gòu)信息及語義信息的圖核算法進行圖表征,但是當(dāng)前的圖核算法無法對異構(gòu)圖進行表征,所以本文提出雙標簽圖核算法表征異構(gòu)圖結(jié)構(gòu),通過標簽的信息迭代逐步對全部的節(jié)點信息進行表征,并且雙標簽圖核算法能降低圖計算的復(fù)雜度,達到提高去重的效果以及效率的目的.因此,基于事件異構(gòu)圖表示的文本去重算法能有效地提高文本去重算法的效率及效果.
在本節(jié)中,主要介紹構(gòu)建事件異構(gòu)圖的相關(guān)過程以及相關(guān)定義,主要包括事件抽取、關(guān)系識別、事件異構(gòu)圖定義及構(gòu)建.
事件是文本表示的最小語義單位,并且一篇文本中會存在多個事件語義單位[14],我們首先對事件進行如下定義:
式中,E代表事件,W是事件的觸發(fā)詞,S是事件的特征句,C是事件的主要對象,O是事件的次要對象,T是事件發(fā)生的時間.
我們選取Han 等人提出的中文新聞事件抽取算法[15]來完成本文的事件抽取.根據(jù)事件的定義,事件抽取的內(nèi)容主要包括事件的實體、觸發(fā)詞、時間、地點、事件句等元素.如給定一段文本信息,采取中文新聞事件抽取算法[15]得到圖1 所示的事件信息.從圖中可知,下畫線標記的句子是事件的特征句S,事件的實體對象C、O分別是“永安期貨”與“中信證券”,事件的觸發(fā)詞W為“龍頭企業(yè)”,事件的時間T為“1 月4 日”.其中,事件元組中的O與T可以是空的.
圖1 事件抽取示例圖Fig.1 Event extraction example graph
關(guān)系識別是當(dāng)前構(gòu)圖的關(guān)鍵部分,如何讓文本表示中的結(jié)構(gòu)信息更加豐富,是本文需要考慮的一個重要問題.我們采取兩種方法進行關(guān)系識別,第一種是馬彬等作者提出的基于事件依存線索的事件語義關(guān)系識別[16],第二種是楊竣輝等作者提出的基于語義事件因果關(guān)系識別[17],采取這兩種方法進行關(guān)系獲取,主要是由于目前事件關(guān)系的識別結(jié)果的準確率還有一定的提升空間,為了不過多引入噪聲,采取常用的因果關(guān)系識別,以及較為準確的事件語義依存線索進行其余的關(guān)系識別與關(guān)系新增.本文所包含的關(guān)系如表1所示.
表1 關(guān)系表Tab.1 Relationship table
例如,給定一個文本抽取后的三個事件,通過因果關(guān)系識別方法進行關(guān)系識別,得到如圖2 所示的關(guān)系.從圖中可以看出,三個事件的實體均是“永安期貨、中信證券”,將這三個事件分別表示為A、B、C,彼此之間存在兩種關(guān)系,分別是要素間因果關(guān)系、隱性因果關(guān)系.其中,因為A、B事件的要素“行業(yè)龍頭”引導(dǎo)了“估值溢價”要素發(fā)生,因此A、B 之間存在要素間因果關(guān)系.這些關(guān)系在構(gòu)圖的時候,能夠使得事件異構(gòu)圖的結(jié)構(gòu)更加完善,包含的信息更加豐富.
圖2 關(guān)系識別示例圖Fig.2 Relationship recognition example graph
異構(gòu)圖的概念是包含多種節(jié)點類型、多種節(jié)點連接類型的圖,它能夠表達更多的信息.因此,本文提出基于事件構(gòu)建事件異構(gòu)圖進行文本表示,利用多種節(jié)點類型及節(jié)點連接類型表示文本的信息.定義如下所示.
定義1事件異構(gòu)圖:在一篇新聞文本中,存在N個事件,并且N個事件之間存在M個關(guān)系,此時可以以事件為對象構(gòu)建事件異構(gòu)圖.如式(2)所示:
式中,G代表事件異構(gòu)圖;V是事件異構(gòu)圖的節(jié)點集,包括三種類型的節(jié)點,分別是特征句S、觸發(fā)詞W,以及主要對象C與次要對象O;R是事件異構(gòu)圖的節(jié)點邊集,包含多種事件之間的關(guān)系以及事件元素之間的關(guān)系.具體表示如式(3)所示.
式中,N代表存在多少個事件E,M代表存在多少個關(guān)系.從公式(3)中可以看出,如何將這些節(jié)點與關(guān)系進行連接并構(gòu)建圖是本文的關(guān)鍵.若按照一般的相似度、事件關(guān)系等進行連接,比如,特征句之間根據(jù)相似度連接,觸發(fā)詞根據(jù)相似度關(guān)系進行連接等,這些無法包含事件的語義特征,且圖之間的關(guān)系錯亂,節(jié)點本身的作用被隱藏,無法達到豐富語義的目的.
因此,本文將特征句、觸發(fā)詞、事件實體構(gòu)建一個圖的具體模式結(jié)構(gòu)—Λ 結(jié)構(gòu),該結(jié)構(gòu)既能包含事件的語義特征,又能使得各種節(jié)點類型在圖中的結(jié)構(gòu)清晰明了,便于信息的傳遞.Λ結(jié)構(gòu)定義如下.
定義2Λ 結(jié)構(gòu):當(dāng)事件以元組形式表示時,以事件特征句S為中心節(jié)點,將事件的實體C、O與事件的觸發(fā)詞W作為子節(jié)點,并連接到中心節(jié)點特征句S上,形成具體模式Λ結(jié)構(gòu).
圖3(a)所展示的是事件已構(gòu)成的具體模式Λ 結(jié)構(gòu),圖3(b)所展示的是部分關(guān)系實例,圖3(c)是具體的事件異構(gòu)圖實例展示,其中包含5 個Λ 結(jié)構(gòu),各種節(jié)點之間存在著因果關(guān)系、時序關(guān)系等4 種關(guān)系、16條邊.
圖3 事件異構(gòu)圖示意圖Fig.3 Schematic diagram of event heterogeneous graph
通過上述小節(jié)的描述,我們可知,通過采取事件抽取、關(guān)系識別等技術(shù),獲取構(gòu)建圖的節(jié)點集V和R.在傳統(tǒng)的圖構(gòu)建方式中,是通過詞的權(quán)重篩選后進行無差別連接構(gòu)圖,或者通過事件的相似度進行構(gòu)圖,這兩種構(gòu)建方式均不能表示事件的句法信息,導(dǎo)致圖結(jié)構(gòu)表示不夠精準.
而本文是通過事件的Λ 結(jié)構(gòu)構(gòu)圖,通過計算事件的Λ 結(jié)構(gòu)的相似度,能獲得事件之間的依存關(guān)系,更加精準地判別事件之間的相似關(guān)系.因此,事件的Λ結(jié)構(gòu)相似度的計算如式(4)所示:
式中,Λ(Ea)、Λ(Eb)分別是事件Ea、Eb的Λ 結(jié)構(gòu)的向量表示.若相似度大于閾值U,則認為兩事件是相似的,反之則不相似.通過此我們可以將文本中描述相同事件的Λ 結(jié)構(gòu)連接,形成部分Λ 結(jié)構(gòu)連接子圖,減少關(guān)系識別的復(fù)雜度,增加事件異構(gòu)圖的結(jié)構(gòu)信息.
最后,根據(jù)節(jié)點集R進行完整構(gòu)圖.本文主要存在如表1 所示的關(guān)系類型.其中,顯、隱性因果關(guān)系以及事件要素之間的因果關(guān)系,主要通過事件的元素進行分析,將事件間的因果關(guān)系轉(zhuǎn)換為更細粒度的事件元素之間的因果關(guān)系,同時還會考慮事件的時序關(guān)系,并不會同時存在多種關(guān)系.而依存關(guān)系根據(jù)的線索廣泛,兩事件之間會存在多種關(guān)系,因此,若通過依存關(guān)系識別后,實體依存關(guān)系、觸發(fā)詞依存關(guān)系、結(jié)構(gòu)依存關(guān)系均存在,此時我們并不將全部的關(guān)系進行連接,而是根據(jù)設(shè)定的關(guān)系優(yōu)先選取策略進行連接,依存關(guān)系選取策略為:實體依存關(guān)系>觸發(fā)詞依存關(guān)系>結(jié)構(gòu)依存關(guān)系.假如兩事件之間同時存在觸發(fā)詞依存關(guān)系、結(jié)構(gòu)依存關(guān)系,根據(jù)選取策略,僅選取觸發(fā)詞依存關(guān)系進行連接,這樣有利于減少圖結(jié)構(gòu)中關(guān)系的重復(fù)度.
根據(jù)以上三個步驟,即可完成事件異構(gòu)圖的構(gòu)建,具體詳細流程見算法詳解.
本節(jié)主要介紹本文提出的文本去重算法,首先介紹算法如何對事件異構(gòu)圖進行表征,其次介紹根據(jù)表征后的信息如何進行去重計算,最后介紹文本去重算法的全部流程及其偽代碼.
當(dāng)前圖結(jié)構(gòu)表征采取的是非異構(gòu)圖表征算法,無法獲取圖結(jié)構(gòu)的語義信息,導(dǎo)致最終的信息有所缺失.圖核算法雖然能獲取圖的結(jié)構(gòu)信息與語義信息,但是也無法處理本文所提出的異構(gòu)圖結(jié)構(gòu).因此,本文提出了雙標簽圖核算法表征事件異構(gòu)圖的方法,該方法將只能對同構(gòu)圖表征的圖核算法[13],改進為對異構(gòu)圖表征的雙標簽圖核算法,該算法既能獲取圖的結(jié)構(gòu)與語義信息,又能對異構(gòu)圖實現(xiàn)表征.
本文提出的雙標簽圖核算法表征方法,首先將Λ 結(jié)構(gòu)中的子節(jié)點轉(zhuǎn)變?yōu)闃撕炐畔⑦M行傳遞,而雙標簽也增加了信息的含量,提升了圖表征的信息含量.事件異構(gòu)圖的雙標簽圖核算法表征方法迭代流程圖如圖4 所示,下面我們將具體描述雙標簽圖核算法的迭代步驟,以及每個迭代步驟如何實現(xiàn)及其作用.
首先,將多節(jié)點類型的事件異構(gòu)圖,轉(zhuǎn)變?yōu)閱晤愋?、雙標簽的圖結(jié)構(gòu).從事件異構(gòu)圖的定義可知,節(jié)點的類型存在三種,分別是特征句、實體、觸發(fā)詞,而事件異構(gòu)圖由具體的Λ 結(jié)構(gòu)組成.因此,將特征句當(dāng)作單節(jié)點,觸發(fā)詞以及實體當(dāng)作標簽,進行圖結(jié)構(gòu)的信息表征的基礎(chǔ)內(nèi)容.于是,我們采取公式(5),并根據(jù)事件節(jié)點的子節(jié)點實體及觸發(fā)詞的內(nèi)容,進行節(jié)點標簽初始化,得到如圖4中A步驟所示的節(jié)點的數(shù)字標簽集.
式中,L是W、C的映射統(tǒng)一對象,F(xiàn)函數(shù)對相同的映射對象賦相同的標簽值,∑是一個標簽集,其大小是自然數(shù)集.在賦值時,通過函數(shù)F將不同的映射對象賦不同的標簽值,相同的映射對象賦予相同的標簽值.
當(dāng)異構(gòu)圖的雙標簽賦值轉(zhuǎn)變完成后,此時存在兩個事件異構(gòu)圖G、G′,基于此我們開始展開雙標簽圖核的迭代流程.首先我們對節(jié)點標簽進行擴展,獲取鄰居節(jié)點信息,以當(dāng)前節(jié)點標簽開始,鄰居節(jié)點的標簽按照大小順序進行排序,形成節(jié)點的多集,如式(6)所示.
其中,k代表節(jié)點j的鄰居節(jié)點個數(shù),如圖4 中的B 步驟所示,在事件異構(gòu)圖G中,原本節(jié)點標簽“2,2”的多集為“21,22”.
圖4 雙標簽圖核算法迭代流程Fig.4 Iterative process of double label graph kernel algorithm
當(dāng)節(jié)點標簽擴展完成后,對擴展的節(jié)點進行標簽壓縮,再次通過公式(5),接著上一次的標簽值繼續(xù)更新節(jié)點標簽,對相同的擴展標簽賦予相同的標簽值,不同的擴展標簽賦予不同的標簽值,如圖4 的步驟C所示,對G中的多集“21”賦予新標簽“5”,G′中的多集“21”也賦予相同的新標簽“5”,而G中的多集“1113”賦予新標簽“11”,G′中的“11113”賦予新的標簽“10”.
將步驟C 獲得的新標簽對上一個圖的節(jié)點標簽進行更新.如圖4 的步驟D 所示,原始標簽為“1,2”,迭代后的標簽為“6,7”.通過公式(7)可得到每個標簽迭代后的一維向量.
其中,∑*是當(dāng)前節(jié)點的標簽集合,φ函數(shù)是統(tǒng)計節(jié)點標簽的個數(shù),形成最終的一維向量.如圖4 中的E 步驟所示,得到四個標簽的一維向量φC(G)、φW(G)、φC(G′)、φW(G′).
由于本文的標簽為兩個,因此每次迭代后所得到的圖一維向量為各個標簽的一維向量拼接,通過公式(8)形成最終的圖一維向量.
其中,當(dāng)φ的下標為0 時,表示的是原始標簽的向量表示;當(dāng)φ的下標為i時,表示的是第i次迭代的標簽向量表示.
最終,具體的雙標簽圖核算法步驟如表2所示.
表2 雙標簽圖核算法Tab.2 Double label graph kernel algorithm
本文提出的基于事件異構(gòu)圖表示的文本去重算法,首先對文本采取事件異構(gòu)圖的圖結(jié)構(gòu)表示后,對圖結(jié)構(gòu)進行表征,得到文本的向量.通過2.1小節(jié),我們可知圖表征采取的是基于雙標簽的圖核算法表征,而每次迭代循環(huán)均會得到新的圖表征信息,通過循環(huán)標簽壓縮迭代對圖進行表征,當(dāng)φi與φi-1相等時,意味著圖的信息擴展到最外層的信息,因此圖的標簽壓縮迭代停止.
當(dāng)圖核算法每循環(huán)一次,圖核能獲取更多的信息,比如第一次節(jié)點標簽更新,包含了該節(jié)點的直接相鄰的節(jié)點的信息,而第二次迭代時新增了間隔為1的鄰居節(jié)點信息,以此類推,每次迭代所獲取的φ(Gi)與φ(G′i)向量是每次迭代更新的圖信息表征.因此,計算圖結(jié)構(gòu)之間的相似度,也就是計算圖表征過程中每次迭代所產(chǎn)生的向量的相似度.而每次迭代后所獲取的信息也會越來越多,于是當(dāng)計算圖的相似度時,隨著迭代次數(shù)增加,圖向量中會持續(xù)引入噪聲,導(dǎo)致最終的圖相似度計算結(jié)果存在偏差.
因此,本文為了減少噪聲對相似度計算的影響,對不同迭代次數(shù)下的向量相似度給予不同的權(quán)重,這種方法將使得最終得到的相似度值更準確,減少了由引入其他信息而導(dǎo)致的相似度值減少.權(quán)重給予的方法如公式(9)所示.
式中,h是圖迭代的總次數(shù),i是當(dāng)前迭代的次數(shù),i的最大值等于h.隨著迭代次數(shù)的增加,對應(yīng)的權(quán)重值逐漸減小.
因此,最終的事件異構(gòu)圖文本相似度的計算公式如式(10)所示:
最終,若通過公式(10)得出的相似度值大于或等于閾值Y,則兩事件異構(gòu)圖為相似的,即文本是相似的;反之則不相似.
本文提出的基于事件異構(gòu)圖表示的文本去重算法的主要步驟如表3所示,簡稱HGW-L.本算法采取偽代碼的方式進行展示,具體見偽代碼的算法說明.
表3 算法偽代碼Tab.3 Algorithm pseudocode
算法說明:本算法的輸入為新聞文本數(shù)據(jù),以及本文所需的相似度閾值U、Y.從數(shù)據(jù)中選取需要執(zhí)行文本去重的兩篇數(shù)據(jù)Ta、Tb,首先我們進行第一部分操作,構(gòu)建事件異構(gòu)圖對文本進行表示,如表3 的4~8 行所示.文本表示完成后,我們展開第二部分即異構(gòu)圖的圖表征迭代過程,如表3 的10~19 行所示.文本表示及迭代過程完成后,最后是迭代向量的相似度計算步驟,如表3 中的21~33 行所示.最終HGW-L 算法的輸出為兩個事件異構(gòu)圖之間是否相似,當(dāng)輸出為1時則相似,輸出為0時則不相似.
HGW-L 算法與之前的基于圖表示的文本去重算法相比,首先在構(gòu)圖上包含更多的文本信息含量,如表3 中的第一部分構(gòu)圖建邊所示,包含多重關(guān)系,能使得語義信息更加豐富.其次,能實現(xiàn)異構(gòu)圖的表征,并且包含圖的結(jié)構(gòu)與語義信息,有利于提升去重的效果.
在本小節(jié)中,我們將對本文提出的文本去重算法進行分析、比較,并在真實的數(shù)據(jù)集上驗證本文提出的文本去重算法的效果.
由于文本去重領(lǐng)域沒有公開的測試集,因此我們從新聞文本數(shù)據(jù)集(搜狗語料、今日頭條語料)中分別隨機取出大小不同的數(shù)據(jù)集進行效果檢測,并對這些數(shù)據(jù)進行人工標注,確定數(shù)據(jù)的重復(fù)標簽.數(shù)據(jù)集具體的大小劃分如表4所示.
表4 數(shù)據(jù)集信息Tab.4 DataSet information
文本去重的本質(zhì)是查找重復(fù)和非重復(fù)的數(shù)據(jù)的能力,因此本文主要采取精確率、召回率、以及F1值三個評估指標對文本去重方法進行評估,下面將詳細介紹評估指標的計算公式.
去重的精確率反映文本去重方法計算的準確程度,是一個重要的評價標準.準確率Pre 的計算方法如公式(11)所示:
召回率反映去重的范圍的覆蓋面.召回率Rec的計算方法如公式(12)所示:
式中,x代表人工標注為重復(fù)且去重算法計算得出的重復(fù)標記一致的個數(shù),y代表人工標注為重復(fù)且去重算法計算得出的重復(fù)標記不一致的個數(shù),z代表人工標注為非重復(fù)且去重算法計算得出的重復(fù)標記一致的個數(shù).
F1值即準確率和召回率的調(diào)和平均值,計算方法如公式(13)所示:
本文的閾值選取有兩個,第一個是事件的Λ 結(jié)構(gòu)相似度閾值U,第二個是事件異構(gòu)圖相似度閾值Y.本節(jié)將通過實驗選取閾值U、Y的最佳值.
3.2.1 相似度閾值U選取實驗
相似度閾值U是圖構(gòu)建的重要步驟之一,通過判斷Λ結(jié)構(gòu)的相似度,識別出相似關(guān)系并進行連接構(gòu)圖;不同的相似度閾值U會影響事件之間的相似度準確率,越準確的相似度值越能使得事件異構(gòu)圖中相似的信息聚集,使得異構(gòu)圖中的關(guān)系更加準確,便于后續(xù)的圖信息表示.在本文的數(shù)據(jù)集下進行實驗,實驗結(jié)果如圖5所示.
在圖5 中,橫坐標代表不同的閾值U,閾值的取值范圍為0.40~0.80,縱坐標代表不同閾值U下實驗對應(yīng)的F1值,此時的閾值Y設(shè)定為0.60.從圖5 的(a)與(b)中我們可以看出,當(dāng)閾值U的取值范圍為0.60~0.70 時,實驗的F1值相對穩(wěn)定并且能取得較好的效果.從圖中可以看出,頭條數(shù)據(jù)集的實驗效果相對低于搜狗數(shù)據(jù)集,這是由于頭條數(shù)據(jù)集中的新聞的類型涵蓋面更廣闊,存在一定的效果差距.最終本文在后續(xù)實驗中,選取0.65 作為相似度閾值U的實驗值.
圖5 相似度閾值U實驗結(jié)果圖Fig.5 The similarity threshold U experiment result graph
3.2.2 相似度閾值Y選取實驗
相似度閾值Y是判斷去重的主要依據(jù),通過判斷事件異構(gòu)圖之間的相似度值是否在設(shè)定閾值區(qū)間范圍內(nèi),從而判斷出文本是否重復(fù).我們從不同的數(shù)據(jù)集類型以及大小中展開實驗,得到如圖6 所示的結(jié)果,其中,橫坐標代表不同的閾值Y,閾值的取值范圍為0.40~0.80,縱坐標代表不同閾值Y下實驗對應(yīng)的F1值.
從圖6的(a)與(b)中可以得出,當(dāng)閾值Y的取值范圍為0.55~0.65 時,算法在搜狗數(shù)據(jù)集與頭條數(shù)據(jù)集上的效果均達到較好的值.取值范圍之外的Y值,算法的F1值均有所下降.故本文的相似度閾值Y設(shè)定為0.6,此時的HGW-L 文本去重算法的F1值在搜狗數(shù)據(jù)集上能達到0.9以上.
圖6 相似度閾值Y實驗結(jié)果圖Fig.6 The similarity threshold Y experiment result graph
本文是基于事件異構(gòu)圖表示的文本去重計算,因此我們將選取基于圖結(jié)構(gòu)的文本去重方法,以及其余基于分布式向量和上下文的文本表示方法的去重算法,形成多方面的對比,驗證本算法的可行性以及準確性.我們選取了五種去重方法進行對比試驗,如表5所示.
表5 對比實驗選取表Tab.5 The comparison experiment selection table
首先,根據(jù)本文采取的文本表示方法,選取同類型的對比算法,即采取圖表示的文本去重算法,主要有E-TC 算法與T-C 算法.其中,E-TC 算法是基于篇章級事件圖的去重方法[10],首先采取事件實體以及事件觸發(fā)詞構(gòu)圖,然后使用基于EM 思想的TextRank算法計算圖,再結(jié)合余弦相似度得到最終文本的相似度.T-C 算法是基于事件連通圖的去重方法[11],該方法采取的是以詞為節(jié)點進行建圖,再基于PageR?ank算法進行計算,最終結(jié)合余弦相似度得到最終文本的相似度.
其次選取能獲取文本上下文信息的文本表示方法,有B-R 算法與B-L 算法,其中B-R 算法是基于BERT 進行文本表示的[18],B-L 算法是基于Bi-LSTM進行文本表示的[19],這兩種方法均直接進行文本向量轉(zhuǎn)換,再對向量進行相似度計算從而得到最終的文本重復(fù)標簽.
最后,我們還選取了基于分布式表示的去重方法,該算法采取的文本表示方式是當(dāng)前使用較多的,有較好的去重效果,因此本文設(shè)計了該類型的對比試驗.W-V 算法采取基于加權(quán)的Word2vec[6],通過Word2vec 算法對文本進行向量表示,結(jié)合余弦相似度計算并得到文本的相似性.
這五種方法從不同的去重角度、去重效率等方面進行選取,是符合多角度的實驗對比分析的,通過最終的結(jié)果能更好地驗證本文提出的文本去重算法的效果及效率.
本小節(jié)將選取的五種對比算法與本文所提出的方法,在不同大小、不同類型的新聞數(shù)據(jù)集上進行驗證,并對本文提出的文本去重算法的效果及性能進行驗證與分析.
3.4.1 效果分析
首先,我們將六種算法分別在不同的類型數(shù)據(jù)集以及不同數(shù)據(jù)大小下進行實驗,并根據(jù)本文的評估指標得到圖7所示的結(jié)果.
由圖7 實驗結(jié)果可得,本文所提出的HGW-L 算法,在兩個不同來源、大小的數(shù)據(jù)集上的結(jié)果均優(yōu)于其他五種去重算法,其中T-C 算法的效果最差,ETC 算法、B-R 算法、B-L 算法、W-V 算法的效果僅次于我們所提出的HGW-L算法.
圖7 對比算法實驗結(jié)果圖Fig.7 Comparison algorithm experiment result graph
其中,E-TC 算法能獲取文章的結(jié)構(gòu)信息,但是忽略了事件的句法信息,如果是相同的特征詞及實體,當(dāng)出現(xiàn)不同的句法表示存在區(qū)別時,無法判斷出兩者不相似,因此其效果僅次于我們所提出的算法.而B-L 算法、B-R 算法與W-V 算法,通過使用Bi-LSTM、BERT以及加權(quán)的Word2vec算法,能獲取短語或者事件的上下文關(guān)系,能得到較為豐富的文本語義信息,但是無法對文本的結(jié)構(gòu)信息進行全局分析,獲取的結(jié)構(gòu)信息存在局部缺陷,因此整體結(jié)果相比而言較差.而T-C 算法通過構(gòu)建詞語連通子圖的文本表示,基于PageRank 算法,獲取的文本語義信息較差,忽略了詞語的上下文關(guān)系,無法對不同語境下的事件進行區(qū)分,雖然是基于圖結(jié)構(gòu)的文本表示,但是在去重上的效果較差.而本文提出的HGW-L 算法,通過多種節(jié)點類型以及節(jié)點連接類型獲取更多的語義信息及結(jié)構(gòu)信息,再通過雙標簽圖核算法獲取精準的圖表征,使得最終的相似度值的含義更加準確,達到當(dāng)前最優(yōu)F1值.
因此,本文所提出的方法在新聞文本數(shù)據(jù)上能實現(xiàn)更準確的去重,提升了去重算法的效果.
3.4.2 性能分析
由于事件抽取、關(guān)系識別以及構(gòu)圖等步驟對文本的性能有一定的影響.因此,本文的性能分析從不同的組別進行實驗分析,分別是包含了事件抽取、關(guān)系識別等任務(wù)的運行時間分析,以及不包含前期處理、直接構(gòu)圖的運行時間分析.均在本文的數(shù)據(jù)集上進行實驗,得到了圖8中的兩組實驗對比結(jié)果.
圖8 對比算法性能結(jié)果圖Fig.8 Comparison algorithm performance results
在圖8 中,子圖(a)、(b)是本文提出的算法與對比算法分別在兩個數(shù)據(jù)集上的消耗時間對比,由于本文的算法與E-TC、T-C 算法同屬于基于圖表示的算法,因此在這段時間計算中,我們僅從基于事件或者文本開始構(gòu)圖計算,并不包含文本的事件抽取、實體識別等任務(wù);子圖(c)、(d)與子圖(a)、(b)的不同之處在于,將事件抽取、實體識別、關(guān)系識別等任務(wù)的時間均包含到總運行時間,從圖中可以看出,新增的不同樣式的柱狀圖是這些任務(wù)的運行時間.
從子圖(a)、(b)中我們可以看出,處理相同數(shù)據(jù)量時,性能最差的是基于BERT 的B-R 算法與基于Bi-LSTM 的B-L 算法,性能最好的是本文提出的HGW-L 算法,并且能迅速處理完成,而另外兩個基于圖結(jié)構(gòu)的E-TC、T-C 算法的性能與基于Word2vec算法性能保持中等并且相差不大.本文提出的HGW-L 去重算法,由于采取雙標簽圖核算法,計算的性能為線性級,能保持較高的性能水準.而B-R、B-L 算法,需要對上下文進行處理,存在一定的計算消耗,因此處理時間較差.
從子圖(c)、(d)中我們可以看出,當(dāng)增加了事件抽取、關(guān)系識別等任務(wù)的處理時間后,基于圖的去重算法性能優(yōu)勢減少.此時最佳性能算法為W-V 算法,該算法通過詞向量的處理,能較快速地實現(xiàn)去重計算過程,而效果最差的是基于圖表示的E-TC 算法,篇章及事件構(gòu)造需要識別更多的內(nèi)容,對文本的前期處理更加復(fù)雜,因此算法運行時間隨著數(shù)據(jù)的增加而增加,導(dǎo)致性能最差.
因此,雖然本文在包括文本處理的時間后,性能不是最佳的,但是從整體上看,本算法的性能還是優(yōu)于其余算法,并且能對處理后的文本進行快速去重.
本算法是針對新聞文本的去重算法.在對目前新聞文本去重研究現(xiàn)狀進行分析后,我們針對當(dāng)前新聞文本去重存在的語義表示不完善、效率較低等問題,提出基于事件異構(gòu)圖表示的文本去重方法,該方法首先采取事件異構(gòu)圖的文本圖表示方法.可以獲取更多的語義信息,提高去重計算的準確率.其次,通過提出雙標簽圖核算法表征方法,對事件異構(gòu)圖進行表征,能高質(zhì)量且高效地獲取圖的結(jié)構(gòu)與語義信息.最后,我們在真實數(shù)據(jù)集上進行了對比實驗分析,實驗結(jié)果證明,本算法在真實數(shù)據(jù)集上的效果均優(yōu)于對比算法,并在其余算法性能對比中,運行效率有所優(yōu)化.
然而,當(dāng)前去重計算較為冗余,盡管采取圖核算法能減少圖計算的復(fù)雜度,能提升去重算法的性能,但是進一步減少冗余計算,能使得本算法在大數(shù)據(jù)環(huán)境下快速計算.因此,我們后續(xù)計劃對算法的去重計算次數(shù)進行優(yōu)化,減少重復(fù)迭代計算次數(shù),提高去重算法的性能.