柴 悅,趙彤洲,江逸琪,高佩東
武漢工程大學計算機科學與工程學院,湖北 武漢 430205
新聞主題詞提取是將核心詞和短語從新聞文本中挖掘出來的過程。主題詞包含有助于人們理解文本內容的主要信息,通過查看主題詞,用戶可以更輕松地找到他們需要的新聞。由于主題詞是對文本主題信息的高度凝練,人們還可以使用它們以較低的復雜度來計算文本相關性,因此為許多自然語言處理應用帶來了便利[1-3]。
傳統的主題詞提取方法主要有兩種:一種是根據詞的統計信息對關鍵詞進行排序,如詞頻-逆文檔頻率方法[4]和TextRank[5]等;另一種是應用機器學習算法,提取各種特征來訓練模型,如隱馬爾可夫模型[6]、支持向量機(support vector machine,SVM)[7]、樸素貝葉斯模型[8]等。詞頻-逆文檔頻率方法在進行文檔主題詞提取時,由于文檔主題結構特征缺少的原因,導致該方法主題詞提取效果差。TextRank 考慮了部分文檔主題結構特征,如文檔中詞與詞之間的關系,但仍然傾向于選取文檔中的高頻詞作為主題詞。應用機器學習算法進行主題詞提取,通過提取各種特征來訓練其模型已被證明可以獲得出色的性能,但這種方法依賴人工定義的規則,沒有充分考慮詞的上下文信息且對特定的數據集敏感[9]。
近年來,長短期記憶(long short-term memory,LSTM)模型在多種NLP 問題中被廣泛使用,如情感分析[10]、詞性標注[11]、命名實體識別[12]、關鍵詞抽?。?3]等問題。但是LSTM 模型在進行主題提取時從句子開頭到中心詞建模,沒有考慮句子下文對該詞的影響。
為了更好地解決這些問題,文中提出了一種雙向的LSTM 網絡模型,用于主題詞提取任務。文中將主題詞提取任務視為一個二分類問題,對于句子中給定的詞,訓練一個分類器來確定它是否為主題詞。具體而言,需要從兩個方面考慮信息,即中心詞的內容及其上下文信息。通過雙向的LSTM 以從句子開頭到中心詞和從結尾到中心詞兩個方向對給定單詞及其上下文建模。通過這種方式,模型可以捕獲中心詞的句子級信息。通過利用中心詞的上下文的文本信息,模型則可以判斷其是否為主題詞。
此外,當給定一句話時,某些詞在主題中比其他詞更具有代表性。例如,在“目前,跳傘比賽一切正?!币痪渲校绻氪_定“跳傘”一詞是否為主題詞,“比賽”一詞的信息比其他詞對“跳傘”的判決有更大的影響。即,應該明確每個單詞的重要性,然后生成給定詞的向量表示。因此,在雙向的LSTM 的基礎上引入了一種自注意力機制[14-15],通過自注意力機制考慮不同單詞的重要性來生成給定單詞的表示向量,從而更好地從文本中提取主題詞。
由于深度學習網絡模型需要大規模的訓練數據,并且人工標注的訓練數據的大小非常有限,無法滿足模型的訓練要求。文中提出一種生成此任務的訓練語料庫的方法,通過該方法獲得了大量粗數據集。為了充分利用這些訓練數據,文中提出了一種兩階段訓練方法來訓練模型。首先,使用粗數據集對模型進行預訓練,然后使用人工標注的數據重新訓練模型。這樣,與僅使用人工標注的數據相比,模型獲得了更好的性能。
LSTM 網絡模型屬于一種循環神經網絡(recurrent neural network,RNN),通過在模型中引入控制門解決了一般的RNN 存在的長期依賴問題[16]。所有循環神經網絡都具有神經網絡的重復模塊鏈的形式,LSTM 也具有這種鏈式結構,LSTM模型如圖1 所示。

圖1 LSTM 模型Fig.1 LSTM model
LSTM 模型的單個重復模塊是由t 時刻的輸入詞向量wt,細胞狀態Ct,臨時細胞狀態,隱層狀態ht,遺忘門ft,記憶門it,輸出門ot組成。LSTM 的信息更新過程是一個遺忘無用信息并記憶新信息的過程,并在這個過程中的任意時刻t 均會輸出一個隱層狀態ht,其中遺忘ft,記憶it和輸出ot均與上個時刻的隱層狀態ht-1和當前輸入wt有關。于是t時刻的LSTM 的狀態更新為[16]:式(1)~(6)中,Wf、Wi、Wc和Wo分別表示其下標所對應單元的權重矩陣,bf、bi、bc和bo為偏移向量。σ和tanh 為兩種激活函數,如式(7)、式(8)所示。



則,t時刻隱含層狀態可以表示為:

Attention 模型結構如圖2(a)所示。

