徐雄峰 張非凡
摘要:為了完善知識圖譜的覆蓋率,擴充學(xué)科知識庫的知識量,使得基于知識圖譜的學(xué)科問答檢索更加精準(zhǔn),基于RDF的學(xué)科數(shù)據(jù)庫擴充方法彌補了半自動語義標(biāo)注的數(shù)據(jù)的效率慢和代價高的缺點.本文設(shè)計并實現(xiàn)了一種在領(lǐng)域?qū)W科本體庫的基礎(chǔ)之上,通過PYTHON 語言編寫出基于本體的自動語義生成技術(shù)。以基礎(chǔ)教育學(xué)科政治學(xué)科為例,對百度百科數(shù)據(jù)進行文本獲取并生成RDF數(shù)據(jù)的擴充方法。實驗結(jié)果證明,基于RDF的學(xué)科數(shù)據(jù)庫擴充方法在應(yīng)用于領(lǐng)域?qū)W科知識數(shù)據(jù)庫擴充上具有較高的可行性和實用性。
關(guān)鍵詞:知識圖譜;本體;RDF;概念;屬性
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)10-0242-03
Abstract: In order to improve the knowledge graph of the coverage, expand the amount of knowledge of the knowledge database, and make the subject question and answer retrieval more accurate based on the knowledge graph. The method of extending the subject database based on RDF makes up for the shortcomings of the slow and high cost of the semi-automatic semantic annotation. In this paper, an automatic semantic generation technology based on ontology is designed and implemented on the basis of the domain subject ontology library in the PYTHON language. Taking the political subject of basic education as an example, the method of expanding the text of Baidu encyclopedia data and generating RDF data. The experimental results show that the extension method of subject database based on RDF is more feasible and practical in the application of domain knowledge database expansion.
Key words: knowledge graph; ontology; RDF; concept; attribute
隨著知識圖譜的發(fā)展,將知識圖譜應(yīng)用在中文領(lǐng)域已成為目前國內(nèi)最新最熱的研究方向之一,知識圖譜對于構(gòu)建知識間的邏輯關(guān)聯(lián)性有著很大的幫助,同時使用知識圖譜進行知識問答,相比較傳統(tǒng)搜索問答,可以更加精準(zhǔn)的獲取答案[1]。對于構(gòu)建基于知識圖譜的知識庫而言,知識圖譜的標(biāo)準(zhǔn)數(shù)據(jù)通常是由資源描述框架RDF(Resource Description Framework)三元組數(shù)據(jù)存儲形式構(gòu)成[2]。對于學(xué)科領(lǐng)域的問答而言,知識庫的大小,關(guān)乎知識圖譜的豐富程度以及搜索問答的正確率。對于教育學(xué)科來說,通過人工語義標(biāo)注和自動語義標(biāo)注生成RDF數(shù)據(jù)的方法,在準(zhǔn)確率上較高,但是在效率和成本上則太大,所以有必要研究如何在短時間內(nèi)、低成本、準(zhǔn)確地獲取大量RDF數(shù)據(jù)有著很大的必要和研究意義。本文以基礎(chǔ)教育學(xué)科政治為例來擴充數(shù)據(jù)庫知識。政治學(xué)科是一門重要的基礎(chǔ)教育學(xué)科,它既包含了中文語義多樣化的特點,同時又是一門對其領(lǐng)域語言表達(dá)正誤要求高的學(xué)科。而且對政治學(xué)科擴充采用依據(jù)本體的自動語義生成技術(shù)可以很好的應(yīng)用到基礎(chǔ)教育的其他學(xué)科。本文設(shè)計并實現(xiàn)了政治知識庫的數(shù)據(jù)擴充方法,通過使用爬蟲技術(shù),對百科數(shù)據(jù)進行爬取,并生成RDF數(shù)據(jù)。經(jīng)過對擴充數(shù)據(jù)的實驗比較測試分析,基于RDF的學(xué)科數(shù)據(jù)庫擴充方法在應(yīng)用于領(lǐng)域?qū)W科知識數(shù)據(jù)庫擴充上具有較高的可行性和實用性。
1 本體的構(gòu)建
知識圖譜從某種程度上來說是一張領(lǐng)域內(nèi)的巨大語義網(wǎng)絡(luò)圖,它的本質(zhì)是將領(lǐng)域內(nèi)知識進行重組的一個過程,它在知識點之間建立一種邏輯關(guān)聯(lián),進而來描述真實世界里實體或概念及它們之間的關(guān)系[3]。知識圖譜的架構(gòu)包括邏輯架構(gòu)和體系架構(gòu),邏輯架構(gòu)包括知識圖譜里最核心的模式層和數(shù)據(jù)層。對于知識圖譜來說,本體庫是用來管理知識圖譜的模式層,它是知識圖譜的核心[4]。本體對于構(gòu)建領(lǐng)域知識圖譜是很重要的一個環(huán)節(jié),是一個建模的過程。本文在斯坦福大學(xué)Noy與McGuinness[5]提出的領(lǐng)域本體構(gòu)建七步法之上,以政治學(xué)科為例,根據(jù)其學(xué)科特點,在政治學(xué)科領(lǐng)域?qū)<业膸椭笇?dǎo)下,通過人工的方式來構(gòu)建政治學(xué)科本體。學(xué)科的本體構(gòu)建不同于其他本體構(gòu)建方式,人工構(gòu)建政治學(xué)科領(lǐng)域本體可以保證其適用性和準(zhǔn)確性。本文構(gòu)建政治學(xué)科本體總共分為六個模塊:領(lǐng)域范圍、構(gòu)建知識分類體系、構(gòu)建知識概念體系、定義對象關(guān)系、本體修改以及本體審核。
領(lǐng)域范圍:本體是一個特定領(lǐng)域的抽象,它是知識庫的一個模型,在構(gòu)建本體需要確定本體的范圍。政治學(xué)科的本體構(gòu)建領(lǐng)域范圍是在政治學(xué)科老師的幫助指導(dǎo)下,確定了本體庫的構(gòu)建需要以初高中政治知識清單為參考目標(biāo),并且覆蓋初高中政治學(xué)科知識點、中高考考綱考點,服務(wù)于初、高中學(xué)生學(xué)習(xí),以及教師教學(xué)輔導(dǎo)。
構(gòu)建知識分類體系:知識分類體系是對對學(xué)科教育教學(xué)的一個分類。本文以政治學(xué)科為例,對初、高中政治知識進行統(tǒng)一的劃分。通過知識分類體系,可以很好地將政治知識間的上下位關(guān)系進行表示,對知識點之間的層次關(guān)系進一步明細(xì)結(jié)構(gòu)化,如圖1所示政治知識分類體系的部分內(nèi)容。
構(gòu)建知識概念體系:領(lǐng)域內(nèi)的本體通常是由一定數(shù)量的術(shù)語以及術(shù)語之間的關(guān)系所構(gòu)成的,術(shù)語(term)指的是領(lǐng)域內(nèi)的重要概念[6-7]。在本文中,擴充數(shù)據(jù)針對的是政治學(xué)科,則本體是用來表示政治學(xué)科中知識點和知識點之間的關(guān)系,也就是政治重要概念。對于學(xué)科中出現(xiàn)的核心知識點、關(guān)鍵詞語、關(guān)鍵概念,結(jié)合領(lǐng)域?qū)<业囊庖?,我們認(rèn)為這些就是政治學(xué)科領(lǐng)域中的term,也就是本體中的類(owl:Class)。知識概念體系中的分層結(jié)構(gòu)體現(xiàn)了分類概念之間的一種繼承關(guān)系,建立政治知識概念體系統(tǒng)籌的將領(lǐng)域概念進行分類組織,可以更好地描述領(lǐng)域概念之間結(jié)構(gòu)關(guān)系,使本體中的概念模塊化。圖2是知識分類體系中的部分內(nèi)容,其中“貨幣”、“價格”、“法律”等,這些都是政治學(xué)科領(lǐng)域內(nèi)的重要概念。
定義對象關(guān)系:定義對象關(guān)系其實是對屬性的挖掘,包括對象屬性以及常用屬性挖掘,它們主要是對主語和賓語之間關(guān)系的進行挖掘。在知識圖譜中,實體(即概念)和實例之間、實例和實例之間、實例和屬性值之間需要通過一定的關(guān)系進行映射。本文中,以政治學(xué)科為例,我們通過LDA模型進行訓(xùn)練,用 “類型”這一對象屬性來映射知識點實例所對應(yīng)的知識概念模型。在知識點實例與知識分類體系上的關(guān)系映射上,使用“分類”來描述知識點實例與教育分類節(jié)點之間的關(guān)系。在實例之間的關(guān)系映射上,使用“強相關(guān)”于來進行描述。對于實例值和屬性值之間的關(guān)系,我們根據(jù)統(tǒng)計學(xué)的原理,通過迭代的方式,在領(lǐng)域?qū)<业闹笇?dǎo)下,在構(gòu)建政治本體知識庫的過程中,統(tǒng)計構(gòu)建了政治學(xué)科關(guān)系屬性表。除了三個基本的對象屬性“類型”、“分類”、“強相關(guān)于”之外,政治學(xué)科共有122個常用屬性。
本體修改:政治學(xué)科本體的構(gòu)建是一個不斷修改、豐富的過程。在語義標(biāo)注的過程中,隨著標(biāo)注的進行,本體也在進行一定的修改完善。
本體審核:本體審核是人工構(gòu)建本體的一個核實階段,這也是目前手工構(gòu)建本體的一個共識步驟。尤其對政治學(xué)科而言,通過政治學(xué)科領(lǐng)域?qū)<覍Ρ倔w的檢查以及提出的修改意見,可以更好的保證本體的完善性以及正確性。
2 基于本體的自動語義生成
在本文中,我們RDF三元組用<主語-謂語-賓語>來進行表達(dá),主語也就是實例,謂語是關(guān)系,賓語則是屬性值。實例對本體庫中的實體而言,它是一個具體化的對象。基于本體來進行自動語義生成可以很好地完成實例和實體之間的映射,大大減少知識庫與外部數(shù)據(jù)庫融合時的困難,同時也可以更好地體現(xiàn)出知識圖譜的完整。
以政治學(xué)科為例,基于本體的自動語義生成技術(shù)是根據(jù)已經(jīng)構(gòu)建好的政治本體庫,構(gòu)建政治實例表,在短時間內(nèi),使用網(wǎng)絡(luò)爬蟲的手段,對網(wǎng)絡(luò)數(shù)據(jù)進行一系列的處理,最后生成可用的RDF數(shù)據(jù)。本文主要從數(shù)據(jù)來源和爬取方法兩個方面對自動語義生成技術(shù)進行描述。
1)數(shù)據(jù)來源:百度百科有關(guān)政治學(xué)科資源數(shù)據(jù)。在對政治學(xué)科網(wǎng)站資源分析的對比中,我們發(fā)現(xiàn)百度百科中搜羅了大量的政治學(xué)科資源,其中包含了許多政治本體知識庫中沒有的政治知識點。同時百科內(nèi)容結(jié)構(gòu)化強,可以通過Python爬蟲,對不同的實例進行同時分析爬取,在短時間內(nèi),獲得大量的三元組數(shù)據(jù)。
2)挖掘?qū)ο螅簩傩酝诰颉傩灾低诰?。在基于本體的自動語義生成技術(shù)中,我們需要根據(jù)已經(jīng)構(gòu)建的政治實例對百科詞條頁面內(nèi)進行屬性挖掘和屬性值挖掘,也就是三元組中謂語和賓語的挖掘。
以百科中政治知識文本“文化基本定義是廣泛的知識面與根植于內(nèi)心的修養(yǎng)?!睘槔?,依據(jù)本體庫中的屬性關(guān)系,我們可以構(gòu)建下面一條正則表達(dá)式:
[基本定義\S{0,}?[,。]] (1)
式1正則表達(dá)式是通過“基本定義”屬性所創(chuàng)建的,屬性值提取“基本定義”后到最近的標(biāo)點符號之間的文本,得到三元組“文化—基本定義—是廣泛的知識面與根植于內(nèi)心的修養(yǎng)”。
4)爬取流程:基于本體的自動語義生成 RDF數(shù)據(jù)的獲取程序是使用python語言編寫的,通過一些具體的正則表達(dá)式來進行三元組提取。根據(jù)政治學(xué)科本體,通過導(dǎo)入學(xué)科實例表,對獲取的百科詞條頁面進行結(jié)構(gòu)分析,通過正則語句生成RDF三元組,然后對獲取的數(shù)據(jù)進行二次檢索,最后生成并導(dǎo)出RDF數(shù)據(jù)。其中流程里的二次檢索是針對政治學(xué)科而言的,在政治學(xué)科中有著一些特殊的敏感性詞匯,用詞不準(zhǔn)確、不恰當(dāng),它不適用于基礎(chǔ)教育教學(xué)領(lǐng)域,超出了初、高中政治學(xué)科的內(nèi)容要求。通過二次檢索中敏感詞過濾的手段,可以將這些不適的內(nèi)容剔除掉,從而保證獲取數(shù)據(jù)的正確性,也避免了后期需要進行復(fù)雜的數(shù)據(jù)清洗(圖3 RDF數(shù)據(jù)獲取流程圖)。
以百科詞條中的“貨幣”為例:
? 首先將詞條“貨幣”添加到實例文本中,從程序中導(dǎo)入實例文本。
? 正則匹配該詞條實例所對的百科URL,正則語句:re.compile(r”(http://baike.baidu.com/.+?)\””)。
? 分析實例“貨幣”所在百科頁面結(jié)構(gòu),獲取正文內(nèi)容。
? 從正文文本中篩選信息,進行正則匹配,提取實例“貨幣”中可用的三元組。
? 進行二次檢索,在領(lǐng)域?qū)<业闹笇?dǎo)下構(gòu)建敏感詞匯表,進行判定,進一步篩選,將數(shù)據(jù)信息中出現(xiàn)敏感詞匯的三元組刪除掉。判定語句:
for each_mingan in minganci:
if each_mingan in res_data[‘summary]:
flag=0#存在敏感詞則標(biāo)記為0
break
? 導(dǎo)出Excel文件并生成RDF數(shù)據(jù),其中Excel文件是為了方便進行人工核查,圖4 是生成Turtle格式的RDF數(shù)據(jù),表1是生成Excel格式的RDF數(shù)據(jù),Turtle格式的RDF數(shù)據(jù)用于知識庫存儲和問答檢索,Excel格式的RDF數(shù)據(jù)方便人工進行審核。
依據(jù)圖4和表1的RDF數(shù)據(jù)分析,對于“貨幣”這一實例來說,在百科中的詞條內(nèi)容中,我們通過基于本體的自動語義生成技術(shù)共獲得了6條三元組。
在本體知識庫中,政治學(xué)科知識庫一共有7065條三元組,這是由6位標(biāo)注人員在一周的時間內(nèi)進行半自動語義標(biāo)注所生成的。而通過使用依據(jù)本體的自動語義生成技術(shù),在6分鐘內(nèi),對政治學(xué)科790個實例進行爬取,共獲得4091條三元組。
3 實驗與分析
3.1數(shù)據(jù)測試實驗
本文采用外部數(shù)據(jù)擴充準(zhǔn)確率的方法對爬取數(shù)據(jù)生成的Excel進行檢查實驗。準(zhǔn)確率判定公式是:
式(2)中N1是該實例對當(dāng)前百科頁面通過爬蟲所獲取的三元組數(shù)目,N是當(dāng)前頁面應(yīng)獲取的三元組數(shù)目,另外我們用時間T(單位s)來表示程序運行時間。
實驗隨機抽取4個實例進行了準(zhǔn)確率測試(表2準(zhǔn)確率測試結(jié)果)。
我們對表2中的數(shù)據(jù)進行分析,其中準(zhǔn)確率測試均在0.857以上,其中在該實驗中4個實例準(zhǔn)確率的平均值為0.898。我們對4個實例所在的百科詞條頁面進行結(jié)構(gòu)分析,發(fā)現(xiàn)主要原因是我們的正則表達(dá)式編寫問題,正則匹配得到三元組過粗。通過對屬性值進一步的挖掘,還可以獲取更多條三元組。同時在敏感詞的過濾上,由于是程序檢索,會錯誤的刪除一些有用的三元組。針對以上原因,我們認(rèn)為通過正則去提取三元組,還需要經(jīng)過大量的訓(xùn)練,同時在針對敏感詞表過濾后的三元組數(shù)據(jù),還需要經(jīng)過再次處理??傮w來說,通過隨機數(shù)據(jù)測試實驗的結(jié)果分析,依據(jù)政治本體的自動語義生成技術(shù)可以很大程度的增加政治知識圖譜的規(guī)模,獲得大量的RDF三元組。
4 總結(jié)
本文根據(jù)基礎(chǔ)教育學(xué)科的特點來設(shè)計實現(xiàn)基于RDF的學(xué)科數(shù)據(jù)庫擴充方法。根據(jù)上述實驗分析以及自動生成的數(shù)據(jù)結(jié)果來看,通過本文的自動語義生成技術(shù)對政治數(shù)據(jù)的擴充是可行的。在自動語義標(biāo)注的質(zhì)量上有著一定的保證,可以很大程度上完善知識圖譜的知識覆蓋。另外應(yīng)用于政治學(xué)科的自動語義生成技術(shù)在短時間內(nèi)生成大量的RDF三元組,可以大大地減少物力人力,縮減時間,這將對中文知識圖譜其他領(lǐng)域數(shù)據(jù)擴充有著很好的參照價值。
參考文獻(xiàn):
[1] 杜澤宇,楊燕,賀樑.基于中文知識圖譜的電商領(lǐng)域問答系統(tǒng)[J].計算機應(yīng)用與軟件,2017(5):153-159.
[2] 張德政,謝永紅,李曼,等.基于本體的中醫(yī)知識圖譜構(gòu)建[J].情報工程,2017,3(1):35-42.
[3] 李涓子,侯磊.知識圖譜研究綜述[J].山西大學(xué)學(xué)報:自然科學(xué)版,2017(3):454-459.
[4] 許德山,張智雄,趙妍.中文問句與RDF三元組映射方法研究[J].圖書情報工作,2011,55(6):45-48.
[5] Noy N F,Mcguinness D L.Ontology development 101:A guide to creating your first ontology,2001.
[6] 曹倩,趙一鳴.知識圖譜的技術(shù)實現(xiàn)流程及相關(guān)應(yīng)用[J].情報理論實踐,2015,38(12):127-132.
[7] Shapiro S C.Knowledge Representation: Logical,Philosophical,and Computational Foundations by John F.Sowa[J].Computational Linguistics,2001,77(3):695-696.