曹 杰,肖 菁,曹 陽(yáng)
(華南師范大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510631)
近年來(lái),隨著自然語(yǔ)言處理技術(shù)的發(fā)展,越來(lái)越多的研究人員參與到數(shù)學(xué)題的自動(dòng)求解研究當(dāng)中來(lái),實(shí)現(xiàn)數(shù)學(xué)題的自動(dòng)解答也是人工智能領(lǐng)域的目標(biāo)之一。但是當(dāng)前許多數(shù)學(xué)題的自動(dòng)求解工作主要集中于數(shù)學(xué)應(yīng)用題的自動(dòng)求解領(lǐng)域,對(duì)數(shù)學(xué)幾何題的求解研究較少。在數(shù)學(xué)應(yīng)用題的求解中,研究者們已經(jīng)基于深度學(xué)習(xí)的方法設(shè)計(jì)出了與人類表現(xiàn)接近的數(shù)學(xué)應(yīng)用題求解器。然而,在幾何題的自動(dòng)求解研究中,許多方法仍然依賴于人工設(shè)定的規(guī)則表達(dá)式進(jìn)行求解,這不僅使得數(shù)據(jù)集的構(gòu)建工作量巨大,而且在搜索和匹配答案的過(guò)程中也會(huì)消耗大量的時(shí)間。基于此,有研究者提出了基于深度學(xué)習(xí)的幾何題自動(dòng)求解器,Chen等[1]提出第一個(gè)用于構(gòu)建基于深度學(xué)習(xí)方法幾何題求解器的數(shù)據(jù)集GeoQA,并提出了第一個(gè)基于深度學(xué)習(xí)方法的幾何題求解器NGS。隨后Cao等[2]擴(kuò)展了GeoQA數(shù)據(jù)集,提出了GeoQA+數(shù)據(jù)集,并設(shè)計(jì)了一個(gè)更有效的并行文本編碼器(Dual Parallel Text Encoder,DPE)。然而,這些工作與應(yīng)用題的求解類似,側(cè)重于實(shí)現(xiàn)增強(qiáng)編碼器對(duì)文本信息的提取和編碼能力,并沒有針對(duì)幾何題的特點(diǎn)進(jìn)行方法設(shè)計(jì)。
幾何題的求解和數(shù)學(xué)應(yīng)用題的求解有較大差異,在應(yīng)用題的求解中人們往往更關(guān)注于題目中所包含的數(shù)量關(guān)系信息。而對(duì)于幾何題,根據(jù)經(jīng)驗(yàn),人類在求解幾何題的時(shí)候總是需要結(jié)合該幾何題所屬的知識(shí)點(diǎn)信息進(jìn)行求解,在確定了題目所屬的知識(shí)點(diǎn)后會(huì)以該知識(shí)點(diǎn)為依據(jù)進(jìn)行演算推理,有時(shí)還需要結(jié)合多個(gè)知識(shí)點(diǎn)的定理知識(shí)來(lái)完成完整的推理。如圖1是人類求解一道幾何題的一般過(guò)程,在求解該題時(shí),求解者首先會(huì)根據(jù)題目信息判斷出其所屬的知識(shí)點(diǎn)是勾股定理,隨后,開始在題目中尋找相關(guān)數(shù)值條件,并找出題目中適用于勾股定理計(jì)算的相關(guān)條件計(jì)算出BD的長(zhǎng)度;接下來(lái)結(jié)合題目所給條件得到三角形BDC也是直角三角形,最后再根據(jù)三角形的面積計(jì)算公式計(jì)算出兩個(gè)三角形的面積,最終相加得到答案。由此可見,幾何題的知識(shí)點(diǎn)信息是求解題目的重要依據(jù),完整的解題過(guò)程實(shí)際上是知識(shí)點(diǎn)定理的應(yīng)用過(guò)程。綜上,本文認(rèn)為在幾何題的求解過(guò)程中融入幾何題的知識(shí)點(diǎn)信息是有必要的。在Lu等[3]的工作中, 他們基于搜索的方法為幾何題的求解匹配所需的定理知識(shí)。但是這樣的搜索和匹配過(guò)程需要耗費(fèi)大量的時(shí)間和計(jì)算資源, 而且他們數(shù)據(jù)集的標(biāo)注工作量非常大, 不適用于深度學(xué)習(xí)的算法。在Chen等的工作中,以圖像和文本信息的融合輸出作為解碼器的輸入以獲得解題序列,同時(shí)還將信息的融合輸出輸入到分類層,用于預(yù)測(cè)題目的知識(shí)點(diǎn)類型,最后將知識(shí)點(diǎn)預(yù)測(cè)任務(wù)的損失函數(shù)與生成解題序列的損失函數(shù)相加作為最終的模型求解損失函數(shù)??偟膩?lái)說(shuō),Chen等只是把知識(shí)點(diǎn)預(yù)測(cè)任務(wù)應(yīng)用到損失函數(shù)中優(yōu)化模型訓(xùn)練,并沒有真正地將知識(shí)點(diǎn)的信息引入到題目求解中。為了模擬人類求解幾何題的思維,有效利用幾何題相關(guān)知識(shí)點(diǎn)信息幫助題目求解,本文設(shè)計(jì)了基于預(yù)訓(xùn)練任務(wù)的知識(shí)點(diǎn)信息融合方法。
圖1 幾何題的求解及數(shù)據(jù)標(biāo)注示例
Shen等[4]已經(jīng)證明了對(duì)大型預(yù)訓(xùn)練模型使用解題子任務(wù)做微調(diào)工作有助于提升模型對(duì)解題任務(wù)的理解能力。Shen等通過(guò)設(shè)置基于解題表達(dá)式的生成和排序預(yù)訓(xùn)練任務(wù)來(lái)增強(qiáng)模型區(qū)分正確和錯(cuò)誤解表達(dá)式的能力。實(shí)驗(yàn)表明,輔助預(yù)訓(xùn)練任務(wù)可以有效提高模型的題目求解能力。受Shen等研究的啟發(fā),本文基于DPE[2]文本編碼器設(shè)計(jì)了一個(gè)幾何題知識(shí)點(diǎn)預(yù)測(cè)任務(wù)(圖2),目的是讓模型熟悉幾何題知識(shí)點(diǎn)的語(yǔ)義表達(dá)以輔助模型利用知識(shí)點(diǎn)信息進(jìn)行題目求解,本文將預(yù)訓(xùn)練過(guò)的DPE編碼器組合成一個(gè)新的編碼器稱為KNO-DPE。本文在預(yù)訓(xùn)練任務(wù)中為文本編碼器嵌入了可學(xué)習(xí)的向量以獲得知識(shí)點(diǎn)的語(yǔ)義向量表示,然后在解題訓(xùn)練中將該語(yǔ)義向量與題目文本的嵌入向量信息有效地融合起來(lái),最后將其輸入到RoBERTa[5]中進(jìn)行編碼工作。同時(shí)也使用類似的方法處理了KNO-DPE中的雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bidirectional Long Short Term Memory,Bi-LSTM)[6]模塊。實(shí)驗(yàn)結(jié)果表明,本文基于預(yù)訓(xùn)練任務(wù)的知識(shí)點(diǎn)信息融合方法能有效地讓模型學(xué)習(xí)到題目知識(shí)點(diǎn)和求解表達(dá)式之間的關(guān)系,并利用這種關(guān)系幫助模型求解出題目答案?;贙NO-DPE文本編碼器的解題模型在使用GeoQA+數(shù)據(jù)集作為訓(xùn)練集時(shí)的最高求解準(zhǔn)確率達(dá)到了66.89%。此外,本文還探究了KNO-DPE在基于其他幾個(gè)預(yù)訓(xùn)練模型時(shí)的表現(xiàn),結(jié)果表明當(dāng)KNO-DPE使用其他預(yù)訓(xùn)練模型時(shí),應(yīng)用本文的方法后模型的求解準(zhǔn)確率均有提升,這也證明了本文方法的普遍性。最后本文通過(guò)案例對(duì)比分析了基于KNO-DPE編碼器和基于DPE編碼器的求解模型生成的題目求解表達(dá)式的區(qū)別,進(jìn)一步驗(yàn)證了本文方法的有效性。
圖2 知識(shí)點(diǎn)預(yù)訓(xùn)練過(guò)程的結(jié)構(gòu)圖
綜上所述,本文的貢獻(xiàn)主要有三點(diǎn):
(1) 將幾何題的知識(shí)點(diǎn)預(yù)測(cè)作為預(yù)訓(xùn)練任務(wù)引入到幾何題的自動(dòng)求解研究中;
(2) 探究并設(shè)計(jì)了一種有效地將幾何題知識(shí)點(diǎn)信息融合到幾何題文本編碼過(guò)程的方法;
(3) 實(shí)驗(yàn)表明,融合知識(shí)點(diǎn)信息的模型在測(cè)試集上明顯優(yōu)于其他基線方法,其求解幾何題的準(zhǔn)確率提升到了66.89%。將本文方法應(yīng)用到基于其他預(yù)訓(xùn)練模型的文本編碼器上,同樣表現(xiàn)出色。
在人工智能領(lǐng)域出現(xiàn)之初,實(shí)現(xiàn)機(jī)器的自動(dòng)問(wèn)答便是研究者們一直致力于解決的一個(gè)問(wèn)題。 其中幾何問(wèn)題的自動(dòng)問(wèn)答又是機(jī)器問(wèn)答領(lǐng)域的一個(gè)研究熱點(diǎn)之一。當(dāng)前的幾何題自動(dòng)求解方法普遍分為基于規(guī)則的求解方法和基于深度學(xué)習(xí)的求解方法。
1.1.1 基于規(guī)則的幾何題求解方法
在20世紀(jì)的幾何題自動(dòng)解答研究中,研究者主要通過(guò)符號(hào)化推理的方法對(duì)一些幾何公理進(jìn)行自動(dòng)推導(dǎo)證明[7],對(duì)于數(shù)學(xué)幾何題的自動(dòng)求解還未進(jìn)行深入研究。進(jìn)入到21世紀(jì),Wong等[8]設(shè)計(jì)了第一個(gè)用于求解數(shù)學(xué)幾何題的自動(dòng)求解器LIM-G。但是他們的方法只能求解純文本類型的幾何題,但是一般的幾何題往往會(huì)帶有圖像信息。隨后Seo等[9]提出了一種從幾何圖形中獲取幾何題關(guān)系信息的方法。在此基礎(chǔ)上,Seo等[10]又提出了第一個(gè)結(jié)合幾何題文本和圖形信息進(jìn)行幾何題求解的方法,并提出了一個(gè)小規(guī)模的幾何題數(shù)據(jù)集,但是其求解步驟煩瑣且求解過(guò)程不具備可解釋性。Sachan 等[11]設(shè)計(jì)了一種從課本中提取出幾何題公理知識(shí)并將其轉(zhuǎn)化為 Horn 子句形式的方法。Sachan等將他們研究應(yīng)用于Seo等的工作中,這使得該幾何題的求解過(guò)程具備更強(qiáng)的可解釋性和更高的易用性。但是Sachan等的工作并未公開代碼和數(shù)據(jù)集,而且他們的方法也未在更大規(guī)模的數(shù)據(jù)集上得到驗(yàn)證。以上這些工作極大地推動(dòng)了幾何題自動(dòng)求解工作的發(fā)展,但這些方法也因?yàn)檫^(guò)于依賴人工設(shè)計(jì)的規(guī)則匹配方法而為問(wèn)題的求解帶來(lái)了一定的局限性。隨后Lu等[3]繼續(xù)基于規(guī)則匹配和搜索的方法提出了更強(qiáng)大的幾何題自動(dòng)求解器Inter-GPS以及一個(gè)更大的公開數(shù)據(jù)集Geometry3K。Lu等首先通過(guò)將題目文本和圖形信息識(shí)別成規(guī)則表達(dá)式,隨后通過(guò)在定理知識(shí)庫(kù)中搜索適合求解該題目的定理知識(shí)并基于題目和定理知識(shí)信息進(jìn)行推導(dǎo)求解。Lu等的工作將幾何題的求解準(zhǔn)確率提升至57.5%,但是該工作依然需要在題目文本和圖形上進(jìn)行大量的人工標(biāo)注,而且其定理搜索過(guò)程也需要耗費(fèi)一定的時(shí)間和計(jì)算資源??偟膩?lái)說(shuō),基于規(guī)則匹配方法的幾何題求解研究需要耗費(fèi)大量人力進(jìn)行數(shù)據(jù)標(biāo)注和規(guī)則設(shè)計(jì),且題目的求解效率也有待提高。
1.1.2 基于深度學(xué)習(xí)的幾何題求解方法
為了改進(jìn)幾何題自動(dòng)求解研究的現(xiàn)狀,Chen等[1]設(shè)計(jì)了第一個(gè)基于深度學(xué)習(xí)的幾何題求解器NGS,并且提出了第一個(gè)專門用于訓(xùn)練深度學(xué)習(xí)求解器的幾何題數(shù)據(jù)集GeoQA,但是由于GeoQA數(shù)據(jù)集的數(shù)據(jù)量還不夠大,題目類型不夠豐富,題目的求解難度也相對(duì)較低,所以Cao等擴(kuò)展了GeoQA數(shù)據(jù)集,構(gòu)建了一個(gè)題目類型更豐富、求解難度更大的幾何題數(shù)據(jù)集GeoQA+[2],同時(shí)也改進(jìn)了NGS方法的文本編碼器部分,增強(qiáng)了模型的文本特征提取能力,該工作也顯著提高了基于深度學(xué)習(xí)方法的幾何題求解準(zhǔn)確率。但是無(wú)論是Chen等還是Cao等的工作都不能針對(duì)幾何題的解題特點(diǎn)進(jìn)行模型設(shè)計(jì),這兩項(xiàng)工作雖然用到了題目知識(shí)點(diǎn)的信息,但是其方法僅僅是將知識(shí)點(diǎn)預(yù)測(cè)任務(wù)用于優(yōu)化模型訓(xùn)練的損失函數(shù),并沒有將知識(shí)點(diǎn)作為解題信息提供給模型以幫助求解過(guò)程的推導(dǎo)。而根據(jù)人類的解題思維,知識(shí)點(diǎn)信息是對(duì)幾何題進(jìn)行推導(dǎo)求解的重要依據(jù)。為了改進(jìn)研究現(xiàn)狀,本文設(shè)計(jì)了基于預(yù)訓(xùn)練任務(wù)的知識(shí)點(diǎn)信息融合的方法,實(shí)驗(yàn)表明,本文的方法能有效提升模型的理解能力以生成正確的解題表達(dá)式。
預(yù)訓(xùn)練模型的出現(xiàn)極大地推動(dòng)了自然語(yǔ)言處理領(lǐng)域研究的發(fā)展[12-13]。不少研究者也將預(yù)訓(xùn)練模型應(yīng)用于數(shù)學(xué)題的自動(dòng)求解中。
1.2.1 預(yù)訓(xùn)練模型在應(yīng)用題求解上的應(yīng)用
在數(shù)學(xué)應(yīng)用題求解中,通常需要一定的外部經(jīng)驗(yàn)知識(shí),如數(shù)量關(guān)系、生活常識(shí)等。劉等[14]通過(guò)構(gòu)建一個(gè)應(yīng)用題知識(shí)庫(kù)來(lái)幫助求解古典概型的數(shù)學(xué)應(yīng)用題,但是知識(shí)庫(kù)的構(gòu)建工作量較大且難以廣泛拓展到其他類型的應(yīng)用題求解中。因此研究者嘗試通過(guò)引入預(yù)訓(xùn)練模型的方法為求解應(yīng)用題引入外部知識(shí),因?yàn)轭A(yù)訓(xùn)練模型是基于大規(guī)模的日用語(yǔ)料訓(xùn)練而來(lái)的,其訓(xùn)練數(shù)據(jù)往往包含豐富的經(jīng)驗(yàn)知識(shí),這些先驗(yàn)知識(shí)對(duì)于應(yīng)用題的求解是十分重要的。在Yu等[15]的研究中也證明了預(yù)訓(xùn)練模型包含豐富的常識(shí)和事實(shí)知識(shí),Yu等利用RoBERTa的編碼器模塊構(gòu)建了一個(gè)多層的文本編碼器,基于RoBERTa構(gòu)建的編碼器引入了外部先驗(yàn)知識(shí),對(duì)題目文本具有更強(qiáng)的理解能力,也顯著提升了模型的題目求解能力。
1.2.2 預(yù)訓(xùn)練模型在幾何題求解上的應(yīng)用
在大規(guī)模語(yǔ)料庫(kù)上進(jìn)行預(yù)訓(xùn)練得到的預(yù)訓(xùn)練模型如BERT[16]、RoBERTa[5]、ALBERT[17]等可以作為強(qiáng)大的文本特征提取器,同時(shí)也能為題目的求解帶來(lái)外部經(jīng)驗(yàn)知識(shí)。但是與應(yīng)用題所需的經(jīng)驗(yàn)知識(shí)不同的是,幾何題的求解往往需要幾何定理知識(shí),這些定理知識(shí)對(duì)于預(yù)訓(xùn)練模型來(lái)說(shuō)是更難以理解的。因此在幾何題的自動(dòng)求解中,單純地通過(guò)預(yù)訓(xùn)練模型來(lái)為求解題目引入定理知識(shí),并不一定能取得較好的效果,這在Cao等[2]的工作中也得到了驗(yàn)證。Cao等在GeoQA數(shù)據(jù)集上單獨(dú)使用RoBERTa作為文本編碼器的效果,并沒有比僅使用一個(gè)(Long Short Term Memory,LSTM)作為文本編碼器好,Cao等的研究認(rèn)為這是因?yàn)轭A(yù)訓(xùn)練模型訓(xùn)練語(yǔ)料的文本表達(dá)與幾何題的題目文本表達(dá)之間存在較大的差異,在幾何題上使用預(yù)訓(xùn)練模型需要更大的數(shù)據(jù)量進(jìn)行微調(diào),而這也導(dǎo)致了在數(shù)據(jù)量較小的GeoQA數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練時(shí)解題準(zhǔn)確率更低。此外,本文也認(rèn)為求解幾何題所需的知識(shí)點(diǎn)更多是定理知識(shí),這涉及到復(fù)雜的數(shù)學(xué)關(guān)系,而這些知識(shí)對(duì)預(yù)訓(xùn)練模型來(lái)說(shuō)也是更難以學(xué)習(xí)和理解的,在小數(shù)據(jù)集上預(yù)訓(xùn)練模型難以提供問(wèn)題求解所需的定理知識(shí)。這也說(shuō)明不能僅憑預(yù)訓(xùn)練模型為幾何題的求解提供額外的定理知識(shí)。
Shen等[4]用解題表達(dá)式的生成和排序任務(wù)來(lái)微調(diào)訓(xùn)練了序列生成模型BART[18],經(jīng)過(guò)預(yù)訓(xùn)練后的BART模型能夠生成更多可能的解題表達(dá)式候選項(xiàng),從而提高了模型對(duì)應(yīng)用題的求解準(zhǔn)確率。Liang 等[19]在BERT的基礎(chǔ)上以數(shù)字屬性關(guān)系預(yù)測(cè)為任務(wù)微調(diào)訓(xùn)練了BERT模型,這使得BERT模型能識(shí)別到題目文本中的數(shù)字字符之間的關(guān)系,令模型生成的解題表達(dá)式中數(shù)字字符的位置更準(zhǔn)確,進(jìn)而提高求解準(zhǔn)確率。因?yàn)閷?duì)于減法和除法來(lái)說(shuō),數(shù)字在操作符的左右側(cè)順序是會(huì)決定計(jì)算結(jié)果并最終影響到答案的求解。
本文受到以上研究的啟發(fā),基于文本編碼器DPE設(shè)置了一個(gè)幾何題知識(shí)點(diǎn)類型預(yù)測(cè)的預(yù)訓(xùn)練任務(wù),通過(guò)預(yù)訓(xùn)練任務(wù)獲得知識(shí)點(diǎn)的編碼表示,并使得編碼器模型進(jìn)一步熟悉幾何題的知識(shí)點(diǎn)信息。隨后再通過(guò)有效的知識(shí)點(diǎn)信息融合方法將獲得的幾何題知識(shí)點(diǎn)信息融入題目求解過(guò)程中以幫助題目求解。
GeoQA與GeoQA+數(shù)據(jù)集GeoQA是由Chen等提出的第一個(gè)用于構(gòu)建基于深度學(xué)習(xí)方法幾何題求解器的數(shù)據(jù)集,其包含3 509條訓(xùn)練數(shù)據(jù),755條驗(yàn)證數(shù)據(jù)以及764條測(cè)試數(shù)據(jù)。GeoQA+是Cao等基于GeoQA擴(kuò)展得到的的幾何題數(shù)據(jù)集,比起GeoQA,GeoQA+的題目求解難度更大,題目類型也更豐富。本文的實(shí)驗(yàn)主要基于這兩個(gè)數(shù)據(jù)集進(jìn)行。GeoQA+數(shù)據(jù)集的題目包含知識(shí)點(diǎn)類型有76個(gè),其中每一個(gè)題目包含兩到三個(gè)的知識(shí)點(diǎn),這表明求解這道題目可能需要應(yīng)用兩到三個(gè)定理知識(shí)。本文基于GeoQA+的訓(xùn)練集來(lái)預(yù)訓(xùn)練本文的知識(shí)點(diǎn)預(yù)測(cè)模型。在解題實(shí)驗(yàn)部分,本文在兩個(gè)數(shù)據(jù)集上分別訓(xùn)練本文的求解模型以驗(yàn)證本文模型有效性。但是需要注意的是,GeoQA和GeoQA+所包含的驗(yàn)證集和測(cè)試集是一樣的,GeoQA+主要是擴(kuò)展了GeoQA數(shù)據(jù)集的訓(xùn)練集部分。
題目求解的正則語(yǔ)言在GeoQA和GeoQA+數(shù)據(jù)集中,它們的數(shù)據(jù)標(biāo)注都使用了如表1所示Chen等[1]定義的一種幾何題求解正則語(yǔ)言,該正則語(yǔ)言包括操作符OP、常量操作數(shù)C等,共有十八個(gè)操作符,以及八個(gè)的常量操作數(shù)。如圖1的例題求解過(guò)程為該正則語(yǔ)言的應(yīng)用示例,其中Ni表示題目所給出的操作數(shù),Vi表示計(jì)算產(chǎn)生的過(guò)程變量,可以使用這種正則語(yǔ)言組成的表達(dá)式對(duì)題目做出具有可解釋性的求解。本文的研究也基于該正則語(yǔ)言進(jìn)行題目的求解。
表1 幾何題求解的正則語(yǔ)言
幾何題的求解和推理依賴于定理知識(shí),而幾何題的每個(gè)所屬知識(shí)點(diǎn)類型都對(duì)應(yīng)著一條幾何定理。如圖1例題中的知識(shí)點(diǎn)類型為勾股定理,表明該題目的求解過(guò)程需要用到勾股定理的知識(shí),其中勾股定理的詳細(xì)描述為“在直角三角形ABC中,直角邊AB邊長(zhǎng)為a,直角邊BC邊長(zhǎng)為b,斜邊AC邊長(zhǎng)為c,則有a2+b2=c2”。根據(jù)人類的思維,在求解題目前需要理解勾股定理的含義及其各項(xiàng)使用條件,并在求解題目的過(guò)程中將相關(guān)數(shù)量關(guān)系代入進(jìn)行運(yùn)算。然而對(duì)于當(dāng)前的深度學(xué)習(xí)模型來(lái)說(shuō),完全理解這樣一段詳細(xì)的定理描述是很困難的。此外,定理知識(shí)的詳細(xì)描述往往是一段較長(zhǎng)的文本序列,例如,勾股定理的描述其文本序列長(zhǎng)度便達(dá)到了40個(gè)字符,而一般的幾何題題目文本序列長(zhǎng)度也在50~100字符之間,本文認(rèn)為如果直接將完整的定理描述信息與題目文本信息相結(jié)合顯然會(huì)因?yàn)檩^長(zhǎng)的定理信息的存在而歪曲模型對(duì)題目文本的理解,會(huì)導(dǎo)致模型對(duì)題目文本信息做提取時(shí)出現(xiàn)遺漏,而無(wú)法促進(jìn)模型對(duì)題目的求解?;赟hen等的工作,本文認(rèn)為在預(yù)訓(xùn)練任務(wù)的基礎(chǔ)上,僅將題目的知識(shí)點(diǎn)類型作為提示信息傳遞給解題模型是更有效的信息注入方法。知識(shí)點(diǎn)信息在求解過(guò)程中僅為模型提供提示學(xué)習(xí)作用,因?yàn)閷儆诓煌R(shí)點(diǎn)類型的題目往往需要的解題操作符也不同。例如,屬于勾股定理類型的題目在求解過(guò)程中總會(huì)出現(xiàn)與勾股定理運(yùn)算相關(guān)的操作符;屬于三角函數(shù)類型的題目也更可能出現(xiàn)與三角函數(shù)計(jì)算相關(guān)的操作符。這意味著可以利用這種差異讓模型在訓(xùn)練過(guò)程中學(xué)習(xí)到知識(shí)點(diǎn)信息與求解表達(dá)式中的操作符之間的關(guān)系,利用引入的知識(shí)點(diǎn)提示信息生成更可靠的解題操作符并生成準(zhǔn)確度更高的解題表達(dá)式序列。
為了在幾何題的求解過(guò)程中融入幾何題的知識(shí)點(diǎn)信息,本文做了以下兩部分的工作。首先在GeoQA+數(shù)據(jù)集上用知識(shí)點(diǎn)預(yù)測(cè)的多標(biāo)簽分類任務(wù)預(yù)訓(xùn)練了文本編碼器DPE并基于預(yù)訓(xùn)練過(guò)的DPE構(gòu)建了一個(gè)新的文本編碼器KNO-DPE。本文在DPE編碼器中嵌入了一個(gè)可學(xué)習(xí)的向量并從預(yù)訓(xùn)練過(guò)的模型中取出該向量作為知識(shí)點(diǎn)的語(yǔ)義編碼表示,隨后將其與題目的文本嵌入向量結(jié)果相融合輸入到KNO-DPE中進(jìn)行進(jìn)一步編碼。圖2為本文知識(shí)點(diǎn)預(yù)訓(xùn)練過(guò)程的結(jié)構(gòu)圖,圖3為題目求解模型的整體結(jié)構(gòu)圖。
圖3 基于KNO-DPE的幾何題求解器模型結(jié)構(gòu)圖
本文研究基于NGS[1]和DPE-NGS[2]。DPE-NGS和NGS在模型上的不同僅僅是DPE-NGS使用了一個(gè)基于BiLSTM和RoBERTa組成的并行編碼器用于編碼文本輸入。在其他部分,NGS和DPE-NGS都使用了一個(gè)預(yù)訓(xùn)練過(guò)的ResNet作為圖形編碼器用于處理幾何題圖形的輸入,使用了一個(gè)共同注意力模塊用于將圖像和文本信息進(jìn)行融合和對(duì)齊。在解碼器部分則使用了一個(gè)基于注意力機(jī)制的LSTM模塊作為模型的解碼器用來(lái)解碼生成題目的求解序列。本節(jié)接下來(lái)的內(nèi)容中將對(duì)這些模塊做進(jìn)一步的介紹。
本文用GeoQA+作為數(shù)據(jù)集預(yù)訓(xùn)練了文本編碼器DPE。GeoQA+數(shù)據(jù)集的題目共包含有76個(gè)幾何題知識(shí)點(diǎn)類型,其中每一道題目屬于一個(gè)或者多個(gè)知識(shí)點(diǎn)類型。例如,一道題目的求解過(guò)程可能同時(shí)使用到勾股定理和平行四邊形的性質(zhì),這樣的題目的知識(shí)點(diǎn)類型就同時(shí)包括勾股定理以及平行四邊形的性質(zhì),因此本文的預(yù)訓(xùn)練任務(wù)是一個(gè)多標(biāo)簽分類任務(wù)。本文的目的是通過(guò)在文本編碼器上做知識(shí)點(diǎn)分類任務(wù)來(lái)讓編碼器熟悉幾何題的知識(shí)點(diǎn)信息并獲取到知識(shí)點(diǎn)的編碼表示,詳細(xì)的模型預(yù)訓(xùn)練過(guò)程如圖2所示。根據(jù)Cao等的研究,DPE由RoBERTa和一個(gè)雙層的Bi-LSTM組成,這是一個(gè)并行的文本編碼模型。預(yù)訓(xùn)練任務(wù)中以幾何題題目文本的詞嵌入向量T作為輸入,文本編碼器DPE通過(guò)識(shí)別題目的文本特征來(lái)進(jìn)行知識(shí)點(diǎn)分類。本文分別將幾何題的題目文本輸入到RoBERTa和BiLSTM模塊中,RoBERTa和BiLSTM分別對(duì)文本信息進(jìn)行編碼并得到題目文本的首字符編碼向量r和l,隨后將r和l拼接起來(lái)得到最終的編碼結(jié)果O輸入分類層。為了實(shí)現(xiàn)知識(shí)點(diǎn)預(yù)測(cè)分類任務(wù),本文將DPE的輸出設(shè)置為[64,768],768是RoBERTa和BiLSTM的隱藏層大小,64是批大小。為了獲得知識(shí)點(diǎn)的編碼表示,本文在輸出層設(shè)置了一個(gè)可學(xué)習(xí)的知識(shí)點(diǎn)編碼表示K,大小為[76,768],76是知識(shí)點(diǎn)的類別總數(shù),本文預(yù)訓(xùn)練模型的輸出如式(1)所示。
C=cat[K,O]
(1)
本文使用C作為知識(shí)點(diǎn)分類任務(wù)的輸出。經(jīng)過(guò)預(yù)訓(xùn)練任務(wù)的學(xué)習(xí)后可以得到訓(xùn)練過(guò)的文本編碼器DPE,以及包含了豐富知識(shí)點(diǎn)特征信息的知識(shí)點(diǎn)語(yǔ)義向量K,本文將在解題模型中使用該向量作為知識(shí)點(diǎn)的語(yǔ)義編碼表示。同時(shí)本文為了使得模型前后更一致,也為了獲得更多的知識(shí)點(diǎn)特征信息,還在預(yù)訓(xùn)練模型中設(shè)置了一個(gè)可學(xué)習(xí)位置向量P,并與知識(shí)點(diǎn)語(yǔ)義向量K一起應(yīng)用到后面的解題編碼中。
本文從預(yù)訓(xùn)練過(guò)的DPE中提取出RoBERTa以及BiLSTM模塊來(lái)組成新的文本編碼器KNO-DPE(圖3)。本文使用K來(lái)代表預(yù)訓(xùn)練過(guò)程中模型學(xué)習(xí)到的知識(shí)點(diǎn)信息,并用其作為知識(shí)點(diǎn)的語(yǔ)義向量表示。本文還從預(yù)訓(xùn)練過(guò)程中獲取了知識(shí)點(diǎn)的位置向量信息P用于增強(qiáng)知識(shí)點(diǎn)信息的特征表示。
同樣本文也基于DPE中預(yù)訓(xùn)練過(guò)的BiLSTM來(lái)作為該并行文本編碼器的另一模塊,設(shè)BiLSTM的編碼輸出為L(zhǎng),最后本文將RoBERTa的輸出和BiLSTM的輸出拼接得到作為最終的文本編碼輸出結(jié)果E,如式(5)、式(6)所示。
本文將這個(gè)新的幾何題文本編碼器KNO-DPE應(yīng)用于NGS求解模型中。圖3為把KNO-DPE作為文本編碼器的幾何題求解模型。在圖3所示的解題模型中,KNO-DPE作為文本編碼器接受幾何題題目和知識(shí)點(diǎn)信息的融合結(jié)果輸入,經(jīng)過(guò)編碼后得到文本編碼輸出E,圖形編碼器(Diagram Encoder)模塊接受題目的圖形信息輸入并得到圖形編碼輸出M,隨后將文本編碼結(jié)果和圖形編碼結(jié)果輸入到信息融合模塊(Joint Reasoning Module)得到信息融合輸出F,最后將F輸入到解碼器進(jìn)行解碼得到題目的求解序列。
由于幾何題的題目往往包含圖形信息,因此還需要圖形編碼器來(lái)提取圖形特征。圖像的特征提取模型一直是視覺問(wèn)答任務(wù)模型的重要結(jié)構(gòu)之一。在以往的研究中,研究人員針對(duì)各種視覺問(wèn)答任務(wù)的特性設(shè)計(jì)了一系列的圖像特征提取模型。但是這些預(yù)訓(xùn)練模型都沒有針對(duì)幾何圖形進(jìn)行識(shí)別訓(xùn)練,不利于進(jìn)行幾何圖形的特征提取。本文認(rèn)為,視覺問(wèn)答任務(wù)的圖像處理模型更關(guān)注于圖像的目標(biāo)分割和檢測(cè)以利于與問(wèn)題文本中的關(guān)鍵詞進(jìn)行匹配。而幾何題的求解更關(guān)注的是通過(guò)題目條件進(jìn)行推理,圖形信息往往是解題的補(bǔ)充信息,因此傳統(tǒng)的視覺問(wèn)答任務(wù)中的圖像處理模型并不適用于幾何圖形的特征提取。
Chen等使用了兩個(gè)針對(duì)幾何圖形的預(yù)訓(xùn)練任務(wù)對(duì)ResNet[20]進(jìn)行了預(yù)訓(xùn)練微調(diào)工作,分別是圖像位置預(yù)測(cè)任務(wù)和幾何元素識(shí)別任務(wù),根據(jù)Chen等的實(shí)驗(yàn),這兩個(gè)預(yù)訓(xùn)練任務(wù)有效地提升了ResNet對(duì)幾何圖形的特征提取能力。本文的工作也使用了該預(yù)訓(xùn)練模型作為圖形編碼器。
在獲得了文本和圖形的編碼信息后,需要將兩者的信息融合起來(lái)。在NGS的工作中,受到Y(jié)u等[21]的啟發(fā),Chen等使用了一個(gè)共同注意力機(jī)制模塊(co-attention)來(lái)進(jìn)行圖像信息和文本信息的聯(lián)和推理。該模塊由12個(gè)自注意力(Self-attention)模塊和6個(gè)導(dǎo)引注意力(Guide-attention)模塊組成。具體的,Chen等首先使用6個(gè)自注意力模塊對(duì)問(wèn)題文本編碼輸出進(jìn)行編碼,隨后將第6個(gè)自注意力單元的最終隱藏狀態(tài)用作指導(dǎo)信息輸入到由6個(gè)自注意力模塊和6個(gè)導(dǎo)引注意力模塊堆疊而成的共同注意力模型,以實(shí)現(xiàn)跨模態(tài)語(yǔ)義融合和對(duì)齊。在本文的研究中也使用了該信息融合模塊。具體實(shí)現(xiàn)是把文本編碼器的輸出E和圖形編碼器的輸出M作為信息融合模塊的輸入,經(jīng)過(guò)信息融合后得到圖形文本信息的融合結(jié)果輸出為F,F中包含了豐富的文本和圖形特征信息,我們使用Co-attention來(lái)簡(jiǎn)要表示圖像和文本信息的融合過(guò)程。
F=Co-attention(E,M)
(7)
受Chen等工作的啟發(fā),本文使用了一個(gè)基于注意力機(jī)制的LSTM模塊作為題目求解的序列解碼器。設(shè)yt(1≤t≤T)是目標(biāo)求解序列,設(shè)pt為下一個(gè)要生成的序列符號(hào),本文使用負(fù)對(duì)數(shù)似然函數(shù)作為解題的損失函數(shù),則損失函數(shù)可以表示如式(8)所示。
(8)
其中,θ是整個(gè)求解模型除了圖像編碼器外的所有參數(shù)集合,x是輸入的圖形和文本信息。模型解碼器beam search的大小設(shè)置為N,每次生成N(在本文研究中N=10)個(gè)解碼序列如[g1,g2,…,gn],本文只選取第一個(gè)求解出題目答案的序列作為正確的解題序列,如果所求解出的答案不在題目選項(xiàng)中,該題目將被標(biāo)記為無(wú)結(jié)果類題目,而不是隨機(jī)選擇一個(gè)選項(xiàng)作為答案,如果求解錯(cuò)誤的答案則為錯(cuò)誤求解。
在實(shí)驗(yàn)部分,本文基于GeoQA和GeoQA+兩個(gè)數(shù)據(jù)集來(lái)訓(xùn)練求解模型,使用這兩個(gè)數(shù)據(jù)集共同的測(cè)試集來(lái)評(píng)估基于KNO-DPE作為文本編碼器的求解模型以及其他對(duì)比方法的解題效果。本文將KNO-DPE作為文本編碼器應(yīng)用于NGS方法中進(jìn)行題目的求解,記為KNO-DPE-NGS。
數(shù)據(jù)集當(dāng)前幾何題的自動(dòng)求解領(lǐng)域主要存在以下幾個(gè)數(shù)據(jù)集: GeoS[10]、GeoS++[11],Geometry3K[3]以及GeoQA[1]和GeoQA+[2]。其中Geos數(shù)據(jù)集只有186條數(shù)據(jù),不適用于深度學(xué)習(xí)訓(xùn)練,而Geos++數(shù)據(jù)集則沒有公開,對(duì)于Geometry3K,Lu等為了其文本處理器能有效地將題目文本識(shí)別成可用的規(guī)則表達(dá)式而將題目文本標(biāo)注成極短的子句形式,丟失了大量的題目文本信息,因此也并不適用于本文的模型訓(xùn)練。GeoQA的訓(xùn)練集包含3 509道幾何題,GeoQA+的訓(xùn)練集包含6 027道幾何題,兩個(gè)數(shù)據(jù)集使用同一個(gè)驗(yàn)證集和測(cè)試集,其中驗(yàn)證集中包含746道幾何題,測(cè)試集中包含755道幾何題。本文實(shí)驗(yàn)根據(jù)模型在該測(cè)試集上的求解準(zhǔn)確率表現(xiàn)以對(duì)比模型的效果。
方法對(duì)比和實(shí)驗(yàn)參數(shù)在對(duì)比實(shí)驗(yàn)方面,本文基于以上兩個(gè)數(shù)據(jù)集使用NGS[1]和DPE-NGS[2]作為本文模型的主要對(duì)比方法,此外本文還對(duì)比了另外兩個(gè)設(shè)計(jì)用于求解數(shù)學(xué)幾何題的模型Seq2Prog[22]以及BERT2Prog(基于BERT作為文本編碼器的Seq2Prog)方法。同時(shí),本文還設(shè)計(jì)了消融實(shí)驗(yàn)以證明本文的預(yù)訓(xùn)練方法和知識(shí)點(diǎn)信息融合方法的有效性。最后,本文還將DPE的RoBERTa替換成BERT模型以及更輕量化的ALBERT來(lái)進(jìn)行實(shí)驗(yàn),以觀察本文的方法對(duì)在基于不同的預(yù)訓(xùn)練模型時(shí)的表現(xiàn),并探究將本文的方法擴(kuò)展至其他任務(wù)的可能性。主要的實(shí)驗(yàn)參數(shù)如下: ResNet的學(xué)習(xí)率為1e-5、BiLSTM學(xué)習(xí)率為1e-3、RoBERTa(BERT,ALBERT)學(xué)習(xí)率為2e-5、其余模塊學(xué)習(xí)率設(shè)置為2e-5,批大小為32,模型訓(xùn)練了100個(gè)epoch。
本文對(duì)比了不同模型在基于GeoQA和GeoQA+這兩個(gè)數(shù)據(jù)集作為訓(xùn)練集時(shí)的表現(xiàn),表2展示了不同模型基于不同數(shù)據(jù)集作為訓(xùn)練集時(shí)在測(cè)試集上的表現(xiàn)差異。
方法的有效性從實(shí)驗(yàn)結(jié)果可以看到,基于KNO-DPE的求解模型在兩個(gè)訓(xùn)練集上訓(xùn)練時(shí)都取得相較其他方法更高的準(zhǔn)確率,其中基于GeoQA+作為訓(xùn)練集時(shí)本文方法將幾何題的求解準(zhǔn)確率提升到了66.89%,領(lǐng)先當(dāng)前的幾何題自動(dòng)求解研究的基準(zhǔn)模型。本文進(jìn)一步分析了模型在各種類型的幾何題目上的表現(xiàn),發(fā)現(xiàn)本文的模型在所有類型的幾何題題目上都表現(xiàn)得更好,這也進(jìn)一步說(shuō)明了本文方法的有效性。尤其是在Others類型的題目中提升較大,這是因?yàn)樵贕eoQA訓(xùn)練集中Others類型的題目較少,而Chen以及Cao等的模型無(wú)法在數(shù)據(jù)量較小的情況下充分學(xué)習(xí)到該類型題目的特征,因此他們的模型在這種類型的題目上表現(xiàn)較差,但是在以KNO-DPE作為文本編碼器的求解模型中,由于KNO-DPE為題目引入了知識(shí)點(diǎn)信息,為模型在求解這類型題目時(shí)提供了額外的信息并提高了對(duì)這類題目的求解準(zhǔn)確率,由此也表明本文的方法對(duì)于求解數(shù)據(jù)集中少樣本的幾何題類型題目有顯著作用。
方法的一般性為了探究本文的方法在使用不同的預(yù)訓(xùn)練模型作為文本編碼器組成模塊時(shí)的表現(xiàn),本文將DPE文本編碼器中的預(yù)訓(xùn)練模型RoBERTa替換成BERT或ALBERT,再基于本文的預(yù)訓(xùn)練任務(wù)進(jìn)行編碼器的預(yù)訓(xùn)練,最后在題目求解訓(xùn)練中應(yīng)用同樣的知識(shí)點(diǎn)信息融合方法再進(jìn)行實(shí)驗(yàn)評(píng)估。表3的實(shí)驗(yàn)結(jié)果表明,本文方法對(duì)于其他不同類型的預(yù)訓(xùn)練模型同樣有效,無(wú)論DPE編碼器基于BERT還是ALBERT,在應(yīng)用了本文的方法后題目求解準(zhǔn)確率都有較大提升,這也證明了本文為模型設(shè)置的預(yù)訓(xùn)練任務(wù)以及知識(shí)點(diǎn)信息融合方法的一般性。
本文還設(shè)計(jì)了消融實(shí)驗(yàn)以驗(yàn)證基于預(yù)訓(xùn)練任務(wù)將知識(shí)點(diǎn)信息融合到題目求解過(guò)程的合理性。本文分別對(duì)DPE編碼器應(yīng)用預(yù)訓(xùn)練任務(wù)處理或知識(shí)點(diǎn)信息融合處理再分別進(jìn)行實(shí)驗(yàn)評(píng)估。從表4的實(shí)驗(yàn)結(jié)果中可以看到,當(dāng)不對(duì)文本編碼器進(jìn)行預(yù)訓(xùn)練只是引入知識(shí)點(diǎn)信息時(shí),模型在測(cè)試集上只取得了60.93%的準(zhǔn)確率。當(dāng)本文對(duì)模型進(jìn)行了知識(shí)點(diǎn)的預(yù)訓(xùn)練但是在文本編碼過(guò)程中不引入知識(shí)點(diǎn)信息時(shí),模型能取得64.37%的準(zhǔn)確率,而當(dāng)既對(duì)文本編碼器進(jìn)行預(yù)訓(xùn)練又在文本編碼過(guò)程中引入知識(shí)點(diǎn)信息時(shí)取得了66.89%的最高準(zhǔn)確率。實(shí)驗(yàn)結(jié)果驗(yàn)證了預(yù)訓(xùn)練任務(wù)和知識(shí)點(diǎn)信息融合方法的必要性和合理性。本文認(rèn)為如果只是單純地將知識(shí)點(diǎn)信息融入DPE中,會(huì)使得模型難以理解知識(shí)點(diǎn)的編碼表示,反而會(huì)歪曲模型對(duì)題目的理解,因?yàn)槟P蛯?duì)知識(shí)點(diǎn)信息不熟悉,無(wú)法處理額外的知識(shí)點(diǎn)信息;而如果只是對(duì)模型使用知識(shí)點(diǎn)預(yù)測(cè)任務(wù)進(jìn)行預(yù)訓(xùn)練,則無(wú)法利用到題目的知識(shí)點(diǎn)信息進(jìn)行題目求解;當(dāng)把知識(shí)點(diǎn)預(yù)訓(xùn)練任務(wù)和知識(shí)點(diǎn)信息融合方法組合在一起后,能取得最好的實(shí)驗(yàn)效果,此時(shí)模型不僅能夠熟悉知識(shí)點(diǎn)的編碼表達(dá),并且能有效處理融入的知識(shí)點(diǎn)信息。
表4 消融實(shí)驗(yàn)結(jié)果 (單位: %)
最后,本文對(duì)基于DPE和KNO-DPE求解模型生成的解題表達(dá)式進(jìn)行了典型案例分析,選定的案例如圖4所示。從生成的表達(dá)式可以看到,以KNO-DPE作為文本編碼器的求解模型能夠根據(jù)題目所屬的知識(shí)點(diǎn)準(zhǔn)確生成正確的解表達(dá)式進(jìn)行題目求解。在該題中,題目的知識(shí)點(diǎn)類型為“切線定理”“等腰三角形”“三角形內(nèi)角和”。本文的模型能夠?qū)W習(xí)到知識(shí)點(diǎn)信息和解表達(dá)式的關(guān)系,并生成準(zhǔn)確的解題操作。如在該題中首先需要根據(jù)切線性質(zhì)得到∠MAC=90°且因?yàn)镸A=MB,進(jìn)而得到∠MAB=∠MAC-∠BAC=65°;隨后根據(jù)等腰三角形性質(zhì)得到∠ABM=∠MAB=65°;最后根據(jù)三角形內(nèi)角和等于180°,用180°- 2×∠AMB=50°求出∠AMB的大小等于50°?;贙NO-DPE的求解模型能夠提取題目信息并在知識(shí)點(diǎn)信息的提示下發(fā)掘出與人類求解題目類似的解題思維,根據(jù)知識(shí)點(diǎn)信息生成正確的求解操作符和準(zhǔn)確的操作順序。而基于DPE的求解模型則生成了完全錯(cuò)誤的求解表達(dá)式。本文認(rèn)為DPE因?yàn)闆]有針對(duì)題目知識(shí)點(diǎn)進(jìn)行設(shè)計(jì),導(dǎo)致模型在解題時(shí)無(wú)法建立起題目的知識(shí)點(diǎn)信息和解題表達(dá)式之間的聯(lián)系,從而缺少了生成正確表達(dá)式所需的重要信息,難以生成置信度高的操作符,導(dǎo)致模型朝著錯(cuò)誤的方向生成了錯(cuò)誤的解題表達(dá)式。對(duì)比結(jié)果表明融入了知識(shí)點(diǎn)信息的幾何題求解模型有著更強(qiáng)的解題能力,為解題模型融入知識(shí)點(diǎn)信息以模擬人類思維進(jìn)行正確的題目求解有著重要作用。
圖4 基于KNO-DPE和DPE的求解模型求解一道幾何題的對(duì)比示例
本文研究受到人類求解幾何題思維的啟發(fā),將知識(shí)點(diǎn)信息應(yīng)用到幾何題的自動(dòng)求解研究中。本文設(shè)計(jì)了一個(gè)幾何題知識(shí)點(diǎn)預(yù)測(cè)任務(wù)用于預(yù)訓(xùn)練文本編碼器,隨后從預(yù)訓(xùn)練過(guò)的文本編碼器中獲得知識(shí)點(diǎn)的語(yǔ)義向量表示并提出了一個(gè)新的幾何題文本編碼器KNO-DPE。本文還提出了一種將幾何題知識(shí)點(diǎn)信息融合到題目文本編碼過(guò)程中的方法。實(shí)驗(yàn)結(jié)果表明,基于KNO-DPE作為文本編碼器的解題模型將幾何題的自動(dòng)求解準(zhǔn)確率提升至66.89%。此外,本文還通過(guò)消融實(shí)驗(yàn)進(jìn)一步驗(yàn)證了本文方法的合理性。未來(lái)工作中,本文將探究增強(qiáng)幾何題知識(shí)點(diǎn)的編碼表示,并嘗試將知識(shí)點(diǎn)信息與圖形信息結(jié)合起來(lái)的方法進(jìn)一步利用知識(shí)點(diǎn)信息輔助幾何題的求解。