国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于異質(zhì)數(shù)據(jù)源的計(jì)算機(jī)學(xué)科知識圖譜構(gòu)建①

2022-06-29 07:48李華昱劉燁宸李家瑞
關(guān)鍵詞:結(jié)構(gòu)化圖譜實(shí)體

李華昱, 劉燁宸, 李家瑞, 閆 陽

(中國石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 青島 266580)

知識圖譜因其表達(dá)知識的方式與人類認(rèn)知世界的形式具有相似性, 得到越來越廣泛的應(yīng)用. 知識圖譜產(chǎn)生初期主要是用作計(jì)量分析工具, 現(xiàn)已逐漸與各領(lǐng)域結(jié)合作為數(shù)據(jù)庫使用. 得益于其知識結(jié)構(gòu), 知識圖譜可以方便地處理大量數(shù)據(jù), 分析數(shù)據(jù)進(jìn)而發(fā)現(xiàn)研究的趨向. 在教育研究領(lǐng)域, 知識圖譜也發(fā)揮了重要作用. 教育領(lǐng)域早在2007 年就引入知識圖譜進(jìn)行計(jì)量分析, 到現(xiàn)在已經(jīng)形成了一大批運(yùn)用知識圖譜方法和工具的教育科研成果. 計(jì)算機(jī)學(xué)科評估知識圖譜屬于教育知識圖譜的一個(gè)分支, 主要服務(wù)于大學(xué)學(xué)科評估, 通過將學(xué)科知識轉(zhuǎn)化為三元組數(shù)據(jù)存儲(chǔ)在圖數(shù)據(jù)庫中, 再經(jīng)過知識推理等方法實(shí)現(xiàn)智能問答系統(tǒng)可以方便地檢索分析數(shù)據(jù), 因此計(jì)算機(jī)學(xué)科評估知識圖譜的研究構(gòu)建將有助于學(xué)科大數(shù)據(jù)自動(dòng)化和智能化處理.

知識圖譜技術(shù)是知識圖譜建立和應(yīng)用的技術(shù). 現(xiàn)階段中文領(lǐng)域知識圖譜的構(gòu)建多面向半結(jié)構(gòu)化數(shù)據(jù),在缺少標(biāo)注數(shù)據(jù), 數(shù)據(jù)源結(jié)構(gòu)不規(guī)范的情況下, 基于規(guī)則或字典的實(shí)現(xiàn)命名實(shí)體識別, 采用半監(jiān)督方法實(shí)現(xiàn)關(guān)系抽取, 如文獻(xiàn)[1]中采用本體約束和專家分類的方式構(gòu)建知識圖譜. 為了更自動(dòng)化地構(gòu)建知識圖譜, 本文基于CIR 模型, 提出了面向異質(zhì)多數(shù)據(jù)源的計(jì)算機(jī)學(xué)科評估知識圖譜自動(dòng)構(gòu)建方法, 從文本數(shù)據(jù)的知識抽取和表格數(shù)據(jù)的三元組合成兩個(gè)流程進(jìn)行介紹, 將知識存儲(chǔ)在圖數(shù)據(jù)庫Neo4j 中并實(shí)現(xiàn)可視化, 該方法可為學(xué)科評估知識服務(wù)提供依據(jù).

1 相關(guān)研究

本文對于1121 篇包含“知識圖譜”主題詞的教育領(lǐng)域文章的統(tǒng)計(jì)分析繪制表1, 可以發(fā)現(xiàn), 早在2007年, 知識圖譜就出現(xiàn)在教育領(lǐng)域中, 直至2013 年仍僅得到少量應(yīng)用. 于2014 年教育領(lǐng)域知識圖譜才開始得到發(fā)展, 教育領(lǐng)域知識圖譜呈現(xiàn)引進(jìn)、認(rèn)可、迅速普及的趨勢.

表1 年度發(fā)文量情況表

該階段教育領(lǐng)域知識圖譜的研究主要以文獻(xiàn)計(jì)量分析、聚類分析、圖譜分析為主, 旨在發(fā)現(xiàn)教育研究熱點(diǎn)和趨勢、為科研指明方向, 因此并沒有將知識圖譜作為學(xué)科知識點(diǎn)的存儲(chǔ)工具, 系統(tǒng)化地構(gòu)建一個(gè)應(yīng)用為主的教育知識圖譜. 目前, 像Wolframalpha、Freebase等英文知識圖譜規(guī)模越來越龐大, XLORE 雙語百科知識圖譜[2]、百度知心等國內(nèi)的知識圖譜也迅速發(fā)展, 但是缺少中文的教育知識圖譜. 而在中文知識圖譜構(gòu)建技術(shù)方面, 知識的獲取越來越趨向于采用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)結(jié)合的方法. 比如基于深度學(xué)習(xí)的中文生物醫(yī)學(xué)實(shí)體知識圖譜[3]、基于深度學(xué)習(xí)的網(wǎng)絡(luò)信息資源知識圖譜[4]、基于深度學(xué)習(xí)的中文林業(yè)知識圖譜等. 這些知識圖譜都依賴于高質(zhì)量的學(xué)科標(biāo)注數(shù)據(jù), 對于沒有數(shù)據(jù)基礎(chǔ)的學(xué)科來說借鑒較為困難.

