謝 紅,孫 銳
(樂山師范學院 人工智能學院,四川 樂山 614000)
自動問句生成(Question Generation,QG)旨在根據(jù)文本段落或上下文生成問題[1]。該任務(wù)被廣泛地應用于教育、對話、自動問答等領(lǐng)域。在教育領(lǐng)域,問句生成可用于課程材料的評價,亦可作為智能輔助教學的組成部件。通過構(gòu)建高質(zhì)量的問題集,對學生知識掌握程度或自主學習能力的評估起到至關(guān)重要的作用。在對話領(lǐng)域,生成流暢的問句是對話系統(tǒng)的一個重要技能。作為問答系統(tǒng)(Question Answering,QA)的逆向任務(wù),問題生成具備提供大規(guī)模問答對的潛質(zhì),可減少構(gòu)建大規(guī)模數(shù)據(jù)集所需的人力。
一般地,問句生成的目標為給定源文本生成一個問題集合,其中每個問題均能在文本中找到對應答案。問句生成任務(wù)框架如圖1 所示,大體分為三個子任務(wù):
圖1 問句生成框架
a)內(nèi)容選擇旨在選擇和設(shè)定待提問的目標或想要的答案,主要解決“問什么”的問題。故需要抓住文本重要信息,標記出待提問的重要屬性。
b)問題類型選擇旨在給定目標答案后,確定待提問的問題類型(What、When、Who、Which、Where,Why,How 和Yes/No 等)。此子任務(wù)常用在基于規(guī)則的方法里。在基于神經(jīng)網(wǎng)絡(luò)的模型里,問句類型和句法形態(tài)可通過語句或詞的特征和問句表示的構(gòu)造來確定。
c)問句構(gòu)造旨在給定目標和問句類型后構(gòu)造問句,主要解決“如何問”的問題。此子任務(wù)關(guān)注如何用自然語言描述待提問的重要屬性,因而需聚焦于語法正確性、語義精確性和語言靈活性。
自動問句生成任務(wù)面臨的挑戰(zhàn)有:(a)問題類型眾多;(b)文本理解中的部分語言學挑戰(zhàn),如否定檢測和指代消解等;(c)問句形態(tài)多樣化,特別是在中文領(lǐng)域。例如,百度老總是誰?誰是百度老總?(d)詞形詞義多樣化,例如,百度老總是誰?百度董事長是誰?
自動問句生成方法主要分為兩類:一類是基于規(guī)則的問句生成[2-5],多利用啟發(fā)式規(guī)則將語句轉(zhuǎn)換為相關(guān)問句;另一類是基于神經(jīng)網(wǎng)絡(luò)的問句生成模型[6-9],主要利用深度學習中的序列到序列(Seq2Seq)技術(shù)。
多數(shù)基于規(guī)則的基本思路,將輸入語句轉(zhuǎn)換為語法結(jié)構(gòu)表示,利用這種結(jié)構(gòu)表示去匹配預定義模板或者利用句法特征對語句進行重排以生成問句。典型地,此類方法需要確定輸入語句的句法模板、關(guān)鍵字或語義角色,故多以語法和語義為依托進行語法或語義解析。在問句生成時,采用轉(zhuǎn)換(Transformation-based)方法重排輸入語句的表達,或利用模板方法(Template-based)來定制問句的生成。
為提升問句生成質(zhì)量,此類方法多從以下幾個技術(shù)角度改進:a)詞形和詞義。詞性識別、實體識別、關(guān)鍵詞識別、詞干化、詞相似性;b)語句句法結(jié)構(gòu)。語義依存關(guān)系、語義角色標注、句法成分結(jié)構(gòu);c)語句相似性或主題相關(guān)性。
Yllias[2]等提出根據(jù)主題從正文信息生成所有可能的問句。首先進行語句簡化去除冗余句子成分,以便利用命名實體信息和謂詞論元信息生成問句;然后利用主題模型和字符串核方法計算問句與正文以評估主題相關(guān)度;最后采有句法樹核方法計算問句與正文的句法相似度以評估句法正確度。Karen[3]等探索了在教育領(lǐng)域下構(gòu)建各種深度或不同類型的問句,結(jié)合語言學特點深度分析了語句的語義角色關(guān)系,設(shè)計了約42 個語義模板,以生成語句相關(guān)的問句和答案。Mass[4]等利用依存分析工具、PropBank、VerbNet、WordNet 等知識庫或工具開發(fā)了一套句法規(guī)則,有效地實現(xiàn)了全局依存關(guān)系、淺層語義分析、詞匯資源和習慣性規(guī)則的平衡,最后利用回譯技術(shù)生成語法準確、高度相關(guān)的問句。
可以看出,基于規(guī)則的方法簡單且易于實現(xiàn),但無一例外,都面臨著一些較難的語言學挑戰(zhàn),如否定詞檢測、指代消解和動詞形態(tài)變化等。問句語用學的研究對問句生成應能產(chǎn)生積極的影響。
主流的深度問句生成模型大多沿用Seq2Seq框架,如圖2 所示。給定一個段落X={x1,...,xn}false 和目標答案Afalse,模型旨在針對Afalse 生成一個問句Y={y1,...,ym}false。故,模型優(yōu)化目標為最大化給定Xfalse 和Afalse 時生成最佳問句Y^false 的條件概率,即:
圖2 基于神經(jīng)網(wǎng)絡(luò)的模型典型結(jié)構(gòu)
多數(shù)基于神經(jīng)網(wǎng)絡(luò)的模型關(guān)注以下兩方面的技術(shù)細節(jié):
a)與QG 有關(guān)的因素,如答案編碼、問句詞的生成和段落級的上下文表示等。
(a)答案編碼。答案作為模型輸入用于指導模型在問句生成時關(guān)注哪些信息,以免模型生成與特定目標無關(guān)的問句。主要有兩種實施方案,一是利用額外的答案指示特征增廣答案中的每個詞向量,如BIO 標記,位置向量等,另一種則采用特定的詞條替換答案以進行段落編碼。
(b)問句詞生成。問句詞在問句生成起著重要的作用。當前大多的模型中存在著問句詞生成和答案類型不一致的情況。
(c)段落上下文。有統(tǒng)計表明,約20%的問句需要借助段落上下文信息作答。但隨著輸入問句長度的增加,Seq2Seq 模型的學習需要較高的耗時才能有效利用上下文信息。
b)常見的自然語言處理技術(shù),如拷貝機制和語言特征等。
(a)拷貝機制。在解碼過程中,若回指了在源語句中的短語或?qū)嶓w,或用于構(gòu)建事實性問句或難以用RNN 解碼生成稀疏詞時,可以直接從源語句拷貝相關(guān)詞到問句。
(b)語言特征。用于補充詞表示,包括詞的大小寫、詞性(POS)、命名實體(NER)標簽、指代和依存信息等。
Zhou[6]等提出應用神經(jīng)編碼-解碼模型以生成有意義的多樣化的問句。編碼輸入為文本和答案位置,以得到答案敏感(Answer-aware)的輸入表示,再由解碼器生成聚焦答案(Answer-focused)的問句。模型使用BiGRU 獲得前向和后向編碼,除傳統(tǒng)的詞向量輸入,還引入NER 和POS 標簽作為額外特征來標注答案的位置,使得模型對目標答案更敏感,在解碼時采用了注意力和拷貝機制。Sun 等[7]提出一種和位置敏感的神經(jīng)問句生成模型。通過聚焦答案以引入答案表示,顯式地對疑問詞的生成建模,有助于疑問詞和答案類型的匹配。通過對上下文和答案的相對距離建模,以生成相應的位置敏感的注意力,有助于原文中拷貝相對距離較近且相關(guān)的上下文詞條。同Zhou[7]等的工作類似,引入了NER 和POS 等特征,在解碼階段同時支持在拷貝和生成兩種模式的切換。Zhao[8]等聚焦于答案敏感的問句生成,以段落和答案為輸入,生成針對給定答案的問句,假定答案是由給定段落中的某些文本片段組成。提出一種帶門自注意力(Gated Self-attention)的指針機制,以處理問句生成中長文本挑戰(zhàn)。其中,門自注意力用于在每個時間步聚集來源于段落的信息,嵌入段落內(nèi)部依存以提煉段落答案的編碼表示;在解碼時每個時間步上的詞均被看成單獨的一個拷貝目標并限制重復詞的得分。Kim[9]等認為大多數(shù)現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型通過答案位置特征引入目標答案信息,從而使得生成的問句中大多包含了目標答案中的詞。因此,聚焦于如何把原始段落和目標答案分離開,提出答案分離(Answer-separated)的Seq2Seq 模型,更好地利用段落和目標答案的信息。采用掩碼替代目標答案,單獨保留對應的目標答案,采用基于檢索的詞生成方式以糾正傳統(tǒng)Seq2Seq 模型的缺陷(傳統(tǒng)Seq2Seq 傾向于記憶序列模式而非詞義),有效地抓住語義。
a)從方法的難易程度來看,基于規(guī)則的方法實現(xiàn)簡單,問句可根據(jù)模板或句法結(jié)構(gòu)直接生成,而基于神經(jīng)網(wǎng)絡(luò)的方法以數(shù)據(jù)為驅(qū)動,問句的生成質(zhì)量依賴于網(wǎng)絡(luò)結(jié)構(gòu)的特征學習能力以及訓練數(shù)據(jù)的質(zhì)量。
b)從方法的語言學本質(zhì)來看,基于規(guī)則的方法多利用淺層語義工具來分析詞的句法角色和語句的句法結(jié)構(gòu),而基于神經(jīng)網(wǎng)絡(luò)的方法更關(guān)注詞的語義角色,強調(diào)語句的深層語義分析。
c)從方法的魯棒性來看,基于規(guī)則的方法依賴于模板的質(zhì)量,故大多在特定的領(lǐng)域?qū)崿F(xiàn),而基于神經(jīng)網(wǎng)絡(luò)的方法則具有更強的魯棒性,領(lǐng)域無關(guān)性較好。
d)從問句類型選擇方式來看,基于規(guī)則的方法大多對不同問句類型分別設(shè)計或統(tǒng)計模板,而基于神經(jīng)網(wǎng)絡(luò)的方法則允許在一個統(tǒng)一的框架里聯(lián)合優(yōu)化多個不同類型的問題,無需分別關(guān)注不同類型的問句。
e)從數(shù)據(jù)資源和人力耗費來看,基于規(guī)則的方法對模板質(zhì)量有較高要求,故需要具有一定語言學背景的領(lǐng)域?qū)<?,而基于神?jīng)網(wǎng)絡(luò)的方法則依賴大量訓練語料來習得任務(wù)相關(guān)的特征,故需要人力來標注大量的問句-答案對。
從對比分析結(jié)果可看出,基于規(guī)則的方法能利用常用句法結(jié)構(gòu)和模板生成質(zhì)量較高的問句,領(lǐng)域依賴性較強,對稀疏性的結(jié)構(gòu)則難以應用?;谏窠?jīng)網(wǎng)絡(luò)的方法采用數(shù)據(jù)驅(qū)動,依靠網(wǎng)絡(luò)結(jié)構(gòu)強大的特征學習和表示能力,具備更強的靈活性和魯棒性,從而具備更好的應用前景。
除以上兩類方法外,學術(shù)界也開展了多任務(wù)學習[10]、增強學習[11-12]等技術(shù)在問句生成上的研究。
Tang[10]等認為在QA 和QG 任務(wù)中,Seq2Seq的QG 模型大多以最大似然估計為目標函數(shù),為同時提升QA 和QG 性能,提出一種在問答場景下同時泛化生成對抗網(wǎng)絡(luò)和生成域適應網(wǎng)絡(luò)的訓練算法,通過引入額外的QA 特定信號作為損失函數(shù)以提升QG 性能。
Kumar[11]等認為神經(jīng)網(wǎng)絡(luò)技術(shù)常常忽略訓練集和測試集的詞分布之間的差異,提出一種端到端的框架以生成問句。生成器建立在問句語義和結(jié)構(gòu)基礎(chǔ)上,利用指針網(wǎng)絡(luò)標識出目標答案,采用覆蓋機制避免問句中可能會出現(xiàn)的冗余詞;而評估器則既可以通過問句生成評價指標以優(yōu)化問句與的一致性,又可以通過可分解的注意力機制實現(xiàn)適合問句的匹配。
此外,隨著近年來大量預訓練神經(jīng)語言模型席卷整個自然語言處理領(lǐng)域,在開放文本生成的采樣中預訓練模型同樣展示出了較強的魯棒性,并開始用于問句生成任務(wù)[4][12-13]。
大多數(shù)學術(shù)界的研究成果主要針對英文語料。近兩年,因為中文語料上自動對答和會話任務(wù)的興起,開始出現(xiàn)中文問句語料,但未有中文問句自動生成的標準評測語料。
一般來說,問句生成語料主要關(guān)注兩個層面[1]:一是答案的認知層面,主要關(guān)注于事實性問題,例如SQuAD 和MS Marco 等。另一個是關(guān)注答案的類型的不同,主要分為四種:(a)答案為段落中一個文本片段;(b)答案不直接出現(xiàn)在段落中;(c)多選問題,通常問題和相關(guān)干擾項聯(lián)合生成;(d)未給定答案,要求模型能自動學習“什么值得問”。受限于目前的學習技術(shù),大多數(shù)的研究主要聚焦于前者。
一個較好的問句生成模型應具備以下能力:(a)能抓住問句在段落中最顯著的信息;(b)以顯著信息為目標答案,能生成答案相關(guān)且符合段落主旨的問句;(c)生成的問句應具備語法的正確性和語句的連貫性。和文本生成任務(wù)類似,問句生成的評價方法主要包括兩類:(a)人工評價。一般隨機采樣幾百個問句,評分員采用5 級分制對問句進行打分。通常采用平均得分或最好得分占比作為質(zhì)量得分。評價主要從語法正確性、語義精確性和回答難度等幾個因素度量。(b)自動評價。主要包括BLEU、METEOR 和ROUGE 等。其中,BLEU 通過統(tǒng)計模型答案和參考答案中子串的匹配數(shù)量來度量,常用BLEU-4 指標;Meteor 主要比較模型答案和參考答案在詞干化、同詞義和改寫后,詞和短語上的匹配數(shù)量;而Rouge-L 則度量模型答案和參考答案的最長公共子串的平均長度。
隨著自動問答和多輪對話的廣泛應用,問句生成開始扮演越來越重要的角色。教會機器如何提問已經(jīng)成為一個刻不容緩的任務(wù)。有研究者針對自動問句生成任務(wù),嘗試采用不同的解決方法或開展新應用場景的研究。這些探索性的研究給問句生成任務(wù)的發(fā)展提供了方向上的指引,大體可歸納為以下幾個方面:
a)問句生成模型結(jié)構(gòu)的研究。改造神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提升與問句生成有關(guān)的特征學習效果,特別是將外部知識庫引入到網(wǎng)絡(luò)結(jié)構(gòu)是研究方向之一。例如,利用貝葉斯推理或知識蒸餾技術(shù)(Knowledge Distillation)將問句模板知識引入網(wǎng)絡(luò)結(jié)構(gòu)從而強化詞特征和結(jié)構(gòu)特征。
b)由常規(guī)問句生成演化的新任務(wù)?,F(xiàn)有的研究大多是針對答案有關(guān)的問句生成,近年來開始出現(xiàn)一些常規(guī)問句生成相關(guān)的新任務(wù),例如Pan等[14]提出一種對話問句生成,旨在基于段落和對話歷史(如過去幾輪的問答對)生成問句。如前所述,問句生成亦可與答案無關(guān),即僅提供輸入段落,問句生成模型應能自動標注出段落中值得提問的部分。這種新任務(wù)因動機和輸入不同,使得任務(wù)模型結(jié)構(gòu)上存在著較大的研究空間。例如,長程語義依賴學習能力更強的Transformer 及變種在段落語義理解上將擁有更大的優(yōu)勢。
c)嘗試在問句的輸入端引入不同的模態(tài),例如知識庫和圖像信息[15]。給定知識圖譜和實體,如何實現(xiàn)問句生成?給定圖像,該如何提問?直觀地視覺問句生成可以以較小的代價為視覺問答任務(wù)生成規(guī)模更大的訓練語料,從而減少人工標注的工作量。開展多模態(tài)語義融合技術(shù)的研究將為問句生成的廣泛應用提供更好的保障。
受限于問句生成任務(wù)起步較晚和本身任務(wù)的復雜性,目前自動問句生成的準確率還比較低。標準評測數(shù)據(jù)集上的BLEU-4 和Meteor 得分在0.25-0.3 之間,Rouge-L 得分在0.55 左右,離實際應用需求還有差距。隨著人工智能技術(shù)的飛速發(fā)展,特別是自動問答和會話系統(tǒng)的廣泛應用需求,自動問句生成任務(wù)無論是從語料建設(shè)、評價方法還是技術(shù)實現(xiàn)將得到快速的推動。