999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的關鍵詞生成研究綜述

2022-07-21 09:44:52李艷玲
計算機工程與應用 2022年14期
關鍵詞:文本方法模型

于 強,林 民,李艷玲

內蒙古師范大學 計算機科學技術學院,呼和浩特 010022

隨著大數據時代的到來,衍生出大量缺少關鍵詞的文本,如何以一組詞語有效地表示語言文本所隱含的核心信息,已成為當下的熱門研究方向。關鍵詞提取作為自然語言處理(natural language processing,NLP)中的經典任務,其應用場景非常廣泛。通過關鍵詞提取技術獲得的關鍵詞可用于協助自然語言處理的下游任務,如信息檢索、文本摘要、文本分類和觀點挖掘等。

關鍵詞被視為文本中重要主題信息的描述和總結,是概括文本的最小單位,也被認為是文本的最小摘要,可以有效地用于理解、組織和檢索文本內容。例如在學術出版物中,文章開頭的關鍵詞部分提到了最能代表其內容的詞語,讀者可以通過關鍵詞決定是否閱讀全文。各類信息系統也可以利用關鍵詞輕松完成文本分類和快速檢索等工作。文本的數據是龐大的,導致在網絡上搜索任何主題時,訪問與主題相關的文本可能會遇到困難。如果有一些詞語(關鍵詞)來代表文本的內容、主題等主要特征,就可以更輕松地檢索到相關文本。根據關鍵詞提取技術的發展歷程,可以將其細分為關鍵詞抽取階段與關鍵詞生成階段。其中,關鍵詞抽取階段指從原文中篩選能表達文本主題的詞語作為關鍵詞,該關鍵詞必然在文本中出現;關鍵詞生成階段指從詞表或原文中選擇與文本主題最契合的詞語作為文本的關鍵詞,與該關鍵詞是否在文本中出現無關[1]。

由于關鍵詞的重要性以及它帶來的便利性,1957年起,Luhn等人[2]開始陸續對關鍵詞抽取任務展開研究。初始抽取算法得益于抽取速度和操作簡易,主要遵循以下三個步驟:首先是進行分詞,去停用詞;其次利用文本特征如詞頻、詞性、詞的位置、詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF)等對候選詞進行篩選;最后通過相應指標對候選詞進行排序,選擇排名靠前的作為關鍵詞。接著衍生出各種監督算法、半監督算法以及其他無監督抽取算法。

2017年,Meng等人[3]在相關研究中發現關鍵詞是否在原文中的比例近乎一致,意味著不存在于原文中的關鍵詞對于提取研究同樣重要,也反映出關鍵詞抽取方法所存在的缺陷:(1)只能抽取原文本中出現的詞語作為關鍵詞;(2)主要依靠文本的淺層特征來抽取關鍵詞,因此很難挖掘和充分利用文本背后潛在的語義信息。現實中,關鍵詞通常是作者理解了文本語義和主題所指定的關鍵信息,意味著作者可以依靠自身的閱歷和與該主題相關的外部知識為文本補充更恰當的關鍵詞[4]。

隨著深度學習(deep neural networks,DNN)技術的發展,應用于自然語言生成(natural language generation,NLG)領域的序列到序列(sequence to sequence,Seq2Seq)模型在解決許多問題上取得了比現有方法更好的效果。它早期應用于機器翻譯[5]任務,解決了原始序列與目標序列長度不相等問題,取得了不錯的反響。越來越多的研究者也將其應用于關鍵詞生成(keyphrase generation,KG)領域[6]來解決抽取方法存在的缺陷。Seq2Seq模型是一種編碼器-解碼器(encoder-decoder)神經網絡,其中編碼器通過捕捉原文本關鍵信息形成特征向量表示,解碼器通過語言模型從預定義詞匯表中生成關鍵詞的概率分布,和依照復制機制[7]計算原文中關鍵詞的概率分布選擇當前時刻概率最大的詞作為關鍵詞。由于其彌補了關鍵詞抽取方法的缺陷,基于序列到序列模型的關鍵詞生成技術成為了當前領域的研究熱點。

因而本文重點分析序列到序列關鍵詞生成模型,依照不同的訓練方式將其分為有監督學習、半監督學習、無監督學習以及深度強化學習,并對各類方法的原理和功能進行分析。

1 關鍵詞生成

關鍵詞生成方法采用了序列到序列模型,該模型本質上用到了兩個循環神經網絡(recurrent neural network,RNN),分別叫做編碼器和解碼器,前者用來獲取輸入文本詞序列的關鍵信息,后者根據傳遞的信息逐項生成關鍵詞序列。這種方法更符合用戶的真實行為,圖1給出了關鍵詞生成數據集Inspec[8]的一個示例,藍色斜體字代表原文中的關鍵詞。

圖1 關鍵詞生成示例Fig.1 Example of inspec

1.1 模型的形式化定義

基于序列到序列模型的關鍵詞生成方法包含三個部分:

(1)編碼器:將原文按詞序列X=<x1,x2,…,x||n>傳入到編碼器中,每個詞經過編碼器內部處理輸出上下文特征向量作為隱狀態h。

(2)上下文向量C:保存編碼器輸出狀態向量,繼而傳給解碼器進行解析處理。

(3)解碼器:對編碼器傳來的上下文向量進行解析,產生輸出序列Y=<y1,y2,…,y||m>,具體模型表示如圖2所示。

圖2 序列到序列模型Fig.2 Sequence-to-sequence model

1.2 關鍵詞生成任務的數據集

(1)主流語料庫

