王 瑋
(軍事科學(xué)院研究生院 北京 100091)
文本摘要也是一個(gè)傳統(tǒng)與新興技術(shù)并存的研究領(lǐng)域。文本摘要從20世紀(jì)50年出現(xiàn)以來(lái),出現(xiàn)了很多經(jīng)典的方法,比如基于詞頻統(tǒng)計(jì)的方法[1],基于詞典詞庫(kù)的TD-IDF方法[2],基于機(jī)器學(xué)習(xí)的統(tǒng)計(jì)方法[3]。在不斷涌現(xiàn)的新技術(shù)中,很多可以用于文本自動(dòng)摘要,但與人工生成的摘要相比,效果可能總是不盡人意的。但隨著深度學(xué)習(xí)和大數(shù)據(jù)技術(shù)的發(fā)展,為實(shí)現(xiàn)自動(dòng)文本摘要的智能化提供了很好的技術(shù)基礎(chǔ)。當(dāng)然傳統(tǒng)方法結(jié)合深度學(xué)習(xí)和大數(shù)據(jù)也是研究的重要方向[4]。
文本摘要是指用單個(gè)或多個(gè)文檔中較少的文字,產(chǎn)生可傳達(dá)原文本主要信息的一段文本。文本自動(dòng)摘要是一種利用計(jì)算機(jī)自動(dòng)生成文本摘要的理論方法和技術(shù)[5~7]。自動(dòng)摘要的出現(xiàn)一方面是為解決海量情報(bào)信息過(guò)載問(wèn)題,另一方面原因是人工摘要的成本較高。自動(dòng)文本摘要(Auto Text Summarization)是NLP中較難的問(wèn)題,至今依然沒(méi)有很成熟的技術(shù)來(lái)解決這個(gè)問(wèn)題,包括單文檔和多文檔摘要技術(shù),后者較于前者會(huì)更加復(fù)雜一些。搜索引擎是ATS應(yīng)用之一,基于查詢(xún)的自動(dòng)摘要會(huì)幫助用戶(hù)盡快找到感興趣的內(nèi)容。
自動(dòng)摘要一般兩種解決思路。一種是抽取式,就是按照一定權(quán)重,從原文中找到關(guān)鍵句子,組合成一篇摘要。抽取式摘要目前已經(jīng)比較成熟,但是抽取質(zhì)量及內(nèi)容流暢度均差強(qiáng)人意;另外一種是生成式,是計(jì)算機(jī)在理解整篇文章含義的基礎(chǔ)上,自動(dòng)生成的摘要。伴隨著深度學(xué)習(xí)的研究,生成式摘要的質(zhì)量和流暢度都有很大的提升。因此依靠自然語(yǔ)言處理理論來(lái)自動(dòng)生成文本摘要是近幾年來(lái)重要研究方向之一。
文獻(xiàn)[8]首次將深度學(xué)習(xí)模型應(yīng)用于多文本抽取式摘要,提出了一個(gè)計(jì)算架構(gòu),采用RBM受限玻爾茲曼機(jī)作為深度學(xué)習(xí)網(wǎng)絡(luò),并用實(shí)驗(yàn)進(jìn)行了驗(yàn)證。文獻(xiàn)[9]首次提出了將CNN應(yīng)用到文本摘要中,利用CNN進(jìn)行文檔編碼,用BP反饋網(wǎng)絡(luò)生成摘要。文獻(xiàn)[10]提出了序列到序列的方法,就是利用RNN循環(huán)神經(jīng)網(wǎng)絡(luò)作為解碼器來(lái)進(jìn)行文本摘要,效果提升比較明顯。文獻(xiàn)[11]中將RNN的注意力機(jī)制用到RNN解碼器,效果比單純的RNN好。本文認(rèn)為,利用深度學(xué)習(xí)模型來(lái)進(jìn)行文本摘要生成比傳統(tǒng)方法效果是有大幅提升的。目前需要考慮地是深度學(xué)習(xí)模型如何能更好地應(yīng)用于文本摘要問(wèn)題,考慮將深度學(xué)習(xí)模型進(jìn)行組合運(yùn)用,是值得探討的研究方向。
本文對(duì)生成式自動(dòng)摘要方法進(jìn)行了綜述,提出了基于卷積深度神經(jīng)和循環(huán)神經(jīng)網(wǎng)絡(luò)的生成式自動(dòng)摘要方法,對(duì)方法的主要思路、評(píng)價(jià)方法進(jìn)行了描述,并通過(guò)實(shí)例對(duì)算法進(jìn)行了驗(yàn)證,與其他自動(dòng)摘要方法進(jìn)行了對(duì)比,說(shuō)明了改進(jìn)方法的先進(jìn)性。
生成式文本摘要是更接近于人類(lèi)思考方式的摘要生成方法,具有更強(qiáng)的生成、理解、表征文本的能力。近年深度神經(jīng)網(wǎng)絡(luò)方法表現(xiàn)出強(qiáng)大的表征(Representation)能力,生成式自動(dòng)文本摘要依賴(lài)深度神經(jīng)網(wǎng)絡(luò)方法獲得了令人矚目的發(fā)展。生成式神經(jīng)網(wǎng)絡(luò)模型的基本結(jié)構(gòu)是由編碼和解碼器組成,如下圖1所示。
圖1 生成式基本模型結(jié)構(gòu)
深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)可以實(shí)現(xiàn)生成式文本摘要。2014年由谷歌大腦(Google Brain)團(tuán)隊(duì)提出了Sequence-to-Sequence序列(以下簡(jiǎn)稱(chēng)Seq2Seq),開(kāi)始了利用端到端網(wǎng)絡(luò)來(lái)研究NLP的先河。Seq2Seq序列又稱(chēng)為編解碼器(Encoder、Decoder)架構(gòu),編碼器負(fù)責(zé)將輸入文本編碼成一個(gè)向量,作為原文本的表征,該向量包含了文本的上下文信息。而解碼器從該向量提取重要信息,并進(jìn)行剪輯加工,生成文本摘要,這套架構(gòu)就是Seq2Seq。該方法被廣泛應(yīng)用于存在輸入和輸出序列的場(chǎng)景,Seq2Seq架構(gòu)中的編碼器和解碼器通常由時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)(RNN)或卷積神經(jīng)網(wǎng)絡(luò)(CNN)實(shí)現(xiàn)。
“序列到序列”方法在很多文本處理中有很好的效果。從序列角度看,自動(dòng)摘要為從原始文本序列到摘要文本序列的映射,使用序列到序列建模來(lái)處理是可行之法。不同之處在于,摘要長(zhǎng)度并不依賴(lài)于原文本長(zhǎng)度,而且相對(duì)于原文摘要必然有信息損失。很多專(zhuān)家已經(jīng)在這方面取得了很好的研究成果,比如Chopra等使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)作為解碼器,大大提高了摘要效果[10]。
基于RNN模型本身的序列特性,將其用于實(shí)現(xiàn)Seq2Seq架構(gòu)處理文本任務(wù)是順其自然的想法。典型的基于RNN生成式基本模型結(jié)構(gòu)如圖2所示。
圖中編碼器和解碼器分別由四層RNN的變種LSTM(長(zhǎng)短期記憶網(wǎng)絡(luò))組成。圖中的向量編碼了輸入文本信息,解碼器獲得這個(gè)向量依次解碼生成目標(biāo)文本。上述模型也可以自然地用于自動(dòng)文本摘要任務(wù),這時(shí)的輸入為原文本(如新聞),輸出為摘要(如新聞標(biāo)題)。
Seq2Seq同樣也可以通過(guò)CNN實(shí)現(xiàn)。不同于遞歸神經(jīng)網(wǎng)絡(luò)可以直觀地應(yīng)用到時(shí)序數(shù)據(jù),CNN最初只被用于圖像任務(wù)。CNN是通過(guò)卷積核從圖像中提取特征(Features),間隔地對(duì)特征進(jìn)行最大池化(Max Pooling)作用,從而得到不同層次的、由簡(jiǎn)單到復(fù)雜的特征(如線、面、復(fù)雜圖形模式等),如圖3所示。
圖2 基于RNN的生成式基本模型結(jié)構(gòu)
圖3 圖像中提取特征示意圖
CNN的算法優(yōu)勢(shì)是可以提取出層次特征,并可以高效并行地進(jìn)行卷積運(yùn)算,根據(jù)其特點(diǎn),可將CNN應(yīng)用到相關(guān)文本任務(wù)中,但原生態(tài)的文本字符串無(wú)法進(jìn)行計(jì)算,需將文本表示為分布式向量(Distributed Representation/Word Embedding)??梢杂靡粋€(gè)實(shí)數(shù)矩陣或向量表示一句話或一個(gè)詞,經(jīng)過(guò)分布式向量表示后,既可以在文本任務(wù)中應(yīng)用CNN。
圖4 基于CNN的文本特征提取示意圖
如圖4所示,原來(lái)的文本由實(shí)數(shù)矩陣表示,矩陣可以類(lèi)比為圖像的像素矩陣,卷積神經(jīng)網(wǎng)絡(luò)可以像讀取圖像一樣讀取文本,學(xué)習(xí)并提取文本特征。但CNN提取的文本特征,并不能如圖像特征那樣,有明顯的可解釋性和可視性。CNN抽取的文本特征可以類(lèi)比自然語(yǔ)言處理中的分析樹(shù)(Syntactic Parsing Tree),如圖5代表句子的語(yǔ)法層級(jí)結(jié)構(gòu)。
圖5 語(yǔ)法層級(jí)結(jié)構(gòu)
基于CNN的自動(dòng)文本摘要模型中的比較著名的是Facebook公司提出的ConvS2S模型[3],由CNN實(shí)現(xiàn)編碼器和解碼器,同時(shí)加入了注意力機(jī)制,嘗試將該模型用于自動(dòng)文本摘要。實(shí)驗(yàn)結(jié)果顯示,基于CNN的Seq2Seq模型也能在文本摘要任務(wù)中達(dá)到接近完美的表現(xiàn)。ConvS2S的成功之處不僅在于創(chuàng)新的結(jié)構(gòu),還在于細(xì)致入微的小技巧。在ConvS2S中對(duì)參數(shù)使用了非常仔細(xì)的初始化和規(guī)范化(Normalization),穩(wěn)定了方差和訓(xùn)練過(guò)程。這個(gè)模型的成功證明了CNN同樣能應(yīng)用到文本任務(wù)中,通過(guò)層級(jí)表征長(zhǎng)程依賴(lài)(Long-Range Dependency)。同時(shí),由于CNN具有可高度并行化的特點(diǎn),所以CNN的訓(xùn)練比RNN更高效。比起RNN,CNN的不足是有更多的參數(shù)需要調(diào)節(jié)。
編碼器將原文編碼為向量V,而解碼器從向量V中提取信息、獲取語(yǔ)義、生成文本摘要。但由于“長(zhǎng)距離依賴(lài)”問(wèn)題,RNN最后一個(gè)時(shí)間步輸入單詞時(shí),會(huì)丟失了很多信息,編碼生成的語(yǔ)義向量V也丟失了大量信息,導(dǎo)致生成的摘要不夠準(zhǔn)確。Google團(tuán)隊(duì)2017年6月宣布不用CNN和RNN單元,使用自注意力(Self-Attention)和編解碼器注意力(Encoder-Decoder Attention),來(lái)完全實(shí)現(xiàn)端到端任務(wù)[12]。由于采用并行計(jì)算模式,模型訓(xùn)練和生成速度也有所提升。自注意力模型更加關(guān)注句子內(nèi)部結(jié)構(gòu),即Word-Pairs的信息。模型單獨(dú)學(xué)習(xí)目標(biāo)端句子內(nèi)部結(jié)構(gòu)信息,利用編解碼器注意力建立源文本和目標(biāo)文本的對(duì)應(yīng)關(guān)系。自注意力在第一層便巧妙地建立了詞和整個(gè)句子的聯(lián)系,其思想可用于文本摘要自動(dòng)生成任務(wù)[13]。
基于深度學(xué)習(xí)的自動(dòng)摘要方法是目前效果較好的方法,也是下一步研究的熱點(diǎn)。本文提出一種結(jié)合了CNN和RNN神經(jīng)網(wǎng)絡(luò)(C-R)的復(fù)合模型方法,來(lái)完成自動(dòng)摘要的生成。CNN+RNN編碼器負(fù)責(zé)將輸入文本編碼成一個(gè)中間向量,作為原文本的表征,該向量包含了文本的上下文信息。而RNN解碼器從該向量提取重要信息,并進(jìn)行剪輯加工,生成文本摘要。
摘要模型包括基于CNN+RNN神經(jīng)網(wǎng)絡(luò)的編碼器和基于RNN的文本生成器。模型分層反映了文檔是由詞、句、段組合而成的本質(zhì),可以有效地對(duì)文檔的局部和全局信息進(jìn)行把握,對(duì)長(zhǎng)句和重要句子的信息損失較小,能夠更加全面地保留文檔的主旨含義,保證產(chǎn)生的摘要更加人性化[14]?;贑-R神經(jīng)網(wǎng)絡(luò)的生成式自動(dòng)摘要方法模型總體結(jié)構(gòu)圖,如圖6。
圖6 基于C-R神經(jīng)網(wǎng)絡(luò)的摘要模型
3.1.1 詞向量輸入
首先,利用Word Embedding中的CBOW訓(xùn)練模型,生成文本的詞向量。CBOW訓(xùn)練模型是一個(gè)前饋神經(jīng)網(wǎng)絡(luò)模型,共有輸入層、映射層和輸出層三層結(jié)構(gòu)。先對(duì)文本分詞后得到詞典D,訓(xùn)練模型的初始輸入是隨機(jī)浮點(diǎn)數(shù)矩陣,其大小為|D|*d。|D|是詞典D中的詞語(yǔ)數(shù)量,d是詞向量的維度。經(jīng)過(guò)大規(guī)模數(shù)據(jù)集的訓(xùn)練,并不斷更新詞向量矩陣中,預(yù)測(cè)詞的前后文所包含的詞語(yǔ)的向量,從而可以獲得詞典D中各個(gè)詞的向量表示,而后輸入到編碼器中。
3.1.2 語(yǔ)句向量編碼
每個(gè)句子被看做是一個(gè)詞序列,先通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)獲取句子的表示向量,用作RNN的輸入以獲取文檔表示。對(duì)輸入的文本詞向量卷積操作之后,可以將鄰近詞語(yǔ)的特征組合表示出來(lái),這些特征組合表示在進(jìn)行局部最大池化操作之后,能夠比較強(qiáng)地表征詞特征的組合會(huì)被挑選出來(lái),在進(jìn)行若干次的卷積和最大池化操作之后,就可以生成原始語(yǔ)句的向量表示,該向量的維度是固定的。
采用CNN網(wǎng)絡(luò)表示語(yǔ)句編碼,設(shè)語(yǔ)句S可用詞表示為{w1,w2,…,wn},利用每個(gè)詞 w 的詞向量構(gòu)成n*d(d表示向量維度)的語(yǔ)句矩陣。為了計(jì)算便捷,要求導(dǎo)入系統(tǒng)的句子長(zhǎng)度要一致,所以對(duì)較短的語(yǔ)句,文中采用以添加“占位符”的形式進(jìn)行補(bǔ)全到最大語(yǔ)句長(zhǎng)度,“占位符”是相同維數(shù)的全“0”向量。如此反復(fù),隨著卷積和最大池化的層數(shù)逐漸增多,最終原始語(yǔ)句就可被表示成固定維度向量。當(dāng)詞向量進(jìn)行卷積操作后,其原來(lái)的向量表示數(shù)量明顯減少,由于語(yǔ)句的長(zhǎng)度不一致而給語(yǔ)句學(xué)習(xí)的表示過(guò)程所造成的影響,將會(huì)得到有效的改善;通過(guò)最大池化操作,詞語(yǔ)之間比較差的組合表示可以被刪掉,而僅將比較好的組合表示提取出來(lái),進(jìn)行后續(xù)的訓(xùn)練學(xué)習(xí),從而提高實(shí)驗(yàn)效率。
3.1.3 文檔向量編碼
文檔向量編碼的任務(wù),借鑒參考文獻(xiàn)[6]提出文檔向量表示Doc2Vec框架融合RNN模型實(shí)現(xiàn),在該文檔向量表示框架中,每篇文檔的每個(gè)句子均由唯一的向量表示,通過(guò)將RNN將句子向量首尾鏈接形成文檔向量[15]。RNN本身是序列結(jié)構(gòu),它的隱含層是由結(jié)構(gòu)相似的序列構(gòu)成,由序列來(lái)完成文檔的向量表示。
為了預(yù)測(cè)下一個(gè)詞語(yǔ),采用串聯(lián)結(jié)合向量的方法,將詞向量和文檔向量進(jìn)行連接操作。詞向量和文檔向量采用誤差梯度下降法進(jìn)行訓(xùn)練,每次循環(huán),固定長(zhǎng)度的上下文可以從文檔中抽樣出來(lái),通過(guò)計(jì)算誤差梯度不斷更新模型參數(shù)。如果數(shù)據(jù)集包含N篇文檔,詞匯表含有M個(gè)詞,文檔向量為d1維,詞向量為d2維,則該模型共有N*d1+M*d2個(gè)參數(shù)。當(dāng)N很大時(shí),模型的參數(shù)數(shù)量也很大,但由于訓(xùn)練中的參數(shù)更新比較少,保證了訓(xùn)練過(guò)程的高效性。
對(duì)文檔摘要的質(zhì)量進(jìn)行評(píng)估是比較困難的。對(duì)于相同的文檔,雖然有關(guān)于語(yǔ)法正確性、語(yǔ)言流暢性、關(guān)鍵信息完整度等標(biāo)準(zhǔn),但一定程度上評(píng)判還必須依賴(lài)人的主觀判斷。自20世紀(jì)90年代末開(kāi)始,一些會(huì)議或組織致力于制定摘要評(píng)價(jià)標(biāo)準(zhǔn),比較著名的會(huì)議或組織有SUMMAC、DUC(Document Understanding Conference)、TAC(Text Analysis Conference)等,其中DUC的摘要任務(wù)被廣泛研究,大多數(shù)抽取式摘要模型在DUC-2004數(shù)據(jù)集上進(jìn)行測(cè)試。
摘要評(píng)價(jià)要基于語(yǔ)法和連貫性來(lái)評(píng)價(jià)摘要的可讀性。目前評(píng)估文本摘要質(zhì)量主要有兩種方法:人工評(píng)價(jià)方法和自動(dòng)評(píng)價(jià)方法。為了更高效地評(píng)估文本摘要,自動(dòng)評(píng)價(jià)方法會(huì)選定一個(gè)或若干指標(biāo),基于指標(biāo)對(duì)生成的摘要與參考摘要(人工撰寫(xiě),被認(rèn)為是正確摘要)進(jìn)行自動(dòng)評(píng)價(jià)。目前最常用、最受到認(rèn)可的指標(biāo)是Lin提出的ROUGE(Re-call-Oriented Understudy for Gisting Evaluation)[16],包括一些衍生的指標(biāo),最常用的有ROUGE-n,ROUGE-L,ROUGE-SU。
ROUGE-n:該指標(biāo)旨在通過(guò)比較生成的摘要和參考摘要的N-Grams(連續(xù)的n個(gè)詞)評(píng)價(jià)摘要的質(zhì)量。常用的有ROUGE-1,ROUGE-2,ROUGE-3。
ROUGE-L:不同于ROUGE-n,該指標(biāo)基于最長(zhǎng)公共子序列(LCS)評(píng)價(jià)摘要。如果生成的摘要和參考摘要的LCS越長(zhǎng),那么認(rèn)為生成的摘要質(zhì)量越高。該指標(biāo)的不足之處在于,它要求N-Grams一定是連續(xù)的。
ROUGE-SU:該指標(biāo)綜合考慮Uni-Grams(n=1)和Bi-Grams(n=2),允許Bi-Grams的第一個(gè)字和第二個(gè)字之間插入其他詞,比ROUGE-L更靈活。
作為自動(dòng)評(píng)價(jià)指標(biāo),ROUGE和人工評(píng)定的相關(guān)度較高,在自動(dòng)評(píng)價(jià)摘要中能給出有效的參考。但另一方面,從以上對(duì)ROUGE指標(biāo)的描述可以看出,ROUGE基于字的對(duì)應(yīng)而非語(yǔ)義的對(duì)應(yīng),生成的摘要在字詞上與參考摘要越接近,那么它的ROUGE值將越高。但是,如果字詞有區(qū)別,即使語(yǔ)義上類(lèi)似,得到的ROUGE值就會(huì)變低。換句話說(shuō),如果一篇生成的摘要恰好是在參考摘要的基礎(chǔ)上進(jìn)行同義詞替換,改寫(xiě)成字詞完全不同的摘要,雖然這仍是一篇質(zhì)量較高的摘要,但ROUGE值會(huì)呈現(xiàn)相反的結(jié)論。從這個(gè)極端但可能發(fā)生的例子可以看出,自動(dòng)評(píng)價(jià)方法所需的指標(biāo)仍然存在一些不足。目前,為了避免上述情況的發(fā)生,在Evaluation時(shí),通常會(huì)使用幾篇摘要作為參考和基準(zhǔn),這有效地增加了ROUGE的可信度,也考慮到了摘要的不唯一性。對(duì)自動(dòng)評(píng)價(jià)摘要方法的研究和探索也是目前自動(dòng)文本摘要領(lǐng)域熱門(mén)的研究方向。
本文采用搜狐新聞數(shù)據(jù)(SogouCS),來(lái)自搜狐新聞2012年6月到7月期間國(guó)內(nèi),國(guó)際等多個(gè)頻道的新聞數(shù)據(jù),提供URL和正文信息。
對(duì)數(shù)據(jù)進(jìn)行預(yù)處理很關(guān)鍵,處理質(zhì)量會(huì)直接影響編碼器編碼階段輸出摘要的質(zhì)量。要讀部分信息進(jìn)行替換和處理:一是去除特殊字符,如:“「,」,¥,…”;二是去掉如表情符內(nèi)容:三是替換日期標(biāo)簽為T(mén)AG_DATE變量,替換超鏈接URL為標(biāo)簽TAG_URL,替換全角英文為標(biāo)簽TAG_NAME_EN,替換數(shù)字為T(mén)AG_NUMBER。
圖7 數(shù)據(jù)集樣例
本文設(shè)定的輸入序列,是新聞的正文,待預(yù)測(cè)的目標(biāo)序列是新聞的標(biāo)題。為了訓(xùn)練的效果正文部分不宜過(guò)長(zhǎng),設(shè)正文分詞個(gè)數(shù)到最大長(zhǎng)度為120個(gè)詞。標(biāo)題部分最大分詞個(gè)數(shù)為30,即生成標(biāo)題(等效為摘要)不超過(guò)30個(gè)詞。
2016年Google開(kāi)源了TensorFlow中的自動(dòng)摘要模塊Textsum,基于深度學(xué)習(xí)模型自動(dòng)生成新聞標(biāo)題,利用了“Seq2Seq”思想,摘要效果近似于人工。利用TensorFlow的TextSum庫(kù),使用Python語(yǔ)言可以實(shí)現(xiàn)本文提出的基于C-R神經(jīng)網(wǎng)絡(luò)的生成式自動(dòng)摘要方法。
4.2.1 輸入詞向量計(jì)算
SogouCS數(shù)據(jù)集的原文內(nèi)容輸入CBOW模型的進(jìn)行模型訓(xùn)練,用以生成文本詞向量。輸入模型的文本形式是把每篇分詞(用前文研究過(guò)的基于Bi-LSTM網(wǎng)絡(luò)的六詞位標(biāo)注算法的中文分詞方法)后的原文以行存儲(chǔ),設(shè)定詞向量維數(shù)為200,模型訓(xùn)練過(guò)程中的滑動(dòng)窗口的大小設(shè)置為5,并將詞頻小于5的詞直接過(guò)濾掉,最終得到的輸入詞向量,其部分截圖如圖8所示。
圖8 詞向量部分截圖
4.2.2 程序?qū)崿F(xiàn)
部分實(shí)現(xiàn)代碼如下:
#Encoder:Multi-Layer RNN,Output:encoder_outputs
for layer_i in xrange(hps.enc_layers):
with tf.variable_scope(‘encoder%d’%layer_i),tf.de-vice(
self._next_device()):
cell_fw=tf.nn.rnn_cell.RnnCell(
hps.num_hidden,
initializer=tf.random_uniform_initializer( -0.1,0.1,seed=123),
state_is_tuple=False)
cell_bw=tf.nn.rnn_cell.RnnCell(
hps.num_hidden,
initializer=tf.random_uniform_initializer( -0.1,0.1,seed=113),
state_is_tuple=False)
(emb_encoder_inputs,fw_state,_)=tf.nn.bidirectional_rnn(
cell_fw,cell_bw,emb_encoder_inputs,dtype=tf.float32,
sequence_length=article_lens)
encoder_outputs=emb_encoder_inputs
4.2.3 結(jié)果輸出
表1 自動(dòng)生成摘要示例
實(shí)驗(yàn)將本文方法與其它摘要生成方法來(lái)進(jìn)行對(duì)比實(shí)驗(yàn)。
1)基于TF-IDF特征統(tǒng)計(jì)的自動(dòng)文摘方法。該方法通過(guò)計(jì)算文檔中關(guān)鍵詞的特征值,將特征值組合計(jì)算,得到每句話的權(quán)重表示,選取權(quán)重高的語(yǔ)句作為文摘句。該方法將每句話用離散特征空間表示,提取了若干關(guān)鍵詞,但是忽略了詞與詞之間的相關(guān)性掉,實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單。
2)基于LDA模型的自動(dòng)文摘方法??紤]了文章詞語(yǔ)相關(guān)性的算法,改模型主題數(shù)、特征的選擇,將直接影響最終的實(shí)驗(yàn)結(jié)果,對(duì)比分析選取實(shí)驗(yàn)效果最好的特征數(shù),并將得到的結(jié)果作為比較基線。為了確定最佳主題數(shù),選擇了相同的500篇驗(yàn)證集來(lái)進(jìn)行實(shí)驗(yàn)以選取最佳主題數(shù),對(duì)比分析結(jié)果如圖9所示。在本實(shí)驗(yàn)中,設(shè)主題數(shù)為5來(lái)進(jìn)行測(cè)試。
圖9 LDA模型不同主題數(shù)的實(shí)驗(yàn)對(duì)比
從表2中可以看出,對(duì)于傳統(tǒng)的文摘方法,將詞之間的相關(guān)性考慮在內(nèi)的LDA方法實(shí)現(xiàn)的文摘效果,要明顯高于簡(jiǎn)單地基于特征統(tǒng)計(jì)的TF-IDF方法,而基于深度學(xué)習(xí)的方法實(shí)現(xiàn)的文摘效果又高于傳統(tǒng)方法。
表2 不同摘要方法的實(shí)驗(yàn)結(jié)果對(duì)比
基于TF-IDF的統(tǒng)計(jì)方法對(duì)文本的表示具有局限性,中文中存在一詞多義和多詞一義現(xiàn)象,如果忽略了文本內(nèi)容中前后文語(yǔ)境,僅用各自獨(dú)立的特征來(lái)表示文本,得到的文摘效果必然不佳?;贚DA模型的方法克服了統(tǒng)計(jì)方法的缺點(diǎn),通過(guò)大規(guī)模語(yǔ)料庫(kù)的統(tǒng)計(jì)和分析計(jì)算,提取和推斷詞語(yǔ)的預(yù)期語(yǔ)境間的關(guān)系,所以獲取的摘要質(zhì)量有一定改進(jìn)。
而基于C-R網(wǎng)絡(luò)的生成式自動(dòng)摘要方法在對(duì)句子進(jìn)行建模時(shí),充分考慮了句子的結(jié)構(gòu)信息,在多層卷積和池化以及序列化的過(guò)程中,可確保句子的語(yǔ)義信息和特征保留。C-R網(wǎng)絡(luò)摘要生成方法將文檔和文檔中的句子進(jìn)行語(yǔ)義上的匹配,將句子和文檔整體的語(yǔ)義信息考慮在內(nèi),會(huì)得到較好的實(shí)驗(yàn)結(jié)果。
總得來(lái)說(shuō),傳統(tǒng)文摘方法實(shí)現(xiàn)起來(lái)簡(jiǎn)單,所用模型也很直觀,但在獲取文摘的過(guò)程中,沒(méi)有將詞語(yǔ)的位置及在文本中的次序等語(yǔ)法信息進(jìn)行充分考慮,在文本語(yǔ)義表達(dá)上還存在一定的欠缺,需要人工選擇大量的特征,當(dāng)面對(duì)大規(guī)模的數(shù)據(jù)集時(shí)會(huì)十分費(fèi)時(shí)費(fèi)力;而基于深度學(xué)習(xí)模型的自動(dòng)文摘方法,一方面,它通過(guò)對(duì)大規(guī)模語(yǔ)料庫(kù)的學(xué)習(xí),可以得到詞或句子的連續(xù)的空間表示,將詞語(yǔ)之間的相關(guān)性和語(yǔ)法信息考慮在內(nèi),在文本的語(yǔ)義表示方面具有很大的優(yōu)勢(shì);另一方面,在學(xué)習(xí)過(guò)程中,所有的特征都是通過(guò)對(duì)語(yǔ)料庫(kù)的學(xué)習(xí)自動(dòng)獲得,不需要人的額外參與,通過(guò)對(duì)數(shù)據(jù)集的不斷學(xué)習(xí)來(lái)自動(dòng)獲取文章的摘要。
本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)(C-R)的生成式自動(dòng)摘要方法,提出了方法的主要思路和實(shí)驗(yàn)所需軟硬件環(huán)境,對(duì)實(shí)驗(yàn)結(jié)果評(píng)測(cè)指標(biāo)的選取做了描述,接著對(duì)完成的各實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析。分析表明基于C-R網(wǎng)絡(luò)的自動(dòng)文摘方法能通過(guò)大規(guī)模數(shù)據(jù)集的訓(xùn)練,得到文本的語(yǔ)義表示,通過(guò)對(duì)文檔和句子的語(yǔ)義匹配進(jìn)行打分,將匹配度高的句子輸出構(gòu)成文本的摘要,相較傳統(tǒng)的自動(dòng)文摘方法,獲取文本摘要的智能性及質(zhì)量有了很大提高。