吳林靜 勞傳媛 劉清堂 黃景修 巴 深
(華中師范大學教育信息技術學院 湖北 武漢 430079)
數(shù)學問題自動求解一直是數(shù)學智能教學系統(tǒng)的研究重難點?,F(xiàn)有系統(tǒng)在實現(xiàn)題目求解功能時,大部分都是依賴于預先設置的題庫,這就導致了系統(tǒng)能解決的問題數(shù)量受到題庫規(guī)模的限制,且其并不具有良好的魯棒性。愈多領域相關的研究者開始思考:如何使計算機具有理解并處理自然語言描述的數(shù)學問題的能力。自然語言處理無疑是實現(xiàn)數(shù)學問題自動求解的關鍵。應用自然語言處理技術處理數(shù)學問題的核心目標就是從“豐滿”的應用題文本中抽取出與解題相關的特定信息。數(shù)學問題的題意理解在一步加減等簡單數(shù)學題上已經(jīng)取得了突破性的進展,通過關鍵詞匹配等技術,使計算機能夠理解題目以進入下一步的推理工作。然而,面對語義相對復雜、上下文情景相對多變的數(shù)學應用題文本,如初等數(shù)學分層抽樣應用題,仍有待解決,這是人工智能發(fā)展的必經(jīng)之路。
本文以實現(xiàn)從初等數(shù)學分層抽樣應用題文本中抽取出關鍵解題信息為研究目標,采用依存句法與句模相結合的方法,對2008年至2014年所有省份的高考數(shù)學文理科試卷及模擬卷中篩選的150道分層抽樣類數(shù)學應用題開展了相關研究。通過實驗研究發(fā)現(xiàn),與僅基于句模的信息抽取方法相比,基于依存句法的改進信息抽取方法對不同語義角色的應用題單句的信息抽取準確率有一定的提高,整題抽取的準確率從40%上升至68%,證明了本文方法的有效性。
數(shù)學問題自動求解問題涉及語義表征、題意理解、問題求解等多個方面,包含復雜的認知過程,因此,要實現(xiàn)機器自動化處理,無疑是比較艱巨的。隨著技術的進步與眾多研究員的刻苦鉆研,數(shù)學問題自動求解的研究工作也逐漸取得了一些成果。1964年,Bobrow等[1]針對英語表述的高中代數(shù)應用題,設計開發(fā)了第一個研究數(shù)學求解問題的系統(tǒng)——STUDENT系統(tǒng);1986年,Dellarosa等[2]借鑒Kintsch提出的問題框架表征模型,模擬人類的認知過程,開發(fā)了能實現(xiàn)一步加減算術應用題自動求解的ARITHPRO系統(tǒng);隨著大規(guī)模知識庫的應用日益得到重視,2007年,Wong等[3]開發(fā)的LIM-G系統(tǒng)通過構建本體知識庫,實現(xiàn)了一步加減幾何應用題的求解自動化;近年,由日本國立情報學研究所和富士通合作制造的“Todai機器人”數(shù)學問題求解系統(tǒng)[4]已經(jīng)能夠解決將近一半的日本二檔高考數(shù)學題。
國內(nèi)關于數(shù)學問題自動求解的研究,始于吳文俊院士[5]在幾何定理機器證明上取得的突破性進展。其后,張景中院士不僅提出了消點算法[6],促進了幾何定理機器證明的發(fā)展,還主持開發(fā)了多個數(shù)學教育軟件,實現(xiàn)了包括不等式在內(nèi)的多種數(shù)學形式的機器證明[7]。另外,程志等[8]以小學數(shù)學整數(shù)一步和部分二步應用題為研究對象,以關鍵詞串匹配的方式實現(xiàn)了數(shù)學應用題的自動求解。相對于英語與純數(shù)學公式文本,中文表述的應用題自動求解的實現(xiàn)更為復雜。當前已取得突破性進展的主要是小學數(shù)學應用題或者代數(shù)、不等式等表述較為簡單、數(shù)學關系明確的數(shù)學問題。表述豐富的數(shù)學問題自動求解的研究仍然受到中文題目理解技術的局限。
句模起源于語言學研究。魯川等[9]提出,語言是有限的句子“模型”的集合,而句模則是指在語義平面上的句子模型。句模研究在對漢語句子進行語義句型的劃分后,針對某個句型,開展包括基本組成成分、句子結構、語序等內(nèi)容的研究。句模不僅可以應用于漢語教學、外語翻譯上,還有部分研究者提出將其應用于自然語言處理領域。例如:樊孝忠等[10]在進行銀行領域漢語自動問答系統(tǒng)BAQS的研究與開發(fā)中,采用句模去對問句進行匹配分析;張濱等[11]提出基于漢語句模理論的中文處理策略,以降低分詞難度和提高分詞精度;Al-A′Ali[12]提出了一種方法,通過學習知識庫中存儲的不同句型來將其運用于短語預測、句子語義檢查等方面;Matsumoto等[13]結合句模與規(guī)則來對情感評估方法進行優(yōu)化;馬莉等[14]針對句模匹配方法只能處理各個關鍵詞中有分隔詞的問句的局限性,將句模匹配與關鍵詞詞庫匹配相結合的方法對問句進行理解。
隨著在語義理解中的應用日漸深化,句模慢慢進入數(shù)學問題自動求解領域研究者的視野。周穎等[15]特別針對“有”字句,應用框架表示法對解題相關信息進行存儲,利用句模實現(xiàn)應用題自動解答系統(tǒng)中“有”字句的語義理解。Iwane等[16]針對一步加減應用題的簡單句,通過句子分類及統(tǒng)計對應類型的規(guī)范,由關鍵詞與句型規(guī)范進行匹配,以實現(xiàn)應用題句子的理解。馬玉慧等[17]在進行小學數(shù)學應用題自動求解的問題研究時,針對應用題中包含情境豐富導致的語義理解困難的問題,提出利用文本中信息能夠窮舉的特點,構建語義句模以實現(xiàn)小學數(shù)學應用題的語義理解難題。
當前研究極大促進了數(shù)學問題自動求解中句模應用的發(fā)展,但其主要還是針對情境較為簡單的小學應用題或是應用題中的簡單句,較少涉及到參數(shù)多、情境復雜的數(shù)學應用題,如初等數(shù)學應用題。
依存句法分析是句法分析的主要方法之一,應用某一依存語法體系對對給定的句子序列進行自動分析構建句子對應的依存樹[18]。任一句子序列都包含了多個成分,成分之間存在的句法關系,通常被稱為依存關系。常見的依存關系有SBV(主謂關系)、VOB(動賓關系)、COO(并列關系)、ATT(定中關系)、ADV(狀中結構)等。依存句法分析一經(jīng)提出,就得到了不少關注,相關領域的研究者根據(jù)不同的理論及應用實際,設計并實現(xiàn)了多種不同的依存句法分析方法。例如:Giguet等[19]將依存分析與組塊分析相結合,構建了基于泰尼埃理論的法語依存句法分析器;Schrder等[20]將依存句法轉化為約束滿足問題,以約束依存文法為基礎提出了新的依存句法分析方法;劉海濤等[21]采用MaltParser和漢語依存樹庫來對依存句法分析方法進行優(yōu)化改進。
隨著依存句法分析不斷發(fā)展,其在自然語言處理領域也得到了廣泛應用。Wang等[22]利用依存句法對語言動機模型進行改進,使其能夠更有效地應用于會話語音識別中。Hacioglu[23]將語義角色標注轉化為依存關系的分類問題,通過依存分析方法實現(xiàn)了語義角色標注。任彬等[24]提出了一種基于依存句法分析的文本挖掘方法,并利用其社會媒體文本進行信息抽取與分析。上述只是依存句法分析應用的部分實例,可見其在語音識別、語義角色標注、文本挖掘等自然語言處理各個領域的貢獻是不容置疑的。自然語言處理,也是數(shù)學問題自動求解的難題之一。依存句法分析在自然語言處理領域的有效應用,也可借鑒到數(shù)學問題題意理解的研究工作當中。
本文選取初等數(shù)學分層抽樣類應用題為研究對象,對應用題的文本特征進行分析,并以應用題的單句為單位研究其句子核心成分,為基于依存句法的應用題信息抽取方法提供一定的理論依據(jù)。
下面為一道典型的分層抽樣高考數(shù)學應用題:
“某校有高級教師26人,中級教師104人,其他教師若干人。為了了解該校教師的工資收入情況,若按分層抽樣從該校的所有教師中抽取56人進行調(diào)查,已知從其他教師中共抽取了16人,則該校共有教師多少人?”
從該例子中,可以總結出此類應用題的文本描述存在如下特征:
1) 初等數(shù)學分層抽樣應用題文本較為簡短,一般由不超過10個短句構成。應用題文本總體長度一般位于40至160之間,而單句長度大多不超過50個字,屬于短文本。
2) 初等數(shù)學分層抽樣應用題文本信息主要可以分為兩類:情境類信息和數(shù)值類信息。情境類信息一般是指用于描述問題并賦予一定數(shù)值的實體信息,比如“高級教師”、“中級教師”、“其他教師”等,也包括僅用于為問題提出作情景鋪墊的、與解題無關的文字性表達。而數(shù)值類信息則是應用題解題的關鍵信息,一般由數(shù)字、字母等構成,可用于數(shù)值計算。
3) 初等數(shù)學分層抽樣應用題的分句大多表示實體或實體間的數(shù)量關系或數(shù)值變化。應用題的解題過程實際上就是一個數(shù)學運算的過程,即通過挖掘數(shù)量關系或數(shù)值變化去求解問題的一個過程。
4) 初等數(shù)學分層抽樣應用題分句包含的成分有限,各成分的“合理”排列組合同樣有限。也就是說,數(shù)學問題的句式結構有一定的局限性和重復性,例如:“中級教師104人”和“A類學校80所”的句式結構實際上都是“名詞+數(shù)詞+量詞”。
針對上述特征,本文以分層抽樣類應用題為例,將各應用題單句主要劃分為了六個核心組成部分,分別為:所屬、對象、關系、動詞、數(shù)詞、量詞。這六個句子核心成分與數(shù)學問題求解過程有著密不可分的關系,起著建構數(shù)學模型或進行數(shù)學運算的關鍵作用。
分層抽樣類數(shù)學應用題文本通常包含兩個以上的實體,實體間的關系主要包括三類:聚合、類屬和并列。聚合,表現(xiàn)為一種整體與部分的關系,但是整體與部分是相互獨立可分的,比如說,學校和教師、魚販和魚等。類屬,相對于聚合,更多地表現(xiàn)為一種抽象與具體的關系,實體間的抽象概括程度有高低之分,例如,教師與高級教師、魚與秋刀魚等。而像高級教師、中級教師、其他教師這幾個實體中存在的關系,即不屬于聚合和類屬,但實體間又具有部分相同的屬性,本文將其稱為并列。
表1給出了分層抽樣類應用題的六個句子核心成分的解釋及實例。
表1 分層抽樣類應用題的句子核心成分的解釋及實例
續(xù)表1
鑒于應用題單句成分的可數(shù)性及其排列組合的有限性,本文以這六個句子核心成分為基礎,通過建構相關句模,展開了基于句模的初等數(shù)學應用題信息抽取方法研究。
句模是根據(jù)句子語義平面的特征分類處理的句子類別[25],它包含的信息主要有組成句模的各個語義成分及其在句模中所處的位置。面向初等數(shù)學分層抽樣類應用題的句模則是由所屬、對象、關系、動詞、數(shù)詞、量詞這六個核心成分以及少數(shù)具有特殊數(shù)學含義的關鍵詞構成的“合理”的排序組合。以“某校有高級教師26人”為例,其對應的句模為“所屬+動詞+對象+數(shù)詞+量詞”。
在文獻[26]中,定義了分層抽樣類應用題求解相關的5種核心語義角色,分別為:總體、總體中的層、樣本、樣本中的層、實體關系。下面以一道分層抽樣類數(shù)學應用題為例(某校有行政人員、教學人員和教輔人員共200人,其中教學人員與教輔人員之比為10∶1,行政人員有24人,現(xiàn)采取分層抽樣容量為50的樣本,那么行政人員應抽取的人數(shù)為多少?),對其進行分解,并給出各單句所屬的語義角色及其句模,如表2所示。任一應用題中,表示不同語義角色的單句,一般都會在句子的組成成分及其語義、排列組合等方面有一定的區(qū)別。
表2 分層抽樣類數(shù)學應用題實例
以“某校有行政人員、教學人員和教輔人員共200人”為例,分析應用題單句與句模的映射關系。首先,句子中包含“?!?、“行政人員”、“教學人員”、“教輔人員”四個實體,其中,“行政人員”、“教學人員”、“教輔人員”這三個實體間存在著并列的關系,并同時與實體“?!遍g表現(xiàn)出聚合的特征,即“?!弊鳛橐粋€整體,包含“行政人員”、“教學人員”和教輔人員”三個部分。其次,關鍵字“共”的存在其實表現(xiàn)出了一種總和、總體的特征,用來描述“行政人員”、“教學人員”和教輔人員”三個實體間的數(shù)量關系。而單句中動詞、數(shù)詞、量詞特征明顯,不再贅述。以自然語言描述的應用題文本中很少會出現(xiàn)句子與句模完美映射的情況,即句子中往往會出現(xiàn)表1提及的六個核心成分以外的文字或字符。比如說該句中的頓號及“和”,它們是作為一種連接字符,是為保證語句的連貫通順,這些內(nèi)容可以有多種表達方式,且沒有實際意義。因此,在句子與句模匹配前,會對句子進行預處理,對冗余部分進行刪減,以提高匹配效率。
分層抽樣類應用題中“樣本”句的自然語言描述十分豐富,并且“樣本”句中除數(shù)詞外的各核心成分在問題求解中的功能被弱化,任一“樣本”句的內(nèi)容都可以被概括為如表3所示的框架結構。對“樣本”來說,實際需要抽取的僅有數(shù)詞n。為簡化研究工作,提高效率,本文將“樣本”句排除。
表3 樣本句的統(tǒng)一框架模板
實現(xiàn)分層抽樣類應用題自動求解,關鍵之一就是從“豐滿”的應用題文本中抽取出與解題相關的特定信息。本文通過句模與應用題單句進行匹配,匹配成功則對句子進行分解,抽取各核心成分對應的基礎內(nèi)容,為后續(xù)解題提供規(guī)范性數(shù)據(jù)。
本文設計的基于句模的分層抽樣類應用題信息抽取方法流程如圖1所示,主要可以分為三個階段:文本預處理階段、句模匹配階段以及信息抽取階段。
圖1 基于句模的分層抽樣類應用題信息抽取流程圖
(1) 文本預處理階段。數(shù)學問題自動求解系統(tǒng)的輸入一般都是未經(jīng)處理的應用題文本,文本預處理階段是系統(tǒng)正常運行的前提。基于應用題待抽取信息及句模特征的綜合考慮,本研究中預處理階段主要包括分詞、詞性標注及簡化、刪除冗余成分等文本處理操作,以獲得僅有句子核心成分及其對應詞性構成的有序集合。
(2) 句模匹配階段。句模匹配階段是基于句模的分層抽樣類應用題信息抽取的關鍵一招,通過將預處理階段得到的有序集合與統(tǒng)計得到的句模庫數(shù)據(jù)逐一進行匹配,以獲取與應用題單句相照應的句模數(shù)據(jù)。句模匹配主要是指詞性序列的匹配。句模是由有限個核心成分構成,且各核心成分對應的詞性有限,因此,一個句??梢杂成涑捎邢迋€詞性序列。若句子與所屬語義角色的句模的詞性序列完全相符,則匹配成功。
(3) 信息抽取階段。信息抽取階段,即從數(shù)據(jù)庫中提取匹配成功的句模數(shù)據(jù),通過句模中各核心成分的索引值去抽取句子中的相應信息,包括所屬、對象、關系、動詞、數(shù)詞和量詞等。
信息抽取實例如表4所示。首先,通過HanLP分詞工具對文本進行預處理,可得到“校/n+有/v+行政人員/n+教學人員/n+教輔人員/n+共/R+200/m+人/q”(R為新定義的詞性,表示該詞具有“關系”的含義)。然后,將預處理的結果與句模進行匹配,本例中可得到的詞性序列為“nvnnnRmq”,將其與句模庫中相應語義角色的句模映射的詞性序列進行匹配。最后,根據(jù)匹配到的句模,就可以通過數(shù)據(jù)庫中存儲的各核心成分的索引去抽取句子中核心信息,包括所屬、對象、數(shù)詞、量詞等。
表4 基于句模的分層抽樣類應用題信息抽取的實例
在分層抽樣應用題的句模研究中,經(jīng)常出現(xiàn)單句中包含不止一個實體的情況,如表4中給出的實例“校有行政人員、教學人員和教輔人員共200人”中共包含了4個實體,分別為“?!薄ⅰ靶姓藛T”、“教學人員”和“教輔人員”,該句中后三者不僅相鄰的,還都具有部分相同屬性,即存在并列關系。如果不把這種隱含關系體現(xiàn)在句模中,會對信息抽取工作的準確性造成了一定影響。例如,單句“校有行政人員、教學人員人數(shù)共200人”對應的詞性序列與上述實例相同,因而匹配到的句模會將“人數(shù)”識別為與“行政人員”、“教學人員”共存的一個對象,這是錯誤的。
任一初等數(shù)學應用題都是由一個以上的句子組成,而一個句子又往往包括了一個以上的詞,句子中的詞與詞之間存在著一定的句法關系,稱為依存關系。2.2節(jié)中,將實體間的關系劃分為了聚合、類屬和并列三類。針對上述相鄰實體名詞數(shù)量增多導致的準確率問題,本文采用了HanLP中集成的最大熵依存句法分析器,挖掘應用題單句中存在的實體間關系,以對各實體名詞進行區(qū)分,從而對基于句模的信息抽取方法進行改進,提高分層抽樣類應用題信息抽取工作的準確率。
結合依存句法,利用挖掘到的實體關系對句模進行改進,主要是指對單句中包含的各個實體的詞性進行修改。根據(jù)實體間的三類關系及其涉及的各個成分,本文新定義了如表5所示的幾個詞性。針對實體間的聚合關系,表示整體與部分的兩類實體詞性分別為“B”、“O”;而類屬關系中,根據(jù)相對抽象概括程度劃分的兩類實體詞性分別為“G”、“O”;最后是并列關系,存在該類關系的實體詞性都為“C”。在詞性序列中,每個句模的核心成分與其詞性是一一對應的關系,即句模中任一核心成分有且僅有一個詞性。因此,本文是按照“并列>聚合>類屬”的優(yōu)先級關系對各個實體詞性進行修改的。
表5 新定義詞性
為更直觀展現(xiàn)句模改進前后的變化,同樣以“校有行政人員、教學人員和教輔人員共200人”為例,如表6所示。
表6 基于依存句法對句模改進前后對比
為測試基于依存句法的初等數(shù)學應用題信息抽取方法的有效性,本文以2008年至2014年所有省份的高考數(shù)學文理科試卷及模擬卷中篩選的150道分層抽樣類數(shù)學應用題為實驗語料,隨機抽選100道為訓練集,50道為測試集。
依托于分層抽樣類應用題的核心語義角色分類,以100道分層抽樣類數(shù)學應用題為訓練集,搜集整理了面向不同語義角色的子句模庫并匯總,形成了一個面向初等數(shù)學分層抽樣類應用題的句模庫。當前構建的句模庫中一共包含了253個句模,其中,“總體”對應的句模有46個,“總體的層”對應的句模有119個,“樣本的層”對應的句模有59個,剩余的句模屬于“關系”句,有29個。
為能對測試結果進行有效準確的評價及分析,本文采用角色句抽取準確率PR與整題抽取準確率PQ為結果評價指標,將基于句模的信息抽取方法作為基線,基于依存句法的句模改進方法作為對比。單句抽取準確率PR的計算方法如下:
(1)
式中:R表示應用題中表示某一核心語義角色的單句;PR表示對語義角色R的單句信息抽取的準確率;N(Rright)表示信息準確抽取的屬于語義角色R的單句數(shù)量;N(R)表示測試集中屬于語義角色R的單句數(shù)量。
整題抽取準確率PQ的計算方法如下:
(2)
式中:Q表示測試集中的某一應用題;PQ表示對應用題中所有有效單句信息抽取的準確率,注意,必須是應用題中所有有效單句都被正確抽取出信息時才會認定該應用題信息抽取準確;N(Qright)表示信息準確抽取的應用題數(shù)量;N(Q)表示測試集的應用題數(shù)量。
測試集包括50道分層抽樣類應用題,共185個有效單句。其中,總體句26個,總體的層97個,樣本的層53個,以及關系句9個。
基于句模的信息抽取方法的實驗結果如表7所示。
表7 基于句模的信息抽取方法的實驗結果
基于依存句法的句模改進方法的實驗結果如表8所示。
表8 基于依存句法的句模改進方法的實驗結果
由實驗結果可以發(fā)現(xiàn),基于依存句法的句模改進方法對樣本的層信息抽取工作的準確率有明顯的提升,對總體句、關系句也有一定的影響,以至于整題抽取的準確率從40%上升至68%。
基于依存句法的改進句模信息抽取方法在一定程度上改善了由于實體名詞數(shù)量多而導致應用題文本識別困難的問題。然而,通過實驗研究可以發(fā)現(xiàn),該方法仍然存在著部分信息抽取問題,一大原因在于應用題中的實體不僅數(shù)量眾多,表述也十分豐富,甚至有出現(xiàn)省略化、口語化等現(xiàn)象,計算機無法理解部分應用題中實體詞的真正含義,由此產(chǎn)生錯誤結果。例如,“其中一、二、三、四年級的學生比為5∶4∶3∶1”中“一”、“二”和“三”分別對應了實體“一年級”、“二年級”和“三年級”,而當該句子作為計算機輸入時,“一”、“二”和“三”是作為數(shù)詞進行理解的,并不能挖掘其省略隱含的實體信息。后期應加入實體識別的優(yōu)化策略,以對當前方法進行改進。除此以外,當前使用的分詞工具以及自定義數(shù)學詞典的局限性也是導致錯誤的原因之一。例如,句子”某校對全校男女學生共1 600名進行健康調(diào)查”在分詞操作中將“校對”劃分為一個詞塊,導致其與句模無法匹配。
本文提出的基于依存句法的初等數(shù)學應用題信息抽取方法,是為解決當前人工智能解題中遇到的難題之一——如何從“豐滿”的應用題文本中抽取出與解題相關的特定信息。從高考數(shù)學文理科試卷及模擬卷中的分層抽樣類數(shù)學應用題出發(fā),本文通過搜集整理面向不同語義角色的子句模庫并匯總,形成了一個面向初等數(shù)學分層抽樣類應用題的句模庫。而后,以各語義角色單句抽取準確率與整題抽取準確率為結果評價指標,將基于句模的信息抽取方法作為基線,基于依存句法的句模改進方法作為對比。通過實驗研究發(fā)現(xiàn),與僅基于句模的信息抽取方法相比,基于依存句法的改進信息抽取方法對不同語義角色的句子的信息抽取準確率均有一定提升,尤其整題抽取的準確率從40%上升至68%。這說明了本文提出的基于依存句法的信息抽取方法在初等數(shù)學分層抽樣應用題的題意理解中是有效的。但該方法還存在著一定的問題,需要在后續(xù)研究中對實驗中發(fā)現(xiàn)的幾個問題對其進行改進更新,以求進一步提高信息抽取的準確率。此外,基于句模和依存句法的題意理解方法對于其他類別的應用題,如古典概型類應用題和綜合應用題效果如何,也是后續(xù)研究的重要方向。