智慧化自動生成文字總結的方法

語言: CN / TW / HK

背景

對長文字進行總結和概括一直以來都是一項繁瑣的任務,需要工作人員耗費大量的時間和精力去理解文字內容再對重要資訊進行提煉和整合。尤其是針對一些晦澀難懂且專業性較強的文字,更是隻有經驗豐富的工作人員才能對文字進行正確的理解和總結。因此,我們渴望用一種自動化的方式來實現對文字進行準確的總結和概括。

隨著神經網路和自然語言處理技術的發展,為自動化生成摘要、總結提供了有效的方法,並在一定程度提高了人們的工作效率。本文將從當下比較熱門、效果較好的技術來為大家進行介紹。

熱點技術

01

從原文中抽取句子組成文字總結

從原文中抽取關鍵句子組合成文字總結,通過一些演算法來計算各個句子在原文中的權重,將權重靠前的句子提取出來,作為摘要句,常見的方法有:

1. TextRank

使用句子間相似度,構造無向有權邊。使用邊上的權值迭代更新節點值,最後選取 N 個得分最高的節點,作為摘要。其基本思想來源於谷歌的 PageRank演算法,不需要事先對多篇文件進行學習訓練, 因其簡潔有效而得到廣泛應用。

2. 編碼+聚類/分類

通過Bert,transformer或wor2vec方式進行編碼,得到句子級別的向量表示。再用聚類的方式或分類模型來提取出關鍵句子。對於聚類可用 K-Means聚類和 Mean-Shift 聚類等進行句子聚類,得到 N 個類別。最後從每個類別中,選擇距離質心最近的句子,得到 N 個句子,組合成最終摘要。對於分類,可以選擇合適的分類模型進行分類,其標籤獲取往往是選取原文中與標準摘要計算 ROUGE 得分最高的一句話加入候選集合,接著繼續從原文中進行選擇,保證選出的摘要集合 ROUGE 得分增加,直至無法滿足該條件。得到的候選摘要集合對應的句子設為 1 標籤,其餘為 0 標籤。

抽取式的方法發展較早,技術相對成熟,效果穩定。摘要中所有的語句均來自於源文,邏輯合理,語句通順。其缺點在於可能會引入冗餘資訊或缺失關鍵資訊,組成的文字連貫性較差。在實際應用中可將此方法用於輔助人工分析。尤其是在較長的文字中,可提取出關鍵句子,讓人抓住重點。

02

用文字生成模型來生成文字總結

生成式方法是讓模型去理解源文字,再生成新的文字,與人工寫總結的方式相似。對於機器而言,生成式是一個序列生成的問題,通過源文件序列x=[x1, x2, ... , xn]生成摘要序列y=[y1, y2, ..., ym]。這裡為大家介紹兩個基礎的網路模型。

1. Seq2Seq+Attention模型

Seq2Seq模型簡單概括就是拼接兩個RNN系(RNN,LSTM等)的模型,分別稱為模型的Encoder部分和Decoder部分。Encoder部分負責輸入文字語義的編碼,生成一個“濃縮輸入語義”的語義空間meaning space。Decoder部分負責根據這個語義空間及每個time-step的Decoder輸出,進行Attention機制並生成句子,從而實現在語義背景下從句子到句子的直接轉換(Sequence to Sequence)。

該模型的不足之處在於:無法生成訓練時未出現(OOV)的詞,只能生成詞彙表中的詞;會產生錯誤的事實,句子的可讀性較差;文字自我重複,即聚焦於某些公共Attention很大的單詞;長文字摘要生成難度較大。

2. Pointer-Generator(指標生成器網路)

該方法在基於注意力機制的Seq2Seq基礎上增加了 Copy 和 Coverage 機制,緩解未登入詞問題(OOV)和生成重複的問題。

PGN架構的核心思想: 對於每一個解碼器的時間步, 計算一個生成概率p_gen = [0, 1]之間的實數值, 相當於一個權值引數. 用這個概率調節兩種選擇的取捨, 要麼從詞彙表生成一個單詞, 要麼從原文字複製一個單詞。

①. 使用指標生成器網路(pointer-generator network),通過指標從原文中拷貝詞,這種方式可以在正確複述原文資訊的同時,也能使用生成器生成一些新的詞。

②. 使用覆蓋率(coverage) 機制,追蹤哪些資訊已經在摘要中了,通過這種方式以期避免生成具有重複片段的摘要。

該方法的不足在於:概括的內容可能並非源文字的核心內容;生成的摘要都是相近的詞或片段概括,沒有更高層次的壓縮概括;語句通暢性降低。

相比於抽取式,生成式的摘要更加靈活,強大,可以更好的引入外部知識。然而,生成過程往往缺少關鍵資訊的控制和指導,無法很好地定位關鍵詞語,難以生成流暢性的句子。

03

抽取與生成相結合的方法

考慮到抽取式和生成式各自的優缺點,目前很多研究已經將二者結合:用抽取的方式選擇重要內容,基於重要內容指導生成網路的訓練對內容進行改寫。

1. Bottom-Up

