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