方昱龍, 王澤錦, 王華珍, 何霆
(華僑大學 計算機科學與技術學院,福建 廈門 361021)
僑情是指一個國家或地區的華僑華人、歸僑僑眷的情況。當前人們在認知僑情時,常使用百度、谷歌等大眾通用問答引擎來進行僑情問答,這是一種促進信息精確獲取、提升知識輸入的高效率模式。通過使用僑情問答,人們無需閱讀長篇章文本就可以獲取到僑情信息,這樣一方面滿足了現代人快節奏的生活方式,另一方面也促進了人們想了解僑情的動力。然而,通用問答引擎采用的技術是通用型問答模型,而非針對某個特定領域,其垂直性能不足,不能很好地反映該特定領域的認知信息。因此,研發特定僑情問答引擎具有現實意義。而當前僑情問句甚少,用來訓練的僑情語料較少,導致如今還未出現高性能的僑情問答模型。因此,利用海量的僑情篇章文本生成問答對以構建問答模型訓練集,從而研究問句生成(question generation,QG)的模型,是實現高性能僑情問答的關鍵前提。
問句生成是人工智能領域中一項重要的研究分支,其研究內容可概括為由各種輸入形式的文本中的知識、語義、語法信息等自動生成問句[1]。近年來,問句生成已成為自然語言處理領域中炙手可熱的研究點之一。傳統研究主要基于規則操作句法樹或知識庫生成問題,如基于語法的問句生成方法[2-3]、基于語義的問句生成方法[4-6]、基于模板的問句生成方法[7-10]。隨著人工智能技術的發展,深度學習模型為問句生成提供了一個由數據驅動、端到端可訓練的框架[11]。與傳統的基于規則的問句生成方法相比,基于深度學習生成的問句在流暢性和多樣性方面都有了很大的提升。在運用深度學習方法進行問題生成時,大多數研究者采用帶注意力機制的seq2seq方法來實現[12-14]。此外,Liu等[15]將傳統模板法與seq2seq結合生成問句;Tuan等[16]融入上下文關聯信息對問句生成進行改進。由此可見,問句生成的主流技術是基于大規模問答對語料的深度學習模型。但在僑情知識問答領域,由于僑情知識具有多國別的地理分散性及主題多樣性,因此,無法針對各個僑情主題分別獲取海量問答語料對,進而無法滿足大數據深度學習模型訓練的需求,說明僑情問答具有小規模學習的特性。
綜上可知,注意力機制、模板法、seq2seq模型等技術雖然在問句生成領域具有重要的價值,但上述研究仍存在許多不足,如模板法生成的問句往往句式單一,難以達到提問角度的多元化和復雜化;注意力機制和seq2seq模型在沒有大量語料支持的前提下,訓練出的模型不能滿足精度需求等。因此,本文將模板法與seq2seq模型相結合,引入基于Transformer的雙向編碼器表達(BERT)預訓練模型,并嵌入注意力機制,提出一種基于模板學習的智能僑情問句生成方法。
針對僑情問句較少導致無法構建大規模問答對語料、進而無法訓練高性能僑情問答模型的問題,提出一種將模板法與seq2seq模型相結合,引入BERT[17]預訓練模型,并嵌入注意力機制的智能僑情問句生成方法(QGTL-OCS),其研究框架,如圖1所示。

圖1 智能僑情問句生成方法研究框架Fig.1 Research framework of intelligent question generation methods for overseas Chinese situation
首先,對僑情篇章文本進行包含主題、關系、對象的三元組抽取;其次,構建訓練數據集,輸入數據由主題和關系構成,輸出數據為問句模板;隨后,采用以BERT+長短時記憶網絡(LSTM)+Attention為核心算法的seq2seq框架實現問句模板生成;最后,對模板問句進行主題文本替換,從而得到最終的實例化問句。采用雙語評估輔助工具BLEU、ROUGE-N、公開問答系統評測和人工評價方式對實例化問句進行評測,從而衡量實例化問句的質量。
1.2.1 提取主題、關系和對象三元組 為了能圍繞“僑情”生成一系列緊扣主題的問答對,首先需要獲取僑情相關的初始問答對BQA={Q,A},其中,Q為問句集合,A為答句集合,進而從傳統的僑情問答篇章文本(問句和答句都是非結構化文本段)中提取核心信息,包括主題、關系和對象三元組,以構成問答對三元組F=(P,R,O),其任一問答對三元組定義為f=(p,r,o)。主題和關系來源于問句,對象來源于答案。問句中的主謂關系一般對應主題和關系元組,對象是答句中回應問句的核心實體信息。獲得的問答對三元組代表了問答對語料的核心關鍵信息,去除了問答對語料中冗長的自然語言表達,實現問答對語料的信息聚合。
1.2.2 構建問句模板 在問答對中,關系元組代表問句的模式信息,其數量是有限的。問答對中主題、對象元組代表問句的具體信息,具有多元性、廣域性的特點,其數量是無限的。因此,每種關系對應一種特定類型的問句,可相應地構建出特定類型的問句模板。結合具體的主題和對象元組,可以將問句模板實例化為問句。問句模板的生成流程包括最優問句篩選和主題抽象化。

