鐘亮
摘 要:針對百度百科這一數(shù)據(jù)源,構(gòu)建了化學知識圖譜。首先,利用網(wǎng)絡(luò)爬蟲技術(shù)對數(shù)據(jù)進行采集與清洗;然后,采用中文分詞、實體識別、實體關(guān)系識別等技術(shù)對知識圖譜構(gòu)建方法進行實證性研究,可視化實驗所得實體及實體關(guān)系,并對實驗結(jié)果進行了相關(guān)評價測試。最后,簡要闡述了知識圖譜的應用領(lǐng)域與發(fā)展優(yōu)勢。研究結(jié)果表明,實體關(guān)系識別的預測準確率較高。
關(guān)鍵詞:百度百科; 知識圖譜; 網(wǎng)絡(luò)爬蟲; 實體識別
DOIDOI:10.11907/rjdk.172205
中圖分類號:TP319
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0168-03
0 引言
知識圖譜(Mapping Knowledge Domains)是顯示科學知識發(fā)展進程與結(jié)構(gòu)關(guān)系的譜系,具有“圖”、“譜”的雙重性質(zhì)和特征:既是可視化的知識圖形,又是序列化的知識譜系[1]。知識圖譜可以繪制、挖掘、分析和顯示科學技術(shù)知識以及它們之間的相互關(guān)系,是在大數(shù)據(jù)時代背景下產(chǎn)生的一種新型的海量知識管理與服務模式[2]。其研究目標是借助現(xiàn)代技術(shù)與理論使知識可視化,讓人們更加方便、準確地獲取知識。知識圖譜作為知識的載體,能用圖形化的方式將人們不易理解的信息形象地表示出來[3],通過內(nèi)容分析、引文分析、自然語言處理等方法和可視化的方式顯示知識結(jié)構(gòu)及其相互關(guān)系,既符合人類的認知習慣,又充分利用了現(xiàn)代信息技術(shù);使用戶既能快速獲取知識及其之間的邏輯關(guān)系,又能從海量文獻中把握關(guān)鍵的知識點[4],還能從豐富的網(wǎng)絡(luò)知識庫中提取更多有效的知識進行關(guān)系補充,從而更好地把握學科知識結(jié)構(gòu)。
隨著互聯(lián)網(wǎng)中用戶生成內(nèi)容和幵放鏈接數(shù)據(jù)等大量RDF數(shù)據(jù)被發(fā)布,互聯(lián)網(wǎng)逐步從僅包含網(wǎng)頁與網(wǎng)頁之間超鏈接的文檔萬維網(wǎng)轉(zhuǎn)變?yōu)榘罅棵枋龈鞣N實體和實體之間豐富關(guān)系的數(shù)據(jù)萬維網(wǎng)。在此背景下,Google公司于2012年推出了Google Knowledge Graph[5],其初衷是用于改善搜索結(jié)果。緊隨其后,國內(nèi)外的其它互聯(lián)網(wǎng)搜索引擎公司也紛紛構(gòu)建了自己的知識圖譜,例如微軟的Probase[6]、搜狗的“知立方”、百度的“知心”、清華大學構(gòu)建的XLore[7]、上海交通大學構(gòu)建的Zhishi.me[8]和復旦大學GDM實驗室的“知識工場”等。
1 數(shù)據(jù)源分析
研究通過網(wǎng)絡(luò)爬蟲對百度百科中與“化學”主題相關(guān)的詞條信息進行抓取,為知識抽取模塊產(chǎn)生原始數(shù)據(jù)基礎(chǔ)。在進行爬蟲抓取和知識抽取時應注意:百度百科中的基本單元為文章,一篇文章(消歧頁面除外)對應一個實體,文章的標題(title,即詞條名)通常為對應實體的名稱;信息模塊以表格的形式存在,用于表述文章對應實體的屬性;百度百科中存在重定向機制,用于當用戶以不同的檢索條件檢索到同一篇文章時的定位;當檢索條件蘊含多種意義時進行所有意義的列舉。
數(shù)據(jù)采集方式是運用Java語言,通過網(wǎng)絡(luò)爬蟲的方式進行的。其爬蟲抓取策略為:多線程、深度優(yōu)先遍歷、廣度優(yōu)先遍歷、反向連接數(shù)等策略,爬蟲處理流程如圖1所示。
利用該爬蟲程序構(gòu)建了以“化學”這一關(guān)鍵詞為主題的百度百科數(shù)據(jù)集,并采用人工剔除的方式輔助篩選出了5 631個詞條信息(包括詞條名、詞條內(nèi)容與URL),其爬蟲程序入口如圖2所示。
2 知識圖譜構(gòu)建
在知識圖譜構(gòu)建過程中,最重要的3個環(huán)節(jié)就是抽取知識實體、識別知識實體間關(guān)系與繪制知識圖譜。其中尤以知識實體抽取和知識實體間關(guān)系的識別最為關(guān)鍵。將知識單元抽取、知識間關(guān)系的識別映射為實體識別和實體關(guān)系識別后,就可以得到知識圖譜構(gòu)建流程,如圖3所示。
2.1 分詞
實驗研究選擇R語言環(huán)境下的Rwordseg包進行分詞。其中Rwordseg包是基于中科院的ICTCLAS中文分詞分析算法編寫而成的,可以實現(xiàn)中文分詞、關(guān)鍵詞提取、多級詞性標注等功能,還可以導入自定義詞典進行輔助分詞。分詞結(jié)果示例如圖4所示。
2.2 知識實體識別
在知識實體識別之前,需要對數(shù)據(jù)進行預處理(包括語料的清洗、每個詞的上下文窗口詞提取、去除沒有實際意義的詞等),并進行特征選擇(包括詞特征、詞性特征、詞典特征、上下文窗口特征、每個詞對應的TF-IDF值等),構(gòu)建相應的特征向量。
特征選擇過程中采用Python實現(xiàn)TF-IDF算法,其核心代碼如下:
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
將得到的詞語轉(zhuǎn)換為詞頻矩陣:
freWord = CountVectorizer()
統(tǒng)計每個詞語的tf-idf權(quán)值:
transformer = TfidfTransformer()
計算出tf-idf(第一個fit_transform),并將其轉(zhuǎn)換為tf-idf矩陣(第二個fit_transformer):
tfidf = transformer.fit_transform(freWord.fit_transform(data))
獲取詞袋模型中的所有詞語:
word = freWord.get_feature_names()
得到權(quán)重:
weight = tfidf.toarray()
2.3 實體關(guān)系識別
在知識實體識別之后,可以利用已識別的實體進行實體間關(guān)系的識別。為了確保實體關(guān)系識別過程中所輸入信息的準確性,仍需對實體識別結(jié)果進行預處理(包括實體對提取與實體對標注),最后針對預處理后的數(shù)據(jù)進行特征選擇(包括實體特征、實體類型特征、實體相對位置特征、實體間距離特征、上下文窗口特征等)。endprint
2.4 實驗結(jié)果分析
為了對實驗結(jié)果進行評估,實驗運用了人工神經(jīng)網(wǎng)絡(luò)算法(ANN)對實驗數(shù)據(jù)進行訓練和測試,實驗評估納入3個評價指標,分別是準確率、召回率與F-值,其計算公式如下:
準確率=正確識別的實體數(shù)(正確識別的實體關(guān)系數(shù))識別出的實體總數(shù)(識別出的實體關(guān)系總數(shù))×100%(1)
召回率=正確識別的實體數(shù)(正確識別的實體關(guān)系數(shù))實際實體總數(shù)(實際實體關(guān)系總數(shù))×100%(2)
F=2×準確率×召回率準確率+召回率×100%(3)
分析結(jié)果見表1。
實驗結(jié)果結(jié)果表明,實驗對知識實體識別和實體關(guān)系識別效果有所不同,在知識實體判別中,F(xiàn)-值只有74.9%,而對于實體關(guān)系的判別,F(xiàn)-值達到了82.4%。從實驗具體過程來看,主要有以下兩個原因:
①實驗訓練樣本較小。研究只篩選出5 631個實體參與樣本訓練,影響了實驗的實際效果。
②特征選擇粒度存在問題。此次實驗在對特征進行選擇時,把詞作為特征提取單元,其目的是為了使上下文窗口涵蓋更多的信息。詞與單個字符比較而言,雖然包含的信息較多,但是粒度也相對較粗,在分析過程中可能會丟失一些比較重要的字符集信息。
2.5 知識圖譜繪制
實驗獲得的實體和實體關(guān)系可用來繪制知識圖譜的知識單元和知識單元間的關(guān)系。研究采用NLPIR實體抽取系統(tǒng)中基于角色標注的實體抽取方法對實體進行抽取,并運用基于POS-CBOW的Word2vec語義擴展模型對實體關(guān)系進行抽取,知識單元與知識單元關(guān)系抽取示例如圖5所示。
3 結(jié)語
研究構(gòu)建了面向百度百科的化學知識圖譜構(gòu)建方法,具體構(gòu)建過程包括知識實體抽取、實體間關(guān)系抽取和繪制知識圖譜3個步驟。
知識圖譜為互聯(lián)網(wǎng)上海量、異構(gòu)、動態(tài)的大數(shù)據(jù)表達、組織、管理以及利用提供了一種更為有效的方式,使得網(wǎng)絡(luò)的智能化水平更高,更加接近于人類的認知思維。目前,知識圖譜已在智能搜索、深度問答、社交網(wǎng)絡(luò)以及一些垂直行業(yè)中有所應用[9]。但大規(guī)模知識圖譜的應用場景和方式還比較有限,許多領(lǐng)域的應用也只是處于初級階段,具有很大的可擴展空間。人們在挖掘需求、探索知識圖譜的應用場景時,應充分考慮知識圖譜的以下優(yōu)勢:①對海量、動態(tài)、異構(gòu)的半結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的有效組織和表達能力;②借助強大知識庫進行深度知識推理的能力;③與類腦科學、深度學習等領(lǐng)域相結(jié)合,逐步擴展人類認知能力。
在熟練掌握知識圖譜相關(guān)理論與技術(shù)的基礎(chǔ)上,敏銳感知人們的需求,可以為大規(guī)模知識圖譜的應用找到更寬廣的道路。
參考文獻:
[1] 曾宜玲.淺析教育學知識圖譜的有用性[J].文學教育:中,2017,13(2): 112-112.
[2] 劉則淵, 陳悅, 侯海燕,等.科學知識圖譜: 方法與應用[M].北京:人民出版社, 2008.
[3] 陳悅, 劉則淵, 陳勁,等.科學知識圖譜的發(fā)展歷程[J].科學學研究,2008,26(3):449-460.
[4] 唐欽能, 高峰, 王金平.知識地圖相關(guān)概念辨析及其研究進展[J].情報理論與實踐,2011,34(1):121-125.
[5] STEINER T,VERBORGH R,GABARRO J, et al. Adding realtime coverage to the Google knowledge graph[C].The International Conference on Posters & Demonstrations Track. CEUR-WS.org, 2012: 65-68.
[6] WU W,LI H,WANG H, et al. Probase: a probabilistic taxonomy for text understanding[J]. In:SIGMOD,2012: 481-492.
[7] WANG Z,LI J,WANG Z,et al. XLore: a large-scale english-Chinese bilingual knowledge graph[C]. International Semantic Web Conference(Posters \\& Demos),2013: 121-124.
[8] XING NIU,XINRUO SUN,HAOFEN WANG,et al. Zhishi.me: weaving chinese linking open data[C]. International Conference on the Semantic Web. Springer-Verlag, 2011: 205-220.
[9] 徐增林, 盛泳潘, 賀麗榮, 等. 知識圖譜技術(shù)綜述[J].電子科技大學學報, 2016, 45(4): 589-606.endprint