開放數據倡議和數據科學競賽鼓勵了越來越多數據集的創建和共享,自然語言處理數據集是解決特定任務的各種文本集合。在關鍵詞生成領域,最流行的文本數據集合如表1所示。

Inspec是最早的數據集之一,其中探索了各種語言特征在關鍵詞提取中的作用。它由2 000篇英文摘要組成(1 000個用于訓練,500個用于驗證,500個用于測試),其相應的標題和關鍵詞來自Inspec數據庫,摘要來自1998年至2002年計算機與控制、信息技術等學科出版的期刊論文。每個摘要都有兩類由專業標注人員指定的關鍵詞:一類僅限于Inspec同義詞表中的詞匯;另一類可以是任何合適的詞匯。

表1 數據集信息Table 1 Dataset information

NUS[9]是最小的數據集之一,由211篇會議論文組成。每篇論文都有兩組關鍵詞:第一組由作者設置,第二組由學生志愿者們創建。另一個小數據集是SemEval(或SemEval-2010)[10],它由288篇論文組成,144篇用于訓練,100篇用于測試,40篇用于驗證。它們分別來源于ACMDigital中會議論文和研討會記錄。Krapivin[11]提供有2 304篇ACM于2003—2005出版的計算機科學領域發表的論文,每篇至少包含一位專家為文章指定了關鍵詞。每篇文章的不同部分如標題,摘要被分開標記以簡化各種關鍵詞的提取。

從TREC-9收集的文章DUC(或DUC-2001)[12]數據集在新聞領域很受歡迎。它由308篇新聞文章和2 488個手動標注的關鍵詞標簽組成,每個文檔的平均關鍵詞數為8.08,每個關鍵詞的平均字數為2.09,廣泛應用于跨域測試。

上述公開數據集的規模都比較小,Meng等人制作了一個大型數據集KP20k[3]。它由567 830篇計算機科學領域的論文組成,527 830篇用于訓練,20 000篇用于驗證和20 000篇用于測試。KP20k被廣泛用于訓練和評估各種關鍵詞生成方法。

上述數據集大多由學術文檔(摘要或全文)和非專家標注的關鍵詞組成。在學術文本以外的領域中,缺乏能夠供神經生成模型訓練的大量由專家標注的數據集。KPTimes[13]填補了這一空白,并提出一個由279 923篇新聞文章組成的數據集,其中包含編輯指定的關鍵詞。在線新聞中包含最初由人工分配用于搜索引擎的詞語,Gallina等人將這些元數據視為真實值來自動構建數據集,用于訓練和測試關鍵詞生成的深度神經網絡模型。大型數據集也推動了其他自然語言生成任務的進程。

目前,關鍵詞生成的英文數據集居多,中文數據集相對較少。為彌補中文社交媒體領域關鍵詞生成數據集的空白,Weibo[14]數據集應用而生。它的數據來源于2014年1月至8月社交媒體微博中的所有帖子,它由46 296篇社交媒體帖子組成,將數據以80%、10%、10%分為三個子集,分別對應于訓練集、驗證集、測試集。由于其文本的非正式和口語化性質,Weibo被廣泛應用于社交媒體這一類短文本的關鍵詞生成中。

(2)大型語料庫

對科學論文的關鍵詞進行實驗已成為一種趨勢,這在很大程度上受到在線學術知識庫中數據可用性的推動。2019年,Cano等人[15]制作了一個更大的數據集,由科學論文中關鍵詞、標題和摘要組成。來源于開放學術圖譜的全部數據,檢索了關鍵詞、標題和任何可用的抽象數據,使用語言過濾器刪除了所有非英文文本記錄,并用斯坦福CoreNLP分詞器對文本進行小寫和分詞,標記標題和摘要文本,得到了數據集OAGKX,大約有22 674 436條數據,數據集樣本在文件中存儲為JSON形式。

2 相關工作

有監督的學習方法需要獲取大量有標注的數據,是一種成本較高的學習方法,而不依賴于標注數據的無監督學習,模型的整體性能較差。半監督和深度強化的學習方法的出現,正好可以中和這一問題,使用較少的標注數據來進行訓練。下面對基于深度學習的關鍵詞生成方法分別從這四個方面展開詳述。

2.1 基于有監督的關鍵詞生成方法

2.1.1 基于復制機制的Seq2Seq關鍵詞生成模型

隨著Seq2Seq模型在機器翻譯任務中取得不錯的效果,大量研究者嘗試用該模型來完成關鍵詞生成任務。2017年,Meng等人[3]針對現有關鍵詞提取方法無法生成不存在于原文中的關鍵詞這一缺陷,首次提出了結合復制機制的Seq2Seq模型(CopyRNN),模型結構如圖3所示。

CopyRNN模型中的編碼器用于創建原文本的隱狀態表示向量,原文的詞序列Xseq=<x1,x2,…,x||m>作為模型的輸入,詞嵌入層[16]將每個詞映射到向量空間,隨后傳輸到由雙向GRU(gate recurrent unit)組成的編碼器來完成上下文語義交互信息并輸出隱狀態向量,具體過程為將長度可變的輸入序列通過公式:ht=f(Vt,ht-1),隨著時間t迭代轉換為編碼器的隱狀態<h1,h2,…,h|m|>。其中,每一時刻的隱狀態由當前時刻輸入的詞嵌入Vt和上一時刻的隱狀態ht-1經過一種非線性函數f求得。

圖3 基于復制機制的Seq2Seq關鍵詞生成模型架構圖Fig.3 Architecture diagram of Seq2Seq model basedon copy mechanism

解碼器由前向GRU組成,通過公式st=f(yt-1,st-1,ct)將ct隨著時間迭代輸出解碼器的隱狀態st。其中ct為上下文向量,在求解該向量環節應用了注意力機制[17](attention mechanism),如圖4所示。

