利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜_第1頁
利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜_第2頁
利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜_第3頁
利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜_第4頁
利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜

摘要在日常的圖書館、銀行、股票交易、搜索引擎以及社交網(wǎng)絡(luò)等各種服務(wù)中,我們在不斷地消費各種信息并產(chǎn)生相關(guān)數(shù)據(jù)。然而,近95%的數(shù)據(jù)都以非結(jié)構(gòu)化的文本形式出現(xiàn),這就意味著一些有價值的信息被隱藏,我們尚未探索利用。語義網(wǎng)絡(luò)的重要目標就是將非結(jié)構(gòu)化文本轉(zhuǎn)換為格式化表示,以便于信息的集成和檢索。知識圖譜就是一種形式化描述實體以及實體間關(guān)系的語義網(wǎng)絡(luò)。此外,開放信息提?。∣penIE)指的是從純文本中提取關(guān)系元組,通常是二元關(guān)系,例如(BarackObama;wasbornin;Hawaii),關(guān)系名稱是鏈接兩個參數(shù)的文本。在本文中,我們基于OpenIE方法生成的二元關(guān)系,提出了一種構(gòu)建詞典網(wǎng)絡(luò)知識圖譜的方法。本文從選取的領(lǐng)域詞典(牛津法律詞典)出發(fā),提取詞條中的實體、屬性等相關(guān)文本信息,構(gòu)建詞典網(wǎng)絡(luò)圖譜;接著以詞典中詞條的釋義信息為根據(jù),使用斯坦福的OpenIE方法進行關(guān)系提取,整理和篩選后得到相關(guān)三元組信息;最后使用bert將三元組向量化,進行TransE實驗,以進一步描述和評估得到的領(lǐng)域詞典網(wǎng)絡(luò)。關(guān)鍵詞:領(lǐng)域知識圖譜;關(guān)系提取;詞典網(wǎng)絡(luò)可視化;TransE算法

AbstractInoureverydayservicessuchaslibraries,banks,stocktradings,searchenginesandsocialnetworks,weareconstantlyconsumingallkindsofinformationandgeneratingrelevantdata.However,nearly95%ofthedataappearsinunstructuredtext,whichmeansthatsomevaluableinformationishiddenandwehavenotexploredityet.TheimportantgoaloftheSemanticWebistotransformunstructuredtextintoaformattedrepresentationforinformationintegrationandretrieval.KnowledgeGraphisaSemanticWebthatdescribesentitiesandtherelationshipsbetweenthemformally.Inaddition,openinformationextraction(OpenIE)referstoextractingrelationaltuplesfromplaintext,usuallybinaryrelationships,suchas(BarackObama;wasbornin;Hawaii),wheretherelationshipnameistextthatlinkstwoparameters.Inthispaper,weproposeamethodforconstructingadictionarynetworkknowledgegraphbasedonthebinaryrelationshipgeneratedbytheOpenIEmethod.Startingfromtheselecteddomaindictionary(OxfordLawDictionary),thispaperextractstherelatedtextinformationofentitiesandattributesintheentry,andconstructsthedictionarynetworkgraph.Then,basedonthedefinitioninformationofthedictionaryentries,Stanford'sOpenIEmethodisusedtoextracttherelationship.Afterextracting,sortingandfiltering,therelevanttripletinformationisobtained.Finally,weuseberttovectorizethetriples,andtheTransEexperimentisperformedtofurtherdescribeandevaluatetheobtaineddomaindictionarynetwork.KeyWords:Domain-specificKnowledgeGraph;RelationExtraction;dictionarynetworkvisualization;TranslatingEmbeddingalgorithm

