1. 程式人生 > >IJCAI 2018 基於主題資訊的神經網路作文生成模型

IJCAI 2018 基於主題資訊的神經網路作文生成模型

本文介紹哈爾濱工業大學社會計算與資訊檢索研究中心(SCIR)錄用於IJCAI 2018的論文《Topic-to-Essay Generation with Neural Networks》,在本文中,我們提出了段落級作文生成任務,其輸入為固定個數的話題詞,輸出是一段關於這些話題詞的作文描述;在方法層面,我們採用Seq2Seq的神經網路框架,針對多主題輸入情況,我們加入主題感知的coverage方法,使得作文能夠在表達不同主題語義的情況下,著重針對某一主題進行表述。我們自動構建了兩個作文相關語料庫,並通過客觀和主觀評價說明我們的模型結果均優於基線方法。本論文的實驗程式碼和資料已經開源:https://github.com/hitcomputer/MTA-LSTM

 

論文作者:馮驍騁、劉家豪、秦兵、劉挺 

關鍵詞:文字生成,神經網路,作文生成 

聯絡郵箱:[email protected] 

個人主頁:http://ir.hit.edu.cn/ xcfeng/

 

1. 引言

 

隨著近幾年來人工智慧的飛速發展,我們想要去驗證一下機器是否真的能夠像人一樣能說會道,其中作文自動生成可以看作是一個極具代表性的任務,不僅需要計算機去理解題意還要計算機針對所理解內容生成較長篇幅的作文,這其中邏輯通順、語義連貫、主題明確、表達清晰都是所要研究的難點,針對這一問題,我們定義了段落級作文生成任務,其輸入是多個話題詞,輸出是圍繞這些話題詞的一些文字,可以看作是段落級的作文。圖1給出了具體示意,其輸入的話題詞是“媽媽”,“孩子”,“希望”,“長大”和“母愛”。

 

圖1 用五個主題詞生成的段落示例

 

在方法層面,我們希望模型能夠接受多個話題詞的控制,生成包含這些語義的一段文字,並且篇幅較長。為此我們提出了一個主題感知(Topic-aware)的生成模型。具體而言,我們構建了一個多主題的Coverage向量,它學習每個話題詞的權重並且在生成過程中不斷更新,然後,Coverage向量輸入到注意力網路中,用於指導文字生成。與其它的Coverage方法不同的是,我們會預先對多個話題詞進行估計,找到一個最核心的詞作為整個段落的主題,這樣我們的模型能夠保證所生成的段落可以覆蓋所有的話題詞也能夠保持一個較為明確的主題。此外我們還自動構建了兩個段落級的中文作文生成語料,包含305,000個作文段落和55,000個知乎文字。實驗表明,我們的主題感知生成模型在BLEU 指標上相比於其他模型獲得了更好的結果。而且人工評價結果表明我們所提出的模型有能力生成連貫並且和輸入話題詞相關的段落文字。

 

 

2. 方法

 

本小節將詳細介紹我們的作文生成模型。首先,我們直接將話題詞的詞向量進行平均,利用平均後的向量來表示話題詞集的語義,並通過這一向量來控制LSTM-based decoder進行文字生成。在此之後,我們引入了注意力網路(Attention Network)對話題詞和生成詞語之間的語義關聯進行建模。最後,我們對Attention-based LSTM模型進行擴充套件,引入覆蓋機制(Coverage Mechanism ),該機制能夠動態跟蹤注意力網路的歷史資訊,從而加強對還未進行表達的話題詞的關注度,最終使得生成文字能夠包含所有的話題詞語義資訊。

 

2.1 基於詞向量平均的文字生成模型(Topic-Averaged LSTM,TAV-LSTM)

 

本部分我們將介紹基於詞向量平均的文字生成模型,這是我們方法的基礎版本,採用向量平均的方法來求得話題詞集合的語義表示。由於LSTM 模型在文字生成任務中有著非常卓越的表現,所以我們採用LSTM 模型作為生成器解碼器。在傳統的Encoder-Decoder 模型中,Encoder 部分往往負責將一個長序列(比如一個句子)表示成固定維度的向量,而Decoder 部分則是根據這個向量表示來生成另一個序列。在本文中,我們將話題詞平均作為輸入,用LSTM進行解碼來生成一段文字,具體如圖2上部分所示:

 