圖4 注意力機制架構圖Fig.4 Architecture diagram of attention mechanism

注意力機制的思想是解析原文本時重點關注文本與每個關鍵詞的相關程度,降低無關文本對關鍵詞的影響權重。例如(原文:我愛北京天安門;關鍵詞:天安門)該文本中“北京”一詞對“天安門”影響權重最大,“我”和“愛”一詞的權重則相對小一些。動態變化的上下文向量意味著原文本序列Xseq中任意詞xi對生成目標詞yi的影響力不是等同的,它們之間的匹配程度越高代表原文中xi對當前預測詞影響力越強。

如公式(1)所示ci是所有時刻t的輸入隱狀態的加權平均和。權值由每個輸入隱狀態與輸出隱狀態之間的相似性生成,之后經過歸一化,得到最終的權重,如公式(2)所示:

yt為t時刻預測的關鍵詞。預測每個新詞yt的概率由兩部分組成,如公式(3)所示:

第一項是生成該項的概率,如公式(4)所示:

g是一種非線性的softmax分類函數,輸出為詞匯表中所有詞的概率分布。

第二項是從原文本中復制該項的概率,被稱為復制機制[7(]copy mechanism),其中輸入文本中的一些詞語被選擇性地復制到生成的關鍵詞中。在日常中也可以觀察到類似的現象,如雙方交流過程中實體名稱(人名、地名)往往會重復出現。它和注意力機制比較相似,利用位置信息來衡量原文中每個詞語的重要性,見公式(5):

σ是一個非線性函數,用來計算每一個輸入與當前預測詞的得分。Wc是一個訓練參數矩陣,Z是所有分數的和用來執行標準化,最終預測詞的概率為生成部分與復制部分的和。該模型的損失函數如公式(7)所示:

其中,N表示訓練實例的數目,yn和xn分別為第n個樣本對應的輸入序列和輸出序列。最終結果利用BeamSearch[18]生成概率最大的關鍵詞。這是一項重要的開創性研究,該模型首次克服了以往抽取方法存在的缺陷,通過深度神經網絡獲取語言的深層次特征,能獲取到20%不存在于原文中的關鍵詞。綜合比較,該模型的表現明顯優于以往的各類抽取方法,對關鍵詞生成的后續發展歷程影響深遠,后續許多研究者都是在此基礎上進行深入的研究。但是,該方法還存在以下缺點:(1)解碼器生成關鍵詞時,并沒有充分考慮所選詞之間的依賴關系,所以生成的關鍵詞存在語義重復和重要主題可能未覆蓋的問題。(2)BeamSearch[17]是固定的,不能動態地根據文本調整生成關鍵詞的數量。

2.1.2 其他擴展型

2017年,Zhang等人[19]嘗試對CopyRNN的生成速度進行優化,提出了一種完全基于卷積神經網絡(convolutional neural networks,CNN)結構的CopyCNN模型。與循環神經網絡相比,并行工作的CNNs能更好地利用GPU(graphics processing unit)硬件,使計算完全并行化、高效化。門控線性單元(gated linear units,GLU)用作非線性函數來減輕梯度傳播,同時還使用位置信息和輸入詞嵌入來保持序列順序,在保持得分略高的情況下,生成時間減少了數倍。

2018年,Zhang等人[20]為了降低關鍵詞之間的冗余度,提高關鍵詞的多樣性,在CopyRNN模型中引入覆蓋機制(coverage mechanism)[21]如圖5所示,從而形成CovRNN模型。覆蓋向量可以看作是一個序列向量,它作為原文本詞語壓縮后的一個非標準化分布,利用文本中所有詞的注意力分布來形成覆蓋度,覆蓋機制來記憶原文本中哪些部分已被前面的詞語覆蓋,使得后續生成的關鍵詞更平衡地關注原文本中的其他信息,以此來覆蓋更多的主題。該模型與CopyRNN相比,更具有科學性。

圖5 覆蓋機制架構圖Fig.5 Architecture diagram of coverage mechanism

2018年,Chen等人[22]為了進一步優化關鍵詞的重復率和多樣性,提出了CorrRNN模型。在覆蓋向量的前提下,引入了一種在新生成候選詞過程中對比原文本和已生成關鍵詞的審查機制(review mechanism),以避免最終結果的重復。該機制進一步減弱已生成關鍵詞和將要生成的關鍵詞之間的相關性,進一步提升了關鍵詞的主題的覆蓋度和多樣性。

2.1.3 結合主題模型的關鍵詞生成

2019年,Wang等人[14]將編碼器-解碼器模型應用于社交媒體來實現關鍵詞生成。由于社交媒體語言的非正式和口語化的性質,神經主題模型(neural topic model,NTM)[23]用于探索輸入文本的潛在主題信息,豐富文本特征和緩解社交媒體中的數據稀疏問題[24]。主題信息與編碼器獲得的上下文表示向量一起進入解碼器共同指導關鍵詞的生成。如圖6所示主題感知神經關鍵詞生成模型的整體架構包含兩個模塊。

圖6 主題感知神經關鍵詞生成模型架構圖Fig.6 Architecture diagram of topic-aware neural keyphrase generation model

(1)用于探索隱含主題的神經主題模型

該模塊由變分自編碼器(variational auto-encoder,VAE)演變而來,結構由一個編碼器和一個解碼器組成,其過程類似于數據重建。給定一個長度為|C|的文本作為輸入,表示社交媒體中的帖子{x1,x2,…,x|C|},將每個帖子x處理成詞袋表示xbow,它是詞匯表上的一個V維向量(V是詞匯表大小)。輸入xbow由編碼器負責估計先驗分布變量μ和σ,用于推導主題變量z(代表帖子的主題)。

