本文來自作者 小崔 在 GitChat 上的分享
隨著互聯網的發展,網絡數據內容呈現爆炸式增長的態勢。由于互聯網內容的大規模、異質多元、組織結構松散的特點,給人們有效獲取信息和知識提出了挑戰。
知識圖譜(Knowledge Graph)以其強大的語義處理能力和開放組織能力,為互聯網時代的知識化組織和智能應用奠定了基礎。
知識圖譜是知識工程的一個分支,以知識工程中語義網絡作為理論基礎,并且結合了機器學習,自然語言處理和知識表示和推理的最新成果,在大數據的推動下受到了業界和學術界的廣泛關注。
本文從知識圖譜出發,分別淺述了知識圖譜的基本概念、知識圖譜與人工智能的關系、知識圖譜構建技術、知識圖譜的在行業中的典型應用,最后對目前的知識圖譜技術做出總結并展望。
知識圖譜(Knowledge Graph),是結構化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關系,其基本組成單位是『實體-關系-實體』三元組,以及實體及其相關屬性-值對,實體之間通過關系相互聯結,構成網狀的知識結構。
其中:
實體:對應現實世界的語義本體
關系:對應本體間的關系,連接了不同類型的實體
屬性:描述一類實體的 common 特性,實體被屬性所標注
The world is not made of strings , but is made of things. 知識圖譜旨在描述真實世界中存在的各種實體或概念。即知識圖譜實現對客觀世界從字符串描述到結構化語義描述,是對客觀世界的知識映射(mapping world knowledge)。
知識圖譜的核心:知識庫
通過知識圖譜,可以實現 Web 從網頁鏈接向概念鏈接轉變,支持用戶按主題而不是字符串檢索,從而實現真正的語義檢索,基于知識圖譜的搜索引擎,能夠以圖形方式向用戶反饋結構化的知識,用戶不必瀏覽大量網頁,就可以準確定位和深度獲取知識。
知識圖譜對于人工智能的重要價值在于,知識是人工智能的基石。機器可以模仿人類的視覺、聽覺等感知能力,但這種感知能力不是人類的專屬,動物也具備感知能力,甚至某些感知能力比人類更強,比如狗的嗅覺。
而 “認知語言是人區別于其他動物的能力,同時,知識也使人不斷地進步,不斷地凝練、傳承知識,是推動人不斷進步的重要基礎。” 而知識對于人工智能的價值就在于,讓機器具備認知能力。
知識對于 AI 的價值,有了知識的人工智能會變得更強大,可以做更多的事情。反過來,因為更強大的人工智能,可以幫我們更好地從客觀世界中去挖掘、獲取和沉淀知識,這些知識和人工智能系統形成正循環,兩者共同進步。
機器通過人工智能技術與用戶的互動,從中獲取數據、優化算法,更重要的是構建和完善知識圖譜,認知和理解世界,進而服務于這個世界,讓人類的生活更加美好。
目前知識大量存在于非結構化的文本數據、大量半結構化的表格和網頁以及生產系統的結構化數據中。構建知識圖譜的主要目的是獲取大量的、讓計算機可讀的知識。
為了闡述如何構建知識圖譜,本節首先給出了構建知識圖譜的技術圖,如下圖所示:
圖2 構建知識圖譜技術圖
整個技術圖主要分為三個部分:
知識獲取:如何從非結構化、半結構化以及結構化數據中獲取知識 ;
數據融合:如何將不同數據源獲取的知識進行融合構建數據之間的關聯;
知識計算及應用:基于知識圖譜計算功能以及知識圖譜的應用。
在處理非結構化數據方面,常見的非結構化數據主要是文本類的文章,因此需要通過自然語言技術識別文章中的實體。常見的實體識別方法有兩種,分別是:
用戶本身有一個知識庫則可以使用實體鏈接到用戶的知識庫上;
當用戶沒有知識庫則需要命名實體識別技術識別文章中的實體。
當用戶獲得實體后,則需要關注實體間的關系,即實體關系識別。其中有些實體關系識別的方法會利用到句法結構來幫助確定兩個實體的關系,因此有些算法中會利用依存分析或者語義解析。
如果用戶不僅僅想獲取實體間的關系,還想獲取一個事件的詳細內容,那么則需要確定事件的觸發詞并獲取事件相應描述的句子,同時識別事件描述句子中實體對應事件的角色。
在處理半結構化數據方面,主要的工作是通過包裝器學習半結構化數據的抽取規則。
由于半結構化數據具有大量的重復性的結構,因此對數據進行少量的標注,可以讓機器學出一定的規則進而在整個站點下使用規則對同類型或者符合某種關系的數據進行抽取。
最后當用戶的數據存儲在生產系統的數據庫中時,需要通過 ETL 工具對用戶生產系統下的數據進行重新組織、清洗、檢測最后得到符合用戶使用目的數據。
當知識從各個數據源下獲取時需要提供統一的術語將各個數據源獲取的知識融合成一個龐大的知識庫。
提供統一術語的結構或者數據被稱為本體,本體不僅提供了統一的術語字典,還構建了各個術語間的關系以及限制。本體可以讓用戶非常方便和靈活的根據自己的業務建立或者修改數據模型。
通過數據映射技術建立本體中術語和不同數據源抽取知識中詞匯的映射關系,進而將不同數據源的數據融合在一起。
同時不同源的實體可能會指向現實世界的同一個客體,這時需要使用實體匹配將不同數據源相同客體的數據進行融合。
不同本體間也會存在某些術語描述同一類數據,那么對這些本體間則需要本體融合技術把不同的本體融合。最后融合而成的知識庫需要一個存儲、管理的解決方案。
知識存儲和管理的解決方案會根據用戶查詢場景的不同采用不同的存儲架構如 NoSQL 或者關系數據庫。同時大規模的知識庫也符合大數據的特征,因此需要傳統的大數據平臺如 Spark 或者 Hadoop 提供高性能計算能力,支持快速運算。
知識計算主要是根據圖譜提供的信息得到更多隱含的知識,如通過本體或者規則推理技術可以獲取數據中存在的隱含知識;而鏈接預測則可預測實體間隱含的關系;同時使用社會計算的不同算法在知識網絡上計算獲取知識圖譜上存在的社區,提供知識間關聯的路徑;通過不一致檢測技術發現數據中的噪聲和缺陷。
通過知識計算知識圖譜可以產生大量的智能應用如可以提供精確的用戶畫像為精準營銷系統提供潛在的客戶;
提供領域知識給專家系統提供決策數據,給律師、醫生、公司 CEO 等提供輔助決策的意見;
提供更智能的檢索方式,使用戶可以通過自然語言進行搜索;當然知識圖譜也是問答必不可少的重要組建。
目前,隨著人工智能的不斷發展,知識圖譜已經在搜索引擎、聊天機器人、問答系統、臨床決策支持等方面有了一些應用。
圖3 知識圖譜在商業中的應用
同時為了應對大數據應用的不同挑戰,借助知識圖譜,實現不同的業務需求。
圖4 知圖譜助力數據分析實現商業智能
反欺詐
通過融合來自不同數據源的信息構成知識圖譜,同時引入領域專家建立業務專家規則。我們通過數據不一致性檢測,利用繪制出的知識圖譜可以識別潛在的欺詐風險。
比如借款人 UserC 和借款人 UserA 填寫信息為同事,但是兩個人填寫的公司名卻不一樣, 以及同一個電話號碼屬于兩個借款人,這些不一致性很可能有欺詐行為 。
圖5 知圖譜在反欺詐中的應用
智能投顧
通過知識圖譜相關技術從招股書、年報、公司公告、券商研究報告、新聞等半結構化表格和非結構化文本數據中批量自動抽取公司的股東、子公司、供應商、客戶、合作伙伴、競爭對手等信息,構建出公司的知識圖譜。
在某個宏觀經濟事件或者企業相關事件發生的時候,券商分析師、交易員、基金公司基金經理等投資研究人員可以通過此圖譜做更深層次的分析和更好的投資決策。
比如在美國限制向中興通訊出口的消息發布之后,如果我們有中興通訊的客戶供應商、合作伙伴以及競爭對手的關系圖譜,就能在中興通訊停牌的情況下快速地篩選出受影響的國際國內上市公司從而挖掘投資機會或者進行投資組合風險控制。
查詢理解
搜索引擎借助知識圖譜來識別查詢中涉及到的實體(概念)及其屬性等,并根據實體的重要性展現相應的知識卡片。
搜索引擎并非展現實體的全部屬性,而是根據當前輸入的查詢自動選擇最相關的屬性及屬性值來顯示。
此外,搜索引擎僅當知識卡片所涉及的知識的正確性很高(通常超過 95%,甚至達到 99%)時,才會展現。當要展現的實體被選中之后,利用相關實體挖掘來推薦其他用戶可能感興趣的實體供進一步瀏覽。
圖7 知圖譜在搜索引擎(百度)中的應用
自動問答目前也是一個非常熱門的方向,這可能是面向應用最直接的方式,目前不管是學術界還是工業界都在做相關的研究,這里有兩個例子,左邊是百度的度秘,右邊是蘋果的 Siri,可以看到自然語言問答的結果。
社交網站 Facebook 于 2013 年推出了 GraphSearch 產品,其核心技術就是通過知識圖譜將人、地點、事情等聯系在一起,并以直觀的方式支持精確的自然語言查詢。
例如輸入查詢式:“我朋友喜歡的餐廳”“住在紐約并且喜歡籃球和中國電影的朋友”等,知識圖譜會幫助用戶在龐大的社交網絡中找到與自己最具相關性的人、照片、地點和興趣等。
Graph Search 提供的上述服務貼近個人的生活,滿足了用戶發現知識以及尋找最具相關性的人的需求。
其中主要功能就是興趣推薦和用戶聚類。
電商網站的主要目的之一就是通過對商品的文字描述、圖片展示、相關信息羅列等可視化的知識展現,為消費者提供最滿意的購物服務與體驗。通過知識圖譜,可以提升電商平臺的技術性、易用性、交互性等影響用戶體驗的因素。
阿里巴巴是應用知識圖譜的代表電商網站之一,它旗下的一淘網不僅包含了淘寶數億的商品,更建立了商品間關聯的信息以及從互聯網抽取的相關信息,通過整合所有信息,形成了阿里巴巴知識庫和產品庫,構建了它自身的知識圖譜。
當用戶輸入關鍵詞查看商品時,知識圖譜會為用戶提供此次購物方面最相關的信息,包括整合后分類羅列的商品結果、使用建議、搭配等。
如教育科研,醫療,生物醫療以及需要進行大數據分析的一些行業。這些行業對整合性和關聯性的資源需求迫切,知識圖譜可以為其提供更加精確規范的行業數據以及豐富的表達,幫助用戶更加便捷地獲取行業知識。
知識圖譜是知識工程的一個分支,以知識工程中語義網絡作為理論基礎,并且結合了機器學習,自然語言處理和知識表示和推理的最新成果,在大數據的推動下受到了業界和學術界的廣泛關注。
知識圖譜對于解決大數據中文本分析和圖像理解問題發揮重要作用。
當前知識圖譜發展還處于初級階段,面臨眾多挑戰和難題,如:知識庫的自動擴展、異構知識處理、推理規則學習、跨語言檢索等。
知識圖譜的構建是多學科的結合,需要知識庫、自然語言理解,機器學習和數據挖掘等多方面知識的融合。有很多開放性問題需要學術界和業界一起解決。