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