解碼器工作原理與LDA(latent Dirichlet allocation)風格的主題模型類似,假設給定的語料庫C下有K個主題。每個主題k在詞匯表上都表示為一個主題-詞分布φK,每個帖子x∈C都有一個由θ表示的主題混合,即一個K維分布向量。特別是在神經主題模型中,θ是由Gaussian softmax構建的。因此,解碼器采取以下步驟來模擬每個帖子x的生成方式:

①采樣隱含主題變量z~N(μ,σ2)。

②主題混合θ=sof tmax(fθ(z))

③對于每個詞w∈X,采樣w~softmax(fΦ(θ))。

解碼器采用fΦ(·)的權重矩陣作為主題-詞分布(φ1,φ2,…,φK),之后主要采用主題混合θ(K維分布向量)作為主題表示來指導關鍵詞的生成。

(2)用于關鍵詞生成的序列到序列模型

該模塊以詞序列形式Xseq=<w1,w2,…,w|X|>(|x|是x中的詞數)表示的原帖子x作為輸入,目標是輸出一個詞序列y作為x的關鍵詞。序列編碼器從原文的詞序列學習出上下文表示特征,每個詞wi進入詞嵌入層表示為vi,利用雙向GRU完成編碼,輸出隱狀態hi(前向和后向隱狀態拼接),見公式(9):

序列解碼器采用前向GRU通過公式sj=fGRU([uj;θ],sj-1)生成目標詞的隱狀態sj。其中uj是解碼器第j個輸入的詞嵌入,sj-1是上一時刻的隱狀態。解碼器工作時也應用了上述方法的注意力機制和復制機制。具體來說,它通過公式λj=sigmoid(Wλ[uj;sj;cj;θ]+bλ)訓練出一個向量λj∈[0,1]來決定是復制原文中的詞還是從詞匯表中生成,主題信息θ也參與指導關鍵詞生成。最終,用下列公式(10)來預測第j個目標詞的分布pj:

其中注意力分數αij指從原文中復制為關鍵詞的概率分布。綜合分析該模型的損失函數為兩個模塊對應的損失函數之和,公式為L=LNTM+γ·LKG,其中超參數γ用來平衡NTM和KG模型的影響。研究者對中英文社交媒體平臺微博、Twitter和StackExchange等三個數據集上進行了實驗。實驗表明,該模型顯著優于不利用隱含主題的抽取和生成模型,但是該模型沒有考慮到生成關鍵詞的數量問題,每個帖子關鍵詞生成數量都是固定的。

上述有監督模型都使用Beam Search生成關鍵詞,并選擇組合條件概率最大的K個詞作為關鍵詞。取決于文本的長度、主題和關鍵詞標注粒度等因素,每個文本的關鍵詞數量可能存在差異,因此使用相同的K來評估數據樣本不符合現實也不是最佳的方案。2020年,Yuan等人[4]引入一種訓練設置,其中生成模型可以學習給定文本的目標關鍵詞數量,通過加入可變數量的關鍵詞序列,也將其視為序列生成的目標,為每個樣本解碼這些序列中的一個(如從BeamSearch中獲取組合概率值最大的序列),最終該模型還可以為每個輸入樣本生成可變長度的關鍵詞進行排序。為了提高輸出序列的多樣性,對解碼器輸出的隱狀態向量進行正交正則化,以此表現各個序列之間的差異性。除了使用F1@5、F1@10,還提出兩個新穎的評估指標:F1@M和F1@V。

該方法存在兩個缺點:在該設置下訓練的模型生成的關鍵詞往往少于“基本事實”。現有的評估方法僅依賴詞干的精確匹配來確定候選詞是否與基本事實的詞語匹配。例如,如果模型生成“支持向量機”,它將被視為不正確,因為它與標準標簽給出的詞語“SVM”不匹配。

2.2 基于半監督的關鍵詞生成方法

2.2.1 結合無監督抽取的關鍵詞生成

雖然序列到序列模型在關鍵詞生成任務上取得了顯著的成功,但都建立在大量帶標注數據的前提下,僅適用于資源豐富的領域。實際應用中如何更好地利用未標注數據也是值得重點考慮的問題。Ye等人[25]提出了利用標注數據和大規模未標注數據樣本進行聯合學習的半監督關鍵詞生成方法,該方法有兩種策略,第一種使用無監督方法TF-IDF和TextRank對未標注文本進行關鍵詞抽取并對其進行去重,將結果與標注數據混合應用于模型訓練。這些文本雖然是未標注的,但可以提供通用的語言結構和詞匯信息,例如關鍵詞的上下文信息。使用未標記文本也可以緩解因訓練樣本偏少而導致的過擬合問題,有利于提高模型的泛化能力。第二種是多任務學習,該框架通過參數共享策略將關鍵詞生成作為基本任務與標題生成的輔助任務聯合學習,兩個任務共享一個編碼器網絡,解碼器分別適配不同的任務,在訓練階段,對兩個任務實施交替訓練的策略。多任務學習將受益于端學習,提高編碼器的通用性。在科學論文和新聞文章中,文檔通常包含一個概括核心主題及文本內容的標題,和關鍵詞的功能非常類似,因此選擇標題生成作為輔助任務。最終研究結果表明該方法優于部分有監督的關鍵詞生成方法。

2.2.2 基于結構信息的關鍵詞生成