最優問句qi中包含具體的主題,即主題是問題模板實例化的數據。為了生成問句模板,進一步將qi中的實例化主題數據抽象成主題概念,即用〈SUB〉標簽代替實例化主題,獲得問句模板si。抽取最優問句并形成模板問句的過程示意圖,如圖2所示。

圖2 抽取最優問句并形成模板問句的過程示意圖Fig.2 Schematic diagram of process for extracting optimal question and forming template question
首先,從語料庫Q中針對關系“創立者”獲取問句集Q′,包含“華僑大學是誰創立的?”“廈門大學的創立者是?”“誰創立了華僑大學”“你知道廈門大學的創立者嗎?”等多條問句;其次,采用疑問詞詞典法和依存句法分析技術篩選主語、謂語、賓語成分齊全的句子組成問句集Q″,如問句“廈門大學的創立者是?”缺少賓語成分,無法入選Q″;再次,從問句集Q″中篩選出謂語詞是“創立”且字數最少的問句,即“誰創立了華僑大學?”作為最優問句qi;最后,用〈SUB〉標簽代替實例化主題“華僑大學”,獲得問句模板“誰創立了〈SUB〉?”。每個關系ri∈{r1,r2,…,rn}都可以生成一個對應的問句模板,最終可以獲得n個對應的問句模板。
1.3.1 算法思想 從語料到模板的過程是將傳統問答對語料轉換為三元組,在同關系的問句中挑選最優問句,抽象化后得到問句模板。從問答對三元組到問句模板的映射過程采用深度學習模型實現。因此,訓練集Dtrain={Din,Dout},其中,Din={gi|i=1,…,n},Dout={si|i=1,…,n}。采用seq2seq模型實現深度學習,是一個序列經過映射得到另一個序列的過程,可看作是一種Encoder-Decoder[18]結構。從問答對三元組到問句模板生成算法的模型框架,如圖3所示。當輸入一個主題與關系元組后,seq2seq模型會生成一個帶有SUB標記的問句模板。

圖3 算法模型框架Fig.3 Framework of algorithm model
si=Φ(gi)。
式中:si∈Dout={si|i=1,…,n}。
采用BERT+LSTM+Attention實現算法模型Φ,算法原理如下。

2) 算法優化過程。根據LSTM算法對輸入數據xt∈Xi進行運算,即
ft=σ(Wf·[ht-1,xt]+bf),
(1)
it=σ(Wt·[ht-1,xt]+bi),
(2)
(3)
(4)
ot=σ(Wo·[ht-1,xt]+bo),
(5)
ht=ot⊙tanh(Ct)。
(6)