目錄圖清單 I表清單 Ⅱ第一章緒論 11.1選題背景 11.2研究意義 11.3文獻綜述 21.3.1知識圖譜基礎(chǔ)發(fā)展 21.3.2基于自由文本的開放信息提取 31.3.3基于OpenIE的關(guān)系提取與鏈接 41.4本文研究方法 4第二章實驗相關(guān)技術(shù)說明 62.1StanfordToolkit 62.1.1StanfordCoreNLP 62.1.2StanfordOpenIE 82.2Python圖形化顯示庫 102.3BERT 122.4TransE算法 13第三章實驗過程 153.1詞典選擇 153.2文本提取及預(yù)處理 163.3詞形還原 173.4基于實體對進行初步網(wǎng)絡(luò)顯示 193.5關(guān)系提取及關(guān)系定義 203.6詞典網(wǎng)絡(luò)的圖形化顯示 223.7使用BERT進行文本向量化 233.8TransE實驗部分 25第四章結(jié)論 26參考文獻 27致謝 30中國地質(zhì)大學(xué)學(xué)士學(xué)位論文PAGE48祝鈺瑩:利用領(lǐng)域詞典構(gòu)建詞典網(wǎng)絡(luò)知識圖譜第一章緒論1.1選題背景知識圖譜(KnowledgeGraph;KG)這個概念是Google公司在2012年5月提出的[1],是Google公司用來提高其搜索引擎性能的知識庫。知識圖譜的提出是人工智能領(lǐng)域?qū)χR的需求而導(dǎo)致的必然結(jié)果,其發(fā)展又得益于像數(shù)據(jù)庫、語義網(wǎng)、信息抽取及專家系統(tǒng)等眾多研究領(lǐng)域,從這個角度來說,知識圖譜是交叉融合的產(chǎn)物而非一脈相承。本質(zhì)上,知識圖譜可以認為是一種揭示實體之間各種關(guān)系的語義網(wǎng)絡(luò),它可以對目標事物以及事物間相互關(guān)系進行形式化描述,一般通過三元組形式(triple(subject_entity,relation,object_entity))表示。知識圖譜可以分通用知識圖譜(General-purposeKnowledgeGrap;GKG;不限領(lǐng)域)以及領(lǐng)域知識圖譜(Domain-specificKnowledgeGraph;DKG;限定領(lǐng)域)兩類,類似醫(yī)學(xué)知識庫、工商知識庫、電商知識庫、軍事知識庫都是常見的領(lǐng)域知識圖譜。通用知識圖譜涵蓋的廣度明顯大于領(lǐng)域知識圖譜,而領(lǐng)域知識圖譜往往需要指出的是區(qū)別于基本概念的層次較深的細粒度概念,更偏向?qū)I(yè)性。另外,從知識應(yīng)用方面說,領(lǐng)域知識圖譜相對密集,考慮到知識邊界,其推理鏈條可以較長。也就是說,在一個相對稠密的領(lǐng)域知識圖譜上,經(jīng)過長距離推理后的結(jié)果仍可能還有意義,而通用知識圖譜相對稀疏,多步推理之后很可能語義漂移嚴重,以至于“離題千里”。因此,隨著近些年知識圖譜相關(guān)技術(shù)的進步,知識圖譜的研究與落地工作發(fā)生了一些轉(zhuǎn)向。越來越多的研究與落地從通用知識圖譜轉(zhuǎn)向領(lǐng)域或行業(yè)知識圖譜,或轉(zhuǎn)向企業(yè)知識圖譜,將知識圖譜相關(guān)技術(shù)與各行業(yè)進行深度融合已成為一個重要趨勢。1.2研究意義宏觀意義上說,知識圖譜為互聯(lián)網(wǎng)上各種海量、動態(tài)、異構(gòu)的大數(shù)據(jù)組織、表達、管理及利用提供了一種更有效的方式,提高了網(wǎng)絡(luò)的智能化水平,使其更接近于人類的認知思維。知識圖譜的重要意義不僅在于它是個全局知識庫,而且它更是支撐智能搜索、深度問答等智能應(yīng)用的基礎(chǔ)[2],諸如谷歌公司的GoogleSearch、微軟公司的BingSearch、百度公司的小度機器人、Facebook公司的GraphSearch等等都引用了知識圖譜。目前,知識圖譜已經(jīng)在深度問答、智能搜索、社交網(wǎng)絡(luò)以及一些相關(guān)垂直行業(yè)中有所應(yīng)用,并逐漸成為這些應(yīng)用發(fā)展的動力源泉。知識圖譜側(cè)重表達實體與實體之間的語義關(guān)聯(lián),大部分的語義關(guān)聯(lián)是客觀明確的,而在實際運用中,支持我們進行決策的語義關(guān)聯(lián)需要考慮一定的過程,具有動態(tài)性和一定主觀性,例如投資決策、疾病診斷等。傳統(tǒng)知識圖譜工程專家構(gòu)建、規(guī)模有限、代價高昂。在大數(shù)據(jù)的賦能下,知識圖譜已經(jīng)能解決很多實際問題,但鑒于人力成本持續(xù)提高,我們期望構(gòu)建過程盡可能自動化,從一定程度上降低對專家的依賴。一方面,由于我們對目標圖譜的質(zhì)量要求,知識的驗證過程需要大量的人工操作;另一方面,大量的人工干預(yù)又決定了領(lǐng)域知識圖譜建立過程的自動化程度相對較低。這樣,本文嘗試基于特定的領(lǐng)域詞典,盡可能以自動化的方式構(gòu)架詞典網(wǎng)絡(luò)圖譜,并基于構(gòu)建的網(wǎng)絡(luò)圖譜進行實驗以評估整個網(wǎng)絡(luò)圖譜。1.3文獻綜述1.3.1知識圖譜基礎(chǔ)發(fā)展 20世紀70年代,專家系統(tǒng)(ExpertSystems;ES)是人工智能的重要分支,它指的是用知識和推理過程來解決那些借助專家知識才能得以解決的現(xiàn)實問題的計算機程序[3],它由兩部分組成:知識庫與推理引擎。其中,人類專家提供知識,將這種顯式的知識映射并存儲到知識庫中用以推理。對詞匯的理解是解讀人類自然語言的關(guān)鍵,MillerGA(1985)在新牛津詞典的第一次UW中心會議上提出開始建立和維護一個名為WordNet的英語詞典,旨在更有效地結(jié)合詞典信息和現(xiàn)代計算[4]。國內(nèi)類似的《同義詞詞林》[5]及HowNet知網(wǎng)[6]都是構(gòu)建的可被計算機處理的、以概念為基本語義單元的漢語詞典。Berners-LeeT(1998)提出語義網(wǎng)(SemanticWeb),是旨在建立根據(jù)語義進行決策的智能網(wǎng)絡(luò),以實現(xiàn)人機之間的無障礙溝通[7]。Berners-LeeT(2006)提出鏈接數(shù)據(jù)(LinkedData),提出按照4條原則建立起數(shù)據(jù)之間的鏈接以形成巨大的鏈接數(shù)據(jù)網(wǎng)[8]。2007年開始的DBpedia知識庫利用RDF等語義網(wǎng)技術(shù),與WordNet等眾多知識庫建立鏈接,是第一個大規(guī)模的開放域鏈接數(shù)據(jù)網(wǎng)絡(luò)[9]。類似的還有基于維基百科的Wikipedia(全球性多語言)[10]、Yago(多源背景知識)[11]以及Freebase(社區(qū)成員貢獻結(jié)構(gòu)化知識)[12]。國內(nèi)中文知識圖譜主要都是基于百度百科及維基百科的結(jié)構(gòu)化信息構(gòu)建的,如百度知識圖譜(/)、搜狗知立方(/v66616234.htm)、清華大學(xué)的XLore(中英文、跨語言鏈接技術(shù))[13]、上海交通大學(xué)的zhishi.me[14]、復(fù)旦大學(xué)GDM實驗室的CN-pedia[15]。國內(nèi)的相關(guān)領(lǐng)域知識圖譜有中醫(yī)藥學(xué)語言系統(tǒng)(TraditionalChineseMedicineLanguageSystem;TCMLS;/),詞庫涵蓋了中醫(yī)藥學(xué)科系統(tǒng)以及與中醫(yī)藥學(xué)科相關(guān)的生物、化工等自然與人文科學(xué)專業(yè)詞匯,共收錄大概10萬個概念、30萬個術(shù)語及127萬條語義關(guān)系。相關(guān)領(lǐng)域圖譜還有國外的Kinships(親屬關(guān)系)、UMLS(醫(yī)學(xué)領(lǐng)域;/research/umls/)、Geonames(地理信息領(lǐng)域;/)以及國內(nèi)的“天眼查”(企業(yè)信息)(/)。2017年7月,國內(nèi)多所高校發(fā)起cnS(/),旨在通過社區(qū)力量來維護開放域知識圖譜的Schema標準。具體來說,cnS是個基于社群的數(shù)據(jù)標準,它結(jié)合中文特定場景的應(yīng)用需求,連接了、WikiData等開放數(shù)據(jù)接口標準,為中文領(lǐng)域的知識圖譜、網(wǎng)頁開發(fā)、聊天機器人等在線服務(wù)提供了數(shù)據(jù)接口標準。1.3.2基于自由文本的開放信息提取 近年來,由于鏈接開放數(shù)據(jù)的發(fā)展與支持,解析和處理機器數(shù)據(jù)相對方便,其中已發(fā)布超過800億個RDF三元組,這些數(shù)據(jù)的來源主要是關(guān)系數(shù)據(jù)庫、元數(shù)據(jù)、HTML表格或者維基百科信息框這樣的結(jié)構(gòu)化或半結(jié)構(gòu)化原始信息。由于互聯(lián)網(wǎng)中大部分信息都是用非結(jié)構(gòu)化的自由文本的形式呈現(xiàn)的,而自動抽取方法又都主要是基于在線各種百科中的結(jié)構(gòu)化的信息,因此,在鏈接數(shù)據(jù)發(fā)展的同時,大量基于自然語言處理(NaturalLanguageProcessing;NLP)、信息抽?。↖nformationExtraction;IE)技術(shù)來獲取知識的方法被提出,這樣可以來構(gòu)建基于自由文本的開放域知識圖譜。Banko和Cafarella等(2007)提出開放信息提?。∣IE),指出直接從大規(guī)模自由文本中抽取實體關(guān)系三元組(頭實體、關(guān)系指示詞、尾實體),類似與語義網(wǎng)的RDF規(guī)范的SPO結(jié)構(gòu)[16]?;陂_放信息提取,華盛頓大學(xué)陸續(xù)推出TextRunner(2007)[16]、Reverb(2011)[17]、OLLIE(2012)[18]等基于自由文本的開放域三元組抽取系統(tǒng)。Carlson和Betteridge等(2010)提出NELL系統(tǒng)[19],NELL即never-endinglanguagelearning,它通過不斷閱讀網(wǎng)頁抽取知識事實來填充知識庫、不斷提升學(xué)習(xí)能力、移除知識庫中之前的不正確知識事實來保證每個知識都有一定的置信度及參考來源、利用所學(xué)的知識進行相關(guān)推理等邏輯思維。Nakashole和Weikum等(2012)提出PATTY[20],PATTY是一種用于表示實體之間二元關(guān)系的文本模式的大型資源,這些文本模式在語義上被定義類型并組織成包含分類法,PATTY分類共包括350,569個模式同義詞。PATTY系統(tǒng)基于頻繁項集挖掘的高效算法,它可以處理Web規(guī)模的語料庫。國內(nèi)的自動構(gòu)建的OIE中文知識圖譜有哈爾濱工業(yè)大學(xué)HIT-SCIR發(fā)起的《大詞林》(/),它也是一個開放域命名實體知識庫的自動構(gòu)建系統(tǒng),不需要專家系統(tǒng)參與,《大詞林》借鑒《同義詞詞林(擴展版)》的頂層結(jié)構(gòu),系統(tǒng)從命名實體字面、在線百科和Web檢索結(jié)果等多個信息源來挖掘命名實體的類別,并從Apriori關(guān)聯(lián)項、分類層次化、后綴上位詞及詞匯分布表示等諸多角度學(xué)習(xí),獲取類別之間的層次化關(guān)系。部分系統(tǒng)需要自動構(gòu)建標注的訓(xùn)練語料,然后從訓(xùn)練語料中提取關(guān)系模板或者訓(xùn)練分類器,部分系統(tǒng)則依據(jù)語法及句法特征,直接從分析結(jié)果中抽取關(guān)系三元組。1.3.3基于OpenIE的關(guān)系提取與鏈接關(guān)系提取和鏈接(relationshipextractionandlinking;REL)部分的處理方法有三種:基于話語、基于遠程監(jiān)督及基于OpenIE?;谠捳Z的方法分析語言在口頭交流和書面結(jié)構(gòu)方面的使用,它的目標是對文本進行無監(jiān)督的理解[21]。基于遠程監(jiān)督的方法用來自KG的信息訓(xùn)練機器學(xué)習(xí)算法,因此,它能提取出文本中與KG表達相似的事實,但其使用參數(shù)調(diào)整復(fù)雜而且它的效果局限于使用的KG。基于OpenIE的方法不受域限制,也不需要去訓(xùn)練數(shù)據(jù),它通常獲得二元關(guān)系[22],允許通過謂詞語句進行語義表示(動詞為關(guān)系核心)[23]。 為了涵蓋廣泛的關(guān)系,Banko和Cafarella等(2007)提出了開放信息提取概念,旨在不限制特定域條件下提取語義關(guān)系[24]。Liu和He等(2013)提出了一種結(jié)合實例和語義擴展的開放關(guān)系映射方法,文章將自由文本中提及的開放關(guān)系映射到知識庫中的屬性名稱,以找到每個提及的開放關(guān)系的真實語義。文章使用PATTY獲得關(guān)系,然后用知識圖譜之間的關(guān)系及屬性之間的語義相似度過濾得到的關(guān)系。實驗結(jié)果表明該方法有效地挖掘了超出所提及關(guān)系的文本表面語義擴展,可以實現(xiàn)開放關(guān)系映射的平均準確率為74.4%[25]。Dutta和Meilicke等(2014)將NELL和REVERB這些無監(jiān)督知識提取系統(tǒng)匯集在一起??,使用OpenIE獲得關(guān)系,用DBPEDIA來表示NELL三元組,這種策略依賴于用規(guī)則和直接的關(guān)聯(lián)將OpenIE系統(tǒng)生成的關(guān)系映射到DBpedia,以便用后來的高精度新事實來豐富DBpedia事實,文章還提出一種發(fā)現(xiàn)新知識的統(tǒng)計方法[26]。OpenIE已經(jīng)在依賴于模式匹配或機器學(xué)習(xí)的實現(xiàn)下被使用。Dutta和Meilicke等(2015)依靠OpenIE系統(tǒng)提取關(guān)系,之后分別映射到Y(jié)AGO和DBpedia知識圖譜[27]。1.4本文研究方法本節(jié)介紹從詞典文本構(gòu)建知識圖譜的建議方法。由1.2研究意義部分可知,本文嘗試基于特定的領(lǐng)域詞典,從英文純文本出發(fā),盡可能地以自動化的方式(基于OpenIE)構(gòu)架詞典網(wǎng)絡(luò)圖譜,并對構(gòu)建的網(wǎng)絡(luò)圖譜進行實驗以評估整個網(wǎng)絡(luò)。整個方法包括NLP/IE工具及語義網(wǎng)絡(luò)技術(shù)的集成,用以處理和表示文本元素。此外,本文提出了重定義一些語義關(guān)聯(lián)的方式,即允許在得到的RDF三元組的基礎(chǔ)上進一步提取和歸納以定義我們需要的一定數(shù)目的語義關(guān)系。在關(guān)系提取的環(huán)節(jié)我們對比其他的方式選擇了Stanford的OpenIE,因為它不僅能夠提供用于傳達事實信息的原子單元的二元關(guān)系,而且它不需要培訓(xùn)和其他配置,這樣就能簡化數(shù)據(jù)的查詢和表示。本文的方法概述如圖1.1所示,方法細節(jié)具體如下:1.相關(guān)文獻研究。查找相關(guān)國內(nèi)外論文文獻,參照一些博客指南,咨詢導(dǎo)師意見,搞清楚整個的研究過程及具體思路,以及嘗試歸納國內(nèi)外學(xué)者論文的研究成果。實驗過程中嘗試運行不同的實驗程序或者不同相關(guān)庫及相關(guān)方法,進行對比試驗以獲得新的思路;2.首先是詞典選取,我們需要選取領(lǐng)域上專業(yè)性強且較為封閉的詞典且詞典要足夠大,這樣才能獲取足夠的關(guān)系,最后生成的圖才有一定的聯(lián)通度;3.從詞典pdf中獲取目標文本并進行文本預(yù)處理,需要截取的重要組件有詞條、實體、屬性及釋義等相關(guān)文本信息;4.將整個詞典和實體文件進行詞形還原,然后使用斯坦福的OpenIE方法進行關(guān)系提取,將得到的三元組排序去重,并進一步整理和篩選后得到相關(guān)目標三元組信息;5.將目標三元組進行符號化表示。即根據(jù)之前提取的實體、屬性等相關(guān)文本信息以及目標三元組信息,構(gòu)建詞典網(wǎng)絡(luò)圖譜,并通過Networkx和PyGraphviz進行圖形化顯示和基本分析;6.將目標三元組進行分布式表示。即用bert將目標三元組向量化后,分為訓(xùn)練集和測試集跑TransE程序,深入分析,進一步描述和評估得到的領(lǐng)域詞典網(wǎng)絡(luò)。圖1.1提出的方法概述第二章實驗相關(guān)技術(shù)說明2.1StanfordToolkit我們使用斯坦福的CoreNLP、OpenIE對文本語料進行詞形還原和關(guān)系抽取操作。詞形還原(Lemmatization)是文本預(yù)處理中的必要步驟,特別在處理對象為英文文本時。簡單說,詞形還原就是去掉單詞的詞綴,不考慮單詞的數(shù)、時態(tài)以及比較級、最高級等,恢復(fù)單詞原形,一般詞形還原處理后的單詞會是字典中的單詞。例如,“peaches”會被處理成“peach”,“driving”被處理成“drive”,“best”變成“good”。使用詞形還原的目的是為了減少單詞由于時態(tài)、單復(fù)數(shù)或者變形等對于處理精度的影響。關(guān)系抽取的必要性在于,在得到一系列的離散命名實體后,為了得到語義信息,我們還需要從相關(guān)語料中提取出實體與其他實體間的關(guān)聯(lián)關(guān)系,通過這些關(guān)系將實體都聯(lián)系起來,才能進一步處理以形成網(wǎng)狀的知識結(jié)構(gòu)。本節(jié)對這兩個工具包進行具體介紹。2.1.1StanfordCoreNLPManning和Christopher等(2014)在文章中描述了StanfordCoreNLP工具包的設(shè)計和使用[28],CoreNLP即CoreNaturalLanguageProcessing,它是一個提供核心的自然語言分析的可擴展管道,具有很強的靈活性和可擴展性,在開源NLP技術(shù)的商業(yè)和政府用戶以及研究NLP的社區(qū)中都有著廣泛應(yīng)用。StanfordCoreNLP整合了大量的Stanford的自然語言處理工具,有著眾多語法分析工具,包括分詞(Tokenization)、斷句(SentenceSplitting)、詞性標注(Part-of-speechTagging)、詞元化(MorphologicalAnalysis)、命名實體識別(NamedEntityRecognition)、語法分析(SyntacticParsing)、同義詞分辨(CoreferenceResolution)以及情感分析(SentimentAnalysis)等,這些注釋器在程序中分別對應(yīng)tokenize、ssplit、pos、lemma、ner、parse、dcoref以及sentiment等。具體來說,tokenize將文本標記為一系列標記,標記生成器保存輸入文本中每個標記的字符偏移量;ssplit將一系列令牌拆分成句子;pos使用最大熵詞性標簽標記令牌;lemma為注釋中的所有標記生成基本形式;ner從文本數(shù)據(jù)中識別出命名實體,識別命名(PERSON,ORGANIZATION,LOCATION,MISC)及數(shù)字(NUMBER,DATE,TIME,MONEY,DURATION,SET)實體;parse基于概率解析器提供包括成分和依賴表示的完整句法分析;sentiment用深度學(xué)習(xí)樹組成模型進行情感分析,給予情感分數(shù);dcoref實現(xiàn)提及檢測以及代詞和名詞的共指消解。其整體系統(tǒng)架構(gòu)如圖2.1。原始文本從右邊輸入,經(jīng)過注釋對象及一系列如tokenize、ssplit等注釋器的擴展流,在分析管道中添加信息。最后生成的注釋包含注釋器添加的所有分析信息,以XML格式或純文本格式輸出.圖2.1CoreNLP整體系統(tǒng)架構(gòu)CoreNLP是一個基于JVM的一體化完備注釋管道框架,源代碼使用java,提供Server方式進行交互,它需要JDK1.8及以上版本。編輯代碼使用前需要到官網(wǎng)下載StanfordCoreNLP文件并解壓,下載對應(yīng)語言模型jar文件,放到stanford-corenlp-full-2018-02-27根目錄下,最后將指定的7個jar文件及語言模型jar文件導(dǎo)入到工程中,并修改VMarguments值,本文設(shè)置-Xmx3096m。CoreNLP支持多種自然語言,處理英文外語言只需要下載對應(yīng)語言模型;CoreNLP支持編程的接口豐富,有提供給Python及其他編程語言的接口,也能作為簡單的web服務(wù)運行。在線演示的網(wǎng)址有http://corenlp.run/、:8080/parser/index.jsp(語法分析效果、解析樹及依賴關(guān)系)、:8080/parser/parser.html(解析樹圖示)。corenlp.run對句子“蘭蘭是中國地質(zhì)大學(xué)的一名大四學(xué)生?!钡倪\行效果如下(圖2.2)。圖2.2CoreNLP在線運行效果2.1.2StanfordOpenIE由開放域信息提?。∣IE)系統(tǒng)生成的關(guān)系三元組對于推理、問答和其他IE任務(wù)是有用的。傳統(tǒng)上,這些是使用大量的模式提取的,但傳統(tǒng)方法在遠程依賴性和域外文本方面很脆弱,并且它沒有深入了解參數(shù)子結(jié)構(gòu)。GaborAngeli和MelvinJohnsonPremkumar等(2015)提出的OpenIE方法用一定量規(guī)范結(jié)構(gòu)化句子的模式替換此大模式集,并將焦點轉(zhuǎn)移到一個分類器上邊,該分類器學(xué)習(xí)從較長的主句中提取自包含的分句,然后基于短分句進行自然邏輯推理,來確定每個候選三元組的最大特定參數(shù)。實驗結(jié)果表明,該方法在端到端的TAC-KBP2013插槽填充任務(wù)中的表現(xiàn)優(yōu)于最先進的開放式IE系統(tǒng)[29]。StanfordOpenIE的使用基于前邊介紹的StanfordCoreNLP。圖2.3OpenIE與Ollie提取對比 由圖2.3可以看到,Ollie系統(tǒng)在處理BorninHonolulu從句時,Hawaii被當作BorninHonolulu的主語,產(chǎn)生了虛假匹配(標紅部分),由此可知,在應(yīng)用模式之前生成連貫的子句有助于減少錯誤匹配。因此,StanfordOpenIE將定義能提取信息豐富并廣泛覆蓋三元組的大模式集的負擔轉(zhuǎn)移了,轉(zhuǎn)而先以語言結(jié)構(gòu)推動的方式預(yù)處理句子,來產(chǎn)生符合原始句子邏輯、易于分割成OpenIE三元組的連貫子句。這些連貫子句被進一步分類,然后訴諸自然邏輯以最大限度地縮短,來產(chǎn)生一組較短的句子片段,一旦這些片段與定義的14種原子模式匹配,就將他們分段為OpenIE三元組從系統(tǒng)輸出。具體示例情況如圖2.4所示(紅框為產(chǎn)生的兩個子句)。圖2.4OpenIE三元組產(chǎn)生過程實例 其中,產(chǎn)生連貫子句被處理成一個貪婪的搜索問題,我們通過遞歸遍歷句子的依賴解析樹,并在每個步驟都預(yù)測該邊是否應(yīng)該產(chǎn)生一個獨立子句,來學(xué)習(xí)分類器以將句子分成一組邏輯上合理的較短分句。數(shù)據(jù)的訓(xùn)練用的是樸素貝葉斯分類器,這里不詳細展開。對于產(chǎn)生的不完整從句,系統(tǒng)通過分類器捕獲各種各樣的遠程依賴,根據(jù)控制關(guān)系,允許從屬節(jié)點繼承主導(dǎo)節(jié)點的主語或賓語??紤]依賴解析樹中的?。?=p→lc(e:輸出弧;p:控制節(jié)點;c:依賴節(jié)點;l:具有斯坦福依賴關(guān)系的標簽)。依賴弧上定義了執(zhí)行的三個操作,分別是:Yield操作、Recurse操作、Stop操作。Yield操作控制在依賴關(guān)系弧上產(chǎn)生一個新子句。示例如圖2.5,suggest→ccompbrus?弧,由動詞VBPsuggest指向動詞VBbrush,ccomp即clausalcomplement,從句補充決定產(chǎn)生Yield操作,產(chǎn)生從句youshouldbrushyourteeth,進而產(chǎn)生三元關(guān)系。Recurse操作控制對此依賴關(guān)系弧執(zhí)行遞歸,而不將其作為一個新子句產(chǎn)生。示例如圖2.6,whereIlostmybike,對于field指向lost的弧,我們必須通過中間成分遞歸我丟失自行車的地方,而這與前邊的句子成分沒有關(guān)系,此時以產(chǎn)生Recurse操作,以lost為新的root繼續(xù)分析。Stop操作控制停止遞歸。這樣,樹的搜索路徑將成為Recurse操作和Yield操作的序列,由Stop??操作或葉節(jié)點終止。例如,搜索序列A圖2.5Yield操作實例圖2.6Recurse操作實例2.2Python圖形化顯示庫 在得到三元組文本并構(gòu)建詞典網(wǎng)絡(luò)圖后,我們需要進一步在PyCharm中圖形化顯示,以更好地描述詞典網(wǎng)絡(luò)特征。NumPy是一個科學(xué)計算庫,它支持線性函數(shù)和多維數(shù)組,在某些標記、概率計算、度處理、聚類及分類任務(wù)時發(fā)揮作用,給我們的圖形化顯示以數(shù)據(jù)支持。Matplotlib庫是一個實現(xiàn)數(shù)據(jù)可視化的2D繪圖庫,主要在我們產(chǎn)生線圖及條形圖的一些程序例子中會用到。Matplotlib庫支持MATLAB風格接口的復(fù)雜繪圖函數(shù),具體可參考網(wǎng)址/。NetworkX庫是一個用于存儲和操作一些由節(jié)點和邊組成的網(wǎng)絡(luò)結(jié)構(gòu)(圖結(jié)構(gòu))的函數(shù)庫,可以和Matplotlib結(jié)合起來使用來可視化,具體可參考網(wǎng)址https://networkx.github.io/documentation/latest/,另外,實現(xiàn)可視化語義網(wǎng)絡(luò)我們還需要安裝PyGraphviz庫。本文的實驗利用Matplotlib和NetworkX錄入文本并創(chuàng)建有向圖網(wǎng)絡(luò)及進行基本的圖形操作,更多的圖形屬性和風格通過PyGraphviz顯示。下面將詳細介紹networkx庫及PyGraphviz庫的相關(guān)內(nèi)容。 NetworkX2002年5月產(chǎn)生,是python語言編寫的軟件包,它能以標準化和非標準化的數(shù)據(jù)格式存儲網(wǎng)絡(luò)、生成多種經(jīng)典網(wǎng)絡(luò)及隨機網(wǎng)絡(luò)、建立網(wǎng)絡(luò)模型、分析網(wǎng)絡(luò)結(jié)構(gòu)、進行網(wǎng)絡(luò)繪制、編寫新的網(wǎng)絡(luò)算法等。NetworkX可以創(chuàng)建四種圖,分別是無重邊的無向圖(Graph)、無重邊的有向圖(DiGraph)、有重邊的無向圖(MultiGraph)、有重邊的有向圖(MultiDiGraph)??梢灾饌€或以列表形式添加節(jié)點和邊,點的種類可以是任何哈希對象,例如字符串、圖像、XML對象、圖等。NetworkX提供例如BFS、DFS、最短路徑、最小生成樹等常用的圖論經(jīng)典算法。相關(guān)畫圖參數(shù)如表2.1,NetworkX布局如表2.2。表2.1NetworkX畫圖參數(shù)畫圖參數(shù)注釋node_size指定節(jié)點的尺寸大小,默認300node_color指定節(jié)點的顏色,默認紅色,可以直接用字符串標記顏色node_shape指定節(jié)點的形狀,默認圓形alpha透明度,默認1.0,即不透明,0為完全透明width邊的寬度,默認1.0edge_color邊的顏色,默認黑色style邊的樣式,默認實線with_labels節(jié)點是否帶標簽,默認Truefont_size節(jié)點標簽字體大小,默認12font_color節(jié)點標簽字體顏色,默認黑色表2.2NetworkX布局布局注釋bipartite_layout節(jié)點定位在兩條直線上circular_layout節(jié)點在一個圓環(huán)上均勻分布kamada_kawai_layout節(jié)點根據(jù)Kamada-Kawai路徑長度成本函數(shù)定位plannar_layout定位沒有邊緣交點的節(jié)點random_layout節(jié)點隨機均勻分布rescale_layout在所有軸中縮放位置數(shù)組shell_layout節(jié)點在同心圓上分布spring_layout節(jié)點呈中心放射狀(用Fruchterman-Reingold算法排列)spectral_layout節(jié)點根據(jù)拉普拉斯算子的特征向量定位 除了使用draw的相關(guān)參數(shù)把整個圖畫出來,也可以用draw_networkx_nodes、draw_networkx_edges、draw_networkx_labels等有選擇性地畫出網(wǎng)絡(luò)的部分點、邊、標簽等。NetworkX提供了圖形可視化的一些基本功能,但其主要的目標是啟用圖形分析而非執(zhí)行圖形可視化。在實驗過程中我們發(fā)現(xiàn),用NetworkX編程很難得到符合我們的原始意圖的結(jié)果圖像,因此,我們選用了來自貝爾實驗室的專用全功能圖形可視化工具PyGraphviz。Graphviz布局程序以dot語言來編寫腳本并描述圖形,并以網(wǎng)頁圖像或SVG等格式制作圖表,在交互式圖形瀏覽器中顯示。Graphviz為具體圖表提供了很多有用的功能選項,如字體、顏色、線條樣式、表格節(jié)點布局、超鏈接以及自定義形狀的選項等等。具體使用參考網(wǎng)址/,下表(表2.3)給出PyGraphviz的主要幾個強大布局。另外,結(jié)合NetworkX庫和PyGraphviz庫可得到許多各式各樣結(jié)構(gòu)的圖形化顯示,如下圖(圖2.7),具體圖片說明及示例樣本可到NetworkX和Graphviz的官方說明文檔獲取學(xué)習(xí),相關(guān)參考網(wǎng)址有/gallery/以及https://networkx.github.io/documentation/latest/auto_examples/index.html#drawing。表2.3PyGraphviz布局布局注釋dot分層圖布局,有向圖中默認dotneato彈簧模型布局,試圖最小化全局能量函數(shù),不太大的圖(約100節(jié)點)默認neatotwopi徑向布局,節(jié)點根據(jù)它們與給定根節(jié)點的距離分布在同心圓上circo圓形布局,適用于多種環(huán)狀結(jié)構(gòu),如某些特定的電信網(wǎng)絡(luò)圖fdp類似于neato,但這是通過減少力而不是使用能量來實現(xiàn)的sfdp用于大圖形布局fdp的多尺度版本圖2.7示例圖樣2.3BERT2018年10月11日,GoogleAILanguage團隊提出BERT模型[30],它是一個用于預(yù)訓(xùn)練語言表示的NLP模型,全稱BidirectionalEncoderRepresentationsfromTransformers。BERT模型在機器閱讀理解頂級水平測試SQuAD1.1中表現(xiàn)驚人,全部兩個衡量指標上全面超越人類,并且在11種不同NLP測試中創(chuàng)出最佳成績,其中有將GLUE基準推至80.4%(絕對改進率7.6%),MultiNLI準確度達到86.7%(絕對改進率5.6%)??偟膩碚f,BERT使用超多層Transformer、雙任務(wù)預(yù)訓(xùn)練及后期微調(diào)的訓(xùn)練策略。 BERT的創(chuàng)新點在于,將雙向Transformer用于語言模型(如圖2.8),區(qū)別于從左向右輸入文本序列(OpenAIGPT)或者將從左到右和從右到左兩部分的訓(xùn)練結(jié)合起來(ELMo),實驗結(jié)果表明雙向訓(xùn)練的語言模型會比單向訓(xùn)練的對語境的理解更深刻。其中,Transformer是種注意力機制,它能學(xué)習(xí)文本里單詞間的上下文關(guān)系。Transformer原型包括encoder(負責接收文本作為輸入)和decoder(負責預(yù)測任務(wù)的結(jié)果)兩個獨立的機制,由于BERT是要生成語言模型,它只需要encoder機制。encoder一次性讀取整個文本序列,這樣模型就能夠基于單詞的兩側(cè)學(xué)習(xí),輸入是一個token序列,進行嵌入后輸入給神經(jīng)網(wǎng)絡(luò),輸出是大小為H(H即輸出維度)的向量序列,每個向量對應(yīng)著具有相同索引的token。訓(xùn)練語言模型時需要在單詞序列中預(yù)測下一個單詞,為了克服雙向方法在此類型任務(wù)中的限制,BERT使用MaskedLM(MLM)和NextSentencePrediction(NSP)策略。MLM的主要思路是在將單詞序列輸入前,每個序列中有15%的單詞被掩蓋;然后,模型嘗試基于序列中其他未被掩蓋的單詞的上下文來預(yù)測被掩蓋的原單詞。NSP的主要思路是BERT模型的訓(xùn)練過程中接收成對的句子作為輸入,來預(yù)測第二個句子是否是第一個句子在原始文檔中的后續(xù)句子。在訓(xùn)練BERT模型時,MLM和NSP是一起訓(xùn)練的,目標就是要最小化兩種策略的組合損失函數(shù)。圖2.8預(yù)訓(xùn)練模型結(jié)構(gòu)差異 BERT模型的訓(xùn)練分預(yù)訓(xùn)練(Pre-training)和微調(diào)(Fine-tuning)兩步,預(yù)訓(xùn)練是個復(fù)雜的過程,谷歌表示,對BERT的預(yù)訓(xùn)練一般需要4~16塊TPU一周的時間,才能訓(xùn)練完成。我們可以從/google-research/bert#pre-trained-models網(wǎng)站下載谷歌發(fā)布的預(yù)訓(xùn)練BERT模型。微調(diào)相對來說是個輕量級任務(wù),我們只需要相應(yīng)地擴展網(wǎng)絡(luò)而不需要改變BERT模型本身。微調(diào)取決于下游的具體任務(wù),例如要對句子進行情感分類,微調(diào)需要在BERT的輸出層向量上接入幾個Dense層走softmax;對于SQuAD上的閱讀理解任務(wù),則需要在BERT的輸出層向量上增加match層和softmax。bert-as-service將BERT模型作為一個獨立的句子編碼,部署在一臺GPU服務(wù)器上,我們可以使用多臺機器作為客戶端從遠程同時連接實時獲取定長向量,當做特征信息輸入到下游模型。具體參數(shù)參見網(wǎng)址/hanxiao/bert-as-service。2.4TransE算法TransE算法由Bordes和Usunier等(2013)提出[31],它基于實體與關(guān)系的分布式向量表示,利用了詞向量的平移不變現(xiàn)象。如圖2.9,TransE將每個三元組實例(head、relation、tail)中的relation關(guān)系看作從head實體到taill實體的翻譯,通過不斷調(diào)整向量h、r、t,使(h+r)盡可能地與t相等。圖2.9TransE優(yōu)化目標 TransE定義了一個距離函數(shù)d(h+r,t),用它來衡量h+r、t之間的距離,函數(shù)值越小,置信度越高。實際應(yīng)用可以用L1(曼哈頓距離)或者L2(歐幾里得距離)范數(shù)。transE在模型的訓(xùn)練過程中采用最大間隔方法,其目標函數(shù)為公式(2.1)。L=?,r,t?S?式中,S為知識庫中的三元組,S’為負采樣的三元組(通過替換h或t得到,不同時替換),γ是取值為正的間隔距離參數(shù),x+表示正值函數(shù)(x>0時x+=x,x≤0時圖2.10TransE算法偽代碼

