浅谈知识融合
知識和融合
一、介紹知識融合主要從下面倆點著手
什么叫知識融合(看完這幅圖可能就明白)
簡單點來說:知識融合就是在不同的數據集中找出同一個實體的描述記錄
知識融合的目的:他是對不同數據源中的信息進行整合,形成更加全變得實體信息
-
實體鏈接
實體鏈接(entity linking):是指對于從文本中抽取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作。
其基本思想是首先根據給定的實體指稱項,從知識庫中選出一組候選實體對象,然后通過相似度計算將指稱項鏈接到正確的實體對象。
研究歷史:
- 僅關注如何將從文本中抽取到的實體鏈接到知識庫中,忽視了位于同一文檔的實體間存在的語義聯系。
- 開始關注利用實體的共現關系,同時將多個實體鏈接到知識庫中。即集成實體鏈接(collective entity linking)
-
從文本中通過實體抽取得到實體指稱項。
-
進行實體消歧和共指消解,判斷知識庫中的同名實體與之是否代表不同的含義以及知識庫中是否存在其他命名實體與之表示相同的含義。
-
在確認知識庫中對應的正確實體對象之后,將該實體指稱項鏈接到知識庫中對應實體。
4 實體消歧**:專門用于解決同名實體產生歧義問題的技術,通過實體消歧,就可以根據當前的語境,準確建立實體鏈接,實體消歧主要采用聚類法。其實也可以看做基于上下文的分類問題,類似于**詞性消歧和詞義消歧
5.共指消解**:主要用于解決多個指稱對應同一實體對象的問題。在一次會話中,多個指稱可能指向的是同一實體對象。利用共指消解技術,可以將這些指稱項關聯(合并)到正確的實體對象,由于該問題在信息檢索和自然語言處理等領域具有特殊的重要性,吸引了大量的研究努力。共指消解還有一些其他的名字,比如對象對齊、實體匹配和實體同義。
-
知識合并
在構建知識圖譜時,可以從第三方知識庫產品或已有結構化數據獲取知識輸入。
常見的知識合并需求有兩個,一個是合并外部知識庫,另一個是合并關系數據庫。
將外部知識庫融合到本地知識庫需要處理兩個層面的問題:
數據層的融合,包括實體的指稱、屬性、關系以及所屬類別等,主要的問題是如何避免實例以及關系的沖突問題,造成不必要的冗余
通過模式層的融合,將新得到的本體融入已有的本體庫中
然后是合并關系數據庫,在知識圖譜構建過程中,一個重要的高質量知識來源是企業或者機構自己的關系數據庫。為了將這些結構化的歷史數據融入到知識圖譜中,可以采用資源描述框架(RDF)作為數據模型。業界和學術界將這一數據轉換過程形象地稱為RDB2RDF,其實質就是將關系數據庫的數據換成RDF的三元組數據。 -
知識加工
在前面,我們已經通過信息抽取,從原始語料中提取出了實體、關系與屬性等知識要素,并且經過知識融合,消除實體指稱項與實體對象之間的歧義,得到一系列基本的事實表達。
然而事實本身并不等于知識。要想最終獲得結構化,網絡化的知識體系,還需要經歷知識加工的過程。
知識加工主要包括3方面內容:本體構建、知識推理和質量評估。
-
本體(ontology)是指工人的概念集合、概念框架,如“人”、“事”、“物”等。
本體可以采用人工編輯的方式手動構建(借助本體編輯軟件),也可以以數據驅動的自動化方式構建本體。因為人工方式工作量巨大,且很難找到符合要求的專家,因此當前主流的全局本體庫產品,都是從一些面向特定領域的現有本體庫出發,采用自動構建技術逐步擴展得到的。
自動化本體構建過程包含三個階段:
-
實體并列關系相似度計算
-
實體上下位關系抽取
-
本體的生成
比如對下面這個例子,當知識圖譜剛得到“阿里巴巴”、“騰訊”、“手機”這三個實體的時候,可能會認為它們三個之間并沒有什么差別,但當它去計算三個實體之間的相似度后,就會發現,阿里巴巴和騰訊之間可能更相似,和手機差別更大一些。
這就是第一步的作用,但這樣下來,知識圖譜實際上還是沒有一個上下層的概念,它還是不知道,阿里巴巴和手機,根本就不隸屬于一個類型,無法比較。因此我們在實體上下位關系抽取這一步,就需要去完成這樣的工作,從而生成第三步的本體。
當三步結束后,這個知識圖譜可能就會明白,“阿里巴巴和騰訊,其實都是公司這樣一個實體下的細分實體。它們和手機并不是一類。”
-
-
知識推理
在我們完成了本體構建這一步之后,一個知識圖譜的雛形便已經搭建好了。但可能在這個時候,知識圖譜之間大多數關系都是殘缺的,缺失值非常嚴重,那么這個時候,我們就可以使用知識推理技術,去完成進一步的知識發現。
我們可以發現:如果A是B的配偶,B是C的主席,C坐落于D,那么我們就可以認為,A生活在D這個城市。
根據這一條規則,我們可以去挖掘一下在圖里,是不是還有其他的path滿足這個條件,那么我們就可以將AD兩個關聯起來。除此之外,我們還可以去思考,串聯里有一環是B是C的主席,那么B是C的CEO、B是C的COO,是不是也可以作為這個推理策略的一環呢?
當然知識推理的對象也并不局限于實體間的關系,也可以是實體的屬性值,本體的概念層次關系等。
推理屬性值:已知某實體的生日屬性,可以通過推理得到該實體的年齡屬性;
推理概念:已知(老虎,科,貓科)和(貓科,目,食肉目)可以推出(老虎,目,食肉目)
這一塊的算法主要可以分為3大類,基于邏輯的推理、基于圖的推理和基于深度學習的推理。[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-j8fK3mLN-1589775956193)(https://ftp.bmp.ovh/imgs/2020/05/5ec9948cdbd8dff8.png)]
?
-
知識更新
從邏輯上看,知識庫的更新包括概念層的更新和數據層的更新。
概念層的更新是指新增數據后獲得了新的概念,需要自動將新的概念添加到知識庫的概念層中。
數據層的更新主要是新增或更新實體、關系、屬性值,對數據層進行更新需要考慮數據源的可靠性、數據的一致性(是否存在矛盾或冗雜等問題)等可靠數據源,并選擇在各數據源中出現頻率高的事實和屬性加入知識庫。
知識圖譜的內容更新有兩種方式:- 全面更新:指以更新后的全部數據為輸入,從零開始構建知識圖譜。這種方法比較簡單,但資源消耗大,而且需要耗費大量人力資源進行系統維護;
- 增量更新:以當前新增數據為輸入,向現有知識圖譜中添加新增知識。這種方式資源消耗小,但目前仍需要大量人工干預(定義規則等),因此實施起來十分困難。
?
總結
通過知識圖譜,不僅可以將互聯網的信息表達成更接近人類認知世界的形式,而且提供了一種更好的組織、管理和利用海量信息的方式。目前的知識圖譜技術主要用于智能語義搜索、移動個人助理(Siri)以及深度問答系統(Watson),支撐這些應用的核心技術正是知識圖譜技術。
在智能語義搜索中,當用戶發起查詢時,搜索引擎會借助知識圖譜的幫助對用戶查詢的關鍵詞進行解析和推理,進而將其映射到知識圖譜中的一個或一組概念之上,然后根據知識圖譜的概念層次結構,向用戶返回圖形化的知識結構,這就是我們在谷歌和百度的搜索結果中看到的知識卡片。
在深度問答應用中,系統同樣會首先在知識圖譜的幫助下對用戶使用自然語言提出的問題進行語義分析和語法分析,進而將其轉化成結構化形式的查詢語句,然后在知識圖譜中查詢答案。比如,如果用戶提問:『如何判斷是否感染了埃博拉病毒?』,則該查詢有可能被等價變換為『埃博拉病毒的癥狀有哪些?』,然后再進行推理變換,最終形成等價的三元組查詢語句,如(埃博拉,癥狀,?)和(埃博拉,征兆,?)等。如果由于知識庫不完善而無法通過推理解答用戶的問題,深度問答系統還可以利用搜索引擎向用戶反饋搜索結果,同時根據搜索結果更新知識庫,從而為回答后續的提問提前做出準備。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
實體鏈接的流程:
總結