自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

當深度學習遇見自動文本摘要

人工智能 深度學習
本文主要介紹基于深度神經(jīng)網(wǎng)絡(luò)的生成式自動文本摘要,著重討論典型的摘要模型,并介紹如何評價自動生成的摘要。

[[198984]]

介紹

隨著近幾年文本信息的爆發(fā)式增長,人們每天能接觸到海量的文本信息,如新聞、博客、聊天、報告、論文、微博等。從大量文本信息中提取重要的內(nèi)容,已成為我們的一個迫切需求,而自動文本摘要則提供了一個高效的解決方案。

根據(jù)Radev的定義[3],摘要是“一段從一份或多份文本中提取出來的文字,它包含了原文本中的重要信息,其長度不超過或遠少于原文本的一半”。自動文本摘要旨在通過機器自動輸出簡潔、流暢、保留關(guān)鍵信息的摘要。

自動文本摘要有非常多的應(yīng)用場景,如自動報告生成、新聞標題生成、搜索結(jié)果預(yù)覽等。此外,自動文本摘要也可以為下游任務(wù)提供支持。

盡管對自動文本摘要有龐大的需求,這個領(lǐng)域的發(fā)展卻比較緩慢。對計算機而言,生成摘要是一件很有挑戰(zhàn)性的任務(wù)。從一份或多份文本生成一份合格摘要,要求計算機在閱讀原文本后理解其內(nèi)容,并根據(jù)輕重緩急對內(nèi)容進行取舍,裁剪和拼接內(nèi)容,最后生成流暢的短文本。因此,自動文本摘要需要依靠自然語言處理/理解的相關(guān)理論,是近幾年來的重要研究方向之一。

自動文本摘要通??煞譃閮深?,分別是抽取式(extractive)和生成式(abstractive)。抽取式摘要判斷原文本中重要的句子,抽取這些句子成為一篇摘要。而生成式方法則應(yīng)用先進的自然語言處理的算法,通過轉(zhuǎn)述、同義替換、句子縮寫等技術(shù),生成更凝練簡潔的摘要。比起抽取式,生成式更接近人進行摘要的過程。歷史上,抽取式的效果通常優(yōu)于生成式。伴隨深度神經(jīng)網(wǎng)絡(luò)的興起和研究,基于神經(jīng)網(wǎng)絡(luò)的生成式文本摘要得到快速發(fā)展,并取得了不錯的成績。

本文主要介紹基于深度神經(jīng)網(wǎng)絡(luò)的生成式自動文本摘要,著重討論典型的摘要模型,并介紹如何評價自動生成的摘要。對抽取式和不基于深度神經(jīng)網(wǎng)絡(luò)的生成式自動文本摘要感興趣的同學可以參考[1][2]。

生成式文本摘要

生成式文本摘要以一種更接近于人的方式生成摘要,這就要求生成式模型有更強的表征、理解、生成文本的能力。傳統(tǒng)方法很難實現(xiàn)這些能力,而近幾年來快速發(fā)展的深度神經(jīng)網(wǎng)絡(luò)因其強大的表征(representation)能力,提供了更多的可能性,在圖像分類、機器翻譯等領(lǐng)域不斷推進機器智能的極限。借助深度神經(jīng)網(wǎng)絡(luò),生成式自動文本摘要也有了令人矚目的發(fā)展,不少生成式神經(jīng)網(wǎng)絡(luò)模型(neural-network-based abstractive summarization model)在DUC-2004測試集上已經(jīng)超越了最好的抽取式模型[4]。這部分文章主要介紹生成式神經(jīng)網(wǎng)絡(luò)模型的基本結(jié)構(gòu)及最新成果。

基本模型結(jié)構(gòu)

生成式神經(jīng)網(wǎng)絡(luò)模型的基本結(jié)構(gòu)主要由編碼器(encoder)和解碼器(decoder)組成,編碼和解碼都由神經(jīng)網(wǎng)絡(luò)實現(xiàn)。

 

編碼器負責將輸入的原文本編碼成一個向量(context),該向量是原文本的一個表征,包含了文本背景。而解碼器負責從這個向量提取重要信息、加工剪輯,生成文本摘要。這套架構(gòu)被稱作Sequence-to-Sequence(以下簡稱Seq2Seq),被廣泛應(yīng)用于存在輸入序列和輸出序列的場景,比如機器翻譯(一種語言序列到另一種語言序列)、image captioning(圖片像素序列到語言序列)、對話機器人(如問題到回答)等。

