李維娜
(中國(guó)軟件評(píng)測(cè)中心網(wǎng)絡(luò)空間安全測(cè)評(píng)工程技術(shù)中心, 北京 100048)
知識(shí)圖譜[1]又稱為科學(xué)知識(shí)圖譜,是知識(shí)的可視化形式。它是利用信息處理、數(shù)據(jù)挖掘等手段提煉事物內(nèi)部的實(shí)體結(jié)構(gòu)關(guān)系,并用圖譜的形式展現(xiàn)出來(lái)。Google 搜索引擎自2012 年為搜索添加了智能化元素。智能化搜索應(yīng)該是可以識(shí)別用戶的搜索意圖,達(dá)到精準(zhǔn)搜索,并返回用戶搜索相關(guān)的信息實(shí)體及信息實(shí)體與其他實(shí)體間交叉關(guān)系,也即是信息知識(shí)圖譜,這樣用戶就可以執(zhí)行一次搜索完成對(duì)一個(gè)事物的全方位了解。可見(jiàn)知識(shí)圖譜在智能搜索領(lǐng)域具有重要意義[2]。學(xué)術(shù)搜索[3]是用戶檢索科技論文及作者等一系列的信息,同樣知識(shí)圖譜在學(xué)術(shù)搜索領(lǐng)域也可以提高檢索效率,達(dá)到較好的用戶體驗(yàn)。然而目前的學(xué)術(shù)檢索還是通過(guò)普通人工整理來(lái)明確數(shù)據(jù)本身的關(guān)聯(lián)關(guān)系,利用知識(shí)圖譜技術(shù)提高建立關(guān)聯(lián)關(guān)系的智能化程度是一個(gè)有意義的研究方向。
知識(shí)圖譜起源于語(yǔ)義網(wǎng)絡(luò)。1968 年,J.R.Quillian 提出了語(yǔ)義網(wǎng)絡(luò)的定義,是一種用圖來(lái)表示知識(shí)的結(jié)構(gòu)形式。知識(shí)圖譜由Google 公司于2012 年正式提出,而后逐步應(yīng)用于搜索引擎、智能問(wèn)答、產(chǎn)品銷售、醫(yī)療等。Ashwini Jaya Kumar 等人[4]提出了一個(gè)基于知識(shí)圖譜的問(wèn)答系統(tǒng)接口,解決自動(dòng)化語(yǔ)音識(shí)別和語(yǔ)言處理問(wèn)題。Haklae Kim為了解決消費(fèi)者在購(gòu)物時(shí)往往對(duì)商品缺少充分信息的問(wèn)題,提出構(gòu)建一種商品的知識(shí)圖譜來(lái)解決這個(gè)問(wèn)題,給出了表達(dá)產(chǎn)品特征的功能和新方法。Tong Yu 闡述了一種中藥領(lǐng)域的知識(shí)采集、分析、管理、構(gòu)建與應(yīng)用,做到了知識(shí)的可視化、知識(shí)推薦、共享與利用。
搜索引擎是網(wǎng)頁(yè)個(gè)數(shù)及信息量爆炸式增長(zhǎng)的產(chǎn)物。與搜索相關(guān)的產(chǎn)品在1990 年后相繼出現(xiàn)。蒙特利爾McGill的大學(xué)生AlanEmtage、PeterDeutsch、BillWheelan 研發(fā)的Archie 打開了搜索引擎思路的大門,雖然這個(gè)工具的目的為了快速查找FTP 文件。1993 年又產(chǎn)生了可以搜索網(wǎng)頁(yè)和文件的工具,這個(gè)來(lái)源于美國(guó)內(nèi)達(dá)華System Computing Service 大學(xué)。而后出現(xiàn)了Yahoo 讓搜索引擎的便利深入人心。1998 年出現(xiàn)的Google 搜索、2000 年出現(xiàn)的百度公司、2002 年出現(xiàn)的中國(guó)搜索都成為目前搜索引擎領(lǐng)域的巨頭。知識(shí)圖譜的出現(xiàn)為發(fā)展智能搜索引擎帶來(lái)了美好的前景,同時(shí)知識(shí)圖譜在搜索引擎方面得到了很好的應(yīng)用,知識(shí)圖譜在信息檢索等發(fā)揮著越來(lái)越重要的作用。
學(xué)術(shù)搜索是專門為學(xué)術(shù)工作者提供科技論文、學(xué)者、期刊、學(xué)術(shù)機(jī)構(gòu)檢索的搜索引擎,是提高科技工作者工作效率的重要途徑。現(xiàn)有的學(xué)術(shù)搜索機(jī)構(gòu)目前還停留在數(shù)據(jù)庫(kù)檢索及關(guān)鍵詞匹配的初級(jí)搜索階段,智能化學(xué)術(shù)搜索有待發(fā)展。
知識(shí)圖譜作為智能搜索的重要技術(shù)組成部分,目前,在學(xué)術(shù)領(lǐng)域的應(yīng)用主要有兩種方式。一種基于內(nèi)容的,也就是繪制學(xué)術(shù)內(nèi)容本身的知識(shí)圖譜,如研究近10 年有關(guān)機(jī)器學(xué)習(xí)方面的知識(shí)圖譜,陳瑜林[5]等人在2012 年就研究了學(xué)術(shù)群體的可視化知識(shí)圖譜構(gòu)建,分析了學(xué)者與學(xué)者之間的關(guān)聯(lián)關(guān)系。薛芳[6]等人利用7093 篇文獻(xiàn),研究了國(guó)內(nèi)環(huán)境監(jiān)測(cè)領(lǐng)域的學(xué)者、研究機(jī)構(gòu)等。劉陽(yáng)[7]等人通過(guò)共詞分析、聚類分析及多維尺度分析研究了2000 年到2009 年間的搜索引擎學(xué)術(shù)知識(shí)圖譜;一種是基于內(nèi)容搜索的,也就是通過(guò)關(guān)鍵詞檢索獲取復(fù)雜的學(xué)術(shù)信息實(shí)體及實(shí)體關(guān)系,這方面的文獻(xiàn)及研究還十分薄弱。如何把現(xiàn)有的各學(xué)科內(nèi)學(xué)術(shù)文獻(xiàn)研究的知識(shí)圖譜進(jìn)行整合,提供搜索是十分有必要加以研究的內(nèi)容。
本文從基于知識(shí)圖譜的學(xué)術(shù)搜索引擎的數(shù)據(jù)采集、分析、構(gòu)建的角度進(jìn)行了研究,給出了整體的框架及一種學(xué)術(shù)信息知識(shí)圖譜構(gòu)建算法。
實(shí)體是知識(shí)圖譜中最基本的組成元素。知識(shí)圖譜是一種用圖表達(dá)的實(shí)體及實(shí)體關(guān)系結(jié)構(gòu)的知識(shí)庫(kù),可以用三元組表示為KG={E,R,S}[8]。其中E={e1,e2,….,e|E|}表示知識(shí)庫(kù)中實(shí)體的集合,|E|表示為實(shí)體的總數(shù)。R={r1,r2,….,r|R|}表示知識(shí)庫(kù)中實(shí)體之間關(guān)系的集合,|R|表示為實(shí)體關(guān)系的總數(shù)。S ?E×R×E 表示知識(shí)庫(kù)中實(shí)體與實(shí)體之間的關(guān)系。
定義1:學(xué)術(shù)信息一般包含學(xué)術(shù)機(jī)構(gòu)、論文、學(xué)者、期刊等,符號(hào)表示為AI={D,A,E,J,…,R},是一個(gè)多種實(shí)體及實(shí)體關(guān)系的集合。
其中D 代表學(xué)術(shù)機(jī)構(gòu)及機(jī)構(gòu)之間關(guān)系,D={d,Rd},其中d={d1,d2,….,dn},n ∈Z+,Rd={dm×du|dm∈d,du∈d,m ≠u};
A 代表論文及論文之間關(guān)系,A={a,Ra},其中a={a1,a2,….an},n ∈Z+,Ra={am×au|am∈a,au∈d,m ≠u};
E 代表學(xué)者及學(xué)者關(guān)系,E={e,Re},其中e={e1,e2,…,en},n ∈Z+,Re={em×eu|em∈e,eu∈e, m ≠u};
J 代表期刊及期刊之間關(guān)系,J={j,Rj},其中j={j1,j2,…,jn},n ∈Z+,Rj={jm×ju|jm∈j,ju∈j,m ≠u};
R 代表機(jī)構(gòu)、論文、學(xué)者、期刊之間的關(guān)聯(lián)關(guān)系的集合,R={r1,r2,…,rn},n ∈Z+,r1={dx×ay×ez×jo|dx∈d,ay∈a,ez∈e,jo∈j;x,y,z,o ∈Z+}。
定義2:學(xué)術(shù)信息知識(shí)圖譜是用圖的形式表示學(xué)術(shù)信息的一種形式。符號(hào)表示為KGAI={EAI,RAI,SAI},其中EAI表示知識(shí)庫(kù)中實(shí)體的集合。RAI表示知識(shí)庫(kù)中實(shí)體之間關(guān)系的集合。SAI?EAI×RAI×EAI表示知識(shí)庫(kù)中實(shí)體與實(shí)體之間的關(guān)系。
檢索學(xué)術(shù)資料是學(xué)者做學(xué)術(shù)的必備步驟,優(yōu)化學(xué)術(shù)信息檢索結(jié)構(gòu)是加速科技進(jìn)步的有效手段。普通的1.0 時(shí)代的學(xué)術(shù)信息檢索是一種基于關(guān)鍵詞搜索并返回與關(guān)鍵詞相關(guān)的學(xué)術(shù)信息有序列表。
定義3:學(xué)術(shù)信息知識(shí)圖譜檢索是一種基于用戶在搜索引擎中輸入關(guān)鍵詞進(jìn)行搜索并返回與關(guān)鍵詞精確匹配的學(xué)術(shù)信息及知識(shí)圖譜的檢索方式。
要組成一個(gè)完整的學(xué)術(shù)信息檢索系統(tǒng),必須包括學(xué)術(shù)信息數(shù)據(jù)的采集、學(xué)術(shù)實(shí)體的抽取、學(xué)術(shù)信息知識(shí)圖譜構(gòu)建、知識(shí)圖譜存儲(chǔ)、知識(shí)圖譜索引、學(xué)術(shù)信息檢索等模塊。
對(duì)學(xué)術(shù)數(shù)據(jù)的采集可以有多種途徑:學(xué)術(shù)機(jī)構(gòu)提交給論文收錄機(jī)構(gòu)的數(shù)據(jù);通用搜索引擎中的數(shù)據(jù);學(xué)術(shù)搜索引擎中的數(shù)據(jù)等。論文收錄機(jī)構(gòu)的數(shù)據(jù)是比較規(guī)范的結(jié)構(gòu)化數(shù)據(jù),同時(shí)信息比較完整,通用搜索引擎中的數(shù)據(jù)是非結(jié)構(gòu)化的包含冗余信息的數(shù)據(jù),同時(shí)信息不完整,學(xué)術(shù)搜索引擎中的數(shù)據(jù)一般是可以獲取到結(jié)構(gòu)化的數(shù)據(jù),但信息不能保證完整性。
多種數(shù)據(jù)源經(jīng)過(guò)整合后、數(shù)據(jù)預(yù)處理后,要經(jīng)過(guò)信息抽取等完成多數(shù)據(jù)源的信息實(shí)體抽取。而后進(jìn)行知識(shí)圖譜構(gòu)建形成知識(shí)庫(kù)。再經(jīng)過(guò)索引模塊的搭建把知識(shí)庫(kù)變成索引庫(kù),為用戶的學(xué)術(shù)信息檢索提供快速的響應(yīng)。
學(xué)術(shù)信息是研究機(jī)構(gòu)、學(xué)者、期刊、論文等信息的集合。目前,論文收錄機(jī)構(gòu)數(shù)據(jù)庫(kù)中一般有完整的研究機(jī)構(gòu)、論文、期刊及作者信息,是構(gòu)建知識(shí)圖譜的重要數(shù)據(jù)源。同時(shí)通用搜索引擎和學(xué)術(shù)搜索引擎也是數(shù)據(jù)的重要來(lái)源。數(shù)據(jù)采集后實(shí)體關(guān)系抽取、知識(shí)融合是構(gòu)建知識(shí)圖譜完成學(xué)術(shù)信息檢索的核心步驟。
規(guī)范的論文收錄機(jī)構(gòu)數(shù)據(jù)庫(kù)包含完整的研究機(jī)構(gòu)信息、學(xué)者信息、期刊信息、論文信息以及各種關(guān)系表,如學(xué)者論文關(guān)系表記錄了哪位學(xué)者發(fā)表了哪篇論文。首先可以根據(jù)各個(gè)表獲取實(shí)體。實(shí)體關(guān)系可以根據(jù)關(guān)系表獲取。
學(xué)術(shù)搜索引擎是用戶輸入并提交關(guān)鍵詞并把學(xué)術(shù)信息返回給用戶的一臺(tái)機(jī)器,如百度學(xué)術(shù)搜索(http://xueshu.baidu.com),輸入關(guān)鍵詞“模式識(shí)別”后返回給用戶的是一個(gè)與關(guān)鍵詞相關(guān)網(wǎng)頁(yè)信息。
從不同數(shù)據(jù)源獲得的學(xué)術(shù)信息實(shí)體關(guān)系可以起到相互補(bǔ)充的作用,同時(shí)也存在不同數(shù)據(jù)源雖然結(jié)構(gòu)不同,但都表示同一個(gè)知識(shí),要多個(gè)數(shù)據(jù)源的知識(shí)就牽涉到知識(shí)融合。如關(guān)系型數(shù)據(jù)庫(kù)里面的數(shù)據(jù)是二維表格,而學(xué)術(shù)搜索引擎中我們得到的就是規(guī)范的html 文本。
為了從不同數(shù)據(jù)源中抽取實(shí)體關(guān)系構(gòu)建知識(shí)圖譜,本文采用了知識(shí)圖譜常用的存儲(chǔ)方式:三元組(E,R,E)形式,也就是實(shí)體-關(guān)系-實(shí)體的形式,這種方式的底層儲(chǔ)存可以有多種形式:可以采用一般的關(guān)系數(shù)據(jù)庫(kù),也可以采用RDF 存儲(chǔ)、圖數(shù)據(jù)庫(kù)等。整理多個(gè)數(shù)據(jù)源的實(shí)體及關(guān)系后存儲(chǔ)到一定形式的數(shù)據(jù)庫(kù)中,就完成了知識(shí)圖譜的底層構(gòu)建。
ElasticSearch 是一個(gè)基于Lucene 的搜索服務(wù)器,是一種分布式的實(shí)時(shí)、穩(wěn)定、方便的開源搜索引擎,同時(shí)提供多種開發(fā)語(yǔ)言的API。同時(shí)很多機(jī)構(gòu)和個(gè)人編寫了很多開源的數(shù)據(jù)同步插件,可以很容易地把關(guān)系型及非關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行索引,同時(shí)提供檢索服務(wù)。學(xué)術(shù)信息搜索的檢索模塊,知識(shí)庫(kù)的索引都可以用ElasticSearch 很容易地實(shí)現(xiàn)。
實(shí)驗(yàn)在Windows 10 下進(jìn)行,數(shù)據(jù)采集于某出版行業(yè)數(shù)據(jù)庫(kù)及百度學(xué)術(shù)搜索引擎,獲取某出版網(wǎng)站輸入關(guān)鍵詞“數(shù)據(jù)挖掘”按照主題搜索獲取大約82680 條數(shù)據(jù),然后選中前500 條通過(guò)導(dǎo)出參考文獻(xiàn)獲取第一批實(shí)驗(yàn)數(shù)據(jù),標(biāo)注為DB_1。通過(guò)網(wǎng)絡(luò)爬蟲技術(shù)在百度學(xué)術(shù)搜索中輸入關(guān)鍵詞“數(shù)據(jù)挖掘”,獲取返回?cái)?shù)據(jù)的前500 條作為第二批實(shí)驗(yàn)數(shù)據(jù),標(biāo)注為DB_2。對(duì)兩批實(shí)驗(yàn)數(shù)據(jù)完成實(shí)體關(guān)系抽取、知識(shí)融合、知識(shí)庫(kù)構(gòu)建。同時(shí)用MySQL 數(shù)據(jù)庫(kù)進(jìn)行三元組信息的存儲(chǔ),用ElasticSearch 進(jìn)行知識(shí)圖譜的索引及檢索。
5.2.1 實(shí)驗(yàn)平臺(tái)的搭建
實(shí)驗(yàn)環(huán)境在Windows 10 上安裝與部署,并建立數(shù)據(jù)庫(kù)knowledgegraph,表knowgraph 作為實(shí)體關(guān)系的知識(shí)圖譜存儲(chǔ)。
5.2.2 實(shí)體關(guān)系抽取過(guò)程
第一批實(shí)驗(yàn)數(shù)據(jù)很規(guī)范地顯示作者、期刊、論文等信息,采用文本讀取分割摘取的方式解析出作者、期刊、論文等學(xué)術(shù)信息實(shí)體,同時(shí)實(shí)體關(guān)系寫入知識(shí)圖譜庫(kù)。
第二批實(shí)驗(yàn)數(shù)據(jù)采用jsoup(Java 版的html 解析庫(kù),https://jsoup.org/),對(duì)爬取的網(wǎng)頁(yè)信息通過(guò)html 屬性result sc_default_result xpath-log 進(jìn)行解析拆分得出學(xué)術(shù)信息實(shí)體關(guān)系,寫入知識(shí)圖譜庫(kù),同時(shí)注意庫(kù)中已經(jīng)有的實(shí)體關(guān)系不再重復(fù)寫入。最終得出實(shí)體關(guān)系情況,然后通過(guò)JSON 數(shù)據(jù)解析,再把數(shù)據(jù)轉(zhuǎn)換成graphviz-2.38 可以識(shí)別圖數(shù)據(jù)格式。最后通過(guò)Graphviz 繪制圖形結(jié)構(gòu)。
為了促進(jìn)學(xué)術(shù)信息的智能化搜索,本文運(yùn)用到了學(xué)術(shù)信息知識(shí)圖譜的方法。首先綜述了知識(shí)圖譜及其目前的應(yīng)用領(lǐng)域,其次設(shè)計(jì)了科技論文檢索系統(tǒng)基于作者和論文的知識(shí)圖譜構(gòu)建模型。詳細(xì)設(shè)計(jì)學(xué)術(shù)信息實(shí)體關(guān)系抽取、知識(shí)融合等知識(shí)圖譜構(gòu)建的關(guān)鍵方法,最后實(shí)驗(yàn)利用某出版行業(yè)現(xiàn)有的數(shù)據(jù)和百度學(xué)術(shù)搜索的數(shù)據(jù)實(shí)驗(yàn)了數(shù)據(jù)采集,實(shí)體關(guān)系抽取,知識(shí)融合、學(xué)術(shù)信息檢索、知識(shí)圖譜自動(dòng)繪制等構(gòu)建了基于知識(shí)圖譜的學(xué)術(shù)信息檢索系統(tǒng)。