孫 凱,劉玉華,張成海,王長波
(華東師范大學 計算機科學與軟件工程學院,上海 200062)
基于網(wǎng)絡數(shù)據(jù)的企業(yè)知識圖譜可視化
孫 凱,劉玉華,張成海,王長波
(華東師范大學 計算機科學與軟件工程學院,上海 200062)
知識圖譜也被稱為科學知識圖譜,可以揭示復雜知識領(lǐng)域的動態(tài)發(fā)展規(guī)律.基于自然語言處理技術(shù)從海量Web數(shù)據(jù)中抽取命名實體及命名實體關(guān)系,從而構(gòu)建企業(yè)知識圖譜.設(shè)計并實現(xiàn)了一種基于知識圖譜的可視化分析方法,在網(wǎng)絡圖中融入集合可視化,從全局和細節(jié)兩個層次進行可視分析,構(gòu)建了企業(yè)知識圖譜可視化分析平臺.通過案例分析表明,該可視化研究方法滿足用戶對相關(guān)數(shù)據(jù)的可視化分析.
可視分析;企業(yè)知識圖譜;網(wǎng)絡數(shù)據(jù)
知識圖譜是實體和實體之間關(guān)系的集合,實體是指真實世界中的人名、地名、機構(gòu)名、產(chǎn)品名等.實體之間關(guān)系是指實體之間的語義關(guān)系,如出生地、成立時間等,它的本質(zhì)是一種揭示實體知識之間的語義網(wǎng)絡[1].企業(yè)知識圖譜可以幫助用戶迅速了解企業(yè)歷史、發(fā)展、現(xiàn)狀、合作伙伴及企業(yè)發(fā)展趨勢等知識,方便企業(yè)自身進行規(guī)劃和管理,同時方便企業(yè)供應商、客戶及投資人等了解公司狀況,進而指導和決策消費、合作及投資等.
知識圖譜從內(nèi)容上分為開放知識圖譜和領(lǐng)域知識圖譜. 在開放知識圖譜的研究中,文獻[2]結(jié)合維基百科和WordNet構(gòu)建了YAGO系列的知識圖譜. 文獻[3]描述了一種從維基百科信息盒子(infobox)抽取實體關(guān)系的迭代式算法,并且構(gòu)建多語種的知識庫. 在領(lǐng)域知識圖譜的研究中,文獻[4]基于沃爾瑪Kosmix系統(tǒng)構(gòu)建了知識庫.
在網(wǎng)絡圖中融入集合可視化是一種非常有效的可視化分析方法,前人對集合可視化的研究主要分為4種:色彩連接圖、線集合[5]、地理圖[6-7]和氣泡集合.色彩連接圖是一個標準的點線連接的網(wǎng)絡圖,它用顏色標簽來區(qū)分節(jié)點所屬的集合;線集合則是由一條曲線連接著集合中的所有元素,但線集合容易出現(xiàn)交叉及凹線問題;地理圖采用類似地圖的形式對數(shù)據(jù)進行可視化;氣泡集合則采用不同的氣泡將屬于不同集合的元素分別包裹起來,從而區(qū)分不同的集合. 文獻[8]對這4種連接數(shù)據(jù)集合信息的方法進行了系統(tǒng)的評估.
本文根據(jù)網(wǎng)絡數(shù)據(jù)構(gòu)建企業(yè)知識圖譜并對其進行可視化研究.主要貢獻如下:(1) 采用自然語言處理技術(shù)從海量Web數(shù)據(jù)中抽取命名實體及命名實體關(guān)系,構(gòu)建企業(yè)知識圖譜;(2) 從全局和細節(jié)兩個層次對企業(yè)知識圖譜進行可視分析,在網(wǎng)絡圖基礎(chǔ)上融入集合可視化,搭建了企業(yè)知識圖譜可視化分析平臺.
企業(yè)知識圖譜可視化分析平臺的構(gòu)建框架如圖1所示. 首先從網(wǎng)絡中收集相關(guān)數(shù)據(jù),然后對數(shù)據(jù)進行清理與預處理,進而構(gòu)建企業(yè)知識圖譜,最后結(jié)合信息可視化方法進行可視分析,得到預期的結(jié)果.
圖1 企業(yè)知識圖譜平臺搭建流程Fig.1 Construction flow of the enterprise knowledge graph platform
本文使用的所有數(shù)據(jù)來自爬取的公開數(shù)據(jù),包括企業(yè)黃頁、財經(jīng)新聞、上市公司公報和百科類數(shù)據(jù).企業(yè)黃頁包括阿里巴巴黃頁和中國供應商黃頁等,總共約700萬家中小型企業(yè).財經(jīng)新聞包括新浪財經(jīng)、網(wǎng)易財經(jīng)、鳳凰財經(jīng)等約200萬篇新聞數(shù)據(jù).上市公司公報包括3 073家上市公司近10年的上市公告數(shù)據(jù).百科類數(shù)據(jù)包括維基百科、百度百科等包含2 700多家大型企業(yè)信息盒(infobox)數(shù)據(jù).數(shù)據(jù)獲取之后采用純文本形式存儲在XML文件中,使用基于MapReduce框架的LSH(局部敏感哈希)算法[9]或者根據(jù)企業(yè)名稱唯一性進行去重處理.
獲取數(shù)據(jù)之后,需要對數(shù)據(jù)進行屬性值的歸一化處理,即需要將所有表達不一致的屬性值處理成一致,將所有使用文字表示數(shù)字的地方,都歸一化到數(shù)字,并且把數(shù)值單位統(tǒng)一化.比如某公司的年營業(yè)額屬性,在原始數(shù)據(jù)中的值是“人民幣200~300萬元/年”,那么統(tǒng)一化之后的格式為〈2 000 000, 3 000 000〉〈元/年〉〈人民幣〉.其他類似的屬性,也統(tǒng)一這樣處理.對文檔的注釋信息需要實現(xiàn)特定的讀寫操作.最后為了讓計算機能夠統(tǒng)一識別數(shù)據(jù),還需要將數(shù)據(jù)進行規(guī)格化、文檔化處理.
企業(yè)知識圖譜可視化分析平臺需要解決的分析任務包括:(1) 以當前企業(yè)為核心的知識網(wǎng)絡呈現(xiàn);(2) 當前關(guān)注企業(yè)的畫像呈現(xiàn);(3) 與當前企業(yè)相關(guān)的企業(yè)的信息呈現(xiàn);(4) 當前企業(yè)的相關(guān)事件分布等.
針對分析任務,該分析平臺由6個模塊構(gòu)成,分別為搜索模塊、企業(yè)畫像信息模塊、相關(guān)企業(yè)模塊、企業(yè)知識網(wǎng)絡模塊、詳細信息模塊和企業(yè)事件時間線模塊.搜索模塊提供對關(guān)注企業(yè)的搜索;企業(yè)畫像信息模塊提供企業(yè)基本信息;相關(guān)企業(yè)模塊呈現(xiàn)相關(guān)企業(yè);企業(yè)知識網(wǎng)絡模塊為最核心的模塊,它是由企業(yè)相關(guān)知識節(jié)點構(gòu)成的關(guān)系網(wǎng)絡,可以從中發(fā)現(xiàn)企業(yè)、產(chǎn)品、顧客、供應商等之間的關(guān)系;企業(yè)事件時間線模塊提供了企業(yè)重大事件隨時間的分布;詳細信息模塊呈現(xiàn)企業(yè)的詳細信息.
在構(gòu)建企業(yè)知識圖譜的過程中,中小型企業(yè)的大部分數(shù)據(jù)來自企業(yè)黃頁,經(jīng)過HTML解析就可以得到企業(yè)的結(jié)構(gòu)化數(shù)據(jù),利用企業(yè)本體技術(shù)[10]和語義網(wǎng)絡OWL將所有企業(yè)融合成企業(yè)關(guān)系網(wǎng).對于上市公司,由于其數(shù)據(jù)關(guān)聯(lián)一般出現(xiàn)在新聞或上市公司公報中,因此需要對新聞數(shù)據(jù)或公報數(shù)據(jù)進行中文分詞,將文本劃分為句子的集合,然后對所有的句子進行詞性標注、句法分析,采用基于條件隨機場(CRF)模型[11]的Ansj中文分詞工具識別命名實體,并受文獻[12]的啟發(fā),實現(xiàn)了一種基于Bootstrap的自我迭代更新算法抽取企業(yè)之間的關(guān)系.中小型企業(yè)有其行業(yè)分類,上市公司也有其行業(yè)分類,但是并不太統(tǒng)一,而當前中國國民經(jīng)濟行業(yè)分類標準GB/T 4754—2011是最權(quán)威的行業(yè)分類,因此選擇將前兩者的行業(yè)分類映射到后者中的行業(yè)分類.因為行業(yè)分類樹很重要,在本文的數(shù)據(jù)集中只有8 000多個節(jié)點,采用機器學習模型建立會有誤差,所以采用半自動匹配、半手工校對的方式建立行業(yè)分類樹,可以分別得到中小型企業(yè)和上市企業(yè)的行業(yè)分類樹. 同樣采用半自動匹配、半手動校對的方式,將其融合起來.
自然語言處理方法存在一定的精度問題,因此需要對抽取出來的事實進行交叉驗證,這里采用知識推理、知識主語和賓語詞性檢測等方法.由于一般新聞文章中對公司名稱都使用簡稱,因此需要將這些簡寫的公司名稱進行實體鏈接到百科數(shù)據(jù).本文使用基于詞包的實體上下文余弦相似度來計算兩個實體之間的距離,手工標注一定的實體鏈接關(guān)系對作為基準數(shù)據(jù),然后在該基準數(shù)據(jù)上將上下文相似度最高的實體對進行連接,根據(jù)連接實體對的準確率和實際連接效果來確定閾值,將距離小于該閾值的實體對映射在一起.
圖譜的上層是行業(yè)分類樹,下面連接的是公司實體.行業(yè)分類樹的原型是一棵樹形結(jié)構(gòu),通過計算最近祖先節(jié)點距離和節(jié)點之間路徑長度相結(jié)合的方式來確定行業(yè)之間的關(guān)聯(lián)度,將上層分類樹構(gòu)建成網(wǎng)狀結(jié)構(gòu).圖譜的下層是各個單一的小型企業(yè)實體,將企業(yè)的部分屬性定義為實體,企業(yè)之間就擁有了很多間接關(guān)系.對于抽取出來的關(guān)系,采用資源描述框架(RDF)進行知識表達.最后對所有的三元組或者多元組使用Apache TDB進行存儲.
企業(yè)知識圖譜是基于實體和實體之間關(guān)系的,隨著知識的積累,其中的實體和實體之間關(guān)系也會隨之更新,因此具有動態(tài)性;實體是依靠關(guān)系連接起來的,部分實體會因與之相關(guān)的實體較多而產(chǎn)生聚集現(xiàn)象,因此具有局部凝聚性;相同類別的實體可以劃分為同一個集合,因此具有集合特性.為清晰展示企業(yè)知識圖譜,選取公司、顧客、人物、地區(qū)、組織、產(chǎn)品、品牌這7種實體及實體之間關(guān)系來進行可視化分析.
基于企業(yè)知識圖譜的性質(zhì),將企業(yè)知識圖譜構(gòu)建成網(wǎng)絡圖,圖中的節(jié)點代表知識圖譜中的實體,節(jié)點之間的連線代表實體之間的關(guān)系.前人的研究有很多構(gòu)建網(wǎng)絡圖的算法,其中力引導布局算法[13]能夠充分揭示網(wǎng)絡的整體結(jié)構(gòu),是網(wǎng)絡圖可視化[14]中主流的布局算法,因此選取其作為基本布局方法.采用傳統(tǒng)的方法得到的企業(yè)知識網(wǎng)絡圖譜如圖2所示.由圖2可以看出,實體之間關(guān)系比較混亂,集合特性體現(xiàn)不明顯. 為深入探究企業(yè)知識圖譜中蘊含的信息,在網(wǎng)絡圖中融入集合可視化[15],從全局和細節(jié)兩個層次來分析企業(yè)知識圖譜.
圖2 細節(jié)圖譜Fig.2 The detailed graph
3.1 全局集合可視化
很多領(lǐng)域采用網(wǎng)絡圖對連接與關(guān)系數(shù)據(jù)進行可視分析,但在這些領(lǐng)域的分析中,連接與關(guān)系不是唯一的研究點.連接信息經(jīng)常與組、集合和聚類結(jié)合起來,次序和定量信息與領(lǐng)域特有信息元數(shù)據(jù)結(jié)合,例如,蛋白質(zhì)交互可視化研究經(jīng)常受益于聚類的蛋白質(zhì),而這些蛋白質(zhì)是被聯(lián)合活性的或者共享類似的功能.
多集合可視化帶來了眾多問題,經(jīng)常需要找出屬于同一集合的元素,而這些元素已經(jīng)在網(wǎng)絡圖中關(guān)聯(lián)在一起,使用不同顏色來標記不同集合是一種
非常有效的方式,但是受點線布局及邊交叉的影響,集合之間的關(guān)系展示不清晰.
在對企業(yè)知識圖譜進行全局分析的過程中,重點對圖譜中實體的重要程度及其之間的關(guān)聯(lián)強度進行可視分析.將屬于同一實體類型的節(jié)點看成一個“超”節(jié)點,從而忽略底層細節(jié),生成一個新的圖,既保留了圖的整體結(jié)構(gòu),又可以從全局呈現(xiàn)集合間的關(guān)系.整個圖譜中出現(xiàn)的同類型實體的個數(shù)作為該類型實體節(jié)點的權(quán)值,在圖中用節(jié)點的大小表示;連接實體類型相同的邊的條數(shù)作為該類型邊的權(quán)值,在圖中用線的粗細表示.基于這種思想,“A公司”全局圖譜如圖3所示. 由圖3可以看出,在“A公司”為核心構(gòu)建的知識圖譜中代表地域(1號)的節(jié)點最大,表示其最為重要,代表地域之間關(guān)系的邊最粗,表示其最為重要.
圖3 全局圖譜Fig.3 The global graph
3.2 細節(jié)集合可視化
在對企業(yè)知識圖譜進行全局分析的過程中,可以從全局層次發(fā)現(xiàn)規(guī)律,但是更詳細的信息會被隱藏起來,因此,采用細節(jié)和全局相結(jié)合的方式進行分析.在對企業(yè)知識圖譜進行詳細分析的過程中,所有的實體和實體之間關(guān)系將被全部展開,采用最小生成樹算法將代表相同類型實體的節(jié)點連接成線,形成一個集合.這樣既可以清晰地看到每個具體實體的權(quán)值和具體實體之間的關(guān)系,也可以清晰地呈現(xiàn)出相應的集合信息.圖4是在圖2基礎(chǔ)上融入集合可視化的效果. 由圖4可以看出,不同集合的元素很容易區(qū)分,但集合路徑之間出現(xiàn)了很多交叉.
引起集合路徑之間交叉的原因在于圖節(jié)點布局的交叉特性,具體如圖5所示.
圖5(a)為節(jié)點的交叉布局,由于力引導算法初始布局的隨機特性,進行集合可視化時必然會有交叉,為了減少集合路徑之間的交叉,可以在力引導算法基礎(chǔ)上添加約束規(guī)則來使力引導算法的初始布局避免或盡量減少集合之間節(jié)點的交叉.針對圖5(a),可將其調(diào)整為圖5(b),同理,對于圖4可以調(diào)整為圖6.
圖4 知識網(wǎng)絡初始布局Fig.4 The initial layout of knowledge network
(a) 交叉的節(jié)點布局 (b) 調(diào)整后的節(jié)點布局圖5 節(jié)點布局中的交叉與調(diào)整Fig.5 The cross and adjusted layout of nodes
圖6 知識網(wǎng)絡調(diào)整后布局Fig.6 The adjusted layout of knowledge network
基于前文的方法,實現(xiàn)了企業(yè)知識圖譜可視化分析平臺,前端采用D3.js,后端使用Java,采用Struts2框架,Tomcat 7.0.5作為Web容器.“B公司”知識圖譜如圖7所示. 圖7(a)是傳統(tǒng)的可視化方法得到的結(jié)果,集合特性不夠明顯.圖7(b)是在全局層次得到的結(jié)果,可以看出在“B公司”為核心構(gòu)建的知識圖譜包含7種類型的實體,其中公司最為重要,只存在公司和其他6種實體的關(guān)系,不存在其他實體間的關(guān)系,公司與組織和公司與地區(qū)之間的關(guān)系比較重要.這和圖3“A公司”案例形成鮮明對比,在“A公司”為核心構(gòu)建的知識圖譜中只有4種類型的實體,其中地域最為重要. 4種實體兩兩之間都有關(guān)系,公司、地域、品牌這3種實體內(nèi)部也有關(guān)系,而人物內(nèi)部沒有直接關(guān)系,地域之間的關(guān)系最為重要.
(a) 細節(jié)圖譜
(b) 全局圖譜圖7 “B公司”圖譜Fig.7 The graph of “Company B”
圖1中結(jié)果分析模塊為以“B公司”為例的企業(yè)知識圖譜可視化分析平臺,左上部分為企業(yè)畫像,左側(cè)中間區(qū)域為與B公司相關(guān)聯(lián)的企業(yè).中間核心部分為企業(yè)知識網(wǎng)絡可視化結(jié)果,第一核心集合為B公司及其相關(guān)公司,其次是地域和組織等.右側(cè)為知識網(wǎng)絡中節(jié)點的詳細信息,系統(tǒng)底部采用不等距折線圖來呈現(xiàn)企業(yè)的相關(guān)新聞、輿論事件隨時間的變化,對應數(shù)值為該事件的熱度.選中“江蘇省蘇……”節(jié)點后,其相關(guān)節(jié)點會被放大,同時系統(tǒng)右側(cè)面板將提供該節(jié)點相關(guān)信息.
通過圖1中的企業(yè)知識圖譜可視化分析平臺,可以快速了解公司畫像,比如業(yè)務類型、公司性質(zhì)等,其次可以根據(jù)企業(yè)知識網(wǎng)絡中的節(jié)點關(guān)系了解B公司的相關(guān)公司、人物、地域、產(chǎn)品和顧客等信息,最后該平臺可以追蹤查看企業(yè)相關(guān)事件及其在知識網(wǎng)絡中涉及到的知識節(jié)點.由此表明,企業(yè)知識圖譜可視化分析平臺可以解決上文的分析任務,為用戶提供快速查詢功能,可以幫助用戶了解企業(yè)發(fā)展、合作伙伴、供應關(guān)系及客戶關(guān)系等,同時還能夠幫助企業(yè)優(yōu)化自身生態(tài)系統(tǒng)等.
本文采用基于自然語言處理的方法從海量Web數(shù)據(jù)中抽取命名實體及命名實體關(guān)系,構(gòu)建企業(yè)知識圖譜;在力引導布局基礎(chǔ)上融入了集合可視化,使用集合路徑來連接集合中的各節(jié)點;最后構(gòu)建了企業(yè)知識圖譜可視化分析平臺.
未來的研究將著重完善企業(yè)知識圖譜可視化分析平臺,對其進行功能擴展,提供更多更深入的分析;對長時間積累的大規(guī)模數(shù)據(jù)進行處理及知識圖譜構(gòu)建,達到構(gòu)建完備知識圖譜可視化分析平臺的目的.
[1] FININ T, DING L, ZHOU L, et al. Social networking on the semantic web[J]. Learning Organization, 2005,12(5):418-435.
[2] SUCHANEK F, KASNECI G, WEIKUM G. YAGO: A core of semantic knowledge unifying wordnet and wikipedia[C]// Proceedings of the WWW Conference. 2007:697-706.
[3] BIZER C, AUER S, LEHMANN J, et al. Dbpedia-querying wikipedia like a database[C]// International World Wide Web Conference. 2007:8-12.
[4] DESHPANDE O, LAMBA D, TOURN M, et al. Building, maintaining, and using knowledge bases: A report from the trenches[C]// SIGMOD: International Conference on Management of Data. 2013:1209-1220.
[5] ALPER B, RICHE N, RAMOS G, et al. Design study of linesets, a novel set visualization technique[J]. Visualization and Computer Graphics, IEEE Transactions on, 2011,17(12):2259-2267.
[6] GANSNER E, HU Y F, KOBOUROV S. Visualizing graphs and clusters as maps[J]. Computer Graphics and Applications, IEEE, 2010,30(6):54-66.
[7] GANSNER E, HU Y F, KOBOUROV S. Gmap: Visualizing graphs and clusters as maps[C]// Pacific Visualization Symposium(PacificVis), 2010 IEEE. 2010:201-208.
[8] JIANU R, RUSU A, HU Y F, et al. How to display group information on node-link diagrams: An evaluation[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(11):1530-1541.
[9] RAJARAMAN A, ULLMAN J. Mining of massive datasets[M]. Cambridge: Cambridge University Press,2011:85-89.
[10] JEAN-MARY Y, SHIRONOSHITA E,KABUKA M. Ontology matching with semantic verification[J]. Web Semantics: Science, Services and Agents on the World Wide Web, 2009,7(3):235-251.
[11] CAI P, LUO H, ZHOU A. Semantic entity detection by integrating CRF and SVM[J]. Web-Age Information Management, 2010, 6184: 483-494.
[12] AGICHTEIN E, GRAVANO L. Snowball: Extracting relat-ions from large plain-text collections[C]// ACM / Conference on Digital Libraries. 2000:85-94.
[13] ITOH T,MUELDER C,MA K L, et al. A hybrid space-filling and force-directed layout method for visualizing multiple-category graphs[C]// IEEE Pacific Visualization Symposium. 2009:121-128.
[14] RODRIGUES J, TRAINA A, FALOUTSOS C, et al. Supergraph visualization[C]// IEEE International Symposium on Multimedia. 2015:227-234.
[15] XU P P, DU F, SHI C L, et al. Visual analysis of set relations in a graph[C]// Computer Graphics Forum (EuroVis’13). 2013:61-70.
Visualization for Enterprise Knowledge Graph Based on Web Data
SUNKai,LIUYu-hua,ZHANGCheng-hai,WANGChang-bo
(School of Computer Science and Software Engineering, East China Normal University, Shanghai 200062, China)
Knowledge graph, also known as scientific knowledge graph, can reveal the law of the dynamic development in complex knowledge fields. Named entities and named entity relationships are extracted from mass web data via natural language processing technique to build an enterprise knowledge graph. Then a visual analysis method is designed and implemented based on the knowledge graph,which can analyze enterprise relationships from two levels, namely, global and detailed levels, by integrating set visualization into network graph. Finally, a visual analysis platform of enterprise knowledge graph is structured. The case analysis shows that the research meets the needs of users for the visualized analysis of the corresponding data.
visual analysis; enterprise knowledge graph; web data
1671-0444 (2016)04-0473-05
2015-12-30
國家自然科學基金面上資助項目(61272199);教育部博士點基金資助項目(20130076110008)
孫 凱(1990—),男,山東滕州人,碩士研究生,研究方向為信息可視化.E-mail:ksun@live.cn 王長波(聯(lián)系人),男,教授,E-mail:cbwang@sei.ecnu.edu.cn
TP 301.6
A