以往的方法將文本標題和內容平等對待,僅將它們連接作為原文輸入,無法強調標題包含的高度總結性和有價值的信息,忽略了標題對整個文本的引領作用。2019年,Chen等人[26]研究了數據集上與標題相關的關鍵詞的比例,發現接近33%的不在原文中的關鍵詞與標題相關。對于在原文中出現的關鍵詞,和標題相關度高達約60%。因此提出了標題引導網絡(title-guided network,TG-Net)模型,如圖7所示。

圖7 TG-NET編碼器架構圖Fig.7 Architecture diagram of TG-NET encoder

該模型具有兩個新特性:標題信息也用作類似查詢的輸入;指向標題的編碼器用于捕獲標題中重要信息。TG-Net主要由三個復雜編碼器組成:(1)一個雙向GRU分別編碼原文本(標題+摘要)和標題在其上下文中的表示。(2)基于注意力的匹配層,根據上下文詞的語義關系捕獲每個詞的相關標題信息。(3)另一個雙向GRU將原始上下文和收集的標題信息合并到最終的標題引導表示中。解碼器與之前方法類似,配置有注意力機制和復制機制,利用最終標題引導的上下文表示來預測關鍵詞。與CopyRNN相比取得了重大進展,且對于不存在于原文中的關鍵詞生成方面也有明顯的改進(更好的R@10和R@50分數)。

2.2.3 多任務學習

2019年,Chen等人[27]提出了新的關鍵詞生成方法,一個多任務學習[28]框架,共同學習一個抽取模型和一個生成模型,使基于編碼器-解碼器框架的序列到序列模型中具有抽取和檢索的能力,利用關鍵詞抽取模型和引入外部知識來提高關鍵詞生成的性能。神經序列學習模型用于計算原文本中每個詞成為關鍵詞的概率。這些值用于修正解碼器的復制概率分布,幫助后者檢測原文中最重要的詞。抽取模型訓練時明確于從原文中識別關鍵詞,且概率值表現為靜態,用于辨別文本中包含關鍵信息的重要組成部分,有效幫助復制機制更準確地識別原文中的詞語。同時還提出了一個檢索器——從訓練數據中檢索與給定文本相似的文檔,為解碼器引入豐富的外部知識來指導文本關鍵詞的生成。最后,合并模塊將提取、檢索和生成的候選詞組合在一起,產生最終預測。該方法的優點是:(1)一個新的多任務學習框架,該框架利用抽取模型和外部知識來改進關鍵詞生成;(2)一種新的基于神經網絡的合并模塊,將提取、生成和檢索方法中的預測詞結合起來,進一步提高性能;(3)在五個KG基準線上的實驗表明優于先前的方法。但是他們提出的提取模型不是直接從原文檔中提取關鍵詞,而是旨在識別文檔中每個詞語的重要性,使用重要性分數來輔助關鍵詞的生成。因此,提取模型的潛力尚未得到充分利用。

2020年,Liu等人[29]利用預訓練模型(bidirectional encoder representation from transformer,BERT)[30]對輸入文本按句子形式進行篩選,減輕將全部句子序列作為上下文的負擔,重點關注包含關鍵詞的句子,降低文本中無關內容對抽取性能的影響。在下游任務序列標記中對BERT進行精調,同時將訓練好的BERT向量與生成模型共享,引入外部知識指導關鍵詞生成。考慮到提取和生成方法的不同特點,將關鍵詞預測分為兩個子任務:原文中的關鍵詞抽取(present keyphrase extraction,PKE)和不存在于原文中的關鍵詞生成(absent keyphrase generation,AKG),如圖8所示。目的是充分利用兩種模型[31]的潛力,讓它們發揮各自最佳的性能。

對于PKE,使用BERT預訓練模型聯合BiLSTM-CRF[32](bi-directional long short term memory-conditional random fields)架構將這項工作視為序列標記問題,整體框架由兩部分組成:

(1)基于BERT的句子過濾器

將文檔以句子形式切分,一些不包含關鍵詞的句子被視為噪聲數據,會顯著降低抽取模型的性能。為了過濾掉不包含關鍵詞的句子,使用BERT模型中的自注意力層判斷每個句子的重要性。具體表現為將句子向量輸入到Transformer[33]塊中,每個區塊包含兩個子層:多頭自注意力層(multi-headed self-attention)和一個全連接前饋網絡(feedforward network,FFN)層,公式如下:

其中多頭自注意力層的三個輸入從左到右是Query矩陣、Key矩陣和Value矩陣。兩者周圍都采用了殘差連接子層,接著進行歸一化處理,最后通過sigmoid函數獲得每個句子的分數:,根據得分為后續序列標記過程選擇前K個句子。句子過濾器的損失函數為最小化負對數似然:,其中代表文檔中的句子數。

圖8 結合預訓練模型的關鍵詞生成架構圖Fig.8 KG architecture diagram combined with pre-training model

(2)BiLSTM-CRF序列標記模塊

將所選句子中詞語的上下文向量輸入到BiLSTM模型中進行精調以提高表達能力,條件隨機場(CRF)對該輸出進行評分和標記。對于輸入x,標記序列t的評分定義為,其中,Ai,j是從標記i到標記j的轉換分數,Pi,j是第i個詞的標記j的分數。CRF的損失函數為最小化標準標簽序列t的負對數概率:

最終利用Viterbi解碼算法找到最佳序列路徑,整體抽取模型的最終損失可以表示為LPKE=Lf+Lc。

對于AKE的整體架構是基于Transformer[33]的編碼器和解碼器組成。下面分兩部分進行分析:

(1)融合注意力模塊的Transformer編碼器

給定一個文檔x,文檔中每個詞嵌入經transformer編碼為U0:

同時,為了防止BERT向量丟失掉抽取模型中關鍵詞的信息,生成模型中不再使用Transformer訓練BERT,而是共享關鍵詞抽取中的BERT向量作為補充知識來指導生成過程,采用另一個L層多頭注意力模塊編碼表示為,當時,使用“軟門”權重將它們合并。;。其中V是文檔的最終表示,是逐元素乘法。

(2)Transformer解碼器

除了編碼器模塊中的自注意力層,每個解碼器層還包含多頭編碼器-解碼器注意層,對編碼器的輸出表示V執行,每個解碼器塊如下:

其中Dl為第l層解碼塊的輸出。與以往方法一樣,為了提高模型的生成能力,將復制機制與Transformer解碼器結合起來,其中最后一個解碼層的注意力分布表示從原文本復制詞的概率。在步驟t的最終預測分布P表示為:

該方法的優點是結合預訓練模型可以大大減少訓練時間以及對大量標記數據的依賴,并利用BERT對文本中的關鍵句子進行甄別,避免了文本中所有句子作為輸入上下文的負擔,能有效地提升模型性能。將關鍵詞預測分為兩個子任務后,抽取模型充分考慮了候選詞之間的依賴關系,提高了關鍵詞的多樣性,同時基于共享BERT提供的額外的關鍵詞信息使生成模型性能進一步提升。

2.3 基于無監督的關鍵詞生成方法

隨著深度學習技術的發展,關鍵詞生成任務已經取得了顯著的成功,尤其在生成不存在于原文中的關鍵詞方面。近些年的研究,在挖掘文本深層語義和已生成關鍵詞的相關性上取得了不錯的效果。但這些性能提升主要來源于大量帶標注的數據。然而收集大量的關鍵詞并不容易,需要專業人員對其標注,既費時也費力。2021年,Meng等人[34]提出了一種無監督的關鍵詞生成方法AutoKeyGen,可以在不使用任何人工標注的情況下生成關鍵詞。據觀察在Inspec數據集中,99%的不存在于原文中的關鍵詞可以在其他文檔中找到。該方法的三個步驟為:(1)通過匯集語料庫中的文檔,遵循文獻[35-36]完成關鍵詞抽取,利用抽取出的詞匯構建詞庫。相關研究表明,56.8%的不存在于原文中的關鍵詞切分之后會分別出現在輸入文本中,說明在大多數情況下,不存在于原文中的關鍵詞能在該文本中找到出處。每給定一個輸入文本,對詞庫中的每一個詞切分后迭代查找,切分后所有的詞都出現就作為不存在于原文的關鍵詞。(2)利用TF-IDF和embedding similarity規則對關鍵詞進行排序。(3)使用每個文本中兩部分排名前五的關鍵詞來訓練Seq2Seq模型,以此獲取更多的不存在于原文本的關鍵詞。

該方法在無監督方法中實現了最好的性能,但是對語料進行抽取時忽略了關鍵詞的語義相關性,會造成生成關鍵詞的語義冗余問題。用于訓練Seq2Seq生成模塊的關鍵詞,按排名進行選擇時容易忽略掉低頻詞,造成關鍵詞主題覆蓋度不足的問題。

2.4 深度強化學習

2019年,Chan等人[37]在相關數據集上的實驗表明,catseqD模型每個文檔平均生成4.3個關鍵詞,而每個文檔平均有5.3個關鍵詞。雖然現有的方法能夠針對輸入文本生成一定數量的關鍵詞,并且可以根據每個文本調整關鍵詞的生成數量,但依舊存在著生成數量較少的問題。

為了模型能夠生成足夠且準確的關鍵詞,提出了一種關鍵詞生成的強化學習(reinforcement learning,RL)方法,如圖9所示。RL已廣泛應用于文本生成任務,如機器翻譯、文本摘要、圖像視頻字幕。這類強化學習依賴于Enhanced算法或其變體,通過最小化梯度損失策略來訓練生成模型以獲得回報。而該RL方法使用了一種新的自適應獎勵函數,通過一個“硬門”(if-else語句)將Recall和F1值結合起來。該模型的Encoder為雙向GRU,Decoder為單向的GRU,為了緩解OOV(out of vocabulary)問題,研究者也采用了指針生成網絡(pointergenerator network)[38],該網絡使用generator保留了其生成能力,同時用pointer從原文中復制相應的詞來保證關鍵詞的準確性。該方法的亮點在于研究者采用強化學習解決了生成關鍵詞過多或過少的問題,生成模型視為智能體,輸入的樣本視為環境,利用Recall值和F1值獎勵智能體指示它選擇相應行動,更新模型的參數,使模型生成更多更準確的關鍵詞。

圖9 強化學習架構圖Fig.9 Architecture diagram of reinforcement learning

這是一項開創性的研究,首次將深度強化學習應用于關鍵詞生成領域,同時顯著地提高了生成模型的性能。

上述基于序列到序列模型關鍵詞生成任務的強化學習框架利用評估指標進一步優化了訓練良好的神經模型。然而,F1和Recall評估指標只能判斷候選詞的正確性,忽略了候選詞和目標關鍵詞之間部分匹配的問題,在一定程度上抑制了深度學習模型的性能。針對這個問題,2021年Luo等人[39]提出了一種新的細粒度評估指標fine-grained(FG)來識別部分匹配的候選詞,可以更好地在細粒度維度上評估候選詞質量,進而優化深度強化學習框架。該框架提出了兩個階段的強化學習:(1)當模型識別到一些部分匹配的詞語,FG分數為模型提供積極的獎勵。(2)將部分匹配的候選詞按token順序以及token級的預測質量進行篩選,最終提升為關鍵詞。