國外教育知識圖譜以美國個(gè)性化教育平臺(tái)Knewton[5]為代表. Knewton 平臺(tái)依托知識圖譜技術(shù), 覆蓋了多學(xué)科、多學(xué)段的知識. 借助其龐大的知識網(wǎng)絡(luò), Knewton可以診斷學(xué)生的認(rèn)知水平和學(xué)習(xí)進(jìn)度, 智能化地為學(xué)生推送學(xué)習(xí)資源和設(shè)計(jì)學(xué)習(xí)路線. 這不僅僅是為學(xué)生提供知識, 更是對知識圖譜技術(shù)的深度挖掘, 值得我們學(xué)習(xí)借鑒. 這是知識圖譜技術(shù)與教育深度結(jié)合的結(jié)果.相比之下, 中國教育知識圖譜的發(fā)展還位于起步階段,大多數(shù)教育知識圖譜還僅是統(tǒng)計(jì)分析文獻(xiàn)用于發(fā)現(xiàn)研究熱點(diǎn), 國內(nèi)將知識圖譜作為知識存儲(chǔ)工具探索智能化教育的有清華大學(xué)的eduKB、互聯(lián)網(wǎng)教育智能技術(shù)及應(yīng)用國家工程實(shí)驗(yàn)室的“唐詩別苑”等. 本文構(gòu)建計(jì)算機(jī)學(xué)科的教育知識圖譜也是對中文教育領(lǐng)域知識圖譜的一次探索

2 異質(zhì)數(shù)據(jù)分析

2.1 數(shù)據(jù)來源

本文以第4 輪學(xué)科評估所需的領(lǐng)域相關(guān)信息為準(zhǔn),以中國石油大學(xué)(華東)計(jì)算機(jī)專業(yè)簡況表作為數(shù)據(jù)支撐, 以部分網(wǎng)絡(luò)知識作為輔助. 第4 輪學(xué)科評估計(jì)算機(jī)學(xué)科所涉及到的數(shù)據(jù)主要有以下4 類:

(1) 師資隊(duì)伍與資源. 包括教師的基本個(gè)人信息、職務(wù)、研究領(lǐng)域、所屬團(tuán)隊(duì)和支撐平臺(tái)等.

(2) 人才培養(yǎng)質(zhì)量. 包括教學(xué)成果、精品課程、優(yōu)秀學(xué)生信息以及畢業(yè)生的相關(guān)信息等.

(3) 科研成果. 包括發(fā)表的論文、申請的專利專著和科研項(xiàng)目.

(4) 權(quán)威網(wǎng)站更新的信息.

從結(jié)構(gòu)上看, 計(jì)算機(jī)學(xué)科評估知識圖譜的數(shù)據(jù)源主要有兩種: 表格形式的半結(jié)構(gòu)化數(shù)據(jù)和文本形式的非結(jié)構(gòu)化數(shù)據(jù). 下面將針對兩種數(shù)據(jù)進(jìn)行數(shù)據(jù)結(jié)構(gòu)分析.

2.2 計(jì)算機(jī)學(xué)科知識特征分析

2.2.1 半結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)分析

知識圖譜中的半結(jié)構(gòu)化數(shù)據(jù)是指不符合圖數(shù)據(jù)庫的形式關(guān)聯(lián)的數(shù)據(jù)模型結(jié)構(gòu), 但包含相關(guān)標(biāo)記的數(shù)據(jù),經(jīng)過一定的處理可以轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù), 如圖1 和圖2.圖1 為學(xué)科評估簡表中的支撐平臺(tái)一表截圖, 圖2 為自動(dòng)抓取自專利網(wǎng)站的專利信息.

圖1 學(xué)科評估簡表支撐平臺(tái)表截圖

圖2 中4 列分別是專利名稱、申請日、申請公布號、公布時(shí)間. 要注意的是, 表格的第0 行為列名, 可以直接作為屬性或者關(guān)系的名稱使用, 而CSV 文件不含表頭, 需要人工補(bǔ)充, 且其是以逗號(這里是以字符)分隔, 沒有明確的列.