第三章實驗過程3.1詞典選擇在考慮知識圖譜的數(shù)據(jù)來源時,應(yīng)該盡量選擇結(jié)構(gòu)化程度相對高、質(zhì)量較好的數(shù)據(jù)源,以盡可能降低知識獲取的代價。本課題的研究對象是領(lǐng)域詞典,詞典具有結(jié)構(gòu)系統(tǒng)規(guī)整、實體對象明確的優(yōu)點。詞典選擇方面我們要求詞典領(lǐng)域?qū)I(yè)性較強且較為封閉,另外,詞典必須足夠大,這樣才能保證足夠的關(guān)系以及進一步生成的網(wǎng)絡(luò)的連通度。實驗初期考慮的相關(guān)領(lǐng)域及詞典列表如圖3.1所示。└──詞典樣本 #主要詞典來源網(wǎng)站/├──field #考慮過的領(lǐng)域├──哲學(xué)類│└──《牛津哲學(xué)詞典》、《西方哲學(xué)對照詞典》、《現(xiàn)代西方哲學(xué)辭典》├──心理學(xué)類│└──《簡明心理學(xué)詞典》、《劍橋心理學(xué)詞典》、《心理學(xué)專業(yè)英語詞匯翻譯》├──生物化學(xué)類│├──《牛津生物化學(xué)詞典》 #推薦,結(jié)構(gòu)性較好,分類明確│└──《世界最新英漢雙解生物化學(xué)詞典》├──金融類│├──《路透金融詞典簡明版》 #推薦,漢語,有Category分類│├──《證券及期貨條例》 #僅詞條版│└──《牛津英漢雙解商務(wù)詞典》、《新編英漢路透金融詞典》、《會計金融詞典》(漢語)├──法律類│├──《牛津法律詞典》 #推薦,結(jié)構(gòu)性較好,大小合適,釋義豐富│├──《布萊克法律詞典》、《韋氏法律詞典》、《柯林斯法律詞典》│└──《朗文法律詞典》、《簡明英漢法律詞典》、《牛津法律大辭典》(漢語)├──建筑類│├──《漢英-英漢建筑工程分類詞匯》 #僅詞條版│└──《建筑英語詞典》、《西方建筑圖解詞典》、《中國建筑圖解詞典》├──航空航天類│└──《英漢對照民用航空詞典》、《英漢航空圖解詞典》├──地質(zhì)類│└──《地球物理勘探詞典》、《英漢地質(zhì)詞典》、《英漢常用地質(zhì)學(xué)詞匯》├──醫(yī)學(xué)類│└──《英漢雙解醫(yī)學(xué)詞典》、《英漢漢英醫(yī)學(xué)分科詞典(中醫(yī)藥學(xué)分冊)》└──計算機類└──《漢英計算機詞典》圖3.1考慮過的詞典列表 關(guān)于領(lǐng)域,就目前找到的詞典綜合來看,計算機領(lǐng)域知識大都以在線網(wǎng)站的形式呈現(xiàn),相關(guān)的詞典難找,且計算機相關(guān)知識更新過快,詞典中相關(guān)內(nèi)容缺失現(xiàn)象明顯;地質(zhì)、地球科學(xué)、地球物理詞典版本相對較老,掃描很不清晰,格式轉(zhuǎn)換困難;哲學(xué)、心理學(xué)屬于同種類型,不夠封閉,詞典花大量篇幅介紹起源、出處、講故事,人文氣息太重,另外部分實體之間的關(guān)系太過抽象,連接它們的邊很難用一兩個詞概括定義;建筑、航空航天屬于同種類型,詞典中多為術(shù)語概念,對很多器件、樣式、結(jié)構(gòu)采用圖解方式,這對我們通過文本處理提取關(guān)系很不利,另外,建筑詞典將中國古建筑及外國建筑分得很開,不利于圖的聯(lián)通度;醫(yī)學(xué)詞典內(nèi)容太大、多、雜。最后我們從圖3.1標注推薦的幾個詞典里選擇了牛津法律詞典(OxfordDictionaryofLaw),551頁,共4031個詞條。3.2文本提取及預(yù)處理HTML文本和ASCII碼文本是可讀格式,而PDF文本和MSWord文本常以二進制格式出現(xiàn),打開它們只能用專門的軟件。Python中提供了第三方函數(shù)庫來訪問這些格式,如pywin32、pypdf、pdfminer等,我們可以使用這些函數(shù)庫從多列文檔中提取文本。提取結(jié)果對比說明pdfminer庫對我們的詞典pdf文件的提取效果最佳,提取結(jié)果如圖3.2。圖3.2文本提取結(jié)果 從圖中可以看出,提取后的txt文件中有較多轉(zhuǎn)行且存在格式錯亂的情況,我們需要手工對錯亂部分進行調(diào)整及結(jié)合strip()方法和正則表達式處理輸入行結(jié)尾的換行符。處理好的文本格式中每個詞條占一行,詞條與詞條之間通過空行隔開,實體與屬性釋義之間用特定字符“&$”隔開,以便進行下一步的匹配提取,如圖3.3。圖3.3詞典txt結(jié)構(gòu)圖 一旦從目標文檔中獲取了純文本,下一步就應(yīng)該對其進行預(yù)處理,以便于解析出對提取實體及語義關(guān)系有用的信息。由于詞典的實體容易確定,可以直接從詞條中提取,我們可以省去命名實體提取的相關(guān)過程。對于我們要進行預(yù)處理的文本,每個詞條單獨成行,這樣在編程時通過行cache遍歷就可以完成對整個文本詞條的一次掃描。我們提取前面黑色部分的單詞或詞組作為實體,提取后邊的詞性標注作為屬性,提取釋義用作后面進行關(guān)系提取的依據(jù),具體見圖3.4。圖3.4文本預(yù)處理3.3詞形還原 文本處理的結(jié)果是一系列txt文件,包括所有詞條、所有實體及分屬性的實體文件,如圖3.5,我們有兩方面工作,一個是利用Networkx和PyGraphviz將構(gòu)建的詞典網(wǎng)絡(luò)圖形化顯示,另一個需要通過BERT進行文本向量化處理,再進行向量化訓(xùn)練。圖3.5對文本預(yù)處理結(jié)果的兩方面工作對于單獨詞條,首先要進行詞形還原,這樣進一步文本處理的時候,實體才能準確地跟釋義中內(nèi)容對應(yīng)。詞形還原利用的工具是2.1.1節(jié)介紹的StanfordCoreNLP。下載解壓StanfordCoreNLP文件,將其中指定的jar文件及另外下載的語言模型jar文件導(dǎo)入到目標工程中,由于實驗處理的是英文詞典文本,本文使用的語言模型為stanford-english-kbp-corenlp-models,452MB。CoreNLP需要JDK1.8及以上版本,另外,由于相關(guān)程序加載的數(shù)據(jù)量過于龐大,實驗時經(jīng)常出現(xiàn)Java內(nèi)存溢出(java.lang.OutOfMemoryError)的報錯,我們需要增加JVM的內(nèi)存大小,并在程序的運行設(shè)置中修改VMarguments值,如圖3.6。對實體文本及整個詞典文本的詞形還原需要較長時間,我們的實驗從開始到得到結(jié)果文本約5~6小時,運行過程如圖3.7,可以看到程序運行時加載各種解釋器的過程。具體的代碼學(xué)習(xí)可從官方網(wǎng)站的示例入手,這里再推薦兩個學(xué)習(xí)網(wǎng)站,/java-api-examples/?api=edu.stanford.nlp.pipeline.Annotation和/java/api/edu.stanford.nlp.naturalli.OpenIE。圖3.6JVM內(nèi)存設(shè)置圖3.7詞形還原運行過程3.4基于實體對進行初步網(wǎng)絡(luò)顯示 在進行關(guān)系提取前,由上一步詞形還原得到的結(jié)果,我們可以提取每個詞條中實體和釋義中的實體組成的實體對,先不考慮實體之間的關(guān)系,基于得到的實體對建立初步網(wǎng)絡(luò),以初步顯示網(wǎng)絡(luò)的大小及連通情況,以及節(jié)點度分布情況,并為我們之后定義關(guān)系探索思路。將所有實體讀入一個列表,一旦某個實體的釋義部分與列表中的實體忽略大小寫匹配,就將它們存為一個實體對,實體不可以跟自己配對。配對之前去除實體中像aim、CE、CO、EAT這樣的容易被其他單詞包含的較短詞語或縮寫,以免產(chǎn)生很多無意義的錯誤匹配。程序通過先遍歷實體再遍歷實體列表的雙重循環(huán)實現(xiàn)。將產(chǎn)生的所有實體對存入文件,用特定字符“&$”隔開,并進一步通過它們構(gòu)建并顯示實體網(wǎng)絡(luò)。實驗表明,使用這種方法一共得到44582條實體對,部分實體對和局部網(wǎng)絡(luò)圖如圖3.8所示。圖3.8部分實體對和局部網(wǎng)絡(luò)圖 由上圖的可以看出,節(jié)點符合集群分布,即少部分節(jié)點擁有大量的連接。NetworkX可以返回圖中所有節(jié)點或某個節(jié)點的度(如圖3.9),也可以通過簡單的程序來生成圖中節(jié)點的度分布序列(如圖3.10),橫軸為度數(shù),從零到最大度,縱軸為度數(shù)對應(yīng)的頻率,最后在雙對數(shù)坐標軸上繪制整體的度分布曲線。圖3.9輸出所有節(jié)點的度及按度數(shù)降序輸出結(jié)果圖3.10基于實體對網(wǎng)絡(luò)圖的節(jié)點度分布序列3.5關(guān)系提取及關(guān)系定義對詞典文本和實體文本進行詞性還原操作后,就可以進入下一步的關(guān)系提取,關(guān)系提取基于StanfordOpenIE。以詞典提供的釋義為語料庫,程序從中提取相關(guān)的三元組,通過(實體、關(guān)系、另一個實體)的形式展現(xiàn),其中,要求實體和另一個實體都在我們之前定義的實體列表中。經(jīng)過詞形還原和關(guān)系提取后得到4545個三元組,我們將這些三元組去重,按照中間關(guān)系的出現(xiàn)頻率降序排列(如圖3.11),對前排出現(xiàn)頻率較大的關(guān)系名進行篩選和合并,定義了40種關(guān)系,涵蓋1203個實體、2124個三元組。由于詞典本身的特征,我們可以比較方便地提取同義詞(145個)及縮寫(97個),另外,同義關(guān)系是雙向的,縮寫關(guān)系對應(yīng)全稱關(guān)系,算上這三種關(guān)系,我們得到的詞典網(wǎng)絡(luò)覆蓋1565個實體、2608個三元組。兩種情況的程序運行結(jié)果分別如圖3.12、3.13,圖中程序的輸出依次是節(jié)點列表、節(jié)點數(shù)、邊列表、邊數(shù)、節(jié)點度列表、節(jié)點度列表降序。圖3.11關(guān)系提取流程圖3.1240種關(guān)系時圖的相關(guān)數(shù)據(jù)圖3.1343種關(guān)系時圖的相關(guān)數(shù)據(jù) 下面說明篩選和合并關(guān)系的過程。經(jīng)過OpenIE進行關(guān)系提取得到候選三元組后,并不是直接就能用于構(gòu)建詞典網(wǎng)絡(luò),因為程序運行的結(jié)果會出現(xiàn)defendant,canpleadin,case這種無意義的三元組輸出,我們需要將這些三元組篩掉。從一定意義上說,此類三元組的關(guān)系詞一般比較特殊,例如上例中的canpleadin,基于這種特殊性,該關(guān)系詞不會在結(jié)果三元組中普遍出現(xiàn)。此時,我們編寫程序?qū)λ泻蜻x三元組按照中間關(guān)系出現(xiàn)的頻率降序排列,整個結(jié)果呈長尾現(xiàn)象,我們?nèi)サ艉筮叴罅款l率為1、2的關(guān)系詞,就能有效地解決無意義三元組問題。另外,三元組的關(guān)系詞存在等效或者包含或者相近的現(xiàn)象,例如bein、becontainin及partof,再例如include、alsoinclude、mayinclude等,再如grant、giveeffectto、conferpoweron、conferrighton等。我們需要對其進行歸納和合并,并選取其中一個關(guān)鍵詞作為我們定義的關(guān)系詞。實驗中的整合結(jié)果如圖3.14。圖3.14整合的40種自定義關(guān)系3.6詞典網(wǎng)絡(luò)的圖形化顯示得到了目標三元組我們就可以用它們構(gòu)建詞典網(wǎng)絡(luò)圖結(jié)構(gòu),并結(jié)合NetworkX庫和PyGraphviz庫對其進一步圖形化顯示。Graphviz庫及PyGraphviz庫的安裝用了整個半天,直接通過pipinstall安裝會出現(xiàn)各種報錯,按照報錯提示安裝python下VC++的編譯器依然報錯,如圖3.15。最后正確安裝需要下載Python擴展包的非官方Windows二進制文件,從網(wǎng)站/~gohlke/pythonlibs/#pygraphviz上下載.whl文件并配置PATH環(huán)境變量,可以用twopi-V檢驗安裝成功。圖3.15PyGraphviz安裝報錯 考慮以官方示例CircularTree為框架,在python中生成環(huán)形樹狀圖,分屬性顯示詞典網(wǎng)絡(luò)中節(jié)點的分布。詞典文本預(yù)處理中,進行詞條掃描的同時提取了詞性標注作為屬性信息,詞典樣本涉及的屬性有n.、pl.n.、vb.、adj、French、Latin六種。當某個實體的注釋中有詞性標注時,我們將其加入相應(yīng)屬性的實體鏈表中。六種屬性信息與其對應(yīng)實體鏈表中的所有實體組成成元組,形成樹狀圖中的邊,另外以dictionary命名為根節(jié)點,依次與六種屬性建立連接。用NetworkX構(gòu)建關(guān)系圖,json_graph.tree_data轉(zhuǎn)換數(shù)據(jù)字典結(jié)構(gòu),graphviz_layout進行整體布局并繪圖,結(jié)果效果如圖3.16左所示。由于屬性為n.的節(jié)點占據(jù)絕大多數(shù),我們進行全局節(jié)點的分布展示效果很差,合理隨機去除大量屬性為n.的節(jié)點后,效果如圖3.16右所示。其中,圓形樹的最外圈都是節(jié)點,顏色透明度與節(jié)點的度有關(guān),中間一圈是6個屬性信息,中間是dictionary根節(jié)點。圖3.16節(jié)點分屬性分布圖為了方便顯示圖的連通度情況,利用Graphviz中有向圖的neato布局,顯示所有節(jié)點的分布情況如圖3.17左。圖中可以得出,絕大多數(shù)的節(jié)點都在中間集合體中,四周會有一些落單的實體對或小團體,屬于正常情況,與3.4節(jié)類似的節(jié)點度分布序列如圖3.17右,可以看到,少部分節(jié)點擁有大量的連接的結(jié)論也是成立的。圖3.17整體詞典網(wǎng)絡(luò)圖連通情況3.7使用BERT進行文本向量化 第二步的工作是詞典網(wǎng)絡(luò)的分布式顯示,以便于進行詞典網(wǎng)絡(luò)的定量分析與評估,首先我們需要使用2.3節(jié)介紹的BERT進行文本向量化處理。實驗環(huán)境為Windows10,128G內(nèi)存,anaconda3-5.2.0,Python3.6.7,tensorflow1.13.1,需到指定網(wǎng)站下載谷歌發(fā)布的預(yù)訓(xùn)練BERT模型,本文選擇cased_L-24_H-1024_A-16,模型會對每個輸入文本輸出1024維向量。另外下載安裝bert-serving-server和bert-serving-client,為實驗的服務(wù)器端及客戶端,bert-as-service將BERT模型作為一個獨立的句子編碼(sequenceencoding)服務(wù),我們在客戶端獲取句子向量編碼(詞或句子級別的定長向量表示)。bert-as-service默認使用GPU,服務(wù)器端有提供CPU的參數(shù)選項,但在其他環(huán)境相同、使用CPU的ubuntu-18.04.2虛擬機上實驗發(fā)現(xiàn),啟動服務(wù)器時會出現(xiàn)問題。實驗數(shù)據(jù)文本如果太大,需要提前拆分成幾個小部分然后輸入,運行時輸入文本個數(shù)超過256,服務(wù)器也會自動切分成幾個最大為256的部分,通過多個socket處理。另外,程序輸入時需要先將所有文本讀入列表,然后直接對列表操作,把讀入文本放入處理循環(huán)中會消耗大量資源,程序運行會很慢。實驗過程圖和實驗結(jié)果分別如圖3.18、3.19所示。最后輸出結(jié)果的數(shù)據(jù)類型為numpy.ndarray,全部實驗結(jié)果可以通過numpy庫的相關(guān)函數(shù)輸出到文本文件中。圖3.18BERT向量化實驗過程圖3.19BERT向量化實驗結(jié)果3.8TransE實驗部分第四章結(jié)論本文給出一種從詞典文本構(gòu)建網(wǎng)絡(luò)圖譜的建議方法,嘗試基于選定的領(lǐng)域詞典,從英文純文本出發(fā),盡可能地以自動化的方式(基于StanfordOpenIE)構(gòu)建詞典網(wǎng)絡(luò)圖譜,并對構(gòu)建的網(wǎng)絡(luò)圖譜進行實驗以評估整個網(wǎng)絡(luò)。此外,本文提出了重定義一些語義關(guān)聯(lián)的方式,即允許在得到的RDF三元組的基礎(chǔ)上進一步提取和歸納以定義我們需要的一定數(shù)目的語義關(guān)系。本文基于構(gòu)建的詞典網(wǎng)絡(luò)圖譜定義了40種關(guān)系,涵蓋1203個實體、2124個三元組。(通過TransE實驗表明,……)

