李家瑞,李華昱,閆 陽
(中國石油大學(xué)(華東)計算機(jī)科學(xué)與技術(shù)學(xué)院,青島 266580)
高校之間的競爭主要以學(xué)科競爭為基礎(chǔ),學(xué)科的實力在某種程度上可以代表院校的水平.學(xué)科評估能夠有效且全面地了解學(xué)科的建設(shè)現(xiàn)況,通過對學(xué)科的正確評估,尋找建設(shè)中存在的問題,從而進(jìn)一步明確該學(xué)科的前進(jìn)方向,實現(xiàn)更好的發(fā)展[1].由于學(xué)科建設(shè)的成果涉及很多方面的內(nèi)容,以分散的文檔、網(wǎng)絡(luò)資源等形式對學(xué)科相關(guān)信息進(jìn)行存儲和顯示,不能夠全面地展示各項數(shù)據(jù)之間的關(guān)聯(lián),同時會使信息統(tǒng)計和潛在關(guān)系的挖掘較為困難,不利于后續(xù)評估工作的開展.
知識圖譜(knowledge graph)作為大數(shù)據(jù)時代下一種新型高效的知識組織方式,能夠基于圖對多源異構(gòu)數(shù)據(jù)進(jìn)行知識融合與關(guān)聯(lián)[2].本文將知識圖譜技術(shù)應(yīng)用至高校計算機(jī)學(xué)科領(lǐng)域,首先通過網(wǎng)絡(luò)爬蟲和規(guī)則映射的方法,從資源豐富的知網(wǎng)、高校官網(wǎng)、學(xué)科評估文件等數(shù)據(jù)源中獲取計算機(jī)學(xué)科相關(guān)的領(lǐng)域知識.針對可能出現(xiàn)的雜質(zhì)數(shù)據(jù)問題,使用微調(diào)后的BERT(Bidirectional Encoder Representations from Transformers)模型進(jìn)行數(shù)據(jù)的分類,過濾異類數(shù)據(jù).對于可能存在的人物實體重名問題,提出一套利用Word2Vec進(jìn)行相似度判斷的實體對齊方法,解決知識融合時的實例沖突問題.最終將知識導(dǎo)入Neo4j圖數(shù)據(jù)庫中完成知識圖譜的存儲,并基于此知識圖譜建立起計算機(jī)學(xué)科可視化系統(tǒng),實現(xiàn)對各類數(shù)據(jù)的信息查詢、關(guān)系展示等多種功能,為上述問題提供了較好的解決思路.
本文的組織結(jié)構(gòu)如下:第1節(jié)介紹知識圖譜的相關(guān)知識及本文的研究思路; 第2節(jié)介紹計算機(jī)學(xué)科本體的構(gòu)建; 第3節(jié)介紹知識圖譜構(gòu)建的相關(guān)內(nèi)容,主要包括知識獲取、知識融合和知識存儲等過程; 第4節(jié)介紹計算機(jī)學(xué)科可視化系統(tǒng)的實現(xiàn)與性能評估; 第5節(jié)為總結(jié)與展望.
知識圖譜的概念是由Google在2012年首先提出的,目的是改善搜索引擎返回結(jié)果的質(zhì)量,提升用戶搜索體驗.根據(jù)覆蓋面的不同,可以將知識圖譜劃分為通用知識圖譜和領(lǐng)域知識圖譜.其中通用知識圖譜的覆蓋面更廣,涵蓋了現(xiàn)實世界中的許多常識性知識,較為知名的大規(guī)模通用知識圖譜有DBpedia、Wikidata、Freebase等,這些知識圖譜的規(guī)模都很龐大,但對抽取知識的質(zhì)量要求并不嚴(yán)格,包含各個領(lǐng)域的知識結(jié)構(gòu)也較為簡單,所以在應(yīng)用于特定領(lǐng)域時表現(xiàn)不是很好.領(lǐng)域知識圖譜則是面向具體的領(lǐng)域構(gòu)建,對該領(lǐng)域內(nèi)知識的準(zhǔn)確度和深度等都有著非常嚴(yán)格的要求,能夠為目標(biāo)領(lǐng)域的上層應(yīng)用提供很好的支持.知識圖譜目前已經(jīng)在醫(yī)療、電商、法律等領(lǐng)域有了較多的應(yīng)用,比如通過基于知識圖譜的聊天機(jī)器人,讓用戶自主了解有關(guān)醫(yī)療保健和藥物方面的知識[3]; 基于構(gòu)建的盜竊案件法律文書知識圖譜,設(shè)計推理規(guī)則以提供相似案件量刑參考[4].
知識圖譜模型以圖論中的圖結(jié)構(gòu)G=(V,E)為基礎(chǔ),其中,V是頂點集,E是邊集.知識圖譜可以被認(rèn)知為由一條條事實知識構(gòu)成,知識可由三元組(h,r,t)的形式表示,其中,h代表頭實體,t代表尾實體,r是兩個實體之間的關(guān)系.在構(gòu)建知識圖譜時,主要有自上而下和自下而上兩種構(gòu)建方式.自上而下方式指直接從較高質(zhì)量的數(shù)據(jù)集中抽取相關(guān)的本體和模式信息; 而自下而上是指從采集到的大量數(shù)據(jù)中提取出資源模式,然后選擇其中置信度高的作為后續(xù)知識圖譜構(gòu)建的基礎(chǔ)[5].對于一些較為成熟、知識體系完備的領(lǐng)域,通??梢圆捎米陨隙碌臉?gòu)建方式,即先對schema本體進(jìn)行定義,再使用有監(jiān)督、半監(jiān)督和無監(jiān)督等方法抽取知識,最后結(jié)合知識融合、知識推理等機(jī)制使得構(gòu)建出的領(lǐng)域知識圖譜更加完善.
知識圖譜的一般構(gòu)建流程為:首先確定知識表示模型; 然后根據(jù)數(shù)據(jù)的不同來源,選擇不同的技術(shù)手段獲取知識,并導(dǎo)入至知識圖譜數(shù)據(jù)庫中; 接著綜合利用知識融合、知識推理和知識挖掘等技術(shù)對構(gòu)建出的知識圖譜進(jìn)行規(guī)模和質(zhì)量上的提升; 最后根據(jù)目標(biāo)場景的不同需求設(shè)計有效的知識訪問與呈現(xiàn)途徑,如人機(jī)交互問答、圖譜可視化分析、相似推薦等.
本文對計算機(jī)學(xué)科知識圖譜的總體構(gòu)建流程如圖1所示.首先對計算機(jī)學(xué)科領(lǐng)域本體進(jìn)行建模,定義概念之間的語義關(guān)系.對于不同的數(shù)據(jù)來源,設(shè)計相應(yīng)的表格映射與網(wǎng)絡(luò)爬蟲算法,并結(jié)合抽取規(guī)則得到領(lǐng)域數(shù)據(jù),然后利用基于BERT的分類方法對數(shù)據(jù)進(jìn)行清洗過濾,實現(xiàn)知識的獲取.在知識融合的過程中,通過訓(xùn)練好的Word2Vec詞向量模型判斷詞相似度,進(jìn)而完成實體的對齊.最后將融合整理后的數(shù)據(jù)導(dǎo)入至Neo4j圖數(shù)據(jù)庫中進(jìn)行知識存儲.基于上述構(gòu)建好的知識圖譜,本文搭建了計算機(jī)學(xué)科的可視化系統(tǒng),可以提供基礎(chǔ)信息查詢、關(guān)鍵詞檢索、遞進(jìn)式檢索和語義搜索等多種功能,同時以圖形化的方式展示結(jié)果,便于用戶完成實體關(guān)系查找和資源統(tǒng)計等工作.
圖1 總體構(gòu)建流程
本體定義了知識圖譜的類集、關(guān)系集、屬性集等,主要強(qiáng)調(diào)概念之間的關(guān)系,是對知識圖譜模式層的管理.通過構(gòu)建本體模型,可以對實體、關(guān)系以及實體屬性等進(jìn)行約束規(guī)范,作為后續(xù)知識抽取與組織的指導(dǎo)[6].本文以中國石油大學(xué)(華東)計算機(jī)科學(xué)與技術(shù)專業(yè)第四輪學(xué)科評估簡況表為主要知識源,結(jié)合具體的計算機(jī)學(xué)科領(lǐng)域相關(guān)網(wǎng)站,使用OWL語言作為本體描述語言,通過Protégé本體開發(fā)工具,完成高校計算機(jī)學(xué)科本體的構(gòu)建.
計算機(jī)學(xué)科本體中包含的概念及其構(gòu)成的關(guān)系結(jié)構(gòu)通過Protégé中的OntoGraf工具展示如圖2所示.在此本體模型中,主要包含了教師、校友、在讀本校生、在外留學(xué)生、院校機(jī)構(gòu)、國家級項目、省部級項目、期刊論文、會議論文和專利等10個類,且子類概念之間通過多種關(guān)系相互關(guān)聯(lián).本體中將概念之間的關(guān)聯(lián)關(guān)系表示為語義關(guān)系,在Protégé中也被稱為對象屬性,包括通用語義關(guān)系和自定義語義關(guān)系[6].本文構(gòu)建的本體中包含了多種自定義語義關(guān)系,相關(guān)的概念及詳細(xì)說明如表1所示.
表1 自定義語義關(guān)系表
圖2 學(xué)科知識圖譜本體模型
3.1.1 數(shù)據(jù)來源
在知識圖譜構(gòu)建的過程中,數(shù)據(jù)是極其重要的底層支持,只有獲取到大量研究領(lǐng)域中的數(shù)據(jù),才能夠建立一個質(zhì)量較好的知識圖譜.一般用于構(gòu)建知識圖譜的知識來源可以是結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、物聯(lián)網(wǎng)傳感器和人工眾包等[7].通過調(diào)查發(fā)現(xiàn),高校計算機(jī)學(xué)科領(lǐng)域內(nèi)的相關(guān)數(shù)據(jù)主要分布在電子文檔以及各種網(wǎng)站中,比如學(xué)科評估文件、高校官網(wǎng)、國家知識基礎(chǔ)設(shè)施等網(wǎng)站,這些數(shù)據(jù)源都分別涵蓋了不同類別的學(xué)科領(lǐng)域數(shù)據(jù),包括教師信息、論文、專利、科研項目等.因此本文主要從表2所示的來源中獲取領(lǐng)域知識.
表2 知識圖譜數(shù)據(jù)來源
3.1.2 數(shù)據(jù)提取過程
對于以表格文檔形式存儲的類結(jié)構(gòu)化數(shù)據(jù),例如高校計算機(jī)學(xué)科評估簡況表,可以采用基于映射的信息抽取方法,即先將待提取的表頭字段與上文構(gòu)建的學(xué)科本體中的數(shù)據(jù)屬性之間建立一一映射關(guān)系,然后使用本體定義的詞匯描述提取出的結(jié)構(gòu)化信息,從而防止屬性名之間同義異名問題的發(fā)生,完成對目標(biāo)表格單元中數(shù)據(jù)的提取.
對于存儲于互聯(lián)網(wǎng)網(wǎng)頁中的數(shù)據(jù),由于不同網(wǎng)頁的內(nèi)容組織結(jié)構(gòu)具有較大差異,所以在爬取數(shù)據(jù)時,需要根據(jù)不同的目標(biāo)網(wǎng)站制定針對性的爬蟲方法.常用的網(wǎng)絡(luò)爬蟲有Requests、Selenium等,不同爬蟲的實現(xiàn)原理也存在差異:Requests通過初始URL下載網(wǎng)頁,再結(jié)合網(wǎng)頁解析庫解析其中包含的標(biāo)簽內(nèi)容,獲取新的URL依次進(jìn)行爬取[8]; 而Selenium則是通過模擬用戶的操作行為,比如點擊按鈕、輸入文本等方式,直接運行在瀏覽器中,實現(xiàn)網(wǎng)頁間的正確跳轉(zhuǎn)[9].不同的實現(xiàn)原理也決定了每種類型爬蟲的優(yōu)缺點以及各自的適用場景:Requests爬取的速度快,但當(dāng)跳轉(zhuǎn)頁面的URL無法獲取時會導(dǎo)致爬取中斷,因此適合于目標(biāo)URL可以獲得的情況; 當(dāng)目標(biāo)URL不可直接獲得時,可以采用Selenium進(jìn)行頁面跳轉(zhuǎn),但其存在的缺點是需要等待瀏覽器打開加載,所以爬取效率遠(yuǎn)不如Requests.
本文提出了一種網(wǎng)絡(luò)爬蟲算法,能夠根據(jù)網(wǎng)頁組織形式的不同,靈活調(diào)用以上兩種工具,在完成目標(biāo)數(shù)據(jù)獲取的同時,又盡可能地提高爬取效率.具體的爬蟲工作流程如圖3所示.
圖3 爬蟲工作流程
算法在爬取開始后需要首先對網(wǎng)頁中跳轉(zhuǎn)URL的組織情況進(jìn)行判斷.比如對于高校的官方網(wǎng)站,其師資列表頁面內(nèi)一般包含教師詳細(xì)信息頁面的URL,因此可以通過以下步驟爬取:(1)從師資列表頁面URL開始,通過Requests庫獲取頁面內(nèi)容;(2)按照定義好的頁面抽取規(guī)則,取出教師詳細(xì)信息頁面URL并放入待抓取URL隊列中,若URL不完整,則根據(jù)相似頁面的URL構(gòu)造對缺失字段進(jìn)行補(bǔ)充;(3)根據(jù)待抓取URL隊列下載詳細(xì)信息頁面,從中提取目標(biāo)數(shù)據(jù),并保存至數(shù)據(jù)存儲文件中;(4)整個過程循環(huán)執(zhí)行,直到隊列中的所有URL爬取完畢[8].而對于中國知網(wǎng)等一些不能直接獲得跳轉(zhuǎn)頁面URL的網(wǎng)站,可以選擇Selenium工具爬取,實現(xiàn)流程為:(1)配置URL地址及相關(guān)參數(shù),調(diào)用Selenium的webdriver打開瀏覽器頁面;(2)等待頁面加載完成,定位搜索框與按鈕元素,完成搜索條件輸入后,模擬用戶點擊按鈕進(jìn)行跳轉(zhuǎn);(3)頁面加載成功后,使用XPath提取目標(biāo)數(shù)據(jù),并進(jìn)行數(shù)據(jù)持久化操作;(4)重復(fù)以上過程,直至滿足爬取數(shù)量或所有頁面爬取完畢[9].
3.1.3 數(shù)據(jù)清洗
考慮到在進(jìn)行數(shù)據(jù)爬取時會出現(xiàn)雜質(zhì)數(shù)據(jù)的問題,例如定位至錯誤的HTML標(biāo)簽,或由于解析出錯導(dǎo)致文本缺失等,因此有必要在存儲數(shù)據(jù)前進(jìn)行數(shù)據(jù)清洗操作.本文通過實驗比較TextCNN和BERT兩種模型對相關(guān)學(xué)科數(shù)據(jù)分類的結(jié)果,設(shè)計出一種分類策略實現(xiàn)對爬蟲數(shù)據(jù)的清洗過程.
文本分類模型TextCNN是由Kim等在2014年提出的,其目的是對卷積神經(jīng)網(wǎng)絡(luò)CNN進(jìn)行變形,然后引入至文本分類的任務(wù)中[10].TextCNN的網(wǎng)絡(luò)結(jié)構(gòu)分為4層,包括嵌入層、卷積層、最大池化層和全連接層,通過輸入待分類文本的詞向量矩陣,經(jīng)過卷積和池化操作后,輸出該文本對應(yīng)每個類別的概率分布[11,12].BERT主要基于雙向Transformer編碼器結(jié)構(gòu)實現(xiàn),同時利用遮蔽語言模型(MLM)和下一句預(yù)測(NSP)兩個無監(jiān)督任務(wù)進(jìn)行聯(lián)合預(yù)訓(xùn)練,使其經(jīng)過特定的微調(diào)操作后即可遷移到下游自然語言處理任務(wù)中,比如內(nèi)容檢測[13]、命名實體識別[14]、文本分類[15,16]等.
為了確定使用哪種分類模型對學(xué)科數(shù)據(jù)的清洗效果更好,以清洗論文專利類數(shù)據(jù)為例進(jìn)行對比實驗.實驗數(shù)據(jù)集中以包括論文專利的科研成果類數(shù)據(jù)為分類的正樣本,以非論文專利類數(shù)據(jù)作為負(fù)樣本,總共包含約13 000條數(shù)據(jù),取其中的80%作為訓(xùn)練集、20%作為測試集對兩類模型進(jìn)行訓(xùn)練和測試.
對于TextCNN模型的嵌入層,首先對文本數(shù)據(jù)進(jìn)行分詞處理,然后使用基于26 GB(800多萬條)百度百科詞條、13 GB(400多萬條)搜狐新聞和229 GB小說合并的訓(xùn)練語料進(jìn)行訓(xùn)練所得到的Word2Vec詞向量模型[17],對每個文本分詞詞語生成其128維嵌入表示,整合后構(gòu)成詞向量矩陣作為輸入數(shù)據(jù).在卷積層中,設(shè)置卷積核尺寸為[3,4,5],每個尺寸的卷積核個數(shù)為64,提取輸入矩陣不同的feature map特征.最大池化層選擇1-max pooling方式,抽取feature map向量中的最大值,即捕獲其中最重要的特征.最后將經(jīng)卷積池化獲取的特征傳至Softmax層,得到文本的分類標(biāo)簽結(jié)果.本文設(shè)置TextCNN模型訓(xùn)練的批次大小值為64,測試過程中不同迭代步數(shù)的準(zhǔn)確率變化如圖4所示.
圖4 TextCNN模型測試結(jié)果
對于BERT模型,本文采用在中文維基百科上進(jìn)行預(yù)訓(xùn)練后得到的Bert-base-Chinese模型作為基準(zhǔn)模型,模型總共包含12層,隱層為768維,使用12頭模式,共1億多個參數(shù); 在微調(diào)模型時使用與TextCNN模型相同的數(shù)據(jù)集,設(shè)置學(xué)習(xí)率為2e-5,批量學(xué)習(xí)的batchsize為32,Epoch循環(huán)次數(shù)為5次,最終得到的測試準(zhǔn)確率如圖5所示.
圖5 BERT模型測試結(jié)果
對比實驗結(jié)果可以發(fā)現(xiàn),在此場景中BERT的測試準(zhǔn)確率能夠達(dá)到0.91左右,高于TextCNN模型.因此本文選擇基于BERT模型的方法,以Bert-base-Chinese作為基準(zhǔn)模型進(jìn)行微調(diào)操作,再對爬取到的相關(guān)學(xué)科數(shù)據(jù)按類分別進(jìn)行清洗,清洗前后的各類數(shù)據(jù)量統(tǒng)計如表3所示.
表3 清洗前后各類數(shù)據(jù)量統(tǒng)計
在對不同來源的知識進(jìn)行融合時,容易出現(xiàn)實例異構(gòu)問題,即同名實體可能指向不同對象,而不同名實體可能指向相同對象.因此需要通過實體對齊技術(shù),確定不同信息來源中的兩個實體是否指向現(xiàn)實世界中的同一個對象,若是則在實體間構(gòu)建相應(yīng)的對齊關(guān)系,完成知識的融合.通過從知網(wǎng)、SooPAT等數(shù)據(jù)源中采集高校計算機(jī)學(xué)科領(lǐng)域的相關(guān)數(shù)據(jù),在構(gòu)建知識圖譜的過程中會出現(xiàn)人物方面的歧義問題.比如高校教師在不同的時間節(jié)點發(fā)表論文、發(fā)明專利等科研成果,卻由于工作調(diào)動等情況被判定為不同的人物實體; 或者同一高校內(nèi)的重名教師被錯誤指向為同一實體,從而造成科研成果信息的錯誤統(tǒng)計.因此為了構(gòu)建準(zhǔn)確的高校計算機(jī)學(xué)科知識圖譜,需要設(shè)計出一種適合的實體對齊算法來解決上述問題.本文采用的實體對齊算法如算法1所示.
算法首先從多數(shù)據(jù)源中提取出重名人物得到待對齊實體集合; 然后,通過人物的基本信息進(jìn)行初步篩選,基本信息包括性別、民族、出生年月等這些不易改變的屬性信息; 最后,根據(jù)人物發(fā)表論文或申請專利中的關(guān)鍵詞集合,使用Word2Vec獲得對應(yīng)詞向量并計算詞向量間的余弦相似度[18],若相似度超過自定義閾值,則可認(rèn)為二者研究方向相同,指代同一實體.
針對如何確定相似度閾值的問題,本文設(shè)計了以下實驗進(jìn)行研究.首先選取部分高校教師的論文信息作為原始數(shù)據(jù),每位教師隨機(jī)選取3篇論文的關(guān)鍵詞組成其研究方向關(guān)鍵詞集合,假設(shè)某位教師研究方向關(guān)鍵詞集合的長度為m,則集合可以表示為:
然后將該位教師余下的論文分別與該集合組成對比測試組,假設(shè)余下的某篇論文包含的關(guān)鍵詞個數(shù)為n,則對比的關(guān)鍵詞集合為:
之后使用Word2Vec模型得到關(guān)鍵詞集合對應(yīng)的詞向量,研究方向關(guān)鍵詞集合的詞向量表示為:
對比的關(guān)鍵詞集合的詞向量表示為:
最后計算兩個關(guān)鍵詞集合之間詞向量余弦值的平均值,將其作為該篇論文與對應(yīng)教師研究方向之間的相似度:
兩個詞向量之間的余弦函數(shù)cos(?)定義為:
其中,L為通過Word2Vec得到的詞向量的維度,Vi為詞向量的第i個分量.
本文隨機(jī)抽取了共2400組測試數(shù)據(jù),最終觀察到關(guān)鍵詞相似度的數(shù)值分布如圖6所示.從圖6中可以看出,相同研究方向的論文關(guān)鍵詞相似度都在0.5以上,因此本文在實體對齊算法中設(shè)置相似度閾值為0.5.
圖6 關(guān)鍵詞相似度分布
為了驗證算法的可行性,本文選取了數(shù)位重名但研究方向不同的教師,從知網(wǎng)上爬取其發(fā)表的論文信息,取同一教師的論文關(guān)鍵詞集合作為正例數(shù)據(jù),取不同教師的論文關(guān)鍵詞集合作為反例數(shù)據(jù),構(gòu)成了包含800余條數(shù)據(jù)的測試數(shù)據(jù)集.然后從中隨機(jī)抽取200、400、600、800條數(shù)據(jù),與人工標(biāo)注的結(jié)果進(jìn)行準(zhǔn)確率的分析計算.實驗結(jié)果如表4所示,4次隨機(jī)測試的準(zhǔn)確率均在90%以上,說明基于Word2Vec的人物實體對齊方法識別出的錯誤數(shù)據(jù)較少,可以在高校學(xué)科領(lǐng)域的知識融合場景中使用.
表4 人物實體對齊測試結(jié)果
經(jīng)過清洗對齊處理后的數(shù)據(jù),其內(nèi)容和格式已經(jīng)滿足學(xué)科知識圖譜構(gòu)建的要求,下一步的工作就是把這些數(shù)據(jù)導(dǎo)入到底層數(shù)據(jù)庫中.Neo4j作為一種高性能的非關(guān)系型圖數(shù)據(jù)庫,將數(shù)據(jù)存儲在一個超大型網(wǎng)絡(luò)上,非常適用于對基于圖結(jié)構(gòu)的知識圖譜進(jìn)行存儲[19].本文通過使用Python支持的Py2Neo第三方庫提供的操作函數(shù),將各類數(shù)據(jù)以節(jié)點和邊等形式導(dǎo)入Neo4j中,并且可以進(jìn)行對應(yīng)的增刪改查等操作.
最終構(gòu)建完成的學(xué)科知識圖譜的數(shù)據(jù)規(guī)模統(tǒng)計如表5所示,圖譜中的各類知識形成了一幅龐大且錯綜復(fù)雜的多關(guān)系網(wǎng)絡(luò),有助于后續(xù)各項功能的實現(xiàn)及性能的優(yōu)化.
表5 計算機(jī)學(xué)科知識圖譜數(shù)據(jù)統(tǒng)計
本文基于上述知識圖譜開發(fā)了一個高校計算機(jī)學(xué)科的可視化系統(tǒng),系統(tǒng)采用B/S(Browser/Server)前后端分離的結(jié)構(gòu)模式進(jìn)行實現(xiàn),通過Python的Flask框架搭建.前端中使用Echarts工具實現(xiàn)數(shù)據(jù)的圖形顯示效果[20],通過文本、力導(dǎo)向圖等多種形式對學(xué)科領(lǐng)域知識進(jìn)行可視化顯示.
本可視化系統(tǒng)的功能主要包括基礎(chǔ)信息查詢、關(guān)鍵詞檢索、遞進(jìn)式檢索和語義搜索等,可以從實體、屬性、關(guān)系等多個維度完成知識的搜索與展示.
4.1.1 基礎(chǔ)信息查詢
基礎(chǔ)信息查詢功能的目的是統(tǒng)計與被查詢實體有關(guān)的所有實體和關(guān)聯(lián)關(guān)系,然后以力導(dǎo)向圖的形式將實體關(guān)系通過圖形界面表示出來.同時使用符合圖數(shù)據(jù)庫存儲結(jié)構(gòu)的推薦算法,選出部分與被查詢實體相似度最高的同類實體,作為用戶可能感興趣的推薦信息.功能實現(xiàn)過程的算法如算法2所示.
此功能主要包含直聯(lián)查詢和相似推薦兩個數(shù)據(jù)處理模塊.在直聯(lián)查詢模塊中,先根據(jù)用戶的輸入構(gòu)造相應(yīng)的匹配路徑[21],然后通過Cypher語句從Neo4j圖數(shù)據(jù)庫中查找所有與其有關(guān)的實體和其間關(guān)系.在相似推薦模塊中,首先構(gòu)造多跳匹配路徑“(qe:Stype)-[r1]-(e)-[r2]-(me:Stype)”,其中qe指被查詢實體,me指匹配到的實體,Stype表示兩者為同一數(shù)據(jù)類型,r1、r2和e代表不做特定要求的關(guān)系和實體; 之后統(tǒng)計出匹配到的所有實體和對應(yīng)的路徑條數(shù),按數(shù)量由多到少進(jìn)行排序,選擇其中的Top-k個實體作為相似推薦(本文所取的k值為3,即最多推薦3個相似實體).最后由得到的數(shù)據(jù)屬性值確定節(jié)點和連線的類型和標(biāo)簽值,傳入Echarts的繪圖函數(shù)完成圖形的繪制與顯示.
圖7所示為輸入“中國石油大學(xué)(華東)”的信息查詢結(jié)果,界面中包含與此實體直接相連的各類實體節(jié)點以及其間關(guān)系的說明,同時也為用戶推薦出最相關(guān)的同類實體“中國科學(xué)院計算技術(shù)研究所”“中國海洋大學(xué)”和“南開大學(xué)”.力導(dǎo)向圖支持放大、縮小以及圖形的移動,當(dāng)點擊界面上方的類別標(biāo)簽時,能夠?qū)υ擃愃械膶嶓w節(jié)點進(jìn)行隱藏或再現(xiàn),便于用戶觀察和統(tǒng)計.左鍵點擊節(jié)點時,可以跳轉(zhuǎn)至該實體的詳細(xì)屬性頁面,圖8所示為“大數(shù)據(jù)環(huán)境下的油氣開采創(chuàng)新方法研究與應(yīng)用示范”項目的詳細(xì)屬性顯示.
圖7 “中國石油大學(xué)(華東)”查詢結(jié)果
圖8 詳細(xì)屬性顯示界面
4.1.2 關(guān)鍵詞檢索
關(guān)鍵詞檢索功能會顯示所有與輸入關(guān)鍵詞相關(guān)的實體節(jié)點,同時支持多關(guān)鍵詞檢索的任務(wù).系統(tǒng)首先利用哈工大LTP語言處理工具對用戶輸入的關(guān)鍵詞進(jìn)行詞性標(biāo)注,包括人物、時間、名詞等詞性類型,然后根據(jù)詞性分布構(gòu)造相應(yīng)的正則表達(dá)式,從知識圖譜中查找符合條件的實體.
例如,當(dāng)輸入多個關(guān)鍵詞為“神經(jīng)網(wǎng)絡(luò)”“識別”“2019年”時,LTP詞性標(biāo)注模塊將它們分別標(biāo)注為“n”“v”“nt”,對應(yīng)構(gòu)造出的正則表達(dá)式即為“(?=.*[神 ][經(jīng) ][網(wǎng) ][絡(luò) ]).*”“(?=.*[識 ][別 ]).*” “(?=.*[2][0][1][9]).*”.之后將這些正則表達(dá)式作為屬性字段組成Cypher語句進(jìn)行檢索,返回滿足條件的實體,最終結(jié)果如圖9所示.
圖9 多關(guān)鍵詞檢索結(jié)果
4.1.3 遞進(jìn)式檢索
右鍵點擊圖中任一節(jié)點,即可進(jìn)入以該實體為中心的下一層知識圖譜,實現(xiàn)知識圖譜的遞進(jìn)式查詢.例如當(dāng)點擊圖10(a)中的節(jié)點“IT類專業(yè)多層次實踐創(chuàng)新平臺建設(shè)”后,系統(tǒng)頁面彈出確認(rèn)提示框,用戶確認(rèn)后可跳轉(zhuǎn)至以該節(jié)點為中心的信息展示界面,遞進(jìn)式檢索結(jié)果如圖10(b)所示.
圖10 遞進(jìn)式檢索功能展示
4.1.4 語義搜索
語義搜索通過挖掘輸入問題背后的語義,使搜索的結(jié)果更加符合用戶的真實意圖.在進(jìn)行語義搜索的過程中,首先使用LTP分詞工具對輸入問題和定義好的問題模板進(jìn)行分詞,通常分詞工具對于專有領(lǐng)域中的實體和概念可能會出現(xiàn)過度劃分等現(xiàn)象[22],對后續(xù)搜索造成困擾,因此本文通過增加自定義詞典的方式來達(dá)到準(zhǔn)確分詞的目的.然后,分別將每一個問題模板和輸入問題結(jié)合進(jìn)行One-Hot編碼,得到此模板和輸入問題的詞向量表示,通過計算兩者詞向量之間的余弦相似度,選擇相似性最高的作為該輸入問題的類型.最后將根據(jù)模板和問題關(guān)鍵詞查詢到的相關(guān)數(shù)據(jù)返回至前端界面進(jìn)行整合顯示.
圖11為問題“鄭秋梅老師和黃庭培老師共同發(fā)表的期刊論文情況”的搜索結(jié)果,界面中通過圖形繪制直觀展示了兩位老師共同發(fā)表的期刊論文和合作關(guān)系,實現(xiàn)了語義搜索的目標(biāo).
圖11 語義搜索結(jié)果
為了驗證本系統(tǒng)的性能能否滿足用戶實際使用的要求,在學(xué)科知識圖譜可視化系統(tǒng)構(gòu)建完成后,邀請了數(shù)十位高校計算機(jī)學(xué)科的相關(guān)人員進(jìn)行測試.測試過程根據(jù)測試方法的不同分為兩組:一組采用α測試方法,即給予參與測試者一定的系統(tǒng)使用說明與操作指導(dǎo),主要是對可視化系統(tǒng)的可靠性進(jìn)行驗證; 另一組采用β測試方法,讓參與測試者在無任何指導(dǎo)和幫助的情況下自主探索系統(tǒng)的功能,主要是對系統(tǒng)的健壯性和易用性進(jìn)行驗證.最終α測試組的總體反饋為本系統(tǒng)的數(shù)據(jù)覆蓋范圍較為廣泛,交互友好,可靠性強(qiáng); β測試組的總體反饋為系統(tǒng)易于上手和操作,且無異常情況產(chǎn)生.所有參與測試者的平均滿意度達(dá)到91.67%,證明本可視化系統(tǒng)能夠達(dá)到課題的研究目標(biāo)要求.
同時本系統(tǒng)也作為輔助工具參與了第5輪學(xué)科評估材料的準(zhǔn)備工作.其中,相關(guān)專家主要使用本系統(tǒng)對學(xué)科評估材料中的部分?jǐn)?shù)據(jù)進(jìn)行對比驗證,以及時發(fā)現(xiàn)材料中的錯誤內(nèi)容.這種工作模式不僅能夠增加了評估材料的準(zhǔn)確度,而且加快了材料準(zhǔn)備的速度,提升了工作效率,使得本系統(tǒng)在實際的應(yīng)用場景中也取得了令人滿意的效果.
本文就高校計算機(jī)學(xué)科領(lǐng)域進(jìn)行研究,給出了一套完整的領(lǐng)域知識圖譜構(gòu)建方案,并通過實驗結(jié)果證明了該方案的可用性.針對多源異質(zhì)的領(lǐng)域數(shù)據(jù),設(shè)計基于規(guī)則映射與改進(jìn)網(wǎng)絡(luò)爬蟲相結(jié)合的數(shù)據(jù)獲取方法,然后使用fine-tuning后的BERT分類模型對數(shù)據(jù)進(jìn)行清洗過濾.對于不同來源知識的融合問題,提出一種基于Word2Vec的實體對齊方法,有效解決融合過程中的數(shù)據(jù)沖突問題.最后將知識導(dǎo)入Neo4j圖數(shù)據(jù)庫進(jìn)行存儲,并基于此知識圖譜完成了計算機(jī)學(xué)科可視化系統(tǒng)的實現(xiàn),為以后的學(xué)科評估工作提供方便快捷的資源查詢與關(guān)系展示等應(yīng)用服務(wù).由于計算機(jī)學(xué)科的數(shù)據(jù)來源中還包括一些非結(jié)構(gòu)化的數(shù)據(jù),后續(xù)工作中將完善有關(guān)非結(jié)構(gòu)化文本的知識抽取方法,使構(gòu)建的學(xué)科知識圖譜更加全面.