P(yt|H,ot)=softmax(Ws⊙tanh(Wt[ot,at]))。
(7)
式(7)中:at是由Encoder每一時刻隱藏狀態加權表示的Attention向量,反映了Encoder任意時刻隱藏層值對Decoder輸出的影響程度;Ws,Wt為待學習的參數。
采用align函數計算ot和H的相關系數αt,其公式分別為
αt=align(ot,H),
(8)
(9)
式(9)中:z(ot,hi)是用來計算ot和任意時刻隱藏層狀態hi的數量積,其公式為
z(ot,hi)=tanh(Wphi)⊙tanh(Wqot)。
(10)
式(10)中:Wp,Wq為待學習的參數。
1.3.3 算法偽代碼 基于模板學習的智能僑情問句生成方法的偽代碼如下。
輸入訓練集Dtrain={Din,Dout},其中,Din={gi|i=1,…,n},Dout={si|i=1,…,n},以及一條待測試的問句二元組gtest=(ttest,rtest)。
輸出一個問句qgtest。
1) 文本向量化表達:獲取Din,Dout和標識符〈SUB〉,〈SEP〉所組成的集合的字典大小為|V|。對問句二元組gi進行BERT編碼獲得嵌入矩陣Xi∈R|V|×J(J為嵌入詞的長度)。對問句模板si進行BERT編碼獲得嵌入矩陣Yi∈R|V|×K(K為問句模板的長度);
2) 初始化seq2seq模型;
3) while不滿足終止條件
選擇一個batch訓練語料:
運行seq2seq模型優化算法;
4) 保存僑情問句生成模型Φ;
5) 將待測試的問句二元組gtest輸入到模型Φ中,生成問句模板stest;
6) 將stest中主題標記〈SUB〉用ttest進行替換,獲得實例化的僑情問句qgtest。
網絡爬蟲是一種按照開發者所制定的規則,自動嗅探、發現網絡上存在的資源并進行獲取的程序。利用網絡爬蟲技術,通過設定搜索條件,就能高效地獲取所需內容。以“華僑”“華人”“僑胞”或“涉僑”等詞匯為搜索關鍵字,爬取百度知道平臺網頁內容,獲取僑情相關的問答篇章文本。最終得到初始僑情問答篇章文本規模為17 656條。
由于爬蟲獲得的問答篇章文本篇幅冗長、噪聲過多,因此,對僑情問答篇章文本使用人工編輯方式進行預處理。如問答篇章文本中的問句:“一般認為,1729年荷印巴達維亞華僑成立的明誠書院是華僑教育的開端。”經人工處理為:“華僑教育從什么時候開始?”經過預處理后,獲得高質量精簡問答對17 656個。進一步通過手工篩選與編輯處理方式進行主題、關系、對象三元組的抽取,得到預處理后的17 656個問答對三元組,結果如表1所示。

表1 預處理后的問答對及其三元組Tab.1 Preprocessed question and answer pairs and triples
對17 656個問答對及其對應的三元組采用依存句法分析等自然語言處理技術獲得5 438個問句模板,從而獲得5 438條學習語料。進一步使用seq2seq模型來實現模板學習。模型超參數設置參考了Liu等[15]的工作,具體如下:隱藏層狀態維數為500,batch大小為32,epoch大小為50,lr為0.000 5。針對5 438條學習語料進行訓練集和測試集的劃分,分別為3 807條與1 631條。
采用雙語評估輔助工具BLEU、ROUGE-N指標、公開問答系統評測及人工評價方式對QGTL-OCS模型模型進行性能評價。
BLEU[19]的核心在于比較生成問句文本和參考問句文本之間n-gram的重合程度,重合程度越高,則認為生成問句文本的質量越高,其計算式為
(11)
(12)
式(11),(12)中:lc為生成問句文本長度;lr為參考問句的文本長度;Pn為n-gram的精度;N為n-gram取值;Wn為n-gram的權重,Wn=N/4,文中N取4;BP為懲罰因子。
此外,通過ROUGE-N[20]指標基于召回率對生成問句進行評估,其計算式為
(13)
式(13)中:Countmatc(gramN)表示生成問句文本word和參考問句文本References重合的的n-gram個數;Count(gramN)表示參考問句文本的n-gram個數。
公開問答系統評測是一種面向實踐應用的評測策略,采用百度人工智能(AI)開放平臺推出的通用閑聊機器人(https:∥ai.baidu.com/unit/v2/static/socialbot)進行效果評估。通過將測試集中的主題和關系數據送入模型生成問句,把所得問句作為通用閑聊機器人的輸入,得到對應的答案。再將答案與測試集中三元組F=(T,R,O)的對象O進行對比,若對象O被包含于所得答案中,則判定模型產生的問句為正確。最終評測得分為測試正確的結果與測試總問句數的比值。由于通用閑聊機器人可以覆蓋最大會話空間,因此,公開問答系統評測方法具有全面性。但該方法依賴于公開問答系統的性能,評測穩定性較差。
人工評價是指僑情專業人員對算法最終輸出的問句進行語法正確性、語義完整性和問句所屬類型等進行評測的方式。該評價方法雖然會耗費極高的人力,但評判結果準確,且真實可信。
根據上述4種評測方法,得到模型評價結果,如表2所示。由表2可知:文中所提算法的BLEU指標評測結果為0.77,表明該算法產生的問句模板比較貼合相同關系中的最優問句抽象所得的模板;該算法的ROUGE-N指標評測結果為0.67,表明該算法生成的問句文本與參考的問句文本存在一定的差距,但處于可接受范圍內;公開問答系統評測得到的準確率為81%,體現了該算法生成的問句的準確性;人工評價的準確率達到了88%,體現問答系統反饋的有效性。