新強化學習框架的關鍵詞生成方法在所有的評估分數中都優于之前的強化學習,同時該方法還能有效地緩解同義詞的問題并生成更高質量的關鍵詞。

綜合分析以上方法,分別從方法分類、網絡結構、機制設計、數據集和評價指標五部分進行總結,具體見表2,IKNSK={Inspec,Krapivin,NUS,SemEval,KP20k},在相關數據集上模型生成原文關鍵詞和非原文關鍵詞的性能如表3、表4所示。

3 關鍵詞生成評價方法

對關鍵詞提取方法描述和比較之前,通常先介紹用于評估和衡量其結果的方法、措施和關鍵基準。關鍵詞評估方法采用克蘭菲爾德評估過程[40](Voorhees 2001),每種方法應用于一組測試文檔,提取的關鍵詞通常與一組由作者對該文檔手動分配的關鍵詞構成參考進行比較。

3.1 基于深度學習的評價方法

在關鍵詞提取的現有技術中,使用不同的措施和協議來評估提取的關鍵詞。最廣泛的評價方法是精確率(Precision,P)、召回率(Recall,R)和F1(F1-measure)值,定義如下:

表2 關鍵詞生成方法總結Table 2 Summary of keyphrase generation methods

表3 在相關數據集上模型生成原文關鍵詞的性能Table 3 Performance of generating present keyphrases of various models on datasets

表4 在相關數據集上模型生成非原文關鍵詞的性能Table 4 Performance of generating absent keyphrases of various models on datasets

信息檢索中,通常根據關鍵詞排名的質量來評估方法,例如Precision@K、Recall@K和F1@K等。此度量忽略排名低于K的關鍵詞,并計算前K個關鍵詞的精度值列表。2020年,Yuan等人[4]還提出兩個新穎的評估指標:F1@M和F1@V,其中M是模型為每個數據樣本生成的所有關鍵詞的數量,其中V是在驗證集中給出最高F1@V分數的預測數量。

因為抽取方法不能生成不存在于原文中的關鍵詞,為了公平比較,將兩類關鍵詞的實驗結果分開評估。

上述措施并沒有考慮到關鍵詞多樣性[41]這一要素,因此在有排名關鍵詞列表的情況下,還需要其他評估措施,如廣泛使用的α-NDCG衡量關鍵詞生成的多樣性表示為N@K。α是相關性之間的權衡和α-NDCG的多樣性,它根據Habibi和Popescu-Belis[42]被設置為相等,權重為0.5,α-NDCG越高,結果越多樣化。

其中,α是一個參數,m表示關鍵詞的數量,k表示候選詞的數量。J(dk,i)=0 or 1,表示第k個候選詞是否與第i個關鍵詞相關,并且ri、k-1表示候選詞與第k個候選詞之前的第i個關鍵詞相關。這里的相關性被定義為當前關鍵詞是否為其他關鍵詞的子集(例如“多代理”與“多代理系統”)。

3.2 基于強化學習的評價方法

在關鍵詞生成場景下,使用強化學習訓練時,其輸入的語料可以看作環境一方,生成模型作為智能體。智能體的預測結束時,將獲得獎勵,并更新自身策略(模型參數)。該獎勵采用R值和F1值進行計算,(1)如果模型生成的關鍵詞數量不足時,R值作為獎勵,指示模型生成更多的關鍵詞;(2)如果模型生成的關鍵詞數量足夠時,F1值作為獎勵,指示模型平衡召回率和生成詞的精度(準確性),這樣就達到了優化R和F1評估指標的目的。

3.3 基于變體匹配的評價方法

考慮到真實關鍵詞和提取的關鍵詞之間無法檢測到兩個語義相似但形態不同的關鍵詞,因此存在不能“完全匹配”這一局限性。為了解決這個問題,Zesch和Gurevych[43]于2009年提出了一種語義近似匹配策略,Chan等人[37]于2019年提出了變體匹配策略,Luo等人[39]于2021年提出了部分匹配策略,從各種來源提取每個關鍵詞的語義變體、名稱變體以及部分匹配變體,如果這些變體與真實值匹配,則將其視為正確預測。這些研究者認為,處理關鍵詞之間這種變化的策略可以使關鍵詞以更精確的方式評估提取方法。

4 總結與展望

本文對基于深度學習的關鍵詞生成方法按如下類別進行了分析:有監督學習、半監督學習、無監督學習、深度強化學習。這些方法都運用了不同的機制和策略:如復制機制、注意力機制、覆蓋機制、審查機制、結合主題模型、多任務學習、結合預訓練模型等來提高關鍵詞生成模型的性能[44]。相比以往的抽取方法能深層次地理解文本的內容,同時更加符合真實場景,也得到了該研究領域的認可。

大部分關鍵詞生成方法的性能都是以大量帶標注的數據為代價的,如何依賴少量標注數據保證生成關鍵詞的準確性和多樣性,以及關鍵詞生成任務應用場景的創新是下一步重點考慮的問題。本文針對目前關鍵詞生成任務發展方向[45]提出以下幾個觀點:

(1)與多粒度信息融合

目前的研究大多聚焦于以文本整體的輸入作為主要信息,存在噪聲多、復雜度高的問題,較少挖掘文本中有價值的句子和短語,忽略了它們對整個文本關鍵詞生成的引導作用。因此,如何將融合深度學習模型的抽取算法[46-47]得到的重要句子和短語作為額外的信息與原文本整體輸入進行多粒度融合編碼,用于提高關鍵詞生成模型對重要信息的歸納能力,也是未來需要解決的問題。

(2)與層次化神經主題模型相結合