Seq2Seq架構(gòu)中的編碼器和解碼器通常由遞歸神經(jīng)網(wǎng)絡(luò)(RNN)或卷積神經(jīng)網(wǎng)絡(luò)(CNN)實現(xiàn)。

基于遞歸神經(jīng)網(wǎng)絡(luò)的模型

RNN被稱為遞歸神經(jīng)網(wǎng)絡(luò),是因為它的輸出不僅依賴于輸入,還依賴上一時刻輸出。

 

如上圖所示,t時刻的輸出h不僅依賴t時刻的輸入x,還依賴t-1時刻的輸出,而t-1的輸出又依賴t-1的輸入和t-2輸出,如此遞歸,時序上的依賴使RNN在理論上能在某時刻輸出時,考慮到所有過去時刻的輸入信息,特別適合時序數(shù)據(jù),如文本、語音、金融數(shù)據(jù)等。因此,基于RNN實現(xiàn)Seq2Seq架構(gòu)處理文本任務(wù)是一個自然的想法。

典型的基于RNN的Seq2Seq架構(gòu)如下圖所示:

 

圖中展示的是一個用于自動回復郵件的模型,它的編碼器和解碼器分別由四層RNN的變種LSTM[5]組成。圖中的向量thought vector編碼了輸入文本信息(Are you free tomorrow?),解碼器獲得這個向量依次解碼生成目標文本(Yes, what’s up?)。上述模型也可以自然地用于自動文本摘要任務(wù),這時的輸入為原文本(如新聞),輸出為摘要(如新聞標題)。

目前最好的基于RNN的Seq2Seq生成式文本摘要模型之一來自Salesforce,在基本的模型架構(gòu)上,使用了注意力機制(attention mechanism)和強化學習(reinforcement learning)。這個模型將在下文中詳細介紹。

基于卷積神經(jīng)網(wǎng)絡(luò)的模型

Seq2Seq同樣也可以通過CNN實現(xiàn)。不同于遞歸神經(jīng)網(wǎng)絡(luò)可以直觀地應(yīng)用到時序數(shù)據(jù),CNN最初只被用于圖像任務(wù)[6]。

 

CNN通過卷積核(上圖的A和B)從圖像中提取特征(features),間隔地對特征作用max pooling,得到不同階層的、由簡單到復雜的特征,如線、面、復雜圖形模式等,如下圖所示。

 

CNN的優(yōu)勢是能提取出hierarchical的特征,并且能并行高效地進行卷積操作,那么是否能將CNN應(yīng)用到文本任務(wù)中呢?原生的字符串文本并不能提供這種可能性,然而,一旦將文本表現(xiàn)成分布式向量(distributed representation/word embedding)[7],我們就可以用一個實數(shù)矩陣/向量表示一句話/一個詞。這樣的分布式向量使我們能夠在文本任務(wù)中應(yīng)用CNN。

 

如上圖所示,原文本(wait for the video and do n’t rent it)由一個實數(shù)矩陣表示,這個矩陣可以類比成一張圖像的像素矩陣,CNN可以像“閱讀”圖像一樣“閱讀”文本,學習并提取特征。雖然CNN提取的文本特征并不像圖像特征有顯然的可解釋性并能夠被可視化,CNN抽取的文本特征可以類比自然語言處理中的分析樹(syntactic parsing tree),代表一句話的語法層級結(jié)構(gòu)。

 

基于卷積神經(jīng)網(wǎng)絡(luò)的自動文本摘要模型中最具代表性的是由Facebook提出的ConvS2S模型[9],它的編碼器和解碼器都由CNN實現(xiàn),同時也加入了注意力機制,下文將詳細介紹。

當然,我們不僅可以用同一種神經(jīng)網(wǎng)絡(luò)實現(xiàn)編碼器和解碼器,也可以用不同的網(wǎng)絡(luò),如編碼器基于CNN,解碼器基于RNN。

前沿

A Deep Reinforced Model for Abstractive Summarization

這是由Salesforce研究發(fā)表的基于RNN的生成式自動文本摘要模型,通過架構(gòu)創(chuàng)新和若干tricks提升模型概括長文本的能力,在CNN/Daily Mail、New York Times數(shù)據(jù)集上達到了新的state-of-the-art(最佳性能)。

