啜春紅
(南京機電職業(yè)技術(shù)學(xué)院,江蘇南京 211135)
知識圖譜是人工智能技術(shù)的一種新型應(yīng)用形式,能夠結(jié)構(gòu)化地展示實體與概念之間的關(guān)系,幫助人們對某一學(xué)科中各種知識所構(gòu)建起來的知識體系有一個全面的了解[1-2]。石英杰等人將知識圖譜應(yīng)用于搜索引擎設(shè)計中,為用戶提供更具深度的互聯(lián)網(wǎng)信息[3],趙一鳴等人建立了中文通用知識圖譜——CN-DBpedia,以中文維基百科、互動百科、百度百科為數(shù)據(jù)來源,綜合運用語義推理、語義融合等技術(shù)建立起一套中文知識圖譜[4]。將知識圖譜應(yīng)用于英語語法教學(xué)中,不僅有助于學(xué)習(xí)者精準(zhǔn)掌握語法知識結(jié)構(gòu),還有助于全面掌握語法知識關(guān)聯(lián),進而推動英語語法學(xué)習(xí)的智能化、全面化、精準(zhǔn)化,在提高學(xué)習(xí)效率的同時減輕學(xué)生的學(xué)習(xí)負擔(dān)[5-8]。
在本文所建立的英語語法知識圖譜中,英語語法的數(shù)據(jù)來源分別為百度百科和《現(xiàn)代英語語法》(商務(wù)印書館)、《薄冰英語語法第4 版》、《外研社英語語法大全》三個英語語法書籍,并將其內(nèi)容進行數(shù)字化處理,一共獲得106 個語法結(jié)構(gòu)及35個語法知識點名稱(15個句類知識點名稱、20個詞類知識點名稱),具體數(shù)據(jù)及說明如表1所示。
表1 語法書籍?dāng)?shù)據(jù)說明
知識圖譜的實體設(shè)計具體包括詞類知識點名稱、詞類知識點概念、詞類知識點舉例詞匯、句類知識點結(jié)構(gòu)詞匯四項,各項的具體含義如表2所示。
表2 圖譜實體類別及說明
本文所設(shè)計的英語語法知識圖譜共包含18 種語法關(guān)系,關(guān)系類別及相關(guān)說明如表3所示,其中前10 組關(guān)系類別如表3所示。
表3 知識圖譜實體關(guān)系類別設(shè)計及其說明
Neo4j 是當(dāng)前得到廣泛應(yīng)用的一種圖形數(shù)據(jù)庫,該數(shù)據(jù)庫具有圖形處理和圖形存儲兩項主要功能[9]。相比于單純的關(guān)系型數(shù)據(jù)庫來說,Neo4j 圖形數(shù)據(jù)庫所支持的Cypher 查詢語言和屬性圖模型可大幅提升查詢效率,支持大規(guī)則數(shù)據(jù)查詢[10]。該圖形數(shù)據(jù)庫還能夠通過結(jié)點和線段等簡單的圖形樣式來展現(xiàn)不同知識實體之間的關(guān)系結(jié)構(gòu),知識數(shù)據(jù)的展現(xiàn)形式明確且靈活[11-12]。Neo4j還兼容Python接口,可與基于Python 語言所編輯的英語學(xué)習(xí)系統(tǒng)無縫結(jié)合,降低系統(tǒng)編程難度[13]。
首先將知識圖譜中的的4 個實體表及18 個關(guān)系表轉(zhuǎn)換為CSV文件,在此基礎(chǔ)上通過Neo4j圖數(shù)據(jù)庫中的LOAD命令批量導(dǎo)入CSV 文件[9],并將18 個關(guān)系直接命名為將來進行式、過去進行時、現(xiàn)在進行式、將來完成時、現(xiàn)在完成時、過去完成時、一般將來時、一般過去式、一般現(xiàn)在時、狀語從句、定語從句、虛擬語氣、被動語態(tài)、倒裝句、祈使句、舉例、概念、包含。
本文通過Py2neo連接Neo4j圖數(shù)據(jù)庫,采用建立節(jié)點和建立關(guān)系的方式針對語法題目實施向量設(shè)計,核心代碼如下:
# 建立節(jié)點
test_node_1=Node("is",name="VBG")
test_node_2=Node("is",name="is")
test_graph.create(test_node_1)
test_graph.create(test_node_2)
# 建立關(guān)系
node_1_call_node_2=Relationship(test_node_1,′現(xiàn)在進行時′,test_node_2)
# node_1_call_node_2[′count′]=1
node_2_call_node_1=Relationship(test_node_2,′一般現(xiàn)在時′,test_node_1)
# node_2_call_node_1[′count′]=2
test_graph.create(node_1_call_node_2)
test_graph.create(node_2_call_node_1)
以如圖1所示的題目為例,該題目的答案是“is reading”,經(jīng)過詞性標(biāo)注后可得到如圖2所示的內(nèi)部匹配結(jié)果。
圖1 匹配題目示例
圖2 知識圖譜基本原理
在向Neo4j 圖數(shù)據(jù)庫導(dǎo)入CSV 文件后,Neo4j 會針對知識圖譜數(shù)據(jù)加以數(shù)據(jù)化展示。本文所設(shè)計的英語語法知識圖譜共包含知識點實體1103 個,在圖譜中以結(jié)點的形式加以展現(xiàn),其中包含69 個句類知識點結(jié)構(gòu)詞匯、994 個詞類知識點舉例詞匯、20 個詞類知識點概念、20 個詞類知識點名稱。局部英語語法知識圖譜如圖3所示,4 個實體類別分別以4種大小的結(jié)點加以表示,各實體之間的關(guān)系標(biāo)注于各實體之間的連接線上。
圖3 局部英語語法知識圖譜
在需要查看圖譜細節(jié)信息的情況下,用戶可以直接輸入Cypher語句即可進一步查閱實體的內(nèi)容以及與其他實體之間的關(guān)系。在英語語法圖譜中,由于句類、詞類兩種知識點分別以邊和點的形式加以存儲,因此需要通過不同的語句實現(xiàn)查詢。以句類知識點“現(xiàn)在完成時”的查詢?yōu)槔?,該知識點在英語語法圖譜中的查詢結(jié)果如圖4所示。
根據(jù)圖4可知,在英語語法圖譜中的完成時部分共包含6個常見語法,用戶可以直觀查閱有關(guān)于“現(xiàn)在完成時”的各種詞匯。另外,若根據(jù)圖譜中箭頭的方向持續(xù)讀取,還能夠獲取較為完整的“現(xiàn)在完成時”句型,比如“has+not+VBN”、“has+been+done”等,其中動詞的過去分詞通過VBN 加以表示。
在針對“現(xiàn)在完成時”進行查詢的過程中,圖譜還展示了“將來完成時”和“被動語態(tài)”等相關(guān)句式,可以幫助用戶發(fā)現(xiàn)現(xiàn)在完成時與被動語態(tài)之間的關(guān)聯(lián),即“have+been”句型,該句型既可以用來表達現(xiàn)在完成時,也可以用來表達被動語態(tài)。
了解語法結(jié)構(gòu)和建立語法意識是英語語法學(xué)習(xí)的關(guān)鍵,英語語法知識圖譜可以用來對語法的知識點網(wǎng)絡(luò)加以直觀地展示,幫助用戶明確各知識點之間的區(qū)別和聯(lián)系。另外,圖形化的圖譜界面可集中展示重要信息,幫助用戶明確學(xué)習(xí)重點,減輕用戶學(xué)習(xí)英語語法的壓力與負擔(dān)。在實際應(yīng)用中,開發(fā)者還可以將本文所設(shè)計的英語語法圖譜與基于Python 語言所建立了英語在線學(xué)習(xí)系統(tǒng)結(jié)合起來,以Web瀏覽器的形式實現(xiàn)用戶對英語語法圖譜的訪問,進而在無需安裝PC 客戶端的情況下實現(xiàn)對英語語法知識圖譜的在線查閱。