圖2 抓取自專利網(wǎng)站的專利信息

2.2.2 非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)分析

“梁鴻, 博士、教授、北京大學(xué)博士后、碩士生導(dǎo)師. 國家教育科研網(wǎng)格二期建設(shè)項(xiàng)目專家組成員, 中國計(jì)算機(jī)學(xué)會(huì)高級會(huì)員”為本知識圖譜所要處理的非結(jié)構(gòu)化數(shù)據(jù), 全部為文本數(shù)據(jù), 來源于中國石油大學(xué)(華東)官網(wǎng)教師簡介, 內(nèi)容真實(shí)可靠. 可以看到這類文本數(shù)據(jù)十分復(fù)雜, 沒有固定的結(jié)構(gòu), 且是很長的句子. 每條數(shù)據(jù)的描述實(shí)體只在數(shù)據(jù)頭部, 之后為其屬性或關(guān)系, 不再重復(fù)點(diǎn)明實(shí)體的名稱, 如果單純地采用中文分句方法容易丟失最重要的語義信息. 針對這種數(shù)據(jù), 本文先識別并記錄一條數(shù)據(jù)的實(shí)體, 用實(shí)體與后文語義拼接的方式獲取結(jié)構(gòu)化數(shù)據(jù), 具體實(shí)現(xiàn)將在本文第4 節(jié)中說明.

3 CIR 模型

計(jì)算機(jī)學(xué)科評估知識圖譜基于CIR 模型建模, CIR模型指計(jì)算機(jī)學(xué)科中的概念(C), 實(shí)例(I)和約束(R).

3.1 概念(concept)

C 表示概念, 是知識圖譜中一組同類單元的抽象表達(dá), 如計(jì)算機(jī)學(xué)科評估知識圖譜中的“課程”概念、“團(tuán)隊(duì)”概念、“單位”概念等, 它能夠唯一標(biāo)識一個(gè)有效單元, 定義了知識圖譜的框架, 保障了數(shù)據(jù)一致性.

(1) 概念(concept)

集合中,t1,t2,···,tn代表n個(gè)不同的概念名稱, 而這些概念名稱都可以統(tǒng)一用概念c來表示. 例如“希爾排序”是插入排序的一種, 又稱“縮小增量排序”, 其概念就可以表示為:

c:T={希爾排序,縮小增量排序}

(2) 概念集合(C)

C={c1,c2,···,cm}概念集合是由不同的概念組成的,c1,c2,···,cm表示m個(gè)不同的概念. 例如: 課程、團(tuán)隊(duì) 、單位, 可以表示為:c={課程,團(tuán)隊(duì),單位}

3.2 實(shí)例(instance)

I表示實(shí)例的集合, 在計(jì)算機(jī)學(xué)科評估知識圖譜中每個(gè)概念類都具有多個(gè)具體的實(shí)例, 比如“學(xué)科方向”概念類就包含“數(shù)據(jù)挖掘”“圖像處理”等實(shí)例. 實(shí)例包括實(shí)體、關(guān)系實(shí)例和屬性實(shí)例3 類. 知識圖譜以<實(shí)體-關(guān)系-實(shí)體>和<實(shí)體-屬性-屬性值>兩種形式的三元組存儲(chǔ)知識, 表示為D=(E,R,S), 其中,D表示知識庫, 如YAGO, YAGO 是由德國馬普研究所研制的鏈接數(shù)據(jù)庫.E表示知識庫中的實(shí)體集合,R表示知識庫中的關(guān)系集合.

關(guān)系是指概念與概念之間的聯(lián)系, 關(guān)系集合中tR1,tR2,···,tRj代表j個(gè)不同的關(guān)系實(shí)例. 常見的關(guān)系有包含、屬于、同義等, 則其關(guān)系集合表示為:

概念S表示知識庫中的屬性集合, 描述概念所具有的特征.

表示屬性S的n個(gè)屬性值tS1,tS2,···,tS n在計(jì)算機(jī)學(xué)科評估知識圖譜中為確保數(shù)據(jù)的嚴(yán)謹(jǐn)性, 屬性均為數(shù)據(jù)屬性, 即概念類自身擁有的屬性, 比如“教學(xué)成果”概念類的“獲獎(jiǎng)等級”屬性中, 數(shù)據(jù)屬性值包括“一等”“二等”“三等”. 需注意的是數(shù)據(jù)屬性并不僅限制于等級或者數(shù)字, 像“性別”屬性的屬性值就為“男”和“女”, 表示為:

3.3 約束(rule)

在計(jì)算機(jī)學(xué)科評估知識圖譜中, 約束可以分為檢驗(yàn)型約束和規(guī)則型約束. 兩者區(qū)別見表2.

表2 檢驗(yàn)型約束和規(guī)則型約束

以上為計(jì)算機(jī)學(xué)科評估知識圖譜CIR 模型. 在知識圖譜實(shí)際構(gòu)建中, 基于概念設(shè)計(jì)本體, 基于實(shí)例構(gòu)建知識點(diǎn), 基于約束設(shè)計(jì)推理規(guī)則, 使其更具有層次性和模塊性, 數(shù)據(jù)準(zhǔn)確性得到保證, 可擴(kuò)展性增強(qiáng), 充分發(fā)揮圖數(shù)據(jù)庫可推理的優(yōu)勢.

4 計(jì)算機(jī)學(xué)科評估知識圖譜的構(gòu)建

領(lǐng)域知識圖譜需要融合領(lǐng)域?qū)I(yè)知識和高質(zhì)量的數(shù)據(jù), 因此多會(huì)采用自頂向下的方式構(gòu)建, 計(jì)算機(jī)學(xué)科評估知識圖譜也采用自頂向下的構(gòu)建方式, 框架如圖3.

圖3 計(jì)算機(jī)學(xué)科評估知識圖譜框架

計(jì)算機(jī)學(xué)科評估知識圖譜的整體構(gòu)建流程分為領(lǐng)域本體模型構(gòu)建、信息抽取、知識融合、知識存儲(chǔ)和應(yīng)用4 部分.

4.1 領(lǐng)域本體模型構(gòu)建

根據(jù)CIR 模型, 概念設(shè)計(jì)規(guī)定了本體建模規(guī)范. 計(jì)算機(jī)學(xué)科知識圖譜包含的一級概念為:c:Tc={人物,課程, 團(tuán)隊(duì),專利,論文}, 根據(jù)一級概念搭建本體模型,并填充關(guān)系和屬性. 在領(lǐng)域本體建模過程中, 領(lǐng)域?qū)<业膮⑴c可以保證全域Schema 的權(quán)威性. 通過構(gòu)建領(lǐng)域本體, 可以約束實(shí)體關(guān)系抽取, 即規(guī)定了信息抽取步驟中抽取的實(shí)體和關(guān)系的類別, 確保知識的質(zhì)量. 計(jì)算機(jī)學(xué)科部分本體建模如圖4 所示.

圖4 計(jì)算機(jī)學(xué)科本體模型

4.2 信息抽取

CIR 模型的檢驗(yàn)型約束規(guī)定本文的源數(shù)據(jù)有半結(jié)構(gòu)化和非結(jié)構(gòu)化兩種, 因此本文設(shè)計(jì)兩種不同的封裝器, 對應(yīng)兩種信息抽取方法, 可以把源數(shù)據(jù)轉(zhuǎn)化為三元組數(shù)據(jù). 源數(shù)據(jù)的存儲(chǔ)形式也已經(jīng)說明, 在此不再贅述,下面開始介紹本文的兩種信息抽取方法.

4.2.1 面向半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)流組合模型

數(shù)據(jù)流組合模型設(shè)計(jì)用來實(shí)現(xiàn)表格和CSV 數(shù)據(jù)的信息抽取, 該方法充分運(yùn)用數(shù)據(jù)源中標(biāo)題和數(shù)據(jù)的位置特征, 通過制定相應(yīng)的規(guī)則, 從表格中抽取出實(shí)體、關(guān)系及屬性值組合成三元組.

(1) 表格數(shù)據(jù)三元組轉(zhuǎn)換方法

1)首先進(jìn)行數(shù)據(jù)預(yù)處理, 去除無關(guān)列, 將表格拆解為單元格, 并為每個(gè)單元格分配二維坐標(biāo), 設(shè)第1 個(gè)標(biāo)題的坐標(biāo)為(x,y), 則其對應(yīng)的第1 條表身數(shù)據(jù)的坐標(biāo)為(x,y+1), 第2 條數(shù)據(jù)的坐標(biāo)為(x,y+2); 第2 個(gè)標(biāo)題的坐標(biāo)為(x+1,y), 其對應(yīng)的第1 條表身數(shù)據(jù)的坐標(biāo)為(x+1,y+1), 第2 條數(shù)據(jù)的坐標(biāo)為(x+1,y+1), 以此類推[6].