針對長文本生成摘要在文本摘要領(lǐng)域是一項比較困難的任務(wù),即使是過去最好的深度神經(jīng)網(wǎng)絡(luò)模型,在處理這項任務(wù)時,也會出現(xiàn)生成不通順、重復詞句等問題。為了解決上述問題,模型作者提出了內(nèi)注意力機制(intra-attention mechanism)和新的訓練方法,有效地提升了文本摘要的生成質(zhì)量。

 

模型里應(yīng)用了兩套注意力機制,分別是1)經(jīng)典的解碼器-編碼器注意力機制,和2)解碼器內(nèi)部的注意力機制。前者使解碼器在生成結(jié)果時,能動態(tài)地、按需求地獲得輸入端的信息,后者則使模型能關(guān)注到已生成的詞,幫助解決生成長句子時容易重復同一詞句的問題。

模型的另一創(chuàng)新,是提出了混合式學習目標,融合了監(jiān)督式學習(teacher forcing)和強化學習(reinforcement learning)。

首先,該學習目標包含了傳統(tǒng)的最大似然。最大似然(MLE)在語言建模等任務(wù)中是一個經(jīng)典的訓練目標,旨在最大化句子中單詞的聯(lián)合概率分布,從而使模型學習到語言的概率分布。

 

但對于文本摘要,僅僅考慮最大似然并不夠。主要有兩個原因,一是監(jiān)督式訓練有參考“答案”,但投入應(yīng)用、生成摘要時卻沒有。比如t時刻生成的詞是”tech”,而參考摘要中是”science”,那么在監(jiān)督式訓練中生成t+1時刻的詞時,輸入是”science”,因此錯誤并沒有積累。但在實際應(yīng)用中,由于沒有g(shù)round truth,t+1時刻的輸入是錯誤的”tech”。這樣引起的后果是因為沒有糾正,錯誤會積累,這個問題被稱為exposure bias。另一個原因是,往往在監(jiān)督式訓練中,對一篇文本一般只提供一個參考摘要,基于MLE的監(jiān)督式訓練只鼓勵模型生成一模一樣的摘要,然而正如在介紹中提到的,對于一篇文本,往往可以有不同的摘要,因此監(jiān)督式學習的要求太過絕對。與此相反,用于評價生成摘要的ROUGE指標卻能考慮到這一靈活性,通過比較參考摘要和生成的摘要,給出摘要的評價(見下文評估摘要部分)。所以希望在訓練時引入ROUGE指標。但由于ROUGE并不可導的,傳統(tǒng)的求梯度+backpropagation并不能直接應(yīng)用到ROUGE。因此,一個很自然的想法是,利用強化學習將ROUGE指標加入訓練目標。

那么我們是怎么通過強化學習使模型針對ROUGE進行優(yōu)化呢?簡單說來,模型先以前向模式(inference)生成摘要樣本,用ROUGE指標測評打分,得到了對這個樣本的評價/回報(reward)后,再根據(jù)回報更新模型參數(shù):如果模型生成的樣本reward較高,那么鼓勵模型;如果生成的樣本評價較低,那么抑制模型輸出此類樣本。

 

最終的訓練目標是最大似然和基于ROUGE指標的函數(shù)的加權(quán)平均,這兩個子目標各司其職:最大似然承擔了建立好的語言模型的責任,使模型生成語法正確、文字流暢的文本;而ROUGE指標則降低exposure bias,允許摘要擁有更多的靈活性,同時針對ROUGE的優(yōu)化也直接提升了模型的ROUGE評分。

構(gòu)建一個好的模型,除了在架構(gòu)上需要有創(chuàng)新,也需要一些小技巧,這個模型也不例外。在論文中,作者使用了下列技巧:

  1. 使用指針處理未知詞(OOV)問題;
  2. 共享解碼器權(quán)重,加快訓練時模型的收斂;
  3. 人工規(guī)則,規(guī)定不能重復出現(xiàn)連續(xù)的三個詞。

綜上所述,深度學習+強化學習是一個很好的思路,這個模型第一次將強化學習應(yīng)用到文本摘要任務(wù)中,取得了不錯的表現(xiàn)。相信同樣的思路還可以用在其他任務(wù)中。

Convolutional Sequence to Sequence Learning

ConvS2S模型由Facebook的AI實驗室提出,它的編碼器和解碼器都是基于卷積神經(jīng)網(wǎng)絡(luò)搭建的。這個模型主要用于機器翻譯任務(wù),在論文發(fā)表的時候,在英-德、英-法兩個翻譯任務(wù)上都達到了state-of-the-art。同時,作者也嘗試將該模型用于自動文本摘要,實驗結(jié)果顯示,基于CNN的Seq2Seq模型也能在文本摘要任務(wù)中達到接近state-of-the-art的表現(xiàn)。