表2 模型評測結果Tab.2 Model evaluation results
綜上可知,基于模板學習的智能僑情問句生成方法繼承了模板法的特性,并且在輸入指向準確、針對性強的關系的前提下,可以生成易于理解、符合語言習慣、切合主題的問句。
通過對比實驗與消融實驗進一步評測QGTL-OCS模型的有效性。主要模型如下。
1) 循環神經網絡(RNN)[21]和BERT-RNN模型。RNN主要用于處理序列數據,具有記憶能力和對時間依賴關系的建模能力。BERT-RNN是以BERT為文本嵌入模型的RNN架構。
2) LSTM[22]和BERT-LSTM模型。LSTM是長短期記憶網絡,用于解決傳統RNN在長序列訓練中的梯度消失和梯度爆炸問題;LSTM引入了門控機制,通過控制信息的流動和遺忘,有效地捕捉序列中的長期依賴關系。BERT-LSTM是以BERT為文本嵌入模型的LSTM模型。
3) 雙向長短期記憶網絡(BiLSTM)[23]和BERT-BiLSTM模型。BiLSTM是一種遞歸神經網絡的變體,用于處理序列數據。與傳統的LSTM不同,BiLSTM在處理序列同時考慮了過去和未來的上下文信息,以更全面地捕捉序列的特征。BERT-BiLSTM是以BERT為文本嵌入模型的BiLSTM模型。
4) QGTL-OCSDE消融模型。刪除BERT-QGTL-OCS模型中的三元組抽取模塊,直接將文本語料作為輸入,并用LSTM+Attention來實現問句生成。
5) QGTL-OCSDA消融模型。刪除QGTL-OCS模型中的Attention模塊,僅用三元組抽取+LSTM來實現問句生成。
6) QGTL-OCSDB消融模型。刪除QGTL-OCS模型中的BERT模塊,僅用三元組抽取+LSTM+Attention來實現問句生成。
7) QGTL-OCS模型。采用三元組抽取+BERT+LSTM+Attention來實現問句生成。
不同模型的對比結果,如表3所示。由表3可知:相比單一的可用于處理序列數據的RNN,LSTM,BiLSTM模型,QGTL-OCS模型采用三元組抽取并結合BERT與Attention機制生成問句模板,進一步生成問句的這種技術路線更加有效,得到的問句質量有較大的提升。究其原因可能是三元組抽取獲得了文本語料精確的主題和關系信息,BERT更準確地獲得了文本的向量表達,而Attention能對不同的信息賦予不同的權重,使模型在生成問句模板時更加精確。對比消融模型可知:三元組抽取模塊、BERT模塊與Attention模塊都不同程度地增強了生成問句的質量。

表3 不同模型的對比結果Tab.3 Comparison results of different models
根據所提算法原理,輸入待測試的主題和關系,則輸出一個僑情問句。模型測試實例結果,如表4所示。由表4可知:文中算法可針對僑情實體信息生成語法正確、語義完整、類型豐富的僑情問句。

表4 模型測試實例結果Tab.4 Example results of model testing
由于僑情知識具有多國別的地理分散性及主題多樣性,無法針對各個僑情主題分別獲取海量問答語料對,導致當前僑情問句甚少,用來訓練的僑情語料較少,還沒有出現高性能的僑情問答模型。因此,提出一種基于模板學習的智能僑情問句生成方法(QGTL-OCS),彌補了傳統模板法生成問句的不足。將模板法與seq2seq模型相結合,并嵌入注意力機制的小規模學習的技術,實現智能高效的僑情問句生成。該方法能從小規模實例訓練集中學習出通用問句模板,進而實例化數量多、類型豐富的僑情問句,從而構建具有推廣和應用價值的僑情問答系統。
該研究大大促進了人們對僑情的認知和把握,也有利于政府對僑情信息的管理和僑務工作的實施。研究還進一步提升了問答對三元組抽取的自動化程度,可構建更合理的生成問句評估指標。另外,QGTL-OCS模型的輸出結果為問句,這些問句可服務于僑情問答系統。后續工作將結合僑情的領域特點,開發定制化的問答系統。