2)根據(jù)CIR 模型的概念對單元格中的信息進(jìn)行標(biāo)注, 標(biāo)注規(guī)則為: 對標(biāo)題進(jìn)行分類, 若標(biāo)題屬于實(shí)體概念, 則其對應(yīng)的數(shù)據(jù)標(biāo)注為實(shí)體; 否則被標(biāo)記為屬性值.

3)根據(jù)CIR 模型規(guī)則型約束, 將標(biāo)注后的數(shù)據(jù)組合為三元組, 規(guī)則如下: 對于表格中同一條數(shù)據(jù)標(biāo)注產(chǎn)生的實(shí)體A、實(shí)體B和屬性值M, 其對應(yīng)的標(biāo)題分別為X、Y、N, 則生成三元組(A,Y,B)和(A,N,M). 下面以圖1 的表格為例進(jìn)行說明. 轉(zhuǎn)換流程如圖5 所示.

圖5 I-3 支撐平臺(tái)表的轉(zhuǎn)換說明

(2) CSV 數(shù)據(jù)三元組轉(zhuǎn)換方法

CSV 數(shù)據(jù)信息抽取基于CSV 三元組轉(zhuǎn)換算法實(shí)現(xiàn), 算法實(shí)現(xiàn)偽代碼如算法1 所示.

該算法有兩個(gè)輸入, 一是CSV 數(shù)據(jù)文件, 另一個(gè)是為CSV 文件預(yù)設(shè)的每個(gè)字段所對應(yīng)的名稱. 如對于一條數(shù)據(jù)“基于接收概率滑動(dòng)窗口的船聯(lián)網(wǎng)分塊數(shù)據(jù)傳輸方法CN201910661544.5 2019-07-22 CN110381469A 2019-10-25”預(yù)設(shè)信息應(yīng)為“專利名稱(實(shí)體) 申請日 申請公布號 公布時(shí)間”. 注意, 每一個(gè)CSV 文件應(yīng)對應(yīng)一段預(yù)設(shè)信息, 可以為CSV 文件排序命名, 將預(yù)設(shè)信息按順序統(tǒng)一存儲(chǔ)在一個(gè)文件中. 拆分?jǐn)?shù)據(jù)和預(yù)設(shè)信息后按照算法進(jìn)行組合并添加實(shí)體字段即可獲得三元組數(shù)據(jù). 通過此算法可以實(shí)現(xiàn)CSV 數(shù)據(jù)文件的信息抽取.

算法1. CSVtoTriple輸入: Information.csv, List Preset輸出: triple 1: function TRAOFCSV(Information.csv, Preset)2: initialization 3: file_path = your_path, triple = dict()4: s←split(Preset," t")5: f←with open(Information.csv)7: row←rstrip(row, " n")8: list←split(row" t")9: entity_str←list[0]

10: while entity_str!=" " and list[i] !=" " do 11: r←s[i]12: c←list[i]13: triple←TOTRIPLE(triple,entity_str,r,c)14: i++15: end while 16: end for 17: return triple 18: end function 19: function TOTRIPLE(triple,entity_str,r,c)6: for row in f do 20: if r !=" " then 21: triple['']= [triple,entity_str,r,c]22: triple←AppendToJson().append(file_path,triple)23: else 24: catch exception 25: throw exception 26: end if 27: return triple 28: end function

至此, 半結(jié)構(gòu)化數(shù)據(jù)的信息抽取已經(jīng)轉(zhuǎn)換完成, 通過此方法獲得了所有表格和CSV 文件中數(shù)據(jù)的三元組表現(xiàn)形式.

4.2.2 文本信息抽取

(1) 中文句子類型主要類別

中文句子主要類型有陳述句、特殊句、疑問句. 計(jì)算機(jī)學(xué)科評估知識圖譜的非結(jié)構(gòu)化數(shù)據(jù)都是對目標(biāo)的介紹, 沒有不確定性內(nèi)容也就沒有疑問句, 所以這里不予考慮.