模型架構(gòu)如下圖所示。乍看之下,模型很復雜,但實際上,它的每個部分都比較直觀,下面通過分解成子模塊,詳細介紹ConvS2S。 

 

首先來看embedding部分。

 

這個模型的embedding比較新穎,除了傳統(tǒng)的semantic embedding/word embedding,還加入了position embedding,將詞序表示成分布式向量,使模型獲得詞序和位置信息,模擬RNN對詞序的感知。最后的embedding是語義和詞序embedding的簡單求和。

之后,詞語的embedding作為輸入進入到模型的卷積模塊。

 

這個卷積模塊可以視作是經(jīng)典的卷積加上非線性變換。雖然圖中只畫出一層的情況,實際上可以像經(jīng)典的卷積層一樣,層層疊加。

這里著重介紹非線性變換。

 

該非線性變換被稱為Gated Linear Unit (GLU)[10]。它將卷積后的結(jié)果分成兩部分,對其中一部分作用sigmoid變換,即映射到0到1的區(qū)間之后,和另一部分向量進行element-wise乘積。

 

這個設(shè)計讓人聯(lián)想到LSTM中的門結(jié)構(gòu)。GLU從某種程度上說,是在模仿LSTM和GRU中的門結(jié)構(gòu),使網(wǎng)絡(luò)有能力控制信息流的傳遞,GLU在language modeling被證明是非常有效的[10]。

除了將門架構(gòu)和卷積層結(jié)合,作者還使用了殘差連接(residual connection)[11]。residual connection能幫助構(gòu)建更深的網(wǎng)絡(luò),緩解梯度消失/爆炸等問題。

除了使用加強版的卷積網(wǎng)絡(luò),模型還引入了帶多跳結(jié)構(gòu)的注意力機制(multi-step attention)。不同于以往的注意力機制,多跳式注意力不僅要求解碼器的最后一層卷積塊關(guān)注輸入和輸出信息,而且還要求每一層卷積塊都執(zhí)行同樣的注意力機制。如此復雜的注意力機制使模型能獲得更多的歷史信息,如哪些輸入已經(jīng)被關(guān)注過。

 

像A Deep Reinforced Model for Abstractive Summarization一樣,ConvS2S的成功之處不僅在于創(chuàng)新的結(jié)構(gòu),還在于細致入微的小技巧。在ConvS2S中,作者對參數(shù)使用了非常仔細的初始化和規(guī)范化(normalization),穩(wěn)定了方差和訓練過程。

這個模型的成功證明了CNN同樣能應(yīng)用到文本任務(wù)中,通過層級表征長程依賴(long-range dependency)。同時,由于CNN具有可高度并行化的特點,所以CNN的訓練比RNN更高效。比起RNN,CNN的不足是有更多的參數(shù)需要調(diào)節(jié)。

評估摘要

評估一篇摘要的質(zhì)量是一件比較困難的任務(wù)。

對于一篇摘要而言,很難說有標準答案。不同于很多擁有客觀評判標準的任務(wù),摘要的評判一定程度上依賴主觀判斷。即使在摘要任務(wù)中,有關(guān)于語法正確性、語言流暢性、關(guān)鍵信息完整度等標準,摘要的評價還是如同”一千個人眼里有一千個哈姆雷特“一樣,每個人對摘要的優(yōu)劣都有自己的準繩。

自上世紀九十年代末開始,一些會議或組織開始致力于制定摘要評價的標準,他們也會參與評價一些自動文本摘要。比較著名的會議或組織包括SUMMAC,DUC(Document Understanding Conference),TAC(Text Analysis Conference)等。其中DUC的摘要任務(wù)被廣泛研究,大多數(shù)abstractive摘要模型在DUC-2004數(shù)據(jù)集上進行測試。

目前,評估自動文本摘要質(zhì)量主要有兩種方法:人工評價方法和自動評價方法。這兩類評價方法都需要完成以下三點:

  1. 決定原始文本最重要的、需要保留的部分;
  2. 在自動文本摘要中識別出1中的部分;
  3. 基于語法和連貫性(coherence)評價摘要的可讀性(readability)。

人工評價方法