Bottom-Up使用資料有效的內容選擇器去確定應該作為摘要一部分的源文件中的短語。將此選擇器用作自下而上的注意力步驟,以將模型約束成可能的短語。使用這種方法提高了壓縮文字的能力,同時仍能生成流暢的摘要。

首先為源文件選擇一個選擇掩碼,然後通過該掩碼約束標準神經模型。這種方法可以更好地決定模型應選擇哪些短語去作為摘要中的內容,而不會犧牲神經文字摘要器的流利性優勢。此外,內容選擇模型的資料效率很高,可以用不到原始訓練資料的1%進行訓練。這為領域轉移和低資源摘要提供了機會。

2. SPACES

SPACES以抽取出的關鍵句作為輸入來生成新的總結、摘要文字。首先對文字進行分句,然後構建句子索引,並通過transformer對句子進行編碼。然後在編碼後的句子向量的基礎上用DGCNN訓練一個關鍵句分類的模型,判斷每個句子是否為關鍵句。標籤是通過一種自動的方式生成的,根據標準的總結,在原文中進行相似度計算,相似度較高的句子視為關鍵句其標籤為1,否則為0。生成模型就是一個Seq2Seq模型,以抽取模型的輸出結果作為輸入、人工標註的總結作為標籤進行訓練,得到摘要生成模型。

3. Fast-RL

Fast-RL是基於強化學習的任務,首先使用抽取器agent選擇重要的句子或突出顯示的內容。然後使用生成器網路重寫每一個被抽取的句子。抽取器利用分層神經模型來學習文件的句子表示,並利用“選擇網路”根據其表示提取句子。使用時域卷積模型來計算文件中每個單獨句子的表示形式。為了進一步結合文件的全域性上下文並捕獲句子之間的長期語義依賴關係,將雙向LSTM-RNN應用於卷積的輸出。基於抽取器提取的句子,新增另一個LSTM-RNN來訓練Pointer Network,以迴圈抽取句子。

生成器網路用於將提取的文件句子作為輸入以生成摘要。使用標準的編碼器-對齊器-解碼器。添加了複製機制以幫助直接複製一些詞彙(OOV)單詞。最後,將RL應用於端到端訓練整個模型。

抽取+生成的結合形式有很多,融合了抽取式和生成式的優點,生成的文字內容邏輯清晰,語句的連貫性更強,有很大的研究價值和改進空間。

04

將預訓練模型用於總結的生成

目前基於預訓練模型進行下游任務微調的方法發展很快,遷移性很強,可以應用在多種下游任務上,在文字的總結上也有不錯的效果。

1. 基於BART

BART的訓練主要由2個步驟組成:(1)使用任意噪聲函式破壞文字。(2)模型學習重建原始文字。BART 使用基於 Transformer 的標準神經機器翻譯架構,可視為BERT、GPT等預訓練模型的泛化形式。通過隨機打亂原始句子的順序,再使用文字填充方法(即用單個 mask token 替換文字片段)能夠獲取最優效能。BART 尤其擅長處理文字生成任務,同時在自然語言理解任務中的表現也是可圈可點。

2. 基於CPT

CPT是在BART的基礎上,提出兼顧自然語言理解(NLU)和自然語言生成(NLG)的模型結構。CPT的具體結構可以看作一個輸入,多個輸出的非對稱結構,主要包括三個部分:(1)S-Enc (Shared Encoder):共享Encoder,雙向attention結構,建模輸入文字。(2)U-Dec (Understanding Decoder):理解用Decoder,雙向attention結構,輸入S-Enc得到的表示,輸出MLM的結果。為模型增強理解任務。(3)G-Dec (Generation Decoder):生成用Decoder,正如BART中的Decoder模組,利用encoder-decoder attention與S-Enc相連,用於生成。

3. 基於PEGASUS

在 PEGASUS 中,將源文件中的“重要句子”刪除或者遮蔽,再利用剩餘的句子在輸出中生成這些被刪除或遮蔽的句子。這是一種基於間隙句子(gap-sentences)生成的序列-序列模型自監督的預訓練目標,以適配Transformer-based的encoder-decoder模型在海量文字語料上預訓練。由間隔句生成(GSG)和掩碼語言模型(MLM)相結合,對於低資源任務資料集,通過微調PEGASUS模型,可以在廣泛的領域實現良好的抽象摘要效果。

預訓練模型可以應用在文字生成,文字分類,機器翻譯等下游任務上。在資料量較少的情況進行微調也能取得不錯的效果,值得持續關注。

效果展示

為了對更好的探索各種文字總結方法的具體表現,我們在現有的資料集上進行了一些實驗,以下為在合適的方法下針對不同型別的文字資料進行總結的效果展示:

①. 人文科普文獻(基於TextRank)

②. 個人演講(基於PEGASUS)

③. 多人討論會(基於CPT)

④. 新聞內容(基於SPACES)

總結

目前用於生成文字總結的方法有很多,並且處於持續更新的狀態,本文所述的只是其中的一小部分方法。在實際應用時可根據具體場景選擇合適的方法來幫助大家實現智慧化的自動文字總結從而提升工作效率。同時,如果大家對如何進行音訊會議的總結或紀要的生成感興趣的話,可以持續關注我們的公眾號,我們會一一為大家進行技術揭祕。