通過觀察陳述句就可以發(fā)現(xiàn)雖然中文語法十分復(fù)雜, 但主謂賓等這些句型格式就很適合在實(shí)體識別和關(guān)系識別后通過調(diào)整順序得到有效的三元組, 據(jù)此, 這里參考文獻(xiàn)[7]中提出的3 種現(xiàn)象, 結(jié)合陳述句的基本句型結(jié)構(gòu), 可以覆蓋經(jīng)過處理后的計(jì)算機(jī)學(xué)科文本數(shù)據(jù)的聯(lián)合抽取. 但是存在一些問題, 上述陳述句句型結(jié)構(gòu)只是對于短句的分析, 對于本文需要處理的源數(shù)據(jù)“張三主講過《計(jì)算機(jī)輔助幾何設(shè)計(jì)》《高級計(jì)算機(jī)圖形學(xué)》等研究生課程, 以及《數(shù)據(jù)結(jié)構(gòu)》《C 語言程序設(shè)計(jì)》等十多門本科課程, 教學(xué)效果優(yōu)良. 主要研究領(lǐng)域?yàn)橛?jì)算機(jī)圖形圖像、大數(shù)據(jù)智能處理與云計(jì)算等”這類文本信息沒有任何句型結(jié)構(gòu)可以利用, 而且前后語義關(guān)聯(lián)性強(qiáng), 盲目分句容易丟失信息, 所以對于該方法的第一步是選擇合適的分句方法, 確保不丟失信息. 下面進(jìn)行具體說明.

(2) 基于依存句法分析的無監(jiān)督抽取模型

1) 對于文本長句子, 首先要進(jìn)行分句. 目前普遍使用的中文分句方法是找到一個(gè)“, . !”這類的典型斷句符斷開, 而這類方法的發(fā)展方向只是考慮更多的符號是否存在斷句可能, 這并不適用于本文所要處理的數(shù)據(jù). 因?yàn)楸疚乃幚淼臄?shù)據(jù)是首先點(diǎn)名實(shí)體, 之后全部都是對于該實(shí)體的介紹, 如果根據(jù)斷句符號進(jìn)行斷句, 就會(huì)造成分割出來的句子缺失主語的問題. 本文結(jié)合中文分句方法, 針對所需處理數(shù)據(jù)設(shè)計(jì)了補(bǔ)全主語的分句方法.

首先清洗數(shù)據(jù), 去除掉無用的文字或符號. 然后設(shè)計(jì)字典, 將所有實(shí)體(此處為人名)登錄在字典中, 為其標(biāo)注類型和鏈接實(shí)體的其他表達(dá)方式. 分詞時(shí)參照字典優(yōu)先切分實(shí)體, 并記錄其類型為其詞性. 也可以單獨(dú)標(biāo)注語料中的所有實(shí)體及其位置. 在個(gè)人簡介數(shù)據(jù)中,第一個(gè)實(shí)體即為整個(gè)句子的描述對象, 將其確認(rèn)為補(bǔ)全后面短句所需的主語, 然后使用正則表達(dá)式進(jìn)行句子分割, 會(huì)得到一些缺失主語的短句, 此時(shí)將主語補(bǔ)充在缺失主語的謂語之前, 就可以得到一系列分割成功的短句.

2) 優(yōu)先提取隱藏信息. 中文中3 種常見的語言現(xiàn)象[7]: ① nominal modification-center (NMC) phenomenon;② Chinese light verb construction (CLVC) phenomenon;③ intransitive verb (IV) phenomenon. 由于這3 種關(guān)系在提取過程中容易丟失信息, 所以先對其進(jìn)行處理. 對于NMC 現(xiàn)象, 需要將實(shí)體與主詞鏈接起來, 提取時(shí)直接將主詞定義為實(shí)體. 而依存分析對于處理CLVC 現(xiàn)象和IV 現(xiàn)象有天然的優(yōu)勢.

3) 中文分詞[8]和詞性標(biāo)注. 本文中文分詞和詞性標(biāo)注都基于HMM 模型[9], HMM 模型如圖6, 包含3 個(gè)參數(shù)λ, 狀態(tài)序列I和觀測序列O.

圖6 HMM 模型

基于HMM 的中文分詞過程為: 將待分詞語句作為觀測序列O, 訓(xùn)練語料和狀態(tài)值集合計(jì)算得到λ的3 個(gè)參數(shù), 使用Viterbi 算法求解使條件概率P(I/O)最優(yōu)的狀態(tài)序列I.

基于HMM 的詞性標(biāo)注過程為: 將待標(biāo)注語句作為觀測序列O, 將已知詞性集作為狀態(tài)值集合和訓(xùn)練預(yù)料計(jì)算得到λ的3 個(gè)參數(shù), 使用Viterbi 算法求解使條件概率P(I/O)最優(yōu)的狀態(tài)序列I.

4) 根據(jù)詞性分析結(jié)果, 匹配依存關(guān)系生成三元組.本文規(guī)則型約束用到的依存關(guān)系與其對應(yīng)生成三元組規(guī)則如表3.

表3 依存關(guān)系與生成三元組對應(yīng)表