圖2 基於詞向量平均的文字生成模型與基於注意力網路的文字生成模型

 

我們按照如下公式計算得到話題詞集合的語義表示,並將其作為Decoder的初始狀態,用於控制其生成文字,

其中T是話題詞集合的向量表示,k為輸入話題詞的個數,表示第i個話題詞。具體的解碼過程與機器翻譯相似,這裡就不做過多贅述。

 

2.2 基於注意力網路的文字生成模型(Topic-Attention LSTM,TAT-LSTM)

 

上述主題平均模型是直接將話題詞的詞向量進行平均,也就是說每一個話題詞都被同等的對待,相當於我們認為話題詞之間是沒有重要性差別的。然而這種方法會帶來一些歧義,使得話題詞集合的語義表示並不是唯一的,例如某個話題詞集合向量表示為[0.6, 0.8] ,那麼它可以通過兩個不同的話題詞集合A:[0.5, 0.9] 和[0.7, 0.7] 、B:[0.3, 0.6] 和[0.9, 1.0] 來獲得。針對這一問題我們引入了注意力機制(Attention Mechanism)。其作用主要有兩方面,一是可以很好的實現對生成文字的控制;二是注意力機制可以刻畫話題詞和生成文字間的區域性相關性,這是符合人類作寫規律的。當人類完成一大段作文書寫時,顯然是某些句圍繞一個話題詞,而其他句圍繞別的話題詞,不可能每一句都是包含整個話題詞集的語義,這樣寫出來的作文才具有一定層次感和邏輯關係,符合人們的寫作規律。而注意力機制能很好的刻畫這種區域性相關性,因為在生成每個詞時Attention結構會對話題詞自動分配不同的權重,即相當於當前生成的這部分由權重比較高的幾個話題詞所決定。模型結構圖如2下部分所示,具體計算細節可以參照原文。

 

2.3 多主題感知生成模型(Multi-Topic-Aware LSTM, MTALSTM)

 

雖然上面的注意力模型已經很好地利用話題詞的語義資訊了,但我們發現這個模型並不能夠保證生成的文字包含話題詞集的所有語義資訊,也就是說可能有話題詞所帶的語義並沒有出現在最終生成的文字內容中。針對這一問題我們提出了多主題感知模型(Multi-Topic-Aware LSTM),具體的結構如圖3所示。我們在傳統的注意力公示上進行修改,引入coverage機制,如圖3所示,我們引入了變數,我們期望用這個變數來表示每個話題詞有多少資訊已經被生成,同時還有多少資訊沒有被生成。首先,對於一個話題詞,初始值為1,即 = 1(表示話題詞k未生成的資訊為1,已生成的資訊為0);然後計算attention係數,會對這個計算過程產生影響,對於一個剩餘資訊還很多的話題詞應該相應增大它的attention係數,反之對於一個已經生成很多資訊的話題詞應該減小它的係數,attention係數的計算公式如下:

 

的更新公式為:

其中表示話題詞k最終所要生成文字的多少,對不同話題詞有不同的估計,也因此能夠保證有一個主要的話題詞被更好的表達,. 從圖3中我們可以看到,每生成一個詞發生一次變化。

 

圖3 多主題感知生成模型(c是主題詞的coverage向量)

 

2.4 訓練

 

我們採用和機器翻譯一樣的訓練目標,最大化極大似然估計。

在生成策略上為了保證文字的多樣性,我們採用beam-search+sample的策略,beam為10,從中隨機選取一個作為文字生成結果。

 

3. 實驗

 

3.1 語料構建

 

