隨著AI技術的發展和普及,當今社會已經進入了智能化時代。與以往不同的是,在這一波浪潮中,企業不僅是向數字化轉型,更是向知識化轉型。那么,如何助力企業破解智能化知識挖掘和管理難題,實現知識化轉型?
3月13日下午14:00起舉行的華為開發者大會2020(Cloud)第三期華為DevRun Live開發者沙龍中,華為云自然語言處理技術專家鄭毅將分享《企業級知識計算平臺的技術解讀和案例實踐》,帶你了解華為云知識計算平臺及相關技術、知識圖譜構建流程及方法,以及知識計算行業案例。下文主要講述“知識圖譜構建流程及方法”,讓我們先睹為快。
一、什么是知識圖譜?
知識圖譜是由實體、關系和屬性組成的一種數據結構。以下圖為例,“劉德華”是一個人物類型的實體,“劉德華”有自己的身高、國籍等信息,這些信息便稱之為實體的屬性。同樣,“無間道”是一個電影類型的實體。我們知道“劉德華”是“無間道”這部電影的主演,所以“劉德華”與“無間道”之間有“主演”關系。通過實體、關系、屬性,就能夠把我們人可以理解的知識有效地組織起來。知識圖譜的構建與應用涉及數據庫、自然語言處理(NLP)和語義網絡等技術。
圖1 知識圖譜示例
通用知識圖譜or行業知識圖譜?
按照知識圖譜的用途,知識圖譜可分為通用知識圖譜和行業知識圖譜。通用知識圖譜側重構建常識性的知識,并用于搜索引擎和推薦系統等。行業知識圖譜(也可稱企業知識圖譜)主要面向企業業務,通過構建不同行業、企業的知識圖譜,對企業內部提供知識化服務。華為云知識圖譜服務可用于以上兩類知識圖譜的構建、管理和服務,更側重面向企業知識圖譜。
二、如何構建知識圖譜?
知識圖譜構建主要分為自頂向下(top-down)與自底向上(bottom-up)兩種構建方式。自頂向下構建方式需要先定義好本體(Ontology或稱為Schema),再基于輸入數據完成信息抽取到圖譜構建的過程。該方法更適用于專業知識方面圖譜的構建,比如企業知識圖譜,面向領域專業用戶使用。自底向上構建方式則是從開放的Open Linked Data中抽取置信度高的知識,或從非結構化文本中抽取知識,完成知識圖譜的構建。該方式更適用于常識性的知識,比如人名、機構名等通用知識圖譜的構建。本文側重介紹自頂向下構建方式的相關流程和技術,并用于構建企業知識圖譜。
目前業界暫無知識圖譜云服務,也沒有統一標準的自頂向下構建流程。當前業界主流的知識圖譜構建方式是基于企業內部數據、公開數據,圖譜服務商以解決方案形式幫助客戶定制構建知識圖譜。這樣的方式無疑成本非常高并且效率很低,通常需要很長的周期才能完成。同時,企業沒有參與感,圖譜構建也可能存在很大偏差,難以用于實際業務中。
站在用戶角度,華為云通過抽象知識圖譜構建流程及相關技術,推出華為云知識圖譜云服務(圖2),為不同行業、不同企業提供快速構建知識圖譜能力的平臺,賦能大中小型企業構建屬于自己的知識圖譜。
圖2 華為云知識圖譜云服務
華為云知識圖譜云服務提供流水線式圖譜構建能力,將圖譜構建抽象為如下基本流程:本體構建、數據源配置、信息抽取、知識映射以及知識融合。
圖3 知識圖譜構建基本流程
進一步通過將每一個流程模塊抽象成插件形式,并通過組合配置生成圖譜構建任務。面向不同的行業和領域,只需要修改插件配置即可完成企業知識圖譜的構建。同時,基于流水線設計,知識圖譜云服務可以在只修改數據源的前提下完成知識圖譜的更新操作,非常適用于需要頻繁更新的知識圖譜。
2.1如何構建知識圖譜的本體?
知識圖譜構建的第一步需要完成圖譜本體(Ontology)的設計和構建。本體是圖譜的模型,是對構成圖譜的數據的一種模式約束。對于企業知識圖譜的構建,一般是由垂直領域的行業專家和知識圖譜專家合作完成。
本體的構建和設計對于知識圖譜的構建至關重要??梢酝ㄟ^梳理領域知識、術語詞典、專家的人工經驗等作為本體構建的基礎,結合知識圖譜的應用場景來完善圖譜的構建,最終獲得實體類別、類別之間的關系、實體包含的屬性定義。華為云知識圖譜云服務提供圖形化本體設計工具,可以通過拖拽編輯靈活完成企業知識圖譜本體的構建。
圖4 華為云知識圖譜云服務-本體設計界面
2.2如何配置數據源?需要做哪些準備
在配置數據源之前,需要將不同類型、不同格式的數據進行初步的整理。比如:針對本地非電子化文檔,需要先進行掃描電子化,結合OCR等技術將掃描件轉換成文本文檔。再比如:針對本地電子化文檔,需要將本地文檔按文檔類型、格式進行歸檔解析整理成規范的格式,或者針對網絡資源,需要根據網站特點,開發相應的爬蟲,對數據進行爬取,并存儲到本地數據庫等等。還有一些第三方資源,需要獲取相應的數據訪問接口,并通過接口獲取相應數據。
整理好的數據上傳到華為云OBS對象存儲服務后,知識圖譜云服務就可以進行數據源的配置,包括指定格式的針對結構化數據和非結構化文本的配置等。
2.3什么是信息抽取?怎樣抽取?
信息抽取的目的是根據不同的數據源、不同的數據格式,完成實體、屬性、關系這種知識的抽取。這是知識圖譜構建流程中非常關鍵的一環,信息抽取的質量決定了知識圖譜的質量。實體之間的關系以及實體的屬性值,都可以用三元組(主語、謂詞、賓語)來表示,所以信息抽取又可以簡單叫做三元組抽取。華為云知識圖譜云服務支持結構化Key-Value格式和非結構化文本的三元組抽取。針對結構化數據,可以通過配置預置函數的組合,完成字段的處理。與之對應的,針對非結構化文本,云服務提供算法模型抽取能力,支持業界前沿的基于機器閱讀理解(Machine Reading Comprehension,MRC)的三元組抽取方法,通過使用多輪對話的思想進行三元組抽取,先抽取主語(Subject),然后根據抽取結果和候選謂詞對應的模板構造問句抽取賓語(Object),最終組成(主語,謂詞,賓語)三元組。該框架模型效果可以達到當前業界最好水平(state-of-the-art)。華為云知識圖譜服務支持基于該算法的模型訓練、預測以及管理功能,同時以插件形式完成流水線中信息抽取部分。
圖5 基于機器閱讀理解(MRC)的三元組抽取方法
信息抽取中模型訓練推理功能是基于華為云一站式AI開發管理平臺ModelArts完成的,該平臺提供高效的AI計算、模型訓練、推理及部署能力,同時為了方便訓練三元組抽取模型,額外提供三元組標注工具,用戶可以基于該工具快速獲得訓練數據,完成信息抽取以及知識圖譜構建工作。
圖6 三元組標注工具示例
2.4知識融合是如何完成的?
所謂知識融合,就是對多個數據源進行知識抽取后的大量三元組數據進行對齊合并。舉個例子:百度百科有明星劉德華,互動百科有明星劉德華,我們構建的知識圖譜不能有兩個明星劉德華吧?這時候就需要把他們識別出來放在一起,然后合并成一個實體,這就是實體的對齊以及知識的融合。這其中關鍵的問題是怎樣高效的完成實體對齊,技術路線基本可以分為兩類:基于實體屬性相似度的框架、基于聯合表征的深度學習框架。考慮到基于聯合表征的深度學習框架依賴大量標注數據,并且模型與行業及數據強相關,無法提供很好的通用化能力,因此,華為云知識圖譜服務當前支持基于實體屬性相似度的框架,可以通過定義相似度度量及組合,完成實體對齊以及知識融合。
除此之外,華為云知識圖譜云服務還提供圖譜可視化服務,可以直觀地觀察分析實體及關系。
圖7 病毒蛋白知識圖譜可視化示例
三、知識圖譜需要怎樣的存儲方式?
經過知識圖譜構建,我們現在已經有了大量的三元組知識。那么要怎樣來存儲這些三元組知識呢?
最直接的方式是使用表格式的存儲方式,如關系型數據表,三元組以三列數據或多列數據的形式存儲。這種方法在圖譜規模比較小的時候是可行的,但是如果圖譜規模變大了,是否依然可行呢?舉個例子,假使我們有了娛樂明星+電影這樣一個娛樂圖譜,其中包括了大量的明星人物、電影以及他們之間的關系。如果想查詢“劉德華和梁朝偉共同演過的電影中,年齡最大的導演是誰?“,就需要對關系型數據庫中知識圖譜結果表做2-3次自連接操作,如果三元組的數量是千萬、億、十億規模的話,顯而易見,這樣的查詢效率極低,基本不可行。
華為云知識圖譜服務采用的是業界主流的圖數據庫方式存儲知識圖譜,直接把數據或知識圖譜以圖的形式存儲,可以非常高效地完成多跳關系、屬性的查詢。具體的,我們使用華為云圖引擎服務,包括圖存儲、圖計算一體的架構設計,不僅可以提供高效的查詢性能,同時也可以提供多種預置的圖深度學習算法,使用起來非常方便,歡迎大家前來試用。
圖8 華為云圖引擎服務產品優勢
四、華為云知識計算案例介紹
中國石油基于華為云知識計算服務的知識建模、油氣圖譜構建、圖譜存儲、自然語言處理、機器學習等能力構建了業界首個油氣知識計算平臺。以油氣勘探開發數據為基礎,通過知識計算技術的應用,為油氣勘探開發增儲上產、降本增效提供智能輔助和決策。
圖9 油氣知識計算的價值和意義
華為知識計算解決方案提供豐富的知識應用,從解決企業痛點、提升企業效率、提供知識化服務的角度全面賦能企業,體現了知識計算在各行業中的智能化價值,讓各行業的企業可以快速、低成本、高效率地管理,通過應用企業知識、實現知識化轉型,釋放知識化帶來的紅利,全面提升企業在智能化時代的競爭力。
想要get知識圖譜全流程能力?更多精彩干貨請收看3月13日的DevRun Live直播!
DevRun Live是華為開發者大會2020(Cloud)旗下的線上開發者沙龍活動,以直播的形式分享前沿科技和應用實踐,開發者可以了解技術趨勢、學習最新實踐應用、獲取最新開發工具。