圖2 模型結構:(a)Attention 模型,(b)iBi-LSTM 模型,(c)Att-iBi-LSTM 模型Fig.2 Structures of models:(a)Attention model,(b)iBi-LSTM model,(c)Att-iBi-LSTM model
通過Attention 機制獲得注意力權重αij,αij表示i 時刻詞wi的上文或下文中第j 個詞wj對wi的影響。為了使獲得的注意力權重發揮作用,將隱含層狀態hi通過配置注意力權重得到qi,如式(10)所示:

其中,αij的計算過程如式(11)所示:

k 為wi上文或下文中詞的數量,pij為目標注意力權重,pij=tanh(hi'hj),tanh 是一種注意力學習函數,ht是LSTM 網絡輸出的特征向量。
文中將主題詞提取看作一個二分類問題,采用LSTM 構建分類器。設當前詞為中心詞,本文視中心詞及其上文具有相同重要性。但是,在傳統的LSTM 模型中,只能使用從句子開頭到中心詞,從而忽略了中心詞的后續文本信息的影響,這樣有可能丟失重要信息。因此,為了充分利用中心詞的上下文信息,提出改進的雙向LSTM 模型(iBi-LSTM)進行詞分類,將中心詞的上下文本信息都輸入到模型中,并在兩個方向上將中心詞與其上下文信息一起建模,以便計算中心詞的概率并判斷其是否為主題詞,如圖2(b)所示。
在圖2(b)中,采用了兩個LSTM 對中心詞及其上下文信息進行建模,一個以從左到右的方式對從句子開頭到中心詞的詞進行建模(LSTMl),另一個從句子結尾到中心詞的信息進行建模(LSTMr)。wt表示文檔中的第t 個詞的詞向量,hlt為t 時刻LSTMl的隱藏層的輸出,hrt表示t 時刻LSTMr的隱藏層的輸出,則:

Attention 機制可以通過獲取的注意力權重來區分詞向量中各語義編碼的重要性,增強模型提取特征的能力,因此該方法可以提高模型分類的準確率。本文通過引入Self-Attention 來獲取句子中詞之間的語義或句法特征,如圖2(c)所示。

其中,W1是一個維度為da×u的參數矩陣,W2是一個維度為r×da的參數矩陣,u 為隱藏狀態向量hi的維度,r 是所采用的multi-hop 注意力機制的hop 數量,da為設置的權重矩陣的維度。注意力權重矩陣A是multi-hop 注意力矩陣,它有助于在對當前單詞進行建模時顯式捕獲語義信息。與傳統的single-hop 注意力機制相比,multi-hop 注意力機制使模型能夠專注于上下文的不同部分,從而可從多方面捕獲句子信息。
將注意力矩陣A和隱藏狀態向量H相乘,以生成中心詞wt的加權向量表示:

最后,通過對Cl和Cr中的行向量求平均,得到兩個方向上中心詞的向量表示,然后將這兩個向量連接起來以生成中心詞的最終向量表示Vt。然后將Vt輸入softmax 層以生成中心詞是否為主題詞的概率分布,如式(16)所示:

主題詞提取實質是一個二分類問題,即是主題詞或者不是關鍵詞。采用Adam 作為模型的優化器,該模型將AdaGrad 和RMSProp 算法融合,可基于訓練數據迭代更新網絡權重實現自適應學習[17]。
分類函數為softmax 函數。模型訓練目標就是最小化損失函數,本文使用式(17)的交叉熵作為損失函數:

其中,yt表示樣本t 的標簽,正類為1,負類為0,Pt表示樣本t預測為正的概率。
為了更好地訓練模型,本文提出一種兩階段訓練方法:首先,使用粗數據集對模型進行第一階段的訓練,然后,使用人工標注的數據進行第二階段的模型訓練。
訓練深度神經網絡模型需要大規模的訓練數據。然而,對于主題詞提取的任務,需要人工來標注訓練所需的語料。由于人工標注的數據集的數量有限,所以本文提出了一種自動標注新聞文本中的主題詞并可生成大規模帶標簽的數據集,用加權詞頻-逆文檔頻度值[Tidf,如式(22)所示]作為數據集中主題詞的判斷依據。但是,這種自動標注的主題詞不一定準確,因此將生成的數據集作為第一階段(預訓練階段)訓練的數據集,即粗數據集。

式(20)中,Tf表示加權詞頻,Idf表示逆文檔頻度,是某個詞在標題中出現的次數,s2是這個詞在文章正文中出現的次數,通常1 ≥s1≥0,因此在實驗中詞wi在標題中出現則swi=2(s2+1)。式(21)中,M 是語料庫的總文檔數,Mwi是包含該詞的文檔數。
本實驗自建了一個小規模數據集,數據來源于新浪新聞的體育、娛樂和科技新聞共12 000 篇文章,其中體育新聞、娛樂新聞和科技類新聞各4 000 篇。分別從體育、娛樂和科技新聞中隨機抽取1 000 篇新聞文本進行人工標注,然后根據2.3節的方法自動標注剩余的9 000 篇新聞文本,數據集如表1 所示。

表1 數據集Tab.1 Data sets
在實驗過程中,使用預訓練的詞向量,并在訓練過程中使其保持不變。這些詞向量是通過在搜狗新聞數據集上使用Word2Vec的Skip-gram模型[18]進行訓練得到的,每個詞向量的維度設置為100。每個隱藏狀態的維度也設置為100,用于計算自注意力的參數da設置為128,batch_size 設置為128,Adam 的學習率設置為0.001。
采用精確度(precision,P)、召回率(recall,R)和F1值作為模型性能的評價指標。將主題詞提取看作是一個二分類問題,主題詞為一類A,非主題詞為一類B。對于類別A,預測結果與真實結果相同的樣本數為Nptrue,預測結果為A 但實際結果不是A 的樣本數為Npfalse,實際結果為A 但預測結果不為A 的樣本數為Nfalse,則:

將本文的iBi-LSTM 和Att-iBi-LSTM 方法與現有的SVM、TextRank 和LSTM 模型方法對比,其中數據集相同。
實驗1:僅使用人工標注的數據集作為模型訓練的語料,在體育、娛樂和科技新聞上分別驗證各種主題詞提取方法,各新聞語料的80%作為訓練集,20%作為測試集,從訓練語料中隨機抽取10%作為驗證集。在測試集上計算出P、R 和F1值,實驗結果如表2 所示。每個評價指標中的最優值用粗體標出。
從表2 可以看出,在體育和科技新聞數據集上iBi-LSTM 的精確度明顯高于其他對比方法,Att-iBi-LSTM 的召回率和F1值在所有方法中獲得了最優值,在科技新聞數據集上Att-iBi-LSTM 的精確度、召回率和F1值都是最高的。

表2 主題詞提取結果Tab.2 Results of topic words extraction %
各方法在3 個數據上的平均結果如表3 所示,每個評價指標中的最優值用粗體標出。

表3 各數據集上的平均實驗結果Tab.3 Mean experimental results on datasets %
從表3 可以看出綜合3 種新聞數據集的主題詞提取結果,iBi-LSTM 模型的精確度值最高,Att-iBi-LSTM 的召回率和F1值高于其他對比方法。iBi-LSTM 模型與SVM 模型相比P、R 和F1值分別提高了17.77%、5.12%和12.46%,與TextRank 相比P、R 和F1值 分 別 提 高 了19.32%、26.59%和22.99%,與LSTM 模型相比P、R 和F1值分別提高了3.28%、0.39%和1.91%。引入Attention 機制的雙向LSTM 模型與iBi-LSTM 模型相比主題詞提取的召回率和F1值分別提高了2.80%和1.32%,與SVM、TextRank 和LSTM 相比F1值分別提高了13.78%、24.31%和3.32%。雖然在主題詞提取任務中,Att-iBi-LSTM 模型比iBi-LSTM 模型相比P 值沒有提升,但是F1值作為P 和R 的調和平均數更能說明分類效果,因此Attention 機制的引入對模型進行該任務是有效的。
實驗2:先使用自動標注的數據進行模型的預訓練,然后使用人工標注數據集作為模型第二階段訓練的語料,訓練集、測試集和驗證集的比例與實驗1 相同,在所有新聞數據集上的總體實驗結果如表4 所示,iBi-LSTM(2)和Att-iBi-LSTM(2)中的(2)表示模型使用兩階段訓練方法。

表4 兩階段訓練方法對主題詞提取的影響Tab.4 Influence of two-stage training methods on topic words extraction %
從表4 中可以看出,使用兩階段訓練方法的iBi-LSTM(2)與iBi-LSTM 相比主題詞提取的P、R和F1值分別提高了3.31%、0.86%和2.12%,使用兩階段訓練方法的Att-iBi-LSTM(2)與Att-iBi-LSTM相比P、R 和F1值分別提高了2.48%、0.53%和1.56%。表4 中的實驗結果證明了兩階段訓練方法對模型進行主題詞提取的有效性。
本文采用雙向LSTM 引入Attention 的方法實現了新聞主題詞的提取,并且在不同領域新聞主題詞提取任務中均得到了較好的提取效果,說明了該方法的泛化性。本方法構建了一個雙向的LSTM 深度神經網絡模型,對中心詞所在的句子建模,從兩個方向提取這個詞的上文和下文的信息,并在該網絡模型中引入注意力機制,與單獨的LSTM 模型相比可以獲取更多的文本信息。因此,該方法有利于文本分類、文本聚類等其他自然語言處理工作的進行。此外,文中還提出了一種利用自動標注的粗數據集的兩階段模型訓練方法,從實驗結果可以發現這種模型訓練方法對主題詞提取的任務有效,所以在其他類似的工作中也可以利用這種方法。Att-iBi-LSTM 結合了LSTM 模型和Attention 機制的優點,從而獲得了更好的主題詞提取效果,但是這種混合模型的網絡結構與單一模型相比更復雜、計算量更大,所以模型訓練的時間更長。因此,需要在以后的工作中對模型進行優化以縮短模型的訓練時間。