關鍵詞通常由輸入文本中傳達的重要主題的詞語或短語組成,因此基于深度學習的主題模型與關鍵詞生成研究緊密相關,其目標是從文本數據中學習到人類可以理解的潛在主題空間。以往的研究表明,語料庫級別的隱含主題可以有效緩解其他任務中的數據稀疏[48]。對于基本主題模型來說,僅限于將主題歸納為平面結構,因此存在分類準確率低和主題一致性差等問題[49]。而層次化主題模型在一定程度上能獲得更高質量、層次化的隱含主題信息,有效改善主題模型的效果[50]。因此,針對上下文信息有限的短文本數據集來說,如何通過層次化主題模型結合關鍵詞生成模型,進一步緩解數據稀疏和提高生成詞的多樣性是未來需要關注的問題。

(3)運用知識蒸餾優化主題分布

當要求標注人員為文檔指定關鍵詞時,通常在閱讀全文后,捕捉到文本的重要主題部分,然后根據更詳細的理解記錄關鍵詞,所以文本主題的捕獲對關鍵詞生成的性能至關重要。但主題模型很容易忽略文本中的一些低頻詞或專業術語,它們在文章內出現的次數往往很少,僅依靠文本內部知識源明顯不足。可以考慮知識蒸餾[51]的方法,依靠預訓練BERT模型中已訓練好的詞向量知識作為監督信號去指導訓練詞袋模型,使其得到更高質量的主題分布,從而更有效地捕捉語言上下文的細微差別,在文本主題建模上表現出更好的主題一致性。優化后的主題模型與關鍵詞生成模型相結合能發現文本中主題相關度高的低頻詞,進而指導優化關鍵詞的主題覆蓋度,提升關鍵詞的多樣性。

(4)與知識圖譜相結合

對于一些特定領域如法律和醫學的專業文章中,代表文本主題的詞語被提及的次數很少,往往存在著關鍵詞獲取難度高的問題,很難捕獲到真正意義上的關鍵詞。因此,挖掘外部結構資源就顯得尤為重要,如何借助知識圖譜中的實體結構化信息以及實體間豐富的關系來豐富文本表示[52],用于提高生成詞的準確性、擴展關鍵詞生成應用領域是未來需要面臨的問題。

(5)生成多類別關鍵詞

以往都是對關鍵詞生成性能進行考慮,也可以著眼于關鍵詞生成的應用場景(生成結果分類)進行分析。首先對文本的關鍵詞進行類別劃分,在訓練過程中,通過不同的關鍵詞對文本主題類別進行約束,將其變為特征融入到不同主題的解碼器,從而實現關鍵詞分類。例如對于社交媒體帖子中的每一條評論都是由用戶闡述自己的觀點,根據每個評論的關鍵詞涵蓋的情感信息進行分類,形成正向情感如愉快、信任、感激等;中立情感如理性、不偏不向等和負向情感如痛苦、仇恨、嫉妒等。依據訓練好的分類模型,可對眾多評論數據進行傾向性分析,掌握用戶輿論走向。

猜你喜歡
文本方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 色国产视频| 第九色区aⅴ天堂久久香| 伊人无码视屏| 免费99精品国产自在现线| 国产精品免费久久久久影院无码| 五月婷婷精品| 亚洲一区二区三区麻豆| 97av视频在线观看| 久久国产精品夜色| 国产一级毛片yw| 国产乱子伦手机在线| 国产精品久久久久久搜索| 欧美成人综合视频| 天天综合网亚洲网站| 国产色网站| 成人一级黄色毛片| 黄色a一级视频| 91久久偷偷做嫩草影院免费看 | 国产二级毛片| 国产亚洲精品yxsp| 国产高潮流白浆视频| 老汉色老汉首页a亚洲| 国产香蕉97碰碰视频VA碰碰看| 国产第八页| 香蕉eeww99国产在线观看| 亚洲精品第五页| 国产精品吹潮在线观看中文| 一本无码在线观看| 青青草91视频| 国产91特黄特色A级毛片| 欧美日韩va| 在线看片中文字幕| 亚洲精品无码AⅤ片青青在线观看| 国产欧美专区在线观看| 婷婷午夜天| 国产人碰人摸人爱免费视频| 有专无码视频| 亚洲人成网站观看在线观看| 激情无码视频在线看| 全裸无码专区| 亚洲精品国产乱码不卡| 国产微拍一区二区三区四区| 国产微拍精品| 伊人激情久久综合中文字幕| 亚洲av日韩综合一区尤物| 性色一区| 一区二区理伦视频| 国产原创自拍不卡第一页| 97在线公开视频| 久久99久久无码毛片一区二区| 日本免费a视频| 粗大猛烈进出高潮视频无码| 成人伊人色一区二区三区| 亚洲av片在线免费观看| 婷婷综合色| 3p叠罗汉国产精品久久| 免费av一区二区三区在线| 黄色免费在线网址| 在线播放国产99re| 婷婷亚洲天堂| 国产xx在线观看| 日本a级免费| 美女扒开下面流白浆在线试听| 91欧美亚洲国产五月天| 久久久久久久久久国产精品| 欧美日在线观看| 伊人久热这里只有精品视频99| 亚洲综合婷婷激情| 亚洲视频欧美不卡| 99久久精品免费看国产电影| 精品精品国产高清A毛片| 中文天堂在线视频| 一级高清毛片免费a级高清毛片| 日韩123欧美字幕| 97一区二区在线播放| 欧美成人手机在线观看网址| 国产最新无码专区在线| 中文字幕免费视频| 激情无码视频在线看| 亚洲第一在线播放| 97超级碰碰碰碰精品| 操操操综合网|