知识图谱技术概览
本體、知識(shí)庫(kù)、知識(shí)圖譜、知識(shí)圖譜識(shí)別之間的關(guān)系?
本體:領(lǐng)域術(shù)語(yǔ)集合。
知識(shí)庫(kù):知識(shí)集合。
知識(shí)圖譜:圖狀具有關(guān)聯(lián)性的知識(shí)集合。
知識(shí)圖譜本質(zhì)上是語(yǔ)義網(wǎng)絡(luò),是一種基于圖的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)(Point)和邊(Edge)組成。在知識(shí)圖譜里,每個(gè)節(jié)點(diǎn)表示現(xiàn)實(shí)世界中存在的“實(shí)體”,每條邊為實(shí)體與實(shí)體之間的“關(guān)系”。知識(shí)圖譜是關(guān)系的最有效的表示方式。通俗地講,知識(shí)圖譜就是把所有不同種類的信息連接在一起而得到的一個(gè)關(guān)系網(wǎng)絡(luò)。知識(shí)圖譜提供了從“關(guān)系”的角度去分析問(wèn)題的能力。
構(gòu)建知識(shí)圖譜的主要目的是獲取大量的、讓計(jì)算機(jī)可讀的知識(shí)。但是構(gòu)建知識(shí)圖譜的重點(diǎn)在于語(yǔ)義理解、知識(shí)表示、QA、智能對(duì)話和用戶建模。但從抽象層面看,本體最抽象,其次是知識(shí)庫(kù),最后才是知識(shí)圖譜。知識(shí)庫(kù)就是一個(gè)知識(shí)數(shù)據(jù)庫(kù),包含了知識(shí)的本體和知識(shí)。比如Freebase是一個(gè)知識(shí)庫(kù)(結(jié)構(gòu)化),維基百科也可以看成一個(gè)知識(shí)庫(kù)(半結(jié)構(gòu)化),等等。也就是說(shuō),本體是強(qiáng)調(diào)概念關(guān)系,知識(shí)圖譜強(qiáng)調(diào)實(shí)體關(guān)系和實(shí)體屬性值,知識(shí)庫(kù)則是所有知識(shí)的集合。但是知識(shí)庫(kù)不局限于分類和圖譜,知識(shí)庫(kù)可以包括規(guī)則,包括過(guò)程性知識(shí)等。而本體也可以定義得很抽象,任何概念的內(nèi)涵和外延可以定義本體。
知識(shí)圖譜部署成本
知識(shí)圖譜是一系列結(jié)構(gòu)化數(shù)據(jù)的處理方法,它涉及知識(shí)的提取、 表示、存儲(chǔ)、檢索等諸多技術(shù)。從淵源上講,它是知識(shí)表示與推理、數(shù)據(jù)庫(kù)、信息檢索、自然語(yǔ)言處理等多種技術(shù)發(fā)展的融合。 但傳統(tǒng)的知識(shí)處理方法,在實(shí)際的工程應(yīng)用,特別是互聯(lián)網(wǎng)應(yīng)用中,面臨實(shí)施成本高、技術(shù)周期長(zhǎng)、熟悉該類技術(shù)的人才缺乏、 基礎(chǔ)數(shù)據(jù)不足等諸多現(xiàn)實(shí)制約。實(shí)戰(zhàn)中的知識(shí)圖譜,需要充分利用成熟的工業(yè)技術(shù),不拘泥于特定的工具和方法,特別是不盲目追求標(biāo)準(zhǔn)化、技術(shù)的先進(jìn)性或者新穎性,以實(shí)際的業(yè)務(wù)出發(fā),循序漸進(jìn)推進(jìn)工程的實(shí)施。
知識(shí)圖譜的全周期成本:有哪些成本?分為技術(shù)成本、團(tuán)隊(duì)成本和組織成本。技術(shù)有知識(shí)提取的成本、知識(shí)存儲(chǔ)的成本、知識(shí)推理的成本、知識(shí)檢索的成本、運(yùn)維的成本、更新的成本。教育成本,一個(gè)人進(jìn)來(lái)之后,他到底是一個(gè)月之后就能干活,還是半年之后能干活,取決于你的技術(shù)架構(gòu)。如果你的知識(shí)提取架構(gòu)是以正則表達(dá)式為基礎(chǔ)的,那可能很容易。如果你是以一個(gè)規(guī)則的神經(jīng)網(wǎng)絡(luò)分布式表示來(lái)做,可能要半年之后才能理解是什么,所以這都是成本。
知識(shí)圖譜和專家系統(tǒng)有什么異同點(diǎn)?
專家系統(tǒng)一般來(lái)說(shuō)是基于規(guī)則的,專家系統(tǒng)的知識(shí)更多的是人工構(gòu)建,知識(shí)圖譜可以作為專家系統(tǒng)的一部分存在,提供半自動(dòng)構(gòu)建知識(shí)庫(kù)的方法。要說(shuō)共同點(diǎn)都是人工智能的應(yīng)用,肯定有很多共有技術(shù)的,不同點(diǎn)可能就是根據(jù)不同的場(chǎng)景特意的技術(shù)運(yùn)用。
知識(shí)圖譜: 他是邁向下一代搜索業(yè)務(wù)關(guān)鍵的第一步,使得搜索智能化,根據(jù)用戶的意圖給出用戶想要的結(jié)果。
特點(diǎn):
1、用戶搜索次數(shù)越多,范圍越廣,Google 就能獲取越多信息和內(nèi)容。
2、賦予字串新的意義,而不只是單純的字串。
3、融合了所有的學(xué)科,以便于用戶搜索時(shí)的連貫性。
4、為用戶找出更加準(zhǔn)確的信息,作出做全面的總結(jié)并提供更有深度相關(guān)的信息。
5、把與關(guān)鍵詞相關(guān)的知識(shí)體系系統(tǒng)化地展示給用戶。
6、用戶只需登錄Google旗下60多種在線服務(wù)中的一種就能獲取在其他服務(wù)上保留的信息和數(shù)據(jù)。
7、Google從整個(gè)互聯(lián)網(wǎng)汲取有用的信息讓用戶能夠獲得更多相關(guān)的公共資源。
專家系統(tǒng): 是一種模擬人類專家解決領(lǐng)域問(wèn)題的計(jì)算機(jī)程序系統(tǒng) 。
特點(diǎn):專家系統(tǒng)是一個(gè)具有大量的專門(mén)知識(shí)與經(jīng)驗(yàn)的程序系統(tǒng),它應(yīng)用人工智能技術(shù)和計(jì)算機(jī)技術(shù),根據(jù)某領(lǐng)域一個(gè)或多個(gè)專家提供的知識(shí)和經(jīng)驗(yàn),進(jìn)行推理和判斷,模擬人類專家的決策過(guò)程,以便解決那些需要人類專家處理的復(fù)雜問(wèn)題。
什么叫專家系統(tǒng)?就是人去學(xué)一個(gè)東西,然后把學(xué)到的知識(shí)理論化,再把這些理論模型化,最后把這個(gè)模型程序化,形成一個(gè)系統(tǒng),就叫專家系統(tǒng)。
知識(shí)圖譜分為三個(gè)部分技術(shù)組成:
第一個(gè)部分是知識(shí)獲取,主要闡述如何從非結(jié)構(gòu)化、半結(jié)構(gòu)化、以及結(jié)構(gòu)化數(shù)據(jù)中獲取知識(shí)。
第二部是數(shù)據(jù)融合,主要闡述如何將不同數(shù)據(jù)源獲取的知識(shí)進(jìn)行融合構(gòu)建數(shù)據(jù)之間的關(guān)聯(lián)。
第三部分是知識(shí)計(jì)算及應(yīng)用,這一部分關(guān)注的是基于知識(shí)圖譜計(jì)算功能以及基于知識(shí)圖譜的應(yīng)用。
1.1.1?知識(shí)獲取
在處理非結(jié)構(gòu)化數(shù)據(jù)方面,首先要對(duì)用戶的非結(jié)構(gòu)化數(shù)據(jù)提取正文。目前的互聯(lián)網(wǎng)數(shù)據(jù)存在著大量的廣告,正文提取技術(shù)希望有效的過(guò)濾廣告而只保留用戶關(guān)注的文本內(nèi)容。當(dāng)?shù)玫秸奈谋竞?#xff0c;需要通過(guò)自然語(yǔ)言技術(shù)識(shí)別文章中的實(shí)體,實(shí)體識(shí)別通常有兩種方法,一種是用戶本身有一個(gè)知識(shí)庫(kù)則可以使用實(shí)體鏈接將文章中可能的候選實(shí)體鏈接到用戶的知識(shí)庫(kù)上。另一種是當(dāng)用戶沒(méi)有知識(shí)庫(kù)則需要使用命名實(shí)體識(shí)別技術(shù)識(shí)別文章中的實(shí)體。
若文章中存在實(shí)體的別名或者簡(jiǎn)稱還需要構(gòu)建實(shí)體間的同義詞表,這樣可以使不同實(shí)體具有相同的描述。在識(shí)別實(shí)體的過(guò)程中可能會(huì)用到分詞、詞性標(biāo)注,以及深度學(xué)習(xí)模型中需要用到分布式表達(dá)如詞向量。同時(shí)為了得到不同粒度的知識(shí)還可能需要提取文中的關(guān)鍵詞,獲取文章的潛在主題等。當(dāng)用戶獲得實(shí)體后,則需要關(guān)注實(shí)體間的關(guān)系,我們稱為實(shí)體關(guān)系識(shí)別,有些實(shí)體關(guān)系識(shí)別的方法會(huì)利用句法結(jié)構(gòu)來(lái)幫助確定兩個(gè)實(shí)體間的關(guān)系,因此在有些算法中會(huì)利用依存分析或者語(yǔ)義解析。如果用戶不僅僅想獲取實(shí)體間的關(guān)系,還想獲取一個(gè)事件的詳細(xì)內(nèi)容,那么則需要確定事件的觸發(fā)詞并獲取事件相應(yīng)描述的句子,同時(shí)識(shí)別事件描述句子中實(shí)體對(duì)應(yīng)事件的角色。
在處理半結(jié)構(gòu)化數(shù)據(jù)方面,主要的工作是通過(guò)包裝器學(xué)習(xí)半結(jié)構(gòu)化數(shù)據(jù)的抽取規(guī)則。由于半結(jié)構(gòu)化數(shù)據(jù)具有大量的重復(fù)性的結(jié)構(gòu),因此對(duì)數(shù)據(jù)進(jìn)行少量的標(biāo)注,可以讓機(jī)器學(xué)出一定的規(guī)則進(jìn)而在整個(gè)站點(diǎn)下使用規(guī)則對(duì)同類型或者符合某種關(guān)系的數(shù)據(jù)進(jìn)行抽取。最后當(dāng)用戶的數(shù)據(jù)存儲(chǔ)在生產(chǎn)系統(tǒng)的數(shù)據(jù)庫(kù)中時(shí),需要通過(guò)?ETL?工具對(duì)用戶生產(chǎn)系統(tǒng)下的數(shù)據(jù)進(jìn)行重新組織、清洗、檢測(cè)最后得到符合用戶使用目的數(shù)據(jù)。
1.1.2?知識(shí)融合
當(dāng)知識(shí)從各個(gè)數(shù)據(jù)源下獲取時(shí)需要提供統(tǒng)一的術(shù)語(yǔ)將各個(gè)數(shù)據(jù)源獲取的知識(shí)融合成一個(gè)龐大的知識(shí)庫(kù)。提供統(tǒng)一術(shù)語(yǔ)的結(jié)構(gòu)或者數(shù)據(jù)被稱為本體,本體不僅提供了統(tǒng)一的術(shù)語(yǔ)字典,還構(gòu)建了各個(gè)術(shù)語(yǔ)間的關(guān)系以及限制。本體可以讓用戶非常方便和靈活的根據(jù)自己的業(yè)務(wù)建立或者修改數(shù)據(jù)模型。通過(guò)數(shù)據(jù)映射技術(shù)建立本體中術(shù)語(yǔ)和不同數(shù)據(jù)源抽取知識(shí)中詞匯的映射關(guān)系,進(jìn)而將不同數(shù)據(jù)源的數(shù)據(jù)融合在一起。
同時(shí)不同源的實(shí)體可能會(huì)指向現(xiàn)實(shí)世界的同一個(gè)客體,這時(shí)需要使用實(shí)體匹配將不同數(shù)據(jù)源相同客體的數(shù)據(jù)進(jìn)行融合。不同本體間也會(huì)存在某些術(shù)語(yǔ)描述同一類數(shù)據(jù),那么對(duì)這些本體間則需要本體融合技術(shù)把不同的本體融合。最后融合而成的知識(shí)庫(kù)需要一個(gè)存儲(chǔ)、管理的解決方案。
知識(shí)存儲(chǔ)和管理的解決方案會(huì)根據(jù)用戶查詢場(chǎng)景的不同采用不同的存儲(chǔ)架構(gòu)如?NoSQL?或者關(guān)系數(shù)據(jù)庫(kù)。同時(shí)大規(guī)模的知識(shí)庫(kù)也符合大數(shù)據(jù)的特征,因此需要傳統(tǒng)的大數(shù)據(jù)平臺(tái)如?Spark?或者?Hadoop?提供高性能計(jì)算能力,支持快速運(yùn)算。
1.1.2 知識(shí)計(jì)算及應(yīng)用
?
知識(shí)計(jì)算主要是根據(jù)圖譜提供的信息得到更多隱含的知識(shí),如通過(guò)本體或者規(guī)則推理技術(shù)可以獲取數(shù)據(jù)中存在的隱含知識(shí);而鏈接預(yù)測(cè)則可預(yù)測(cè)實(shí)體間隱含的關(guān)系;同時(shí)使用社會(huì)計(jì)算的不同算法在知識(shí)網(wǎng)絡(luò)上計(jì)算獲取知識(shí)圖譜上存在的社區(qū),提供知識(shí)間關(guān)聯(lián)的路徑;通過(guò)不一致檢測(cè)技術(shù)發(fā)現(xiàn)數(shù)據(jù)中的噪聲和缺陷。通過(guò)知識(shí)計(jì)算知識(shí)圖譜可以產(chǎn)生大量的智能應(yīng)用如可以提供精確的用戶畫(huà)像為精準(zhǔn)營(yíng)銷系統(tǒng)提供潛在的客戶;提供領(lǐng)域知識(shí)給專家系統(tǒng)提供決策數(shù)據(jù),給律師、醫(yī)生、公司 CEO 等提供輔助決策的意見(jiàn);提供更智能的檢索方式,使用戶可以通過(guò)自然語(yǔ)言進(jìn)行搜索;當(dāng)然知識(shí)圖譜也是問(wèn)答必不可少的重要組建。
1.2 實(shí)體關(guān)系識(shí)別技術(shù)
基于統(tǒng)計(jì)學(xué)的方法將從文本中識(shí)別實(shí)體間關(guān)系的問(wèn)題轉(zhuǎn)化為分類問(wèn)題。基于統(tǒng)計(jì)學(xué)的方法在實(shí)體關(guān)系識(shí)別時(shí)需要加入實(shí)體關(guān)系上下文信息確定實(shí)體間的關(guān)系,然而基于監(jiān)督的方法依賴大量的標(biāo)注數(shù)據(jù),因此半監(jiān)督或者無(wú)監(jiān)督的方法受到了更多關(guān)注。
知識(shí)融合技術(shù)
?
知識(shí)融合指的是將多個(gè)數(shù)據(jù)源抽取的知識(shí)進(jìn)行融合。與傳統(tǒng)數(shù)據(jù)融合任務(wù)的主要不同是,知識(shí)融合可能使用多個(gè)知識(shí)抽取工具為每個(gè)數(shù)據(jù)項(xiàng)從每個(gè)數(shù)據(jù)源中抽取相應(yīng)的值,而數(shù)據(jù)融合未考慮多個(gè)抽取工具。由此,知識(shí)融合除了應(yīng)對(duì)抽取出來(lái)的事實(shí)本身可能存在的噪音外,還比數(shù)據(jù)融合多引入了一個(gè)噪音,就是不同抽取工具通過(guò)實(shí)體鏈接和本體匹配可能產(chǎn)生不同的結(jié)果。另外,知識(shí)融合還需要考慮本體的融合和實(shí)例的融合。
首先從已有的數(shù)據(jù)融合方法中挑選出易于產(chǎn)生有意義概率的、便于使用基于 MapReduce 框架的、有前途的最新方法,然后對(duì)這些挑選出的方法做出以下改進(jìn)以用于知識(shí)融合:將每個(gè)抽取工具同每個(gè)信息源配對(duì),每對(duì)作為數(shù)據(jù)融合任務(wù)中的一個(gè)數(shù)據(jù)源,這樣就變成了傳統(tǒng)的數(shù)據(jù)融合任務(wù);改進(jìn)已有數(shù)據(jù)融合方法使其輸出概率,代替原來(lái)的真假二值;根據(jù)知識(shí)融合中的數(shù)據(jù)特征修改基于 MapReduce 的框架。可以將通過(guò)不同搜索引擎得到的知識(shí)卡片(即結(jié)構(gòu)化的總結(jié))融合起來(lái)的方法。
針對(duì)一個(gè)實(shí)體查詢,不同搜索引擎可能返回不同的知識(shí)卡片,即便同一個(gè)搜索引擎也可能返回多個(gè)知識(shí)卡片。將這些知識(shí)卡片融合起來(lái)時(shí),將知識(shí)融合中的三維問(wèn)題將為二維問(wèn)題,再應(yīng)用傳統(tǒng)的數(shù)據(jù)融合技術(shù)。不過(guò)一個(gè)新的概率打分算法,是用于挑選一個(gè)知識(shí)卡片最有可能指向的實(shí)體,并設(shè)計(jì)了一個(gè)基于學(xué)習(xí)的方法來(lái)做屬性匹配。
在知識(shí)融合技術(shù)中,本體匹配扮演著非常重要的角色,提供了概念或者實(shí)體之間的對(duì)應(yīng)關(guān)系。截止目前,人們已經(jīng)提出了各種各樣的本體匹配算法,一般可以分為模式匹配(schema matching)和實(shí)例匹配(instance matching),也有少量的同時(shí)考慮模式和實(shí)例的匹配[32-34]。從技術(shù)層面來(lái)講,本體匹配可分為啟發(fā)式方法、概率方法、基于圖的方法、基于學(xué)習(xí)的方法和基于推理的方法。下面圍繞模式匹配和實(shí)例匹配,具體介紹各自分類中幾個(gè)具有代表性的匹配方法。
模式匹配主要尋找本體中屬性和概念之間的對(duì)應(yīng)關(guān)系,一個(gè)自動(dòng)的語(yǔ)義匹配方法,該方法首先利用像 WordNet 之類的詞典以及本體的結(jié)構(gòu)等信息進(jìn)行模式匹配,然后將結(jié)果根據(jù)加權(quán)平均的方法整合起來(lái),再利用一些模式(patterns)進(jìn)行一致性檢查,去除那些導(dǎo)致不一致的對(duì)應(yīng)關(guān)系。該過(guò)程可循環(huán)的,直到不再找到新的對(duì)應(yīng)關(guān)系為止。考慮多種匹配算法的結(jié)合,利用基于術(shù)語(yǔ)的一些相似度計(jì)算算法,例如 n-gram 和編輯距離,這里算法計(jì)算的結(jié)果根據(jù)加權(quán)求和進(jìn)行合并,還考慮了概念的層次關(guān)系和一些背景知識(shí),最后通過(guò)用戶定義的權(quán)重進(jìn)行合并。
為了應(yīng)對(duì)大規(guī)模的本體,使用錨(anchor)的系統(tǒng),該系統(tǒng)以一對(duì)來(lái)自兩個(gè)本體的相似概念為起點(diǎn),根據(jù)這些概念的父概念和子概念等鄰居信息逐漸地構(gòu)建小片段,從中找出匹配的概念。新找出的匹配的概念對(duì)又可作為新的錨,然后再根據(jù)鄰居信息構(gòu)建新的片段。該過(guò)程不斷地重復(fù),直到未找到新的匹配概念對(duì)時(shí)停止。則以分而治之的思想處理大規(guī)模本體,該方法先根據(jù)本體的結(jié)構(gòu)對(duì)其進(jìn)行劃分獲得組塊,然后從不同本體獲得的組塊進(jìn)行基于錨的匹配,這里的錨是指事先匹配好的實(shí)體對(duì),最后再?gòu)钠ヅ涞慕M塊中找出對(duì)應(yīng)的概念和屬性。
現(xiàn)有的匹配方法通常是將多個(gè)匹配算法相結(jié)合,采用加權(quán)平均或加權(quán)求和的方式進(jìn)行合并。但是,由于本體結(jié)構(gòu)的不對(duì)稱性等特征,這種固定的加權(quán)方法顯出不足。基于貝葉斯決策的風(fēng)險(xiǎn)最小化提出一個(gè)動(dòng)態(tài)的合并方法,該方法可以根據(jù)本體的特征,在計(jì)算每個(gè)實(shí)體對(duì)的相似度時(shí)動(dòng)態(tài)地選擇使用哪幾個(gè)匹配算法,如何合并這些算法,其靈活性帶來(lái)了很好的匹配結(jié)果。實(shí)例匹配是評(píng)估異構(gòu)知識(shí)源之間實(shí)例對(duì)的相似度,用來(lái)判斷這些實(shí)例是否指向給定領(lǐng)域的相同實(shí)體。
最近幾年,隨著 Web 2.0 和語(yǔ)義 Web 技術(shù)的不斷發(fā)展,越來(lái)越多的語(yǔ)義數(shù)據(jù)往往具有豐富實(shí)例和薄弱模式的特點(diǎn),促使本體匹配的研究工作慢慢的從模式層轉(zhuǎn)移到實(shí)例層。一個(gè)自訓(xùn)練的方法進(jìn)行實(shí)例匹配,該方法首先根據(jù) owl:sameAs、函數(shù)型屬性(functional properties)和基數(shù)(cardinalities)構(gòu)建一個(gè)核(kernel),再根據(jù)區(qū)別比較明顯的屬性值對(duì)遞歸的對(duì)該核進(jìn)行擴(kuò)展。利用現(xiàn)有的局部敏感哈希技術(shù)來(lái)大幅提高實(shí)例匹配的可擴(kuò)展性,該方法首先需要定義用于實(shí)例相似性分析的粒度,然后使用分割好的字符串技術(shù)實(shí)例相似度。
首先使用向量空間模型表示實(shí)例的描述性信息,再基于規(guī)則采用倒排索引(inverted indexes)獲取最初的匹配候選,在使用用戶定義的屬性值對(duì)候選進(jìn)行過(guò)濾,最后計(jì)算出的匹配候選相似度用來(lái)作為整合的向量距離,由此抽取出匹配結(jié)果。雖然已有方法中已有不少用于處理大規(guī)模本體的實(shí)例匹配問(wèn)題,但是同時(shí)保證高效和高精度仍然是個(gè)很大的挑戰(zhàn)。一個(gè)迭代的框架,充分利用特征明顯的已有匹配方法來(lái)提高效率,同時(shí)基于相似度傳播的方法利用一個(gè)加權(quán)指數(shù)函數(shù)來(lái)確保實(shí)例匹配的高精度。
1.4 實(shí)體鏈接技術(shù)
歧義性和多樣性是自然語(yǔ)言的固有屬性,也是實(shí)體鏈接的根本難點(diǎn)。如何挖掘更多、更加有效的消歧證據(jù),設(shè)計(jì)更高性能的消歧算法依然是實(shí)體鏈接系統(tǒng)的核心研究問(wèn)題,值得進(jìn)一步研究。下面按照不同的實(shí)體消歧方法進(jìn)行分類。
基于概率生成模型方法:一種生成概率模型,將候選實(shí)體 e 出現(xiàn)在某頁(yè)面中的概率、特定實(shí)體 e 被表示為實(shí)體指稱項(xiàng)的概率以及實(shí)體 e 出現(xiàn)在特定上下文中的概率三者相乘,得到候選實(shí)體同實(shí)體指稱項(xiàng)之間的相似度評(píng)分值。Blanco 和 Ottaviano 等人[48]提出了用于搜索查詢實(shí)體鏈接的概率模型,該方法采用了散列技術(shù)與上下文知識(shí),有效地提高了實(shí)體鏈接的效率。
基于主題模型的方法:通過(guò)模型自動(dòng)對(duì)文本中的實(shí)體指稱進(jìn)行標(biāo)注,生成訓(xùn)練數(shù)據(jù)集用于訓(xùn)練 LDA 主題模型,然后計(jì)算實(shí)體指稱和候選實(shí)體的上下文語(yǔ)義相似度從而消歧得到目標(biāo)實(shí)體。對(duì)用戶的興趣主題建模的方法,首先構(gòu)建關(guān)系圖,圖中包含了不同命名實(shí)體間的相互依賴關(guān)系,然后利用局部信息對(duì)關(guān)系圖中每個(gè)命名實(shí)體賦予初始興趣值,最后利用傳播算法對(duì)不同命名實(shí)體的興趣值進(jìn)行傳播得到最終興趣值,選擇具有最高興趣值的候選實(shí)體。
基于圖的方法:構(gòu)造了一種基于圖的模型,其中圖節(jié)點(diǎn)為所有實(shí)體指稱和所有候選實(shí)體;圖的邊分為兩類,一類是實(shí)體指稱和其對(duì)應(yīng)的候選實(shí)體之間的邊,權(quán)重為實(shí)體指稱和候選實(shí)體之間的局部文本相似度,采用詞袋模型和余弦距離計(jì)算得出。另一類是候選實(shí)體之間的邊,權(quán)重為候選實(shí)體之間的語(yǔ)義相關(guān)度,采用谷歌距離計(jì)算。算法首先采集不同實(shí)體的初始置信度,然后通過(guò)圖中的邊對(duì)置信度進(jìn)行傳播和增強(qiáng)。
基于圖和語(yǔ)義關(guān)系的命名實(shí)體消歧方法,該方法在維基百科上建立基于圖的模型,然后在該模型上計(jì)算各個(gè)命名實(shí)體的得分從而確定了目標(biāo)實(shí)體,該方法在新聞數(shù)據(jù)上取得了較高的準(zhǔn)確率。采用基于圖的方法,圖中的節(jié)點(diǎn)為所有的候選實(shí)體,邊采用兩種方式構(gòu)建,一種是實(shí)體之間的維基百科鏈接,另一種是使用實(shí)體在維基百科文章中句子的共現(xiàn)。圖中的候選實(shí)體節(jié)點(diǎn)通過(guò)和實(shí)體指稱的相似度值被賦予初始值,采用 PageRank 選擇目標(biāo)實(shí)體。使用實(shí)體的先驗(yàn)概率,實(shí)體指稱和候選實(shí)體的上下文相似度,以及候選實(shí)體之間的內(nèi)聚性構(gòu)成一個(gè)加權(quán)圖,從中選擇出一個(gè)候選實(shí)體的密集子圖作為最可能的目標(biāo)實(shí)體分配給實(shí)體指稱。
基于深度神經(jīng)網(wǎng)絡(luò)的方法:一種用于實(shí)體消歧的實(shí)體表示訓(xùn)練方法。該方法對(duì)文章內(nèi)容進(jìn)行自編碼,利用深度神經(jīng)網(wǎng)絡(luò)模型以有監(jiān)督的方式訓(xùn)練實(shí)體表示,依據(jù)語(yǔ)義表示相似度對(duì)候選實(shí)體進(jìn)行排序,但該方法是一種局部性方法,沒(méi)有考慮同一文本中共同出現(xiàn)的實(shí)體間相關(guān)性。基于深度神經(jīng)網(wǎng)絡(luò)和語(yǔ)義知識(shí)圖譜,提出了一種基于圖的半監(jiān)督實(shí)體消歧義方法,將深度神經(jīng)網(wǎng)絡(luò)模型得到的實(shí)體間語(yǔ)義關(guān)聯(lián)度作為圖中的邊權(quán)值。
從實(shí)驗(yàn)結(jié)果得出:基于語(yǔ)義知識(shí)圖譜的 NGD 和VSM方法比起 Wikipedia anchor links 無(wú)論在關(guān)聯(lián)性測(cè)試上還是在消歧性能上都具有更好的測(cè)試結(jié)果。相比 NGD 和 VSM,基于 DNN的深度語(yǔ)義關(guān)聯(lián)方法在關(guān)聯(lián)性測(cè)試上還是在消歧性能上都具有更好的關(guān)聯(lián)性和更高的準(zhǔn)確性。但該方法存在兩點(diǎn)不足,一方面在構(gòu)建深度語(yǔ)義關(guān)聯(lián)模型時(shí)采用詞袋子方法,沒(méi)有考慮上下文詞之間位置關(guān)系,另外一方面在消歧的過(guò)程中,構(gòu)建的圖模型沒(méi)有充分利用已消歧實(shí)體,邊權(quán)值和頂點(diǎn)得分隨著未消歧實(shí)體增加保持不變,并沒(méi)有為后續(xù)的歧義實(shí)體增加信息量。
1.5 知識(shí)推理技術(shù)
?
知識(shí)庫(kù)推理可以粗略地分為基于符號(hào)的推理和基于統(tǒng)計(jì)的推理。在人工智能的研究中,基于符號(hào)的推理一般是基于經(jīng)典邏輯(一階謂詞邏輯或者命題邏輯)或者經(jīng)典邏輯的變異(比如說(shuō)缺省邏輯)。基于符號(hào)的推理可以從一個(gè)已有的知識(shí)圖譜,利用規(guī)則,推理出新的實(shí)體間關(guān)系,還可以對(duì)知識(shí)圖譜進(jìn)行邏輯的沖突檢測(cè)。基于統(tǒng)計(jì)的方法一般指關(guān)系機(jī)器學(xué)習(xí)方法,通過(guò)統(tǒng)計(jì)規(guī)律從知識(shí)圖譜中學(xué)習(xí)到新的實(shí)體間關(guān)系。
1.5.1 基于符號(hào)邏輯的推理方法
為了使得語(yǔ)義網(wǎng)絡(luò)同時(shí)具備形式化語(yǔ)義和高效推理,一些研究人員提出了易處理(tractable)概念語(yǔ)言,并且開(kāi)發(fā)了一些商用化的語(yǔ)義網(wǎng)絡(luò)系統(tǒng)。這些系統(tǒng)的提出,使得針對(duì)概念描述的一系列邏輯語(yǔ)言,統(tǒng)稱描述邏輯(description logic),得到了學(xué)術(shù)界和業(yè)界廣泛關(guān)注。但是這些系統(tǒng)的推理效率難以滿足日益增長(zhǎng)的數(shù)據(jù)的需求,最終沒(méi)能得到廣泛應(yīng)用。這一困局被利物浦大學(xué)的 Ian Horrocks 教授打破,他開(kāi)發(fā)的 FaCT 系統(tǒng)可以處理一個(gè)比較大的醫(yī)療術(shù)語(yǔ)本體 GALEN,而且性能比其他類似的推理機(jī)要好得多。描述邏輯最終成為了 W3C 推薦的 Web 本體語(yǔ)言 OWL 的邏輯基礎(chǔ)。
雖然描述邏輯推理機(jī)的優(yōu)化取得了很大的進(jìn)展,但是還是跟不上數(shù)據(jù)增長(zhǎng)的速度,特別是當(dāng)數(shù)據(jù)規(guī)模大到目前的基于內(nèi)存的服務(wù)器無(wú)法處理的情況下。為了應(yīng)對(duì)這一挑戰(zhàn),最近幾年,研究人員開(kāi)始考慮將描述邏輯和 RDFS 的推理并行來(lái)提升推理的效率和可擴(kuò)展性,并且取得了很多成果。并行推理工作所借助的并行技術(shù)分為以下兩類:1)單機(jī)環(huán)境下的多核、多處理器技術(shù),比如多線程,GPU 技術(shù)等;2)多機(jī)環(huán)境下基于網(wǎng)絡(luò)通信的分布式技術(shù),比如 MapReduce 計(jì)算框架、Peer-To-Peer 網(wǎng)絡(luò)框架等。很多工作嘗試?yán)眠@些技術(shù)實(shí)現(xiàn)高效的并行推理。
單機(jī)環(huán)境下的并行技術(shù)以共享內(nèi)存模型為特點(diǎn),側(cè)重于提升本體推理的時(shí)間效率。對(duì)于實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景,這種方法成為首選。對(duì)于表達(dá)能力較低的語(yǔ)言,比如 RDFS、OWL EL,單機(jī)環(huán)境下的并行技術(shù)將顯著地提升本體推理效率。Goodman 等人在[59]中利用高性能計(jì)算平臺(tái) Cray XMT 實(shí)現(xiàn)了大規(guī)模的 RDFS 本體推理,利用平臺(tái)計(jì)算資源的優(yōu)勢(shì)限制所有推理任務(wù)在內(nèi)存完成。
然而對(duì)于計(jì)算資源有限的平臺(tái),內(nèi)存使用率的優(yōu)化成為了不可避免的問(wèn)題。工作中將 RDFS,以及表達(dá)能力更高的 OWL RL 等價(jià)地轉(zhuǎn)換為 Datalog 程序,然后利用 Datalog 中的并行優(yōu)化技術(shù)來(lái)解決內(nèi)存的使用率問(wèn)題。利用并行與串行的混合方法來(lái)提升OWL RL的推理效率,利用多線程技術(shù)實(shí)現(xiàn) OWL EL 分類(classification)的方法,并實(shí)現(xiàn)推理機(jī) ELK。
盡管單機(jī)環(huán)境的推理技術(shù)可以滿足高推理性能的需求,但是由于計(jì)算資源有限(比如內(nèi)存,存儲(chǔ)容量),推理方法的可伸縮性(scalability)受到不同程度的限制。因此,很多工作利用分布式技術(shù)突破大規(guī)模數(shù)據(jù)的處理界限。這種方法利用多機(jī)搭建集群來(lái)實(shí)現(xiàn)本體推理。
首個(gè)嘗試?yán)?Peer-To-Peer 的分布式框架實(shí)現(xiàn) RDF 數(shù)據(jù)推理的工作。實(shí)驗(yàn)結(jié)果表明,利用分布式技術(shù)可以完成很多在單機(jī)環(huán)境下無(wú)法完成的大數(shù)據(jù)量推理任務(wù)。很多工作基于 MapReduce 的開(kāi)源實(shí)現(xiàn)(如 Hadoop,Spark 等)設(shè)計(jì)提出了大規(guī)模本體的推理方法。實(shí)驗(yàn)結(jié)果證實(shí)其在大集群上可以完成上百億的 RDF 三元組的推理。基于 MapReduce 的 OWL RL 查詢算法利用 MapReduce 來(lái)實(shí)現(xiàn) OWL EL 本體的推理算法在實(shí)驗(yàn)證明 MapReduce 技術(shù)同樣可以解決大規(guī)模的 OWL EL 本體推理。工作中,進(jìn)一步擴(kuò)展 OWL EL 的推理技術(shù),使得推理可以在多個(gè)并行計(jì)算平臺(tái)完成。
1.5.2 基于統(tǒng)計(jì)的推理方法
?
知識(shí)圖譜中基于統(tǒng)計(jì)的推理方法一般指關(guān)系機(jī)器學(xué)習(xí)方法。下面介紹一些典型的方法。
實(shí)體關(guān)系學(xué)習(xí)方法
?
實(shí)體關(guān)系學(xué)習(xí)的目的是學(xué)習(xí)知識(shí)圖譜中實(shí)例和實(shí)例之間的關(guān)系。這方面的工作非常多,也是最近幾年知識(shí)圖譜的一個(gè)比較熱的研究方向。可以分為潛在特征模型和圖特征模型兩種。潛在特征模型通過(guò)實(shí)例的潛在特征來(lái)解釋三元組。比如說(shuō),莫言獲得諾貝爾文學(xué)獎(jiǎng)的一個(gè)可能解釋是他是一個(gè)有名的作家。一個(gè)關(guān)系潛在特征模型,稱為雙線性(bilinear)模型,該模型考慮了潛在特征的兩兩交互來(lái)學(xué)習(xí)潛在的實(shí)體關(guān)系。應(yīng)用兩兩交互的張量分解模型來(lái)學(xué)習(xí)知識(shí)圖譜中的潛在關(guān)系。
翻譯(translation)模型將實(shí)體與關(guān)系統(tǒng)一映射至低維向量空間中,且認(rèn)為關(guān)系向量中承載了頭實(shí)體翻譯至尾實(shí)體的潛在特征。因此,通過(guò)發(fā)掘、對(duì)比向量空間中存在類似潛在特征的實(shí)體向量對(duì),我們可以得到知識(shí)圖譜中潛在的三元組關(guān)系。全息嵌入(Holographic Embedding,HolE)模型分別利用圓周相關(guān)計(jì)算三元組的組合表示及利用圓周卷積從組合表示中恢復(fù)出實(shí)體及關(guān)系的表示。與張量分解模型類似,HolE 可以獲得大量的實(shí)體交互來(lái)學(xué)習(xí)潛在關(guān)系,而且有效減少了訓(xùn)練參數(shù),提高了訓(xùn)練效率。
基于圖特征模型的方法從知識(shí)圖譜中觀察到的三元組的邊的特征來(lái)預(yù)測(cè)一條可能的邊的存在。典型的方法有基于基于歸納邏輯程序(ILP)的方法,基于關(guān)聯(lián)規(guī)則挖掘(ARM)的方法和路徑排序(path ranking)的方法。基于 ILP 的方法和基于 ARM 的方法的共同之處在于通過(guò)挖掘的方法從知識(shí)圖譜中抽取一些規(guī)則,然后把這些規(guī)則應(yīng)用到知識(shí)圖譜上,推出新的關(guān)系。而路徑排序方法則是根據(jù)兩個(gè)實(shí)體間連通路徑作為特征來(lái)判斷兩個(gè)實(shí)體是否屬于某個(gè)關(guān)系。
類型推理(typeinference)方法
?
知識(shí)圖譜上的類型推理目的是學(xué)習(xí)知識(shí)圖譜中的實(shí)例和概念之間的屬于關(guān)系。SDT利用三元組主語(yǔ)或謂語(yǔ)所連接屬性的統(tǒng)計(jì)分布以預(yù)測(cè)實(shí)例的類型。該方法可以用在任意單數(shù)據(jù)源的知識(shí)圖譜,但是無(wú)法做到跨數(shù)據(jù)集的類型推理。Tipalo與LHD均使用 DBpedia 中特有的 abstract 數(shù)據(jù),利用特定模式進(jìn)行實(shí)例類型的抽取。此類方法依賴于特定結(jié)構(gòu)的文本數(shù)據(jù),無(wú)法擴(kuò)展到其他知識(shí)庫(kù)。
?
模式歸納(schemainduction)方法
?
模式歸納方法學(xué)習(xí)概念之間的關(guān)系,主要有基于 ILP 的方法和基于 ARM 的方法。ILP 結(jié)合了機(jī)器學(xué)習(xí)和邏輯編程技術(shù),使得人們可以從實(shí)例和背景知識(shí)中獲得邏輯結(jié)論。Lehmann 等在中提出用向下精化算子學(xué)習(xí)描述邏輯的概念定義公理的方法,即從最一般的概念(即頂概念)開(kāi)始,采用啟發(fā)式搜索方法使該概念不斷特殊化,最終得到概念的定義。為了處理像 DBpedia 這樣大規(guī)模的語(yǔ)義數(shù)據(jù),該方法在中得到進(jìn)一步的擴(kuò)展。這些方法都在 DL-Learner中得以實(shí)現(xiàn)。V?lker 等人在中介紹了從知識(shí)圖譜中生成概念關(guān)系的統(tǒng)計(jì)方法,該方法通過(guò) SPARQL 查詢來(lái)獲取信息,用以構(gòu)建事務(wù)表。然后使用 ARM 技術(shù)從事務(wù)表中挖掘出一些相關(guān)聯(lián)的概念關(guān)系。在他們的后續(xù)工作中,使用負(fù)關(guān)聯(lián)規(guī)則挖掘技術(shù)學(xué)習(xí)不交概念關(guān)系,并在文獻(xiàn)中給出了豐富的試驗(yàn)結(jié)果。
2 開(kāi)放知識(shí)圖譜
?
本節(jié)首先介紹當(dāng)前世界范圍內(nèi)知名的高質(zhì)量大規(guī)模開(kāi)放知識(shí)圖譜,包括 DBpedia、Yago、Wikidata、BabelNet、ConceptNet以及Microsoft Concept Graph等,中文開(kāi)放知識(shí)圖譜平臺(tái) OpenKG。
2.1 開(kāi)放知識(shí)圖譜
?
DBpedia 是一個(gè)大規(guī)模的多語(yǔ)言百科知識(shí)圖譜,可視為是維基百科的結(jié)構(gòu)化版本。DBpedia 使用固定的模式對(duì)維基百科中的實(shí)體信息進(jìn)行抽取,包括 abstract、infobox、category 和 page link 等信息。圖 2 示例了如何將維基百科中的實(shí)體“Busan”的 infobox 信息轉(zhuǎn)換成 RDF 三元組。DBpedia 目前擁有 127 種語(yǔ)言的超過(guò)兩千八百萬(wàn)個(gè)實(shí)體與數(shù)億個(gè) RDF 三元組,并且作為鏈接數(shù)據(jù)的核心,與許多其他數(shù)據(jù)集均存在實(shí)體映射關(guān)系。而根據(jù)抽樣評(píng)測(cè)[96],DBpedia 中 RDF 三元組的正確率達(dá) 88%。DBpedia 支持?jǐn)?shù)據(jù)集的完全下載。
2.2 中文開(kāi)放知識(shí)圖譜聯(lián)盟介紹
?
中文開(kāi)放知識(shí)圖譜聯(lián)盟(OpenKG)旨在推動(dòng)中文知識(shí)圖譜的開(kāi)放與互聯(lián),推動(dòng)知識(shí)圖譜技術(shù)在中國(guó)的普及與應(yīng)用,為中國(guó)人工智能的發(fā)展以及創(chuàng)新創(chuàng)業(yè)做出貢獻(xiàn)。聯(lián)盟已經(jīng)搭建有 OpenKG.CN 技術(shù)平臺(tái),如圖 5 所示,目前已有 35 家機(jī)構(gòu)入駐。吸引了國(guó)內(nèi)最著名知識(shí)圖譜資源的加入,如 Zhishi.me, CN-DBPedia, PKUBase。并已經(jīng)包含了來(lái)自于常識(shí)、醫(yī)療、金融、城市、出行等 15 個(gè)類目的開(kāi)放知識(shí)圖譜。
知識(shí)圖譜15條軍規(guī):
1) 知識(shí)提取是投入很大的工作。因?yàn)橹芷陂L(zhǎng),反而更需要任務(wù)分解,化長(zhǎng)期工作為若干可以短期交付的工作。
2)交付很重要。交付不一定要是最終的產(chǎn)品,盡可能思考是否可以可以把中間階段變成可用的。按周為單位交付。
3)越是長(zhǎng)期的工程,越需要在團(tuán)隊(duì)溝通上下功夫。及時(shí)通知團(tuán)隊(duì)成員已可交付模塊的變化。
4)保持一個(gè)交付的心態(tài)。不僅對(duì)外交付,對(duì)內(nèi)部也要交付。 聯(lián)調(diào)系統(tǒng)就是交付的檢查器。
5)保持工作不發(fā)霉最好的辦法是曬。越是長(zhǎng)期的工作,越要有意識(shí)地經(jīng)常拿出來(lái)曬。
6)在線 Demo 是低成本溝通的好辦法。
7)可視化工作的進(jìn)度,并讓所有的人都看到。
8)保存提取的中間產(chǎn)物:原始文件,富文本格式,text格式,段落篇章,Meme 提取,實(shí)體,標(biāo)簽……
9)不要用 RDF,或者三元組。那會(huì)帶來(lái)演進(jìn)的噩夢(mèng)
10)保持提取出來(lái)的數(shù)據(jù)的可讀性。保持合理的粒度的組織,不要分得太細(xì),但也不要太大。如果原始數(shù)據(jù)可讀性不好,多做一些自己用的工具來(lái)提升其可讀性,如縮進(jìn)、語(yǔ)法高亮、表格化、導(dǎo)出為 csv 等。數(shù)據(jù)可讀性是數(shù)據(jù)debug的關(guān)鍵之一。
11)觀察數(shù)據(jù),不怕麻煩。知識(shí)提取是水磨功夫。牛人的能力往往就是掌握了快速觀察的方法。
12)從第一分鐘開(kāi)始就寫(xiě)回歸測(cè)試。寫(xiě)測(cè)試是節(jié)約開(kāi)發(fā)時(shí)間,不是浪費(fèi)時(shí)間。測(cè)試代碼比提取代碼還多是正常。測(cè)試提供反饋。
13)提取和測(cè)試,先寫(xiě)單線程,再多線程并發(fā)。寫(xiě)單線程的時(shí)候就考慮到數(shù)據(jù)可能會(huì)并發(fā)處理。隊(duì)列方法可能簡(jiǎn)化處理架構(gòu)。
14)盡可能避免問(wèn)題大數(shù)據(jù)化。盡量避免分布式處理。先盡可能scale up,而后scale out。
15)適應(yīng)沒(méi)有標(biāo)注數(shù)據(jù)、Golden standard。如果沒(méi)有標(biāo)準(zhǔn)答案,可以試著用兩種(或更多)不同的算法去解決同一個(gè)問(wèn)題,然后比較結(jié)果是不是一致。不要等有標(biāo)準(zhǔn)答案。
?
總結(jié)
 
                            
                        - 上一篇: 文件储存树的理解(ISAM 和 B+Tr
- 下一篇: 文华财经彩波均线主图指标公式(指标公式源
