官术网_书友最值得收藏!

1.2 知識圖譜架構

在了解了知識圖譜的定義、分類及發展階段之后,接下來介紹一下知識圖譜的構建方式、邏輯架構及技術架構。

1.2.1 構建方式

知識圖譜的架構是指構建知識圖譜的模式結構,知識圖譜的構建主要有自頂向下與自底向上兩種方式。自頂向下是指先為知識圖譜定義好本體模式,根據本體模式的約束,再將實體加入知識庫。自底向上是指從一些通用知識圖譜中提取出實體,選擇其中置信度較高的實體加入知識庫,再構建頂層的本體模式。

在知識圖譜技術發展初期,多數企業和科研機構主要采用自頂向下的方式構建基礎知識庫,這種構建方式需要利用現有的結構化知識庫(如Freebase)作為基礎知識庫,或從維基百科中獲得大部分數據進行知識庫構建。隨著自動知識抽取與加工技術的不斷成熟,當前知識圖譜大多采用自底向上的方式構建,如谷歌的Knowledge Vault和微軟的Satori知識庫。

1.2.2 邏輯架構

知識圖譜的邏輯架構可以劃分為兩個層次:概念層和數據層。

知識圖譜的概念層構建在數據層之上,這是知識圖譜的核心,用來規定知識圖譜中包含哪些領域的知識、知識的類別(體系)、每種類別知識的關系與屬性。知識圖譜的概念層一般通過本體庫[3]來管理,以規范數據層的一系列事實表達。知識圖譜借助本體庫對公理、規則和約束條件的支持能力來規范實體、關系及屬性等對象之間的聯系。其中,本體是結構化知識庫的概念模板,通過本體庫形成的知識庫不僅層次結構較強,而且冗余程度較小。

知識圖譜的數據層主要由一系列的事實組成,用來存儲概念對應的事實數據。知識以事實為單位存儲在圖數據庫中,如果事實是以(實體1-關系-實體2)或者(實體-屬性-屬性值)三元組作為基本表達方式,則存儲在圖數據庫中的所有數據將構成龐大的實體關系網絡,也就是形成知識的“圖譜”。

如果在理解上還是有點模糊,可以看看下面這個例子。

?概念層:人物1-關系-人物2,人物-屬性-屬性值。

?數據層:李娜-丈夫-姜山,李娜-冠軍-法網。

知識圖譜可選擇圖數據庫作為存儲介質,例如微軟的Trinity、推特的FlockDB、Sones的GraphDB、開源的Neo4j等都是典型的圖數據庫。

1.2.3 技術架構

在互聯網飛速發展的今天,知識大量存在于非結構化的文本數據、半結構化的表格和網頁以及結構化的業務系統數據庫中。可通過知識圖譜技術獲取大量的、計算機可理解的知識,并將這些知識層次化,形成知識體系或知識網絡。

知識圖譜是融合認知計算、知識表示與推理、信息檢索與抽取、自然語言處理與語義Web、數據挖掘與機器學習等方向的交叉研究技術。知識圖譜的構建包括數據獲取、知識抽取、知識表示、知識融合、知識建模、知識推理等步驟,其構建過程如圖1-3所示。知識圖譜構建過程也是知識更新的過程,本書將圍繞該過程的主要步驟與應用進行講解。

圖1-3 知識圖譜的構建過程

接下來,我們將基于實際應用講解知識圖譜構建的各個步驟。

1)數據獲取:數據獲取的對象是互聯網上散落的大規模數據,這些數據來源多種多樣,包括數據庫文件、文本文檔、網頁數據或者鏈接開放數據等。數據類型包括結構化數據、半結構化數據以及非結構化數據。我們將這些多源異構數據匯聚起來供知識抽取與應用。

2)知識抽取:知識抽取主要面向鏈接開放數據,通過一系列自動化或半自動化的技術手段,從半結構化、非結構化的數據中提取出實體、關系及屬性等知識要素,并以此為基礎,形成一系列高質量的事實表達,為模式層的構建奠定基礎。知識抽取不僅需要抽取實體及屬性,還要基于語句和語境抽取出實體間的關系以及實體所描述的事件,以便用于之后的知識融合。

3)知識表示:知識抽取完畢之后,需要選擇合適的方式來表示抽取的各種知識要素,以便將人類所理解的知識轉化成計算機能理解的形式。知識圖譜通常使用符號或者向量表示。基于符號的表示方式貼近人類的語言,具有較強的可解釋性;而基于向量的表示方式會使用向量與矩陣來表示知識,雖然難以解釋,但是可以輕松地運用于計算機中,與近年來流行的深度學習相輔相成。近年來,以深度學習為代表的表示學習技術取得了重要的進展,可以將實體的語義信息表示為稠密低維實值向量,進而在低維空間中高效計算實體、關系及其之間的復雜語義關聯,解決了基于三元組的知識表示形式在計算效率、數據稀疏性等方面面臨的諸多問題,對知識圖譜的構建、融合、推理以及應用均具有重要的意義。

