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