參考文獻[1]SinghalA.Introducingtheknowledgegraph:things,notstrings.Officialgoogleblog.2012May16;5.[2]劉嶠,李楊,段宏,劉瑤,秦志光.知識圖譜構(gòu)建技術(shù)綜述[J].計算機研究與發(fā)展,2016,53(03):582-600.[3]FeigenbaumEA.Expertsystemsinthe1980s[J].Stateoftheartreportonmachineintelligence.Maidenhead:Pergamon-Infotech,1981.[4]MillerGA.Wordnet:DictionaryBrowser'inInformationinData.InProceedingsoftheFirstConferenceoftheUWCentrefottheNewOxfordDictionary.Waterloo,Canada:UniversityofWaterloo.1985.[5]梅家駒.同義詞詞林[M].上海辭書出版社,1983.[6]董振東,董強.知網(wǎng)簡介[J].1999-09-23.[2004-03-06].,1999.[7]Berners-LeeT.Semanticwebroadmap.1998.[8]Berners-LeeT,LinkedData—DesignIssues,2006,[online]Available:/DesignIssues/LinkedData.html.[9]AuerS,BizerC,KobilarovG,LehmannJ,CyganiakR,IvesZ.Dbpedia:Anucleusforawebofopendata.InThesemanticweb2007Nov11:722-735.[10]WalesJ,SangerL.Wikipedia:Thefreeencyclopedia[J].Accessedvia/wiki/Main_Page(27November2011),2001.[11]SuchanekFM,KasneciG,WeikumG.Yago:acoreofsemanticknowledge.InProceedingsofthe16thinternationalconferenceonWorldWideWeb.ACM.2007:697-706.[12]BollackerK,CookR,TuftsP.Freebase:Ashareddatabaseofstructuredgeneralhumanknowledge.InAAAI2007Jul22,7:1962-1963.[13]WangZ,LiJ,WangZ,LiS,LiM,ZhangD,ShiY,LiuY,ZhangP,TangJ.XLore:ALarge-scaleEnglish-ChineseBilingualKnowledgeGraph.InInternationalsemanticwebconference(Posters&Demos)2013Oct23,1035:121-124.[14]NiuX,SunX,WangH,RongS,QiG,YuY.Zhishi.me-weavingchineselinkingopendata.InInternationalSemanticWebConference2011Oct23:205-220.[15]XuB,XuY,LiangJ,XieC,LiangB,CuiW,XiaoY.CN-DBpedia:anever-endingChineseknowledgeextractionsystem.InInternationalConferenceonIndustrial,EngineeringandOtherApplicationsofAppliedIntelligentSystems2017Jun27:428-438.[16]BankoM,CafarellaMJ,SoderlandS,BroadheadM,EtzioniO.Openinformationextractionfromtheweb.InIJCAI2007Jan6,7:2670-2676.[17]FaderA,SoderlandS,EtzioniO.Identifyingrelationsforopeninformationextraction.InProceedingsoftheconferenceonempiricalmethodsinnaturallanguageprocessing2011Jul27:1535-1545.AssociationforComputationalLinguistics.[18]SchmitzM,BartR,SoderlandS,EtzioniO.Openlanguagelearningforinformationextraction.InProceedingsofthe2012JointConferenceonEmpiricalMethodsinNaturalLanguageProcessingandComputationalNaturalLanguageLearning2012Jul12:523-534.AssociationforComputationalLinguistics.[19]CarlsonA,BetteridgeJ,KisielB,SettlesB,HruschkaER,MitchellTM.Towardanarchitecturefornever-endinglanguagelearning.InTwenty-FourthAAAIConferenceonArtificialInt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論