4)知識融合:知識融合是指將多個數據源抽取的知識進行融合。對不同數據源的知識來說,存在知識質量良莠不齊、來自不同數據源的知識重復、知識間的關聯不夠明確等問題,需要通過知識融合來將這些數據整合為一體。知識融合使來自不同知識源的知識可以在同一框架規范下進行異構數據的整合、消歧、加工、推理驗證、更新等步驟,達到數據、信息、方法、經驗以及人的思想的融合,形成高質量的知識圖譜。知識融合主要包括本體對齊[4]和實體對齊[5]。通過本體對齊,可以確立一個統一的知識體系,將不同來源的數據在概念層整合為一體;通過實體對齊可以將同一個實體的不同表達方式整合為一體以解決某些實體有多種表達的問題,或將同樣命名的實體分為不同含義的多個實體以解決某個特定稱謂對應于多個不同實體的問題。

5)知識建模:在融合了知識圖譜所需的數據之后,接下來的工作就是構建知識圖譜模型。知識建模即建立知識圖譜的數據模式。常用的方法包括兩種:①由專家自頂向下編輯形成數據模式;②自底向上對現有高質量的行業數據集進行映射或按行業標準進行轉換。行業知識圖譜的數據模式需要對整個知識圖譜的結構進行定義,且需要保證可靠性。知識建模主要分為兩個步驟:一是本體建模,即建立知識圖譜概念層的模型;二是知識表示建模,即建立知識圖譜數據層的模型。通過本體建模,可以得到這個知識圖譜的層級結構,達到人類可以理解的程度;而通過知識表示建模,可以得到圖譜數據的模型,這使得計算機可以理解這些數據之間的關系。

6)知識推理:知識推理是在已有的知識庫基礎上通過推理技術進一步挖掘隱含的知識,從而豐富、擴展知識庫。由于知識圖譜是由獲取的數據構建而成,這使得數據的缺失和錯誤會導致圖譜的缺失與錯誤,我們可以通過知識推理來驗證并彌補這些問題。同時,基于知識圖譜的推理可以作為挖掘隱藏知識信息的工具,比如通過實體預測、關系預測、路徑推理等進行挖掘。知識推理的對象可以是實體、實體的屬性、實體間的關系、本體庫中概念的層次結構等。知識推理方法主要分為基于邏輯規則的推理、基于知識表示學習的推理、基于圖的推理及混合推理等。

除了以上6個步驟之外,知識圖譜的構建過程還包含知識存儲、知識計算、知識評估、知識運維、知識管理等步驟。

1)知識存儲:知識圖譜存儲的基礎數據包括三元組知識、事件信息、時態信息以及使用知識圖譜組織的數據等,它將知識以各種不同關系相連接形成的節點網絡存儲在數據庫中,以便讀取與修改。常用的關系型數據庫與NoSQL數據庫都可以用于部分知識圖譜數據的存儲,但更多時候建議直接使用圖數據庫進行存儲。

2)知識計算:知識計算是針對已構建的知識圖譜存在的不完備性、信息錯誤等問題,通過將知識統計與圖挖掘、知識推理等方法和傳統應用相結合,提供知識補全、知識糾錯等能力,提高知識完備性并擴大知識的覆蓋面。基于知識計算可以實現以準確、簡潔的自然語言形式自動地回答用戶所提出的問題,也可以以強大的關系連接能力為律師、醫生等提供輔助決策建議等。

3)知識評估:在知識圖譜的構建過程中,每一步都是在前一步的基礎上按順序完成的。在這個過程中,低質量的前述步驟造成的影響會在后續步驟中被放大,因此每一步都需要進行質量評估。質量評估也可以分為概念層與數據層的評估:概念層主要是評估各個步驟中涉及概念的部分,包括本體的定義、建模、推理等;而數據層則是評估數據本身的質量,例如數據源的質量、知識抽取結果的質量等。

4)知識運維:知識運維是指在應用使用過程中對知識圖譜的概念層和數據層進行維護。概念層的運維是對實際需求與知識圖譜脫節的地方進行修正,而數據層的運維則是對知識圖譜中的數據按需求進行增減。從第三方數據源向知識圖譜中添加數據也屬于知識運維的一個重要環節。

5)知識管理:知識管理是指通過知識圖譜管理平臺整合大規模離散的業務數據、開放動態數據、專家經驗數據等,提供知識圖譜全生命周期的管理。可通過可視化方式完成領域知識體系建模,利用AI工作流實現知識圖譜的快速構建,依托開放能力和計算推理引擎提供基礎的應用能力。

另外,知識圖譜標準體系結構包括六大標準[6]:基礎共性標準、數字基礎設施標準、關鍵技術標準、產品/服務標準、行業應用標準以及運維與安全標準,有興趣的讀者可以自行了解。

如果讀者對上述的大量概念難以一下全部接受或者似懂非懂,也不用擔心,知識抽取、知識表示、知識融合、知識建模以及知識推理等內容都將在后面的章節中詳細講解。相信讀者在學習完這些章節后,會對知識圖譜的架構有更加清晰透徹的認識。

主站蜘蛛池模板: 潜山县| 晋江市| 霍山县| 二连浩特市| 鄂托克前旗| 家居| 奈曼旗| 旌德县| 榆社县| 黄龙县| 梅河口市| 岐山县| 会理县| 浪卡子县| 北海市| 新巴尔虎左旗| 云和县| 建平县| 安西县| 永顺县| 安庆市| 平远县| 长葛市| 土默特右旗| 南涧| 大埔县| 饶阳县| 隆昌县| 五台县| 茌平县| 若羌县| 昔阳县| 红安县| 金川县| 永登县| 建平县| 仪征市| 蓬莱市| 纳雍县| 拉萨市| 榆社县|