以例句“張三發(fā)表論文”為例, 存在“發(fā)表”與“張三”的SBV 依存關(guān)系和“發(fā)表”和“論文”的VOB 依存關(guān)系.按照實(shí)體出現(xiàn)的先后順序構(gòu)成的實(shí)體對<張三, 論文>的依存句法關(guān)系組合為SBV-VOB, 因此提取得到的三元組為<張三, 發(fā)表, 論文>. 基于依存句法分析的無監(jiān)督命名實(shí)體關(guān)系抽取具體算法如算法2, 算法3 所示.

算法2. 依存分析輸入: words, postags輸出: triple 1: function PARSE(words, postags)2: initialization 3: par_model_path = os.path.join(os.path.dirname(_file_), 'yourpath/parser.model')4: parser = Parse()5: triple = dict()6: parser.load(par_model_path)}, arcs←parser.parse(words, postags)7: rely_id←[arc.head for arc in arcs]

8: relation←gets[arc.relation for arc in arcs]9: heads←['Root' if id == 0 else words[id-1] for id in rely_id]10: triple←Totriple(triple, words, heads)11: return triple 12: end function算法3. 基于依存分析的聯(lián)合抽取模型輸入: words, postags輸出: triple 1: function TOTRIPLE(triple, words, heads)2: import networkx as nx 3: G = nx.Graph()4: for word in words do 5: G.add_node(word)6: end for 7: G.add_node('Root')8: for i in range(len(words)) do 9: G.add_edge(words[i], heads[i])10: end for 11: for word in words do 12: source←word 13: for word in words do 14: target←word 15: if source!= target and distance(source, target)==nx.shortest_path(G, source, target) then 16: triple = [source,G.edge,target]17: triple←AppendToJson().append(triple)18: else 19: continue 20: end if 21: end for 22: end for 23: return triple 24: end function

至此, 計(jì)算機(jī)學(xué)科評估知識圖譜的信息抽取工作全部完成, 獲得了通過非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)提取出來的三元組.

4.2.3 信息抽取方法評估

為了評估該系統(tǒng)信息抽取的性能, 我們需要確定實(shí)驗(yàn)抽取結(jié)果的準(zhǔn)確率和召回率. 盡管本系統(tǒng)的信息抽取方法是無監(jiān)督的, 但是仍需標(biāo)注數(shù)據(jù)來計(jì)算實(shí)驗(yàn)抽取結(jié)果的準(zhǔn)確率和召回率. 為此, 我們?nèi)斯?biāo)注了2 000個(gè)實(shí)體關(guān)系對(半結(jié)構(gòu)化1 500 個(gè), 非結(jié)構(gòu)化500 個(gè)).準(zhǔn)確率P和召回率R的計(jì)算公式如下:

其中,C1表示實(shí)驗(yàn)中抽取出來的正確的實(shí)體關(guān)系對,C2表示實(shí)驗(yàn)中抽取出來的實(shí)體關(guān)系對總數(shù),C3表示實(shí)驗(yàn)數(shù)據(jù)源中包含的實(shí)體關(guān)系對數(shù), 我們對CSV 文件數(shù)據(jù)、表格文件數(shù)據(jù)、文本數(shù)據(jù)分別計(jì)算兩個(gè)參數(shù). 實(shí)驗(yàn)結(jié)果如表4 所示.

表4 實(shí)驗(yàn)結(jié)果

從實(shí)驗(yàn)結(jié)果可以看出, 本系統(tǒng)的面向半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)流組合模型準(zhǔn)確率和召回率都可以達(dá)到0.9以上, 對于非結(jié)構(gòu)化數(shù)據(jù)的信息抽取, 該方法可以達(dá)到較高的準(zhǔn)確率, 但召回率只有0.5673, 存在信息遺失現(xiàn)象, 經(jīng)過兩次迭代后可以將召回率提升到0.6 左右, 但繼續(xù)迭代會(huì)導(dǎo)致準(zhǔn)確率下降, 因?yàn)槲谋绢愋偷臄?shù)據(jù)中存在少量的抽取模型, 而這些模型卻能覆蓋大部分語料, 因此繼續(xù)迭代的意義不大.

4.3 知識融合

上一步已經(jīng)獲得了構(gòu)建知識圖譜所需要的三元組,但是由于是異質(zhì)數(shù)據(jù)源轉(zhuǎn)換而來, 雖然數(shù)據(jù)的真實(shí)性有保障但是仍會(huì)存在同一實(shí)體存在不同名稱的情況.這時(shí)候就需要進(jìn)行知識融合. 知識融合的總體任務(wù)是計(jì)算實(shí)體間的相似度, 把相似度在一定閾值內(nèi)的實(shí)體劃定為同一實(shí)體, 本文的處理方法是在同一實(shí)體的不同表述間連接sameAs 關(guān)系, 在用戶對一個(gè)實(shí)體進(jìn)行查詢時(shí), 也對其有sameAs 關(guān)系的實(shí)體做相同的查詢. 下面介紹本文使用的實(shí)體相似度計(jì)算方法.