在本文中,我們的研究內容是作文自動生成,更具體的,是生成更多符合多主題的作文文字,為此我們建立一個作文語料庫(ESSAY)。寫作是中國高考語文卷中的一道大題,因此在網際網路上有很多優秀作文樣例供廣大考生學習。所以,我們打算直接收集這些資料作為訓練語料,同時為了保證爬取的文字質量,我們只對那些有評語和評分的作文進行爬取。具體過程如下,1)我們首先爬取了228,110 篇作文,並且這些都是老師評分比較高的;2)由於我們針對的是段落級文字生成任務,所以從這些作文中篩選出詞數目在50-100的段落,組成我們的語料資料集;3)我們和詩歌生成一樣,用textrank從這些段落中抽取出關鍵詞作為話題詞集。具體的語料集數量如表1所示。此外,由於作文語料庫是由textrank抽取演算法得到的話題詞,其結果必然存在一些噪聲。為了解決這一問題,我們又爬取了知乎語料庫(ZhiHu),在這個資料集中,每個問題文字都有使用者給出的1到5個話題詞,和作文語料庫類似,我們爬取那些詞數目在50-100並且有五個話題詞的段落,構建語料庫,具體數量如表1所示。

 

表1 資料集資訊(T代表主題詞的數量)

 

3.2 實驗設定

 

我們利用哈工大社會計算與資訊檢索實驗室開發的LTP平臺對兩個語料庫的中文進行分詞。選擇了50,000個高頻詞作為模型的訓練和測試詞表。詞向量維度為100,用word2vec對之前所有爬取的作文語料進行訓練,LSTM隱層為800。模型引數為均勻分佈初始化[−0.04, 0.04]。Dropout為0.5,採用AdaDelta演算法進行更新,測試階段採用beam-search+sample的策略。

 

3.3 實驗結果

 

我們首先對提出的各個模型和一些baseline方法進行人工評價,評價指標為話題完整性(Topic-Integrity)、話題相關性(Topic-Relevance)、流暢度(Fluency)和連貫性(Coherence),每一項由三個人進行1-5的打分,之後進行平均,其評測結果如表2所示。在人工評價中,我們對三位打分人員的一致性進行了測試,kappa 值、t檢驗、Pearson係數都滿足要求。

 

表2 不同方法在ESSAY資料集上得到分值的平均值(最優值用粗體標出)

 

為了進一步支援人工評價的結果,我們利用BLEU評價指標對實驗結果進行了自動評價,結果如圖3 所示,各模型效能與人工評價基本一致。接下來我們給出一個較好的生成樣例(表4),其輸入的話題詞為“現在”、“未來”、“夢想”、“科學”和“文化”。

 

表3 不同方法在ESSAY資料集和ZhiHu資料集上得到的BLEU-2分值

 

表4 MTA-LSTM模型利用五個主題詞生成的段落示例

 

4. 結論

 

在本文中,我們提出了面向多主題的段落級作文生成任務,並且針對這一問題開發了主題感知模型。為了進一步驗證模型的好壞,我們自動構建了兩個語料庫,分別是作文語料庫和知乎語料庫,並在這兩個語料庫上對不同模型進行比較。人工評價和自動評價結果均顯示我們的多主題感知作文生成模型能夠獲得最好的效果。在未來的工作中,我們將嘗試融合一些外部知識和邏輯表達到現有模型中去,以期生成可讀性更強的作文文字。

 

IJCAI 2018系列原創往期推送:

賽爾原創 | IJCAI 2018 利用跨語言知識改進稀缺資源語言命名實體識別

塞爾原創 | IJCAI 2018 在消費意圖識別任務上的基於樹核最大平均差異的領域自適應

賽爾原創 | IJCAI 2018基於敘事事理圖譜和可擴充套件圖神經⽹絡的指令碼事件預測模型

本期責任編輯:  丁 效

本期編輯:  吳 洋

 


 

“哈工大SCIR”公眾號

主編:車萬翔

副主編: 張偉男,丁效

責任編輯: 張偉男,丁效,趙森棟,劉一佳

編輯: 李家琦,趙得志,趙懷鵬,吳洋,劉元興,蔡碧波,孫卓