評估一篇摘要的好壞,最簡單的方法就是邀請若干專家根據(jù)標準進行人工評定。這種方法比較接近人的閱讀感受,但是耗時耗力,無法用于對大規(guī)模自動文本摘要數(shù)據(jù)的評價,和自動文本摘要的應(yīng)用場景并不符合。因此,文本摘要研究團隊積極地研究自動評價方法。

自動評價方法

為了更高效地評估自動文本摘要,可以選定一個或若干指標(metrics),基于這些指標比較生成的摘要和參考摘要(人工撰寫,被認為是正確的摘要)進行自動評價。目前最常用、也最受到認可的指標是ROUGE(Recall-Oriented Understudy for Gisting Evaluation)。ROUGE是Lin提出的一個指標集合,包括一些衍生的指標,最常用的有ROUGE-n,ROUGE-L,ROUGE-SU:

  • ROUGE-n:該指標旨在通過比較生成的摘要和參考摘要的n-grams(連續(xù)的n個詞)評價摘要的質(zhì)量。常用的有ROUGE-1,ROUGE-2,ROUGE-3。
  • ROUGE-L:不同于ROUGE-n,該指標基于最長公共子序列(LCS)評價摘要。如果生成的摘要和參考摘要的LCS越長,那么認為生成的摘要質(zhì)量越高。該指標的不足之處在于,它要求n-grams一定是連續(xù)的。
  • ROUGE-SU:該指標綜合考慮uni-grams(n = 1)和bi-grams(n = 2),允許bi-grams的第一個字和第二個字之間插入其他詞,因此比ROUGE-L更靈活。

作為自動評價指標,ROUGE和人工評定的相關(guān)度較高,在自動評價摘要中能給出有效的參考。但另一方面,從以上對ROUGE指標的描述可以看出,ROUGE基于字的對應(yīng)而非語義的對應(yīng),生成的摘要在字詞上與參考摘要越接近,那么它的ROUGE值將越高。但是,如果字詞有區(qū)別,即使語義上類似,得到的ROUGE值就會變低。換句話說,如果一篇生成的摘要恰好是在參考摘要的基礎(chǔ)上進行同義詞替換,改寫成字詞完全不同的摘要,雖然這仍是一篇質(zhì)量較高的摘要,但ROUGE值會呈現(xiàn)相反的結(jié)論。從這個極端但可能發(fā)生的例子可以看出,自動評價方法所需的指標仍然存在一些不足。目前,為了避免上述情況的發(fā)生,在evaluation時,通常會使用幾篇摘要作為參考和基準,這有效地增加了ROUGE的可信度,也考慮到了摘要的不唯一性。對自動評價摘要方法的研究和探索也是目前自動文本摘要領(lǐng)域一個熱門的研究方向。

總結(jié)

本文主要介紹了基于深度神經(jīng)網(wǎng)絡(luò)的生成式文本摘要,包括基本模型和最新進展,同時也介紹了如何評價自動生成的摘要。自動文本摘要是目前NLP的熱門研究方向之一,從研究落地到實際業(yè)務(wù),還有一段路要走,未來可能的發(fā)展方向有:1)模仿人撰寫摘要的模式,融合抽取式和生成式模型;2)研究更好的摘要評估指標。希望本文能幫助大家更好地了解深度神經(jīng)網(wǎng)絡(luò)在自動文本摘要任務(wù)中的應(yīng)用。 

責任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2017-05-04 13:18:18

深度學習知識圖譜

2023-02-16 08:03:06

2019-02-18 09:00:00

TextRank算法自然語言處理Python

2012-09-21 17:14:47

開源云計算

2023-04-06 16:29:18

模型AI

2020-01-14 15:54:20

邊緣計算區(qū)塊鏈

2014-11-04 16:30:52

2019-02-19 15:01:40

Python

2022-03-25 14:24:18

谷歌自然語言算法

2011-07-20 10:18:41

EmacsShell

2021-11-09 10:23:28

機器學習人工智能計算機

2023-03-07 10:08:06

2022-04-02 14:34:42

人工智能手機拍照

2024-09-13 15:24:20

深度學習自動微分

2024-04-10 08:40:18

2018-06-22 08:46:18

2018-06-06 08:41:56

微軟GitHub開發(fā)者

2020-08-13 09:53:51

AIoT人工智能物聯(lián)網(wǎng)

2025-03-20 08:25:24

2015-11-04 10:54:10

云計算大數(shù)據(jù)量子科學
點贊
收藏

51CTO技術(shù)棧公眾號