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