對于知識圖譜中的節(jié)點(diǎn)對, 可以根據(jù)其與附近實(shí)體的映射關(guān)系(父子關(guān)系/兄弟關(guān)系)來計(jì)算相似度, 這種相似度被稱為結(jié)構(gòu)級相似度[10]. 相似度的計(jì)算方法有以下3 類:

為了測試知識融合的效果, 本文隨機(jī)抽取1000 個(gè)融合后的實(shí)體對, 根據(jù)其共有屬性和關(guān)系計(jì)算其語義相似度[11]進(jìn)行評估, 語義相似度的計(jì)算公式是:

圖7 語義相似度分布圖

5 知識存儲(chǔ)和可視化

Neo4j 是由Java 實(shí)現(xiàn)的開源NoSQL 圖數(shù)據(jù)庫, 采用自由鄰接特性的圖存儲(chǔ)結(jié)構(gòu), 能夠提供更快的事務(wù)處理和數(shù)據(jù)關(guān)系處理能力. 經(jīng)過信息抽取和知識融合獲得的三元組知識使用Cypher 語言存儲(chǔ)到Neo4j 中,即完成了知識存儲(chǔ). Neo4j 雖然提供了一個(gè)查詢與展示一體化的Web 操作界面, 但Neo4j 并沒有接口允許該圖形界面嵌入到公共網(wǎng)頁中, 所以本文借助Echarts 來實(shí)現(xiàn)知識圖譜可視化[13], Neo4j 僅作為圖數(shù)據(jù)庫使用.Echarts 是基于JavaScript 的開源可視化庫, 其自帶的關(guān)系類型圖是在前端實(shí)現(xiàn)知識圖譜可視化的常見選擇,并且還可以配合JavaScript 實(shí)現(xiàn)力導(dǎo)向圖、展現(xiàn)依賴關(guān)系、顯示屬性等功能. 基于Echarts 實(shí)現(xiàn)的計(jì)算機(jī)學(xué)科評估知識圖譜可視化如圖8 所示.

圖8 知識圖譜可視化

除此之外, 計(jì)算機(jī)學(xué)科評估知識圖譜還提供了命名實(shí)體識別、實(shí)體關(guān)系查詢、實(shí)體路經(jīng)查詢等功能.

圖9 是本系統(tǒng)的實(shí)體路徑查詢功能的截圖展示,輸入兩個(gè)實(shí)體(不需要輸入關(guān)系), 查詢可返回兩個(gè)實(shí)體間的路徑.

圖9 實(shí)體路徑查詢功能

6 結(jié)束語

知識圖譜在國內(nèi)有很大發(fā)展?jié)摿? 特別是教育領(lǐng)域, 相較于國外還有較大差距. 本文使用CIR 模型建模, 對于最常見的文本、表格格式數(shù)據(jù), 從本體構(gòu)建、信息抽取、知識融合、知識存儲(chǔ)到圖譜可視化, 介紹了一套完整的學(xué)科知識圖譜構(gòu)建流程. 通過套用此方法可以提高了構(gòu)建學(xué)科知識圖譜的效率, 此方法也可以用在其他學(xué)科知識圖譜的構(gòu)建過程中. 同時(shí), 計(jì)算機(jī)學(xué)科評估知識圖譜可以方便地查詢學(xué)科評估信息, 為學(xué)科評估提供數(shù)據(jù)支持和更好的分析數(shù)據(jù).

猜你喜歡
結(jié)構(gòu)化圖譜實(shí)體
“植物界大熊貓”完整基因組圖譜首次發(fā)布
基于偽譜法的水下航行體快速操舵變深圖譜研究
基于ColBert-EL 和MRC 模型的零樣本實(shí)體鏈接
顧麗英:小學(xué)數(shù)學(xué)結(jié)構(gòu)化教學(xué)的實(shí)踐探索
借助問題情境,讓結(jié)構(gòu)化教學(xué)真實(shí)發(fā)生
深度學(xué)習(xí)的單元結(jié)構(gòu)化教學(xué)實(shí)踐與思考
實(shí)體錢
左顧右盼 瞻前顧后 融會(huì)貫通——基于數(shù)學(xué)結(jié)構(gòu)化的深度學(xué)習(xí)
圖表
2017實(shí)體經(jīng)濟(jì)領(lǐng)軍者