寫?在前面
paper:https://arxiv.org/pdf/1903.10318.pdf
github:https://github.com/nlpyang/BertSum
后面,又發(fā)表于EMNLP2019,為《Text Summarization with Pretrained Encoders》,增加了生成式(抽象式,Abstractive)摘要部分,并對第一版論文進行了部分內(nèi)容的補充與刪減。
paper:https://aclanthology.org/D19-1387.pdf
github:https://github.com/nlpyang/PreSumm
介紹
文本摘要任務(wù)主要分為抽象式摘要(abstractive summarization)和抽取式摘要(extractive summarization)。在抽象式摘要中,目標摘要所包含的詞或短語會不在原文中,通常需要進行文本重寫等操作進行生成;而抽取式摘要,就是通過復(fù)制和重組文檔中最重要的內(nèi)容(一般為句子)來形成摘要。那么如何獲取并選擇文檔中重要句子,就是抽取式摘要的關(guān)鍵。
傳統(tǒng)抽取式摘要方法包括Lead-3和TextRank,傳統(tǒng)深度學(xué)習(xí)方法一般采用LSTM或GRU模型進行重要句子的判斷與選擇,而本文采用預(yù)訓(xùn)練語言模型BERT進行抽取式摘要。
模型結(jié)構(gòu)BertSum模型
結(jié)構(gòu)如下圖所示

主要由句子編碼層和摘要判斷層組成,其中,「句子編碼層」通過BERT模型獲取文檔中每個句子的句向量編碼,「摘要判斷層」通過三種不同的結(jié)構(gòu)進行選擇判斷,為每個句子進行打分,最終選取最優(yōu)的top-n個句子作為文檔摘要。
句子編碼層
由于BERT模型MLM預(yù)訓(xùn)練機制,使得其輸出向量為每個token的向量;即使分隔符可以區(qū)分輸入的不同句子,但是僅有兩個標簽(句子A或句子B),與抽取式摘要需要分隔多個句子大不相同;因此對BERT模型的輸入進行了修改,如下:
將文檔中的每個句子前后均插入[CLS]和[SEP]標記,并將每個句子前的[CLS]標記進入模型后的輸出向量,作為該句子的句向量表征。例如:文檔為”我愛南京。我喜歡NLP。我學(xué)習(xí)摘要?!?,輸入序列為”[CLS]我愛南京。[SEP][CLS]我喜歡NLP。[SEP][CLS]我學(xué)習(xí)摘要。[SEP]“
采用Segment Embeddings區(qū)分文檔中的多個句子,將奇數(shù)句子和偶數(shù)句子的Segment Embeddings分別設(shè)置為和,例如:文檔為,那么Segment Embeddings為。
摘要判斷層
從句子編碼層獲取文檔中每個句子的句向量后,構(gòu)建了3種摘要判斷層,以通過獲取每個句子在文檔級特征下的重要性。對于每個句子,計算出最終的預(yù)測分數(shù),模型的損失是相對于金標簽的二元交叉熵。
Simple Classifier,僅在BERT輸出上添加一個線性全連接層,并使用一個sigmoid函數(shù)獲得預(yù)測分數(shù),如下:
Transformer,在BERT輸出后增加額外的Transformer層,進一步提取專注于摘要任務(wù)的文檔級特征,如下:
其中,為句子的句向量,,PosEmb函數(shù)為在句向量中增加位置信息函數(shù),MHAtt函數(shù)為多頭注意力函數(shù),為Transformer的層數(shù)。最后仍然接一個sigmoid函數(shù)的全連接層,
最終選擇為2。
LSTM,在BERT輸出增加額外的LSTM層,進一步提取專注于摘要任務(wù)的文檔級特征,如下:
其中,分別為遺忘門、輸入門和輸出門;分別為隱藏向量、記憶向量和輸出向量;分別為不同的layer normalization操作。最后仍然接一個sigmoid函數(shù)的全連接層,
實驗細節(jié)訓(xùn)練集構(gòu)建
由于目前文本摘要的數(shù)據(jù)大多為抽象式文本摘要數(shù)據(jù)集,不適合訓(xùn)練抽取摘要模型。論文利用貪心算法構(gòu)建每個文檔抽取式摘要對應(yīng)的句子集合,即通過算法貪婪地選擇能使ROUGE分數(shù)最大化的句子集合。將選中的句子集合中的句子的標簽設(shè)為1,其余的句子為0。
模型預(yù)測
在模型預(yù)測階段,將文檔按照句子進行切分,采用BertSum模型獲取每個句子的得分,然后根據(jù)分數(shù)從高到低對這些句子進行排序,并選擇前3個句子作為摘要。
在句子選擇階段,采用Trigram Blocking機制來減少摘要的冗余,即對應(yīng)當(dāng)前已組成摘要S和侯選句子c,如果S和c直接存在tri-gram相同片段,則跳過句子c,也就是句子c不會增加在已組成摘要S中。
數(shù)據(jù)超出BERT限制
BERT模型由于最大長度為512,而現(xiàn)實中文檔長度常常會超出。在《Text Summarization with Pretrained Encoders》文中提到,在BERT模型中添加更多的位置嵌入來克服這個限制,并且位置嵌入是隨機初始化的,并在訓(xùn)練時與其他參數(shù)同時進行微調(diào)。
實驗結(jié)果主要對比了LEAD、REFRESH、NEUSUM、PGN以及DCA方法,較當(dāng)時方法,該論文效果確實不錯,如下表所示,

在三種摘要判斷層中,Transformer的效果最優(yōu)。并且進行了進一步的消融實驗,發(fā)現(xiàn)采用不同的Segment Embeddings會給結(jié)果帶來一些提升,但是Trigram Blocking機制更為關(guān)鍵,具體如下表所示。

總結(jié)個人認為該論文是一篇較為經(jīng)典的BERT模型應(yīng)用論文,當(dāng)時2019年看的時候就進行了嘗試,并且也將其用到了一些項目中。
放假ing,但是也要學(xué)習(xí)。
原文標題:BertSum-基于BERT模型的抽取式文本摘要
文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
結(jié)構(gòu)
+關(guān)注
關(guān)注
1文章
119瀏覽量
21971 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4379瀏覽量
64736 -
模型
+關(guān)注
關(guān)注
1文章
3516瀏覽量
50343
原文標題:BertSum-基于BERT模型的抽取式文本摘要
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
自動識別事件類別的中文事件抽取技術(shù)研究
基于XML的WEB信息抽取模型設(shè)計
BERT模型的PyTorch實現(xiàn)
簡述基于神經(jīng)網(wǎng)絡(luò)的抽取式摘要方法

圖解BERT預(yù)訓(xùn)練模型!
模型NLP事件抽取方法總結(jié)

NLP:關(guān)系抽取到底在乎什么
融合BERT詞向量與TextRank的關(guān)鍵詞抽取方法

基于BERT+Bo-LSTM+Attention的病歷短文分類模型

基于BERT的中文科技NLP預(yù)訓(xùn)練模型
基于Zero-Shot的多語言抽取式文本摘要模型
Instruct-UIE:信息抽取統(tǒng)一大模型

評論