陳天池 洪沛 楊國鋒
(中國電信安徽分公司,安徽合肥 230001)
互聯(lián)網技術的高速發(fā)展帶來信息快速增長的問題,人們在處理和閱讀文本信息中花費大量時間和精力,精簡濃縮文本信息的技術顯得尤為迫切。自動摘要技術是一種能夠從文檔中獲取重要信息的方法,它能緩解信息爆炸時代給人們帶來的時間精力問題。
自動摘要技術按照組成摘要的句子進行區(qū)分,可以分為抽取式自動摘要和生成式自動摘要。抽取式摘要通過考慮原文中句子的位置、詞頻、關鍵詞[1]等評估句子重要度,從原文中提取重要度高的句子組成摘要。此外,陸續(xù)有研究將外部知識引入自動摘要任務中,如TF-IDF、Text Rank[2]等,這些算法可以挖掘語料中隱含的知識將其融入句子重要度評估函數(shù)中,提高自動摘要效果。抽取式方法雖然能輸出語義完整的句子,但由于語言的復雜性和靈活性缺乏對語義的分析,其核心問題在于如何選取更合適的句子來表達文章的中心思想。深度學習技術的出現(xiàn)推動了生成式自動摘要技術的發(fā)展,生成式方法使用了一系列自然語言處理技術對原文內容進行總結,生成更加符合人類摘要思維的句子。當前主流的生成式摘要技術是基于Seq2Seq框架進行的[3-4],通過對輸入的原文檔加以理解將輸入序列表示成向量形式,然后經解碼器解碼得到生成的目標文本,即摘要。與抽取式摘要相比,生成式的方法能夠從語義層面對文本進行分析,生成更加簡潔、靈活、多樣的摘要。
根據任務需求,本文將從語義分析角度出發(fā),基于Seq2Seq框架進行文本語義信息解析,聯(lián)合注意力機制將文本中的關鍵信息與語義信息結合起來實現(xiàn)對摘要的引導生成。
Seq2Seq框架[5]是Google在2014年一篇機器翻譯的文章上提出來的,將深度學習模型用于語言生成,推動了自然語言生成領域的發(fā)展。Seq2Seq是一個Encoder-Decoder結構的網絡,其輸入是一個序列,輸出也是一個序列。其中Encoder的任務是將輸入序列編碼表示成一個帶有語義信息的中間向量,Decoder則將Encoder產生的中間語義向量作為輸入解碼為目標輸出序列。
圖1 Seq2Seq框架
其內部工作流程如圖1所示,X代表給定的原始文本輸入,Y代表生成的摘要,分別由各自的單詞序列組成:X= Seq2Seq的Encoder-Decoder結構雖然非常經典,但具有一定的局限性。其最大的局限性就在于編碼器要將整個序列的信息壓縮進一個固定長度的向量C中去。當輸入序列過長時,一個向量C可能會丟失早期攜帶的信息,無法完全表示整個序列的信息。這就使得在解碼的時候無法獲得輸入序列足夠的信息,那么解碼的準確率就會下降。 圖2 Attention機制 Attention機制[6]就是為了解決上述問題而提出的。相較于Encoder-Decoder框架,Attention最大的區(qū)別就在于它不要求編碼器將所有輸入信息都壓縮到一個固定的向量序列C,而是根據當前要輸出的y進行動態(tài)調整,給不同部分賦予不同的權重,從而有針對性的對輸入的全部信息進行有效利用,如圖2所示。 基于上節(jié)介紹的相關技術,本文采用的Seq2Seq+Attention生成式自動摘要算法的結構如圖3具體操作流程如下: 1.3.1 詞典構建 考慮到分詞工具容易對文本分詞產生錯分(尤其是未登錄詞),本文選擇直接采用字作為基本輸入進行摘要抽取。對語料中所有字進行頻率統(tǒng)計,過濾掉頻率過低的字,結果作為詞典保存。 1.3.2 Embedding 以字為基本單位,對輸入信息進行padding后做Embedding處理,將每個字轉換為固定長度m的向量,輸入文本即可表示為m×n的矩陣。此處encoder和decoder共享Embedding層的參數(shù),降低模型參數(shù)量。 1.3.3 Encoder 把Embedding后的向量輸入encoder將其編碼為中間語義向量,其中Encoder采用雙層雙向LSTM,它可以更好的捕捉雙向的語義依賴。 1.3.4 Attention + Decoder 由于decoder在執(zhí)行每一步時無法提前使用后面步的輸入,因此Decoder采用雙層單向LSTM結構。Attention機制應用在encoder的hidden states上得到context,context一方面作為輸入與目標字串聯(lián)作為Decoder端LSTM的輸入,循環(huán)得到hidden states;另一方面可以和Decoder的hidden states連接進行softmax計算輸出概率。 圖3 Seq2Seq + Attention 表1 實驗結果 表2 摘要示例 自動文本摘要發(fā)展緩慢的原因之一是業(yè)界缺乏大規(guī)模且高質量的數(shù)據集,數(shù)據集的好壞直接決定了最后摘要生成的質量的好壞,本文使用的數(shù)據集為清華大學開源的THUCNews[7],該數(shù)據集包含74萬篇新聞文檔,共14個類,每條包含新聞標題和對應的新聞內容,本文將新聞標題作為摘要輸入模型進行訓練。 摘要結果評價采用了Rouge評價體系[8],它是目前公認的摘要評價標準。Rouge評價的思路是分析比較候選摘要集與專家摘要集的相似程度來評價摘要質量。本文采用Rouge-1,Rouge-2和Rouge-L三種方式分別從字相似度、詞相似度和句子流暢度三個方面對模型生成的摘要質量進行測試評價。 本文進行了兩組實驗,實驗1采用抽取式方法Text Teaser,實驗2采用生成式方法Seq2Seq+Attention,實驗結果如表1所示。 表2給出了測試結果的示例,每個例子包含原文本、與之對應的專家摘要、Text Teaser抽取的摘要和Seq2Seq+Attention生成的摘要。通過實驗結果對比可以看出,Text Teaser抽取出的摘要偏長,且沒有突出文章主題“《我是唱作人》”,而本文設計的生成摘要模型能夠準確識別出主題關鍵詞“《我是唱作人》”,同時引申聯(lián)想到了原文中沒有的“云集”一詞對文中列舉的明星進行概括表達。對比實驗結果可知,抽取式摘要雖然能夠獲得一個完整通順的句子,但往往難以全面概括文章主題,生成式摘要則能夠將文中原句進行縮寫、轉述等,生成更凝練的摘要,更加符合人的理解。 從上述實驗分析結果來看,本文采用的Seq2Seq+Attention方法能夠在一定程度具有表征、理解、生成文本摘要的能力,滿足提取關鍵信息的要求。但從實驗結果來看該方法也存在許多不足,模型在對人/地名等命名實體、未登錄詞、重復詞進行處理時,無法準確識別這些信息,最終導致摘要生成結果表述不準確。因此,在后續(xù)的研究中我們將針對這一問題作進一步研究,為準確提供用戶AI話術提供更有力的支撐。1.2 注意力機制(Attention)
1.3 算法流程
2 實驗結果及分析
2.1 數(shù)據集
2.2 實驗結果與討論
3 結語