孫 媛,劉思思,陳超凡,旦正錯,趙小兵
(1. 中央民族大學 信息工程學院,北京 100081;2. 國家語言資源監(jiān)測與研究少數民族語言中心,北京 100081;3. 民族語言智能分析與安全冶理教育部重點實驗室,北京 100081)
近年來,機器閱讀理解引起了人們的廣泛關注,并成為了人工智能研究與應用領域的熱點任務之一[1-3],其旨在教機器在閱讀人類文章后回答出與文章相關的一些問題[4],它需要機器能夠理解人類的語言文字。 目前,機器閱讀理解通常以數據驅動方式建模,因此數據集是其技術發(fā)展的基礎。到目前為止,已經出現了很多大規(guī)模的機器閱讀理解數據集,如CNN/Daily Mail[5]、 MCTest[6]、 CBT[7]、 RACE[8]、 SQuAD[9]、 DuReader[10]等,這些數據集推動了機器閱讀理解的研究,其中以2016年Rajpurkar等人發(fā)布的大規(guī)模英文機器閱讀理解數據集SQuAD為代表,許多學者在這一數據集上提出了自己的方法和模型。根據最新官方數據,截止到2021年3月發(fā)布的模型榜單排名在SQuAD 的數據集上最高得分為93.183,而人類的得分是89.452(1)https://rajpurkar.github.io/SQuAD-explorer/。
藏語作為中國少數民族語言之一,由于缺乏公開的藏語機器閱讀理解數據集,目前藏語機器閱讀理解任務還處于起步階段。近年來隨著互聯(lián)網的發(fā)展,網絡上也出現了大量的藏文信息,藏文信息處理等相關工具也得到了很好的發(fā)展[11-14],但如何有效利用這些藏文信息并推動藏文機器閱讀理解的發(fā)展成為目前藏文信息化建設需要解決的問題之一。
藏語是一種拼音語言,屬輔音字母文字型,分輔音字母、元音符號兩個部分。其中有30個輔音字母、4個元音字母和5個反寫字母(用于拼外來語)。藏文中的語法比較復雜,但有很明確的組織形式和動詞變化。其中,3個上加字,4個下加字,5個前加字,10個后加字,2個后后加字組合在任意一個基礎字理論上便可以寫出任何一個藏文詞。藏語單詞的最小單位是一個音節(jié),一個音節(jié)包含一個或最多七個字符,音節(jié)默認是用音節(jié)之間的標記“·”來分割的。輔音簇是用特殊的字母連寫而成的[15]。另外,藏文是謂語在后、動詞作為核心的語言。在藏文中,有一些特殊的助詞,可以清楚地表示句子的語義結構。這些特殊助詞主要包括作格助詞、屬格助詞、位格助詞和從格助詞。例如,作格助詞可以表示動作的代理、工具和動作的方式?;诓卣Z的這些特點,我們可以識別這些格助詞來分析藏語機器閱讀理解的問題。同時,嚴格的藏文語法規(guī)則要求構建更高水平的藏語機器閱讀理解數據集。
為了進一步推動藏語機器閱讀理解的發(fā)展,同時為了滿足相關研究人員對高質量的藏語閱讀理解數據集的需求,本文構建了一個藏語機器閱讀理解數據集(TibetanQA),并將部分數據公開在 https://tibetanqa.cmli-nlp.com,數據集的示例如表1所示,每個段落下包含多個問題和答案,其中答案來自于文本中。
表1 TibetanQA樣例(包含一個段落和多個問答對)
本文的主要貢獻如下:
(1) 構建了一個藏語機器閱讀理解數據集(TibetanQA),其中包含1 513篇藏語文章和20 000個藏語問答對。這些文章均來自云藏網,問答對采用眾包的方式人工構建。文章涵蓋了12個領域的實體知識,其中包括自然、文化、教育、地理、歷史、生活、社會、藝術、技術、人物、科學和體育。
(2) 采用嚴格的人工構建流程來保證數據集的質量,盡管目前TibetanQA中問答對的數量不多,但該數據集在文章收集、問題構建、答案驗證、回答多樣性和推理能力等方面均采用嚴格的流程以確保數據的質量。另外,數據集中的問答對數量還在不斷增加中。
(3) 探索性地以BiDAF、R-Net和QANet三種典型的英語機器閱讀理解模型作為TibetanQA數據集上的基線模型,并展開實驗,其結果顯示模型最好實驗結果的F1值比人類表現低21.4%。這表明,在藏語機器閱讀理解任務上還需要進行更多的探索。另外,本文采用基于語言特征消融輸入的方法進行評估,實驗結果表明該數據集對模型的閱讀理解能力提出了更高的要求。
大規(guī)模閱讀理解數據集是驅動機器閱讀理解任務研究發(fā)展的重要因素,數據集的質量和規(guī)模直接影響到閱讀理解模型的理解能力和表現。近年來,出現了大量的機器閱讀理解數據集,本文對這些數據集進行調查。按照答案的形式,機器閱讀理解數據集可大致分為四個類型: 填空型數據集、選擇型數據集、篇章片段型數據集和多任務型數據集[16]。表2列舉了常見的幾種數據集及其相關信息。
表2 常見機器閱讀理解數據集的大小和文章來源比較
填空型數據集將復雜的機器閱讀理解問題簡化為對一個單詞的簡單預測,填空型閱讀理解的答案是一個單詞而非一個句子,機器需要理解上下文的內容來預測段落中丟失的關鍵詞,CNN/Daily Mail[5]語料庫中的數據來自美國有線電視新聞網和每日郵報網中的文章,語料庫剔除了單篇超過2 000個字的文章和問題答案不在原文出現的文章。The Children’s Book Test (CBT)[7]是經典的閱讀理解數據集,它從每個兒童故事中提取20個連續(xù)的句子作為文檔,第21個句子作為問題,并從中剔除一個實體類單詞作為答案,該數據集只關注命名實體識別和普通名詞類型的答案預測。
選擇型閱讀理解任務包含一個文章片段和多個問題,每個問題又包含多個選項,要求機器理解給定的文章片段并從給定的答案選項中選出最合適的一個答案。選擇型數據集要求能夠在一個問題的多個答案候選項中準確地選出答案。MCTest[6]是一組和故事相關的問題集,該數據集的文章來自童話故事,它的問題選項基本為原文中的內容,因此對模型的推理能力要求較低,數據集要求機器能夠回答有關虛構故事的多項選擇閱讀理解問題,直接解決開放域機器理解的高級目標。RACE[8]數據集是中國中學生英語閱讀理解題目,該數據集規(guī)模較大且領域覆蓋廣泛,題型的正確答案并不一定直接體現在文章中,需要從語義層面深入理解文章,通過分析文章中線索并基于上下文推理,選出正確答案,因此基于該數據集的機器閱讀理解模型需要一定的推理能力。
篇章片段型閱讀理解任務可以描述為: 給定一段文章片段,給定一個問題,要求機器根據該問題從文章片段中找到一個連續(xù)的片段作為答案。SQuAD[9]是一個大規(guī)模的閱讀理解數據集。它包含的文章來自維基百科,并采用眾包的方式人工構建問題,該數據集擁有10萬以上高質量的問題答案對,由于其高質量和可靠的自動評估,該數據集引起了NLP領域的廣泛關注。
多任務型閱讀理解任務需要構建高難度的真實世界的數據集,該數據集的問題不限制段落范圍,回答一個問題可能需要理解多個段落,并且答案是人為創(chuàng)造的,而不是來自文章原文,這就要求機器具有更高的推理能力,從而能真正實現機器閱讀理解。DuReader[10]是一個中文閱讀理解數據集,該數據集的問題和文章均來自百度搜索和百度知道,答案是人們根據多篇文章推理出來的,而不是原始上下文中的片段,DuReader提供了新的問題類型yes、no、和opinion。
目前,英文和中文的閱讀理解數據集已經得到了很好的發(fā)展,而對于低資源語言的閱讀理解數據集則很少有人研究,這嚴重阻礙了低資源語言的機器閱讀理解的發(fā)展,為了解決這個問題,我們構建了一個高質量的藏語閱讀理解數據集,稱為TibetanQA,該數據集的文章來自云藏網,涵蓋了多領域的知識,并采用眾包的方式人工構建。TibetanQA面向藏語篇章片段型閱讀理解任務,數據集中的答案來自文章。
首先,本文從云藏網上獲取了藏文實體的文本,然后對文本信息進行篩選,并采用人工標注的方式構建問答對,最后對問答對的有效性進行人工審核,該工作過程主要包括文章收集、問題構建和答案驗證。
為了獲取大量的文章,本文利用爬蟲技術對云藏網站中的實體知識信息進行爬取,共獲取了1 600個實體知識信息文本。文本的選取涵蓋了廣泛的主題,包括自然、文化、教育、地理、歷史、生活、社會、藝術、技術、人物、科學、體育共12個領域。此外,本文利用正則表達式對獲取到的文章段落中的噪聲信息進行處理,刪除了圖像、表格和網站鏈接等非文本數據,并丟棄了小于100個音節(jié)的段落,最終選取了1 513篇文章。
為了有效地收集問題,我們開發(fā)了一個問答收集的Web應用程序,如圖1所示,并邀請了母語為藏語的學生來使用該應用程序,這些藏族學生從小接受藏語學習,目前為藏學專業(yè)研究生,方向為語言文學,具有較高的藏文水平。在問題構建的過程中,對于文章中的每一個段落,他們首先需要選擇文章中的一段文本作為答案,然后將問題用自己的語言寫入輸入字段中,學生的任務是提問并回答關于該段落的問題,答案必須為段落中的一部分。當他們完成一篇文章后,系統(tǒng)會自動為其分配下一篇文章。為了構建更具挑戰(zhàn)性的語料庫,我們對每個學生進行了短期培訓,并指導他們如何提供有效和具有挑戰(zhàn)性的問題,對于每個學生,我們首先會教其如何進行提問和回答,之后利用少部分數據來對他們進行測試,只有準確率達到90%的學生才可以進行后續(xù)工作。此外,我們不對問題的形式施加限制,并鼓勵他們使用自己的語言來進行提問。
圖1 用于收集藏語問答對的Web應用程序
為了進一步提高數據集的質量,我們在獲取到初始的數據集后,邀請另一組藏族學生來檢查,他們選擇有效的問答對,丟棄不完整的答案或問題,剔除語法不正確的問題。最終,我們人工校對出20 000個問題答案對。
一個高質量的數據集要能夠從多個角度對機器閱讀理解模型進行準確的評估,因此,本文研究了當前自然語言處理領域中一些流行的機器閱讀理解數據集,發(fā)現目前流行的數據集主要為英文和中文的,很少有低資源數據集。因此,構建一批有價值和開放的藏語機器閱讀理解數據集顯得尤為重要。本文重點分析最為權威的篇章片段型機器閱讀理解數據集SQuAD,該數據集不僅有超過10萬個的問題答案對,而且采用人工構建,可以保證語料庫的質量。參考SQuAD數據集的構建方式,我們構建了TibetanQA 藏語數據集。為了驗證構建的數據集更具挑戰(zhàn)性,本文將TibetanQA與SQuAD進行比較,并簡要對TibetanQA面臨的挑戰(zhàn)進行了介紹。
本文對 TibetanQA中的答案進行了分類,生成答案的音節(jié)標簽和命名實體識別標簽。首先,將數據分為數字答案和非數字答案,之后利用命名實體識別標簽將名詞短語分為人、地點、組織機構和其他實體。表3顯示不同答案類型所占的比例,答案中30.4%是短語,26.5%是其他實體和其他類型,17.6%是數字,8.5%是人名,7.2%是地名,日期和時間占6.3%,剩下的3.5%是組織機構名。
表3 不同的答案類型所占的比例
表4 TibetanQA和SQuAD中不同類型問句所占的比例
從表4中可以看出,疑問詞“什么”在兩種數據集中的占比均很大,疑問詞“哪里”“誰”“何時”和“如何”的占比分別為10.5%、8.7%、11.9%和14.4%,這表明TibetanQA中問題類型的分布比較均衡。
為了獲得更具有挑戰(zhàn)性的數據集,我們在TibetanQA 數據集的答案中增加了推理,機器提取正確答案也需要推理能力。我們將所有的問題分成四類: 單詞匹配、同義詞替換、多句推理和模糊問題,類型樣例如表5所示。
表5 各種推理類型舉例
單詞匹配: 這類問題是針對段落中的某個關鍵詞(通常為名詞)進行提問,即將該關鍵詞用疑問詞替換來進行提問,該關鍵詞即為答案,問題中的其余部分的單詞均可以直接在文章原文中找到?;卮疬@類問題只需要使用簡單的相似算法便可找到答案,不需要任何的推理過程。在表5段落1中,問題中的“蛋白質組成成分”直接在原文中出現,根據一個簡單的相似算法便可以確定答案為“氨基酸”。
多句推理: 這類問題并不能只根據當前的句子來獲得答案,而需要將多個句子組合起來進行簡單的推理。表5段落3中展示了TibetanQA中需要進行多句推理類型的數據,其中,我們需要知道代詞指的是什么。在這個例子中,第二個句子中的“它”指的是第一個句子中的“蛋白質”,所以第二個句子可以轉換成“蛋白質是人體肌肉的主要成分”,因此,通過指代消解后可以得到答案為“蛋白質”。
模糊問題: 這類問題理論上沒有標準答案,即不同的人給出的答案可能不同。表5段落4中展示了TibetanQA數據中的模糊性問題,問題為“兔子有什么特點?”,根據段落可知兔子存在許多特點,不同的人會得到不同的答案,因此,在實際的問題中我們會指定一個答案。
機器閱讀理解數據集的質量直接影響到模型的理解能力,因此需要對構建的數據集進行評估。本文使用三種經典的英語閱讀理解模型R-Net[17]、BiDAF[18]和QANet[19]來測試TibetanQA,并采用一種基于語言特征消融輸入的評估方法來直觀地評估TibetanQA數據集[20]。本文將這三個模型作為基線方法,使用EM和F1來評估模型的準確性。EM是指預測答案和標準答案之間的匹配程度,例如,有m個問題,如果模型能正確回答n個問題,則可以用式(1)計算EM。
(1)
F1值是準確率(Precision)和召回率(Recall)的調和平均,準確率、召回率和F1值的計算如式(2)~式(4)所示。
其中,N(TP)表示預測答案和標準答案之間相同的詞數,N(FP)表示不在標準答案中而在預測答案中的詞數,N(FN)是標準答案中的詞而不是預測答案中的詞數。
對于傳統(tǒng)的數據驅動閱讀理解來說,數據集可以使用基于規(guī)則的系統(tǒng)[21]和邏輯回歸模型[22]來改進它們的模式匹配基線。盡管這種類型的數據集是真實的和具有挑戰(zhàn)性的,但由于數據集太小,無法支持非常有表現力的統(tǒng)計模型。從SQuAD數據集公開發(fā)布之后,基于注意力機制的深度學習匹配模型開始大量出現,與傳統(tǒng)的基于規(guī)則的方法相比,深度學習的方法可以更好地對文本的特征進行表示,能夠在很大程度上提高模型的學習能力,也就能使機器更好地理解文章內容。
目前,基于數據集的機器閱讀理解任務主要采用深度學習的方法進行研究。Mingoon等人[18]首次引入了“雙向注意力機制”的機器閱讀理解模型BiDAF,他們在交互層引入段落對問題的注意力和問題對段落的注意力,采用這兩個方向的注意力來獲得文章和問題之間的表征,他們認為這些注意力可以提取更多的信息。Wang等人[17]首次在機器閱讀理解任務中加入自注意力機制并提出了R-Net模型,他們通過計算段落中單詞與單詞之間的注意力值,學習已經融合了問題信息的段落內部單詞之間的權重分布,實驗結果證明引入自注意力機制提高了模型的準確率。此外,為了解決RNN在編碼過程中會導致訓練速度變慢的問題,Adams等人[19]將卷積神經網絡和自注意力機制結合提出了QANet模型,他們認為提高了訓練速度以后可以在同樣的時間內訓練更多的數據,因此可以提高模型的泛化能力,該模型在SQuAD上取得了更好的成績。以上三個模型均在SQuAD上取得了不錯的成績,因此本文將BiDAF、R-Net和QANet模型引入到藏語數據集TibetanQA上進行實驗。
本文將文章中的段落和問題隨機分為訓練集和測試集,TibetanQA和SQuAD數據集的統(tǒng)計信息如表6所示。
表6 兩種數據集的數據統(tǒng)計信息
本文從測試集中隨機抽取100個樣本,分成10個部分,然后分發(fā)給10個不同的藏族學生進行測試,把他們的平均分數作為人類的表現,得到F1值為89.2%。錯誤匹配的原因主要是藏語中短語的替換和不必要短語的添加或刪除,而不是答案的根本分歧。之后,本文分別使用BiDAF、R-Net和QANet模型在TibetanQA上進行了實驗,實驗結果如表7所示。
表7 不同模型在兩種數據集上的實驗結果
在SQuAD數據集上,BiDAF模型的EM和F1分別為68%和77.3%。在TibetanQA數據集上,BiDAF模型的EM和F1分別為58.6%和67.8%。R-NET和QANet模型在TibetanQA數據集上的結果也比在SQuAD數據集上的結果要低,主要原因如下:
(1) 現有藏文分詞工具的錯誤會傳播到下游任務中。
(2) SQuAD的訓練集明顯多于TibetanQA的訓練集。對于低資源語言來說,在小規(guī)模數據集上很難獲得良好的性能,因此需要機器閱讀理解模型來加強模型的理解能力,傳統(tǒng)的英語閱讀理解模型不能直接應用到TibetanQA上。因此,該數據集對未來的MRC任務提出了新的挑戰(zhàn)。
(3) TibetanQA中的大多數段落長度約為150個詞,SQuAD中的大多數段落長度約為100個詞,而長文本的段落信息中會存在更多問題無關的信息,因此對模型理解能力的要求也越高。
Saku等人[20]提出了基于消融輸入的方法來評測機器閱讀理解數據集,他們假設輸入文本中的某一項特征對應了現實中的一種閱讀理解技能,然后通過刪除文本中一些特定語言特征,觀察刪除前后的實驗結果來對數據集難度進行驗證。他們認為一個數據集在經過某一種消融方法后準確率下降越大,則說明這個數據集對于該技能的要求越嚴格。反之,如果一個數據集對多數的消融處理都不敏感,則說明它不能有效地評估模型的閱讀理解能力。受他們的工作啟發(fā),本文針對藏文中詞性消融、詞順序、隨機單詞掩蓋以及句子順序四個角度評估 TibetanQA 數據集。
(1)詞性消融: 將輸入的文本信息替換成詞對應的詞性組成的序列,以便于考察模型是否僅憑詞性進行預測。
(2)詞順序: 對非答案片段的詞順序進行隨機調整,本文以句子為單位針對每個句子中的3個詞的順序進行隨機替換,目的是考察模型對詞序的認知和句子的語義構成。
(3)隨機單詞掩蓋: 將答案所在句子中的一個詞隨機替換成UNK,以便于考察模型的推理能力。
(4)句子順序: 對段落中句子之間的順序隨機打亂后進行重新組合,目的是考察機器是否理解句子之間的邏輯。
本文以R-Net模型為基準實驗,觀察不同的輸入對模型效果的影響,計算結果如表8所示。
表8 不同的輸入信息對R-Net網絡模型的影響
從表8可以看出,四種消融輸入對R-Net模型的預測準確率都有所下降,其中以詞性消融后的結果最為明顯,模型的F1值和EM值分別下降了49.6%和47.6%,這說明模型對詞性以外的信息要求較大,單憑詞性的特征信息難以獲得較高性能表現。除此之外,其他三組實驗也分別說明數據在詞順序、隨機單詞掩蓋和句子順序三個方面對模型提出了更高的要求。
本文構建了藏語機器閱讀理解數據集TibetanQA,其中包含20 000個問題答案對和1 513篇文章。本數據集的文章均來自云藏網,問題答案對采用眾包的方式人工構建。TibetanQA為藏語機器閱讀理解研究提供數據基礎。目前,TibetanQA基線模型的F1值分別為67.8%、63.4%和66.9%。最好模型的性能比人類表現要低21.4%,這說明現有的模型可以在該數據集上有更好的改進。接下來,我們將進一步擴展數據集,并鼓勵更多的人去探索新的表示模型,以促進低資源語言機器閱讀理解的研究發(fā)展。