劉清堂,楊煒欽,吳林靜,賀黎鳴,李 晶,馬晶晶
1(華中師范大學(xué) 教育信息技術(shù)學(xué)院 湖北省教育信息化研究中心,武漢 430079)
2(華中師范大學(xué) 教育信息化協(xié)同創(chuàng)新中心,武漢 430079)
3(華中師范大學(xué) 教育信息技術(shù)學(xué)院,武漢 430079)
目前,人工智能領(lǐng)域盡管在專家系統(tǒng)、問答系統(tǒng)等方面取得了眾多的成果,但仍然面臨著諸多難題.最核心問題是難以理解題目的意圖和內(nèi)涵.其中,常識性知識缺失是正確理解題意的瓶頸之一.世界各國的學(xué)者高度關(guān)注數(shù)學(xué)問題類人求解,并投入了大量的人力物力和財(cái)力開展研究.例如,國內(nèi)863 計(jì)劃“初等數(shù)學(xué)問題求解關(guān)鍵技術(shù)及系統(tǒng)”項(xiàng)目關(guān)注初等數(shù)學(xué)題意理解,及其類人解題等關(guān)鍵問題,力圖研制初等數(shù)學(xué)自動解題系統(tǒng).日本的“東大機(jī)器人”(Todai Robot Project)項(xiàng)目,其研究目的是將來能通過日本東京大學(xué)的入學(xué)測試[1].美國艾倫人工智能研究所(Allen Institute for Artificial Intelligence)也舉辦了一項(xiàng)比賽,來自世界各地的幾千個(gè)團(tuán)隊(duì)都參與了這項(xiàng)比賽,他們提交了自己的軟件系統(tǒng)來挑戰(zhàn)8年級的科學(xué)題目,其中第一名僅達(dá)到59%的正確率.上述類人解題項(xiàng)目的核心難點(diǎn)在于題意的正確理解.
古典概型類題目是高考數(shù)學(xué)題目中的重要的考查模塊,題目中涉及諸多常識性知識.人類對這些知識可以做到見名知義,計(jì)算機(jī)則無從提取相關(guān)知識.例如“投擲一枚質(zhì)地均勻的色子,面朝上的點(diǎn)數(shù)是3 的幾率是多少? ”題目中“色子”的相關(guān)知識處于缺失狀態(tài).而這種常識性知識是自動解題所需的必備信息之一.常識性知識有什么特點(diǎn)? 如何進(jìn)行歸類分析、存儲處理以及合理應(yīng)用? 這些問題亟待解決,常識發(fā)現(xiàn)及自動引用等對于輔助類人解題至關(guān)重要.
論文對國內(nèi)外初等數(shù)學(xué)應(yīng)用題自動求解的研究現(xiàn)狀和常識庫系統(tǒng)的發(fā)展?fàn)顩r進(jìn)行了分析,結(jié)合古典概型類題目中常識的特征,將常識分類為狀態(tài)類常識和關(guān)系運(yùn)算類常識.本文基于XML 結(jié)構(gòu)構(gòu)建了常識庫的存儲框架,對常識性知識進(jìn)行了規(guī)范化的表征與存儲.在此基礎(chǔ)上設(shè)計(jì)開發(fā)了常識性知識的標(biāo)注工具,能夠輔助研究者進(jìn)行常識存儲.通過實(shí)際應(yīng)用證明,古典概型類題目中缺失的常識能夠有效地從本文構(gòu)建的常識庫中提取.
1964年,Brosch 等[2]設(shè)計(jì)開發(fā)了最早的數(shù)學(xué)問題自動求解系統(tǒng)——STUDENT 系統(tǒng),該系統(tǒng)可以求解用英語表述的簡單代數(shù)問題.STUDENT 系統(tǒng)解題基本步驟:(1)將復(fù)合句轉(zhuǎn)換為單句,并在計(jì)算機(jī)中預(yù)先存儲一定數(shù)量的簡單句式;(2)自定義詞典,抽取題目語句中的關(guān)鍵詞;(3)將單句轉(zhuǎn)換為關(guān)系模型.由于該系統(tǒng)存儲的句式十分有限,無法理解一些句式和語法復(fù)雜的句子.雖然覆蓋面比較小,但STUDENT 系統(tǒng)開創(chuàng)了計(jì)算機(jī)在數(shù)學(xué)領(lǐng)域進(jìn)行類人解題的先河.
目前計(jì)算機(jī)自動求解數(shù)學(xué)問題系統(tǒng)出現(xiàn)了很多,如Wong 等[3]在2007年開發(fā)了LIM-G 系統(tǒng),基于構(gòu)建的本體知識庫,實(shí)現(xiàn)幾何類題目中一步加減應(yīng)用題的自動求解.隨著NLP 技術(shù)的不斷進(jìn)步和硬件的不斷提升,初等數(shù)學(xué)問題的題意理解與自動解題得到了進(jìn)一步發(fā)展.如Kang 等[4]開發(fā)的Analyticallnk,該系統(tǒng)通過對語義圖的推理解決數(shù)學(xué)問題,并按順序自動生成概念和過程腳手架.
國內(nèi)在數(shù)學(xué)問題的題意理解與自動解題的研究上相對滯后,吳林靜等[5]構(gòu)建了一個(gè)面向初等數(shù)學(xué)分層抽樣類應(yīng)用題的句模庫,在此基礎(chǔ)上結(jié)合依存句法完成解題信息的提取.周穎等[6]結(jié)合Kintsch 等的問題表征模型和漢語言中提出的句模,提出了小學(xué)階段中數(shù)學(xué)應(yīng)用題自動求解的研究路線.張濤[7]基于小學(xué)數(shù)學(xué)應(yīng)用題的結(jié)構(gòu)特點(diǎn)的分析對數(shù)學(xué)應(yīng)用題進(jìn)行了分類,利用文本信息抽取方法和“知網(wǎng)體系”知識表示,成功實(shí)現(xiàn)對整數(shù)部分應(yīng)用題的自動求解.
然而,目前數(shù)學(xué)領(lǐng)域內(nèi)的題意理解研究缺乏系統(tǒng)性.已有的問題理解方法大多面向固定模式的簡單問題,能夠成功求解的問題類型十分有限;尤其是缺乏情景支持的常識庫支持,對問題理解的準(zhǔn)確性和完備性不夠,不具有實(shí)際應(yīng)用的泛化能力.
古典概型應(yīng)用題常識表征的主要目的是將自然語言描述的常識轉(zhuǎn)換成計(jì)算機(jī)語言描述的知識,進(jìn)而通過一定的編碼和模型設(shè)計(jì),使得計(jì)算機(jī)能夠理解.常識性知識的基本表征方式常見的有Prolog 語言的表征方式[8]、三元組表征方法、語義網(wǎng)絡(luò)表征和框架式知識表示[9].這里主要對三元組和語義網(wǎng)絡(luò)兩種表征方式進(jìn)行介紹.
(1)三元組表征方法
面向?qū)ο蟮乃枷胫杏袔讉€(gè)基本的概念:類、對象、行為或者方法、繼承等.若將數(shù)學(xué)問題中的常識視作一個(gè)實(shí)體對象,從而可以采用面向?qū)ο蟮乃枷雽ΤWR進(jìn)行處理.對象通常擁有屬性和屬性值,通過三元組(Object,Attribute,Value)就可以將其進(jìn)行組織表征.三元組中Object 代表對象實(shí)體,Attribute 代表對象的屬性,Value 代表實(shí)體對象的屬性值.
通過三元組表示的方式,可以對部分常識進(jìn)行表征.例如猜拳常識,形狀是它的屬性,屬性值有石頭、剪刀、布,表示形式為(猜拳,形狀,(石頭、剪刀、布)).將初等數(shù)學(xué)應(yīng)用題中的常識視為對象進(jìn)行處理,大部分常識最終都能夠表示成三元組的形式,該表達(dá)方式可以被計(jì)算機(jī)理解和處理.
(2)語義網(wǎng)絡(luò)表示方式
語義網(wǎng)絡(luò)擁有著強(qiáng)大和直觀的表征能力,它是由結(jié)點(diǎn)及結(jié)點(diǎn)之間的有向弧構(gòu)成的網(wǎng)狀結(jié)構(gòu)圖.利用有向圖節(jié)點(diǎn)可以表示常識名稱和屬性等,有向圖的邊可以用來描述節(jié)點(diǎn)之間的關(guān)系[10].語義網(wǎng)絡(luò)是通過將知識圖解的方式來進(jìn)行知識表征的,它不僅可以表征事物本身,還可以表征事物間復(fù)雜的聯(lián)系.圖1是語義網(wǎng)絡(luò)表示的實(shí)例,其中“骰子”和“正六面體”是兩個(gè)實(shí)體,它們之間通過“同義詞名稱”指針建立了關(guān)系.
圖1 語義網(wǎng)絡(luò)知識表示實(shí)例
自然語言處理(NLP)中的許多歧義可以通過使用各種形式的知識來解決.在國際人工智能領(lǐng)域,如何正確理解常識性知識一向是亟待解決的難題[11].所謂常識,指的是相關(guān)領(lǐng)域內(nèi)的基礎(chǔ)知識,初等數(shù)學(xué)應(yīng)用題中往往會出現(xiàn)大量的生活常識.常識性知識存在自身的特點(diǎn),具體表現(xiàn)在常識數(shù)量較多、表征困難、無規(guī)律性、領(lǐng)域性強(qiáng)、模糊性等方面[12].目前,很多領(lǐng)域都對常識進(jìn)行了不同程度的研究,并且取得了一定成果,然而依舊無法廣泛地應(yīng)用,缺少可移植性[13].后續(xù)本文以古典概型類題目為例,進(jìn)行常識知識分析和應(yīng)用.
常識知識很少用文本語料庫明確表達(dá)[14].Gordon[15],Angeli 和Manning[16]開發(fā)了從原始文本模式推斷常識的技術(shù),Lenat 等[17]通過手工注釋的方式開發(fā)了常識知識的管理資源.研究者Lenat 領(lǐng)導(dǎo)的研究團(tuán)隊(duì)在1984年啟動的CYC 項(xiàng)目[18],希望建立一個(gè)海量知識庫,但其并沒有考慮到專業(yè)知識和常識的界限,他們把收集來的技術(shù)報(bào)告整本地錄入知識庫中,導(dǎo)致了常識性知識庫很難達(dá)到真正實(shí)用的目的.詞網(wǎng)(WordNet)[19]是一種詞典式的常識知識庫.WordNet 由名詞、形容詞、動詞和副詞組成,各自形成自己的同義詞的網(wǎng)絡(luò),每個(gè)同義詞集合都表示著一個(gè)語義概念,集合之間通過各種關(guān)系進(jìn)行關(guān)聯(lián).基于WordNet 的同義詞聚類,它的語義關(guān)系信息能夠?qū)μ岣咝畔z索結(jié)果有很大的幫助.
常識知識庫的組織結(jié)構(gòu)是一個(gè)十分關(guān)鍵的問題,必須服從于功能需求.本研究將初等數(shù)學(xué)中古典概型應(yīng)用題作為研究對象,為了實(shí)現(xiàn)相關(guān)數(shù)學(xué)問題的自動解答,構(gòu)建的常識庫必須具有方便存儲、檢索便捷和擴(kuò)展性強(qiáng)等特點(diǎn).
古典概型應(yīng)用題用自然語言進(jìn)行描述,其蘊(yùn)含的信息表達(dá)方式靈活多樣,除去數(shù)學(xué)專業(yè)知識和數(shù)據(jù)信息,其中還包含許多常識性知識.本研究收集了歷年高考真題和高考模擬題中的古典概型類題目,共計(jì)654 題.
古典概型應(yīng)用題自動求解過程中,題目所提供的信息至關(guān)重要,但其直接提供的語義信息往往不夠完善,不足以讓計(jì)算機(jī)完成題意理解.如例題“小明和小紅進(jìn)行劃拳,小明一次取勝的概率是多少?”該題中提供了“小明”、“小紅”和“劃拳”3 個(gè)命名實(shí)體以及“進(jìn)行”和“取勝”兩個(gè)關(guān)系判定詞.題目中缺少“劃拳由剪刀、石頭、布組成”和“石頭>剪刀,剪刀>布,布>石頭”等計(jì)算機(jī)所需的解題信息.
通過綜合分析古典概型類應(yīng)用題并進(jìn)行歸納,如圖2所示,研究者發(fā)現(xiàn)計(jì)算機(jī)要完成自動解題需要的常識性知識通常需要包含以下4 類信息,分別是常識的名稱、常識的屬性、常識的屬性值和對應(yīng)的關(guān)系描述.以“硬幣”常識為例,常識的屬性類別為“面”,屬性值為“正面,反面”,對應(yīng)的關(guān)系描述則為“無”.
圖2 古典概型應(yīng)用題的常識性知識的結(jié)構(gòu)
結(jié)合上述結(jié)論,本研究對收集的題目進(jìn)行了完整性分析.統(tǒng)計(jì)結(jié)果顯示其中題目信息完整(根據(jù)題目提供的信息計(jì)算機(jī)便可自動求解)的題目為407 題,缺失常識屬性值的題目為110 題,缺失常識屬性值關(guān)系描述的題目為137 題.題目中缺失的常識性知識屬于人類基本認(rèn)知中的共識,因此部分題目不直接提供相關(guān)常識信息.由圖3可知在缺失常識性知識的情況下,只根據(jù)題目提供的題干信息,38%的題目是無法被計(jì)算機(jī)自動求解的.因此,要實(shí)現(xiàn)計(jì)算機(jī)正確理解和處理這類缺失解題信息的數(shù)學(xué)問題,不僅要構(gòu)建結(jié)構(gòu)完整、功能完善的專業(yè)知識庫,還要建立一個(gè)能夠幫助計(jì)算機(jī)快速、準(zhǔn)確地獲得常識信息的常識知識庫.
圖3 題目解題信息完整程度
通過上述分析可以確定構(gòu)建常識庫的必要性.針對收集的古典概型應(yīng)用題,研究者提取了題目中涉及的常識性知識,深入分析了它們的特點(diǎn),對其進(jìn)行了一定的分類,為相關(guān)常識的表征奠定基礎(chǔ).
研究常識的主要目的是輔助計(jì)算機(jī)進(jìn)行題意理解,將自然語言描述的常識轉(zhuǎn)變?yōu)橛?jì)算機(jī)可以理解和處理的表示形式,可以解決初等數(shù)學(xué)問題中常識信息缺失的問題.為了更好地對常識進(jìn)行表征,必須對其特點(diǎn)進(jìn)行深入的分析,同時(shí)需要分析常識的屬性及屬性之間的關(guān)系.本研究結(jié)合題目所考查知識內(nèi)容,深入分析收集的古典概型類題目中常識,總結(jié)了以下幾個(gè)特點(diǎn)[20].
(1)常識具有情景性
常識來源于人類日常生活,應(yīng)用于人類日常生活.常識性知識不僅和專業(yè)知識有著緊密的聯(lián)系,還有著極強(qiáng)的語境相關(guān)性.初等數(shù)學(xué)應(yīng)用題重點(diǎn)考查學(xué)習(xí)者的數(shù)學(xué)專業(yè)知識,而出題者往往將數(shù)學(xué)知識和生活常識緊密結(jié)合在一起.此類問題中常識往往成為解題的基礎(chǔ),正確理解常識成為解題的必要條件.計(jì)算機(jī)要完成類人解題的目標(biāo),必須先“習(xí)得”常識,將這些具有情景化的常識進(jìn)行收集研究則顯得十分必要.
(2)常識具有隱含性
數(shù)學(xué)應(yīng)用題中大部分常識于人類而言屬于公共的認(rèn)知,其具體知識在題目中處于缺失狀態(tài).古典概型應(yīng)用題中經(jīng)常會出現(xiàn)撲克、骰子、紅綠燈等常識性知識,常識的相關(guān)描述往往被省略.計(jì)算機(jī)無法直接從題目描述中直接提取常識,構(gòu)建輔助計(jì)算機(jī)進(jìn)行題意理解的常識庫顯得至關(guān)重要.
(3)常識具有無規(guī)律性
通過對古典概型高考題目的分析,提取和搜集了常識,發(fā)現(xiàn)這些常識是不具有規(guī)律性的.專業(yè)知識一般需要經(jīng)過一系列系統(tǒng)的數(shù)據(jù)的收集、整理、分析和試驗(yàn)得到的,有著堅(jiān)實(shí)的理論基礎(chǔ),是具有規(guī)律性的知識.相比于專業(yè)知識,常識是沒有嚴(yán)格知識體系結(jié)構(gòu)的.將常識性知識進(jìn)行規(guī)范化表征和存儲,是構(gòu)建常識庫的核心工作.
(4)特定領(lǐng)域中常識的數(shù)量是有限的
若面向的是人類常識,這個(gè)數(shù)量是極其龐大的,靠小團(tuán)體的力量是無法完成對這些常識的收集.古典概型是高考重點(diǎn)考察的知識點(diǎn)之一,解答相關(guān)題目時(shí)需要頻繁地應(yīng)用常識性知識,而此領(lǐng)域中的常識又有著較大的重復(fù)性和代表性.除去題目中已經(jīng)提供完整實(shí)體及其屬性值的常識,需要額外應(yīng)用的常識性知識數(shù)量是有限的.當(dāng)然隨著題目數(shù)量的增加和研究范圍的擴(kuò)大,將會有更多的常識需要存儲到常識庫當(dāng)中.
人類的常識浩如煙海,若想存儲所有常識性知識,并讓它們能夠有效地被使用,那將會是一個(gè)世紀(jì)工程.而在古典概型應(yīng)用題類人求解過程中,所涉及的常識其實(shí)只是常識性知識中很小的一部分,可以說是冰山一角.通過將常識進(jìn)行分類,可以讓其表征和存儲結(jié)構(gòu)更加合理.根據(jù)研究過程的實(shí)際情況,結(jié)合古典概型類題目中相關(guān)常識性知識的特征,將收集的常識分為以下兩大類.
(1)狀態(tài)類常識
狀態(tài)類常識指的屬性值是離散的、互斥的常識,狀態(tài)描述了對象的屬性特征和相關(guān)屬性值之間的關(guān)系特征.此類常識的屬性值有多個(gè)狀態(tài),不同情況下呈現(xiàn)其中一種,因此將其歸類為狀態(tài)類.例如紅綠燈,存在紅燈、黃燈、綠燈等3 個(gè)狀態(tài),當(dāng)然若題目進(jìn)行特殊說明時(shí)可能只存在紅燈和綠燈兩個(gè)狀態(tài).除此之外,還存在著紅燈停,綠燈行的邏輯關(guān)系.表1羅列了部分狀態(tài)類常識的相關(guān)信息.
(2)關(guān)系運(yùn)算類常識
關(guān)系運(yùn)算類常識指的是題目中各個(gè)命名實(shí)體之間的數(shù)學(xué)邏輯關(guān)系知識.在古典概型類人求解中,會大量運(yùn)用到關(guān)系運(yùn)算類常識,此類常識能夠較好地解決從多樣的中文關(guān)系描述轉(zhuǎn)換到數(shù)學(xué)符號表達(dá)的問題.因此將它們以一定的形式進(jìn)行表征,會對數(shù)學(xué)問題的自動解題有很大的幫助.表2羅列了部分關(guān)系運(yùn)算類常識的相關(guān)信息.
表1 狀態(tài)類常識表征
表2 關(guān)系運(yùn)算類常識
將收集的高考真題中的常識進(jìn)行抽取,采用合理的表征方式將其表示成計(jì)算機(jī)可以理解和處理的信息是構(gòu)建常識庫所必要的工作.古典概型應(yīng)用題涉及到的常識有其各自的特征與類別,選擇合適的表征方式來存儲常識性知識顯得至關(guān)重要.前文相關(guān)研究中介紹了常識性知識的基本表征方式,涉及的4 種表征方式并不能便捷地將所有的常識進(jìn)行表征與存儲.
目前,數(shù)據(jù)存儲方式常見的有基于數(shù)據(jù)工具存儲、數(shù)據(jù)庫存儲方法、基于文本存儲方法等方法[21].基于文本存儲方法的特點(diǎn)是管理簡單、方便修改、可擴(kuò)展性強(qiáng)等.早期的數(shù)據(jù)管理工作原理是基于文件系統(tǒng)實(shí)現(xiàn)的[22].文件存儲格式有XML 文本、TXT 純文本、DOC文本、HTML 超文本標(biāo)記語言等.文件存儲方法也有不足之處,例如當(dāng)文件較大時(shí),其使用效率就會降低.當(dāng)文件進(jìn)行隨機(jī)訪問時(shí),文件的訪問變得困難.結(jié)合古典概型類題目中常識的特征,本研究采取XML 文件進(jìn)行存儲,能夠簡便、有效地實(shí)現(xiàn)節(jié)點(diǎn)信息、數(shù)據(jù)的保存.
數(shù)學(xué)解題需要的常識性知識包含常識的屬性、屬性值以及屬性之間的關(guān)系等信息.基于XML 設(shè)計(jì)的存儲文件應(yīng)能夠簡單快捷地存儲常識的全部信息,同時(shí)能夠便捷地提取信息.常識知識庫的存儲文件結(jié)構(gòu)如圖4所示.
圖4 常識庫存儲文件結(jié)構(gòu)
存儲文件的元素標(biāo)簽及其含義如表3所示.
表3 元素標(biāo)簽及其含義
定義完標(biāo)簽后,研究者可以利用這些標(biāo)簽對需要存儲的常識進(jìn)行表征,本研究對分類的常識采用兩種不同的XML 結(jié)構(gòu)進(jìn)行描述.狀態(tài)類常識XML 描述的舉例,針對“猜拳”這一常識實(shí)體的XML 描述如圖5所示.
圖5 “猜拳”的XML 描述
運(yùn)算類常識XML 描述的舉例,針對“大于”這一常識實(shí)體的XML 描述如圖6所示.
圖6 “大于”的XML 描述
基于本文構(gòu)建的常識庫存儲結(jié)構(gòu),設(shè)計(jì)開發(fā)了常識庫的標(biāo)注工具.通過該工具研究者可以便捷地完成常識性知識的存儲.常識庫標(biāo)注工具的主要功能有分詞和詞性標(biāo)注功能、依存句法分析功能、實(shí)體識別功能、常識檢索功能和常識標(biāo)注功能.
3.2.1 功能模塊詳細(xì)設(shè)計(jì)
常識的檢索功能:研究者通過常識庫標(biāo)注工具可以檢索對應(yīng)常識性知識是否錄入,若已存儲便可查看該常識的相關(guān)信息.
常識的標(biāo)注功能:根據(jù)研究者從數(shù)學(xué)應(yīng)用題中提取的常識,按照工具提示的內(nèi)容完成常識性知識相關(guān)信息的錄入,最終存儲到XML 數(shù)據(jù)庫當(dāng)中.
常識的管理功能:研究者通過該工具可以對已存儲的常識進(jìn)行管理,包括常識的修改、添加和刪除等操作.
根據(jù)常識庫標(biāo)注工具的功能結(jié)構(gòu)和功能模塊的設(shè)計(jì),得到了標(biāo)注工具的使用流程圖,如圖7所示.
3.2.2 常識庫標(biāo)注工具實(shí)現(xiàn)
研制常識庫標(biāo)注工具的主要目的是輔助研究者完成常識性知識的標(biāo)注工作.此工具使用Pycharm 作為開發(fā)平臺,采用目前主流開發(fā)語言Python 實(shí)現(xiàn)工具的核心功能,并利用圖形程序框架PyQt5 來開發(fā)整個(gè)界面.如圖8所示,主界面中包含了分詞和詞性標(biāo)注、依存句法分析和實(shí)體識別等功能.結(jié)合圖7標(biāo)注工具的使用流程圖便可以完成常識的標(biāo)注工作.
圖7 標(biāo)注工具的使用流程圖
圖8 標(biāo)注工具的基本界面
分詞和詞性標(biāo)注功能、依存句法功能和實(shí)體識別功能可以幫助研究者更好地解析數(shù)學(xué)應(yīng)用題中句子的結(jié)構(gòu)成分,從而準(zhǔn)確、便捷地獲取常識.以上功能通過使用哈工大語言技術(shù)平臺(LTP)提供的模型來實(shí)現(xiàn),這些模型對自然語言的處理有著非常優(yōu)異的效果.分詞的準(zhǔn)確性將會直接影響到詞性標(biāo)注、依存句法和實(shí)體識別等功能的實(shí)際效果,原模型缺乏古典概型應(yīng)用題中專有的詞匯,因此構(gòu)建了新的詞典,該詞典以搜狗詞庫中基礎(chǔ)數(shù)學(xué)用詞為基礎(chǔ),人工添加部分專用詞匯.如圖8所示,研究者輸入完應(yīng)用題題目后,利用這些功能對題目進(jìn)行分析,成功獲取“骰子”常識.
同時(shí),在此界面中可以查詢相應(yīng)常識是否已被存儲,圖中由于“骰子”已存在,直接呈現(xiàn)常識的相關(guān)信息.若常識不存在,研究者可以點(diǎn)擊“常識錄入”,常識錄入前研究者需要選擇存儲常識的類型,如:運(yùn)算類常識.確定常識類型后會進(jìn)入常識具體信息的標(biāo)注界面,在此以狀態(tài)類常識為例,如圖9所示.通過該界面完善常識的相關(guān)信息后可以直接生成對應(yīng)的XML 結(jié)構(gòu)文件進(jìn)行存儲.常識庫的標(biāo)注工具不僅能簡化存儲過程,提高常識存儲的效率,同時(shí)保證了生成文件結(jié)構(gòu)的正確性.
圖9 狀態(tài)類常識標(biāo)注界面
3.3.1 常識提取的基本規(guī)則常識提取過程的本質(zhì)是將存儲于常識庫中的信息讀取到文檔類相應(yīng)數(shù)據(jù)結(jié)構(gòu)中的過程.常識信息提取過程如圖10所示,其簡要闡明了常識庫在古典概型應(yīng)用題自動解答過程中所充當(dāng)?shù)慕巧?虛線內(nèi)的內(nèi)容為常識庫的應(yīng)用流程圖.
圖10 常識性知識庫應(yīng)用流程圖
3.3.2 常識庫的案例應(yīng)用
數(shù)學(xué)應(yīng)用題自動求解過程中,計(jì)算機(jī)需要提取題目中涉及的命名實(shí)體.如圖11所示,題目中包含了[小明,小紅,劃拳] 3 個(gè)實(shí)體,計(jì)算機(jī)并沒有關(guān)于“劃拳”的先驗(yàn)知識,而題目中也未進(jìn)行相關(guān)解釋.查詢常識庫,首先匹配XML 文件名,“Finger-guessing”不存在,匹配失敗.遍歷XML 文件,匹配常識名稱,匹配成功,直接提取“劃拳”的相關(guān)信息.此外通過提取命名實(shí)體之間的相互關(guān)系,可以匹配獲得古典概型解題模型,將數(shù)值信息代入解題模型中即完成了古典概型應(yīng)用題的自動求解.
圖11 常識性知識庫應(yīng)用流程圖
本文首先對初等數(shù)學(xué)問題自動求解的研究現(xiàn)狀和現(xiàn)有常識庫的應(yīng)用情況進(jìn)行了分析,并結(jié)合古典概型類應(yīng)用題中常識的特征構(gòu)建了常識庫的存儲框架.基于該框架開發(fā)了常識庫的標(biāo)注工具,使用該工具可以快速、準(zhǔn)確地存儲常識性知識.最后,通過案例應(yīng)用證明本文構(gòu)建的常識庫能夠精準(zhǔn)地提取到古典概型類應(yīng)用題所需的常識性知識,從而可以有效地輔助計(jì)算機(jī)完成數(shù)學(xué)問題的自動求解.
然而,未來的研究任務(wù)依然是艱巨的,目前研究者聚焦于古典概型題目,這僅僅是初等數(shù)學(xué)中一小部分內(nèi)容.隨著研究范圍的擴(kuò)大,需要存儲的常識數(shù)量也會急劇上升,其類別和屬性內(nèi)容也會更加多樣.針對這些問題,后續(xù)的研究工作:
(1)擴(kuò)大常識知識庫,本研究僅收集了古典概型應(yīng)用題,后期希望擴(kuò)大研究范圍,收集不同類型的題目,覆蓋更多初等數(shù)學(xué)中的內(nèi)容;
(2)目前研究中常識是人工提取的,未來研究中可以嘗試自動獲取的方式;
(3)尋找更合理的常識表征方式,針對目前研究所需的常識,XML 結(jié)構(gòu)存儲十分有效,隨著常識數(shù)量、種類以及涉及領(lǐng)域的增加,需要投入更多的相關(guān)研究.