王得強 吳 軍 關立文
(清華大學機械工程系,北京 100084)
近年來,隨著技術的飛速發展,在制造業、醫療、農業和電子商務等諸多領域都產生了大量的行業數據和異構知識,其中有些數據以資料文獻形式被收錄于中國知網、WOS 等大型的資料檢索庫,有些數據則以圖文等形式存在于網頁中,而這些數據的獲取過程都存在著查詢時間長、查詢結果缺乏針對性及查詢過程缺乏智能化等問題。此外,諸多行業知識庫也存在著數據的冗余性和搜索的低效性等問題,以制造業為例,當前制造業中產品在設計、制造、裝配和服務等生命周期過程中會產生大量的相關數據和知識,而它們的存儲普遍存在著冗余性較高、分布分散、關聯性較弱等問題[1],如何從冗余的數據中抽取有用信息并有效表達數據之間的內在關聯,進一步利用數據的關聯性實現高效的信息檢索和智能推薦,是當前制造業乃至行業知識庫面臨的一個重要需求。
伴隨著機器學習等人工智能技術的飛速發展,自然語言處理、圖像識別等技術的應用也越來越廣泛,比如各式各樣的聊天機器人、無人駕駛汽車等智能產品,它們的出現正在為人們的生活創造便利,而在行業知識庫的建設過程中,如何結合機器學習構建知識圖譜使知識庫變得更加智能化,從而更好地服務行業研究人員和相關用戶,促進行業發展,則是本文研究的主要工作。
知識圖譜,在圖書情報界稱為知識域可視化或知識領域映射地圖,是顯示知識發展進程與結構關系的一系列各種不同的圖形,用可視化技術描述知識資源及其載體,挖掘、分析、構建、繪制和顯示知識及它們之間的相互聯系,進而形象地展示學科的核心結構、發展歷史、前沿領域以及整體知識架構達到多學科融合目的的現代理論。其本質上是一種揭示實體之間關系的語義網絡,其當前一個普遍被接受的定義[2]是“知識圖譜本質上是一種語義網絡(semantic network),網絡中的結點代表實體(entity)或者概念(concept),邊代表實體/概念之間的各種語義關系”。
知識圖譜最早于2012 年由Google 正式提出,其應用是提升搜索引擎的性能。隨后,知識圖譜在輔助智能問答、自然語言理解、推薦計算等多個方面展現出豐富的應用價值。以輔助搜索技術為例,傳統的搜索引擎依靠網頁之間的超鏈接進而實現網頁的搜索,而語義搜索是直接對事物進行搜索,如人物、機構和地點等。這些事物可能來自文本、圖片、視頻、音頻設備等各種信息資源。而知識圖譜和語義技術提供了關于這些事物的分類、屬性和關系的描述,使得搜索引擎可以直接對事物進行索引和搜索[3],如圖1 所示。

圖1 知識圖譜輔助搜索
在其他相關研究方面,廖開際等[4]針對在線醫療問答社區數據量大、規范性差、數據稀疏等問題,構建在線醫療社區問答知識圖譜助力個性化醫療;錢玲飛等[5]在BiLSTM-CRF 模型的基礎上引入預訓練模型對實體和開放式關系進行自動抽取,提出了一種面向非結構化專利信息的知識圖譜自動構建方法;楊波等[6]基于企業風險知識構建知識圖譜,引入時間維度動態觀測企業面臨的風險因素。Bloem P等[7]在RDF 編碼的知識圖譜上引入了一組新的實體分類基準多模態數據集,對于多個知識圖譜基準實體分類任務提供至少1 000 個實例的測試和驗證集,每個實例包含了多種模態的數據描述和特征,每個任務都能夠以知識圖譜結構特征進行評估。中國科學院自動化研究所張瑩瑩等[8]提出了基于多模態知識感知注意力機制的問答模型,在學習知識圖譜中實體的多模態表示后從中尋找與問答對相關聯的實體路徑,由此得到問答對之間的交互關系,而對于連接問答對的不同路徑間的重要性則通過注意力機制來判別。
研究發現,目前許多行業研究人員獲取資料的方式仍是以文本資料為主,對于這些散布于各個地方的數據資料,各行業的建設者們急需一個專用的智能知識庫,這就需要在進行知識庫建設時開發相關知識提取與數據關聯技術,利用機器學習算法對行業資料進行精準采集和深度挖掘,結合知識圖譜形象地展示行業所在的知識結構,最終為行業研究人員和相關用戶帶去更為智能便利的知識庫服務。
在行業知識圖譜的自動構建過程中涉及了諸多關鍵技術,典型代表有命名實體識別和關系抽取等,其中命名實體識別可以從行業領域的非結構化文本中抽取到預定義的本體所實例化的實體;關系抽取技術則可以用來提取行業非結構化文本中所蘊含的實體對在本體中定義的關系類別。在以上技術等的支撐下,便可以自動化地以pipeline 的方式構建行業知識圖譜三元組。
(1)命名實體識別技術
命名實體識別(named entity recognition,NER),是指識別文本中具有特定意義的實體,主要包括人名、地名、機構名、專有名詞等,以及時間、數量、貨幣、比例數值等文字。NER 技術的發展從早期基于詞典和規則的方法到傳統機器學習再到近年來的深度學習以及最近熱門的注意力機制、圖神經網絡等方法,NER 技術在不斷適應社會需求的同時也在隨其他技術的發展而不斷演進。
基于詞典和規則的NER 方法使用簡單,準確率也較高,但詞典和規則庫的建立需要花費大量時間和人力,而且不同的實體類型需要定制相應的規則,移植性差[9]。基于統計機器學習的方法是利用特定的模型和已標注好的訓練集對文本中的詞進行標簽標注,相關的NER 模型有隱馬爾可夫模型(hidden Markov model,HMM)、最大熵模型(maximum entropy Markov model,MEMM)、條件隨機場(conditional random fields,CRF)模型和支持向量機(SVM)模型。不過基于統計的機器學習算法對人工制定的特征依賴較強,限制了該方法在僅有少量標注數據集中的深入應用。
近年來深度學習模型的發展非常迅速,其在NER 技術的相關應用也受到了人們的重視,相較于之前傳統的機器學習模型,深度學習模型本身具有較強的泛化能力,主要可分為深度神經網絡模型(如LSTM、GRU 等RNN 模型)、注意力模型和遷移學習模型。在深度神經網絡模型方面,曾青霞等提出了BiLSTM-CRF 模型[10](如圖2,是目前應用最廣泛的NER 方法之一),模型利用word2vec 進行字符嵌入,將文本用字/詞向量形式表示后使用Bi-LSTM 網絡進行有監督訓練,識別實體類型并進行標簽標注,CRF 使用動態規劃算法找出最優標注序列[11]。在注意力模型方面,史占堂[12]等提出一種基于CHTE(CNN-head transformer encoder)的實體識別方法。該方法在多頭自注意力中結合了不同窗口大小的CNN,在增強局部特征表示的同時能夠捕獲潛在詞信息,在NER 技術中獲得了不錯的表現。在遷移學習模型方面,Gligic L 等[13]針對標注的電子健康記錄數據稀缺的問題,對未注釋的電子記錄進行預訓練得到詞向量,通過遷移學習對神經網絡進行訓練,取得了不錯的效果。

圖2 基于Bi-LSTM-CRF 模型的命名實體識別方法
本文采用了Bert 和Ernie 預訓練語言模型,采取序列標注的方式進行了命名實體識別,采用的MSRA-NER 數據集由微軟亞研院發布,主要包括人名、地名、機構名等,最初采用Bert 的原因主要有以下兩點:一是其中的Transformer 能比較好地捕捉語句中的雙向關系;二是Bert 使用了更強大的機器訓練更大規模的數據,使其結果達到了全新的高度。
不過本文研究對象主要是中文資料,考慮到中文的表達體系中有很多都是以詞語這種語義知識單元為主要對象,而BERT 在處理中文任務時是通過預測一個漢字進行建模,此時模型很難學出詞語級的語義單元,從而影響了對完整語義表示的認知能力。在經過多次實驗測試和模型研究后,本文發現基于海量數據中的實體概念等先驗語義知識進行建模的Ernie 模型可以較好地學習中文語境下的語義關系。
經過相同epoch 的訓練后,Bert 和Ernie 在測試集上的表現如表1 所示,可見Bert 的效果還不錯,但Ernie 的表現更勝一籌,之后在驗證集上的表現結果也是類似,故本文最終選擇Ernie 作為NER 技術的基礎模型。

表1 Bert 和Ernie 在測試集上的表現
(2)關系抽取技術
通過NER 技術得到的實體之間通常沒有關聯,此時關系抽取的目標就是在已完成NER 的基礎上,進一步挖掘實體之間的關聯關系,搭建起實體間內部的語義橋梁[14]。
早期的關系抽取主要是通過模式匹配算法(schema matching)來完成實體關系識別和抽取,在進行關系抽取之前,利用人工來構造實體的特征詞典或規則并將其存儲。在進行實體關系抽取任務時,將存儲的規則與預處理后的非結構文本相匹配,便可提取出三元關系組[15]。之后相繼發展出了基于統計機器學習和基于深度學習的關系抽取模型,不過基于統計機器學習的抽取模型存在計算量大、邊緣模糊等問題。而基于深度學習的模型在理解高階語義特征時有更好的表現,所以近年來受到了較多的關注。陳曉玲等人針對現有Word2vec、ELMo 和BERT 等語言模型存在無法解決多義詞、融合上下文能力差、運行速度慢等缺點,提出了嵌入ALBERT預訓練語言模型的關系抽取模型[16],在植物描述文本的實體關系抽取任務中取得了不錯的效果。
本文采用了Bert 和Ernie 預訓練語言模型進行了關系抽取實驗,采用的數據集是百度發布的DuEE 1.0 中文事件抽取數據集,包含65 個事件類型的1.7 萬個具有事件信息的句子(2 萬個事件)。
經過多次訓練和實驗測試后,基于Ernie 預訓練模型的關系抽取方法表現更加出色,最終本文采用Ernie 作為關系抽取技術的基礎模型,之后在此基礎上再做改進。
對于多數歸檔到現有資料庫(如CNKI、WOS)中的文獻資料,它們給出了關于自身內容的關鍵詞和摘要以方便讀者進行查詢學習,然而這些對于許多散落于網頁上的資料來說并不具備,因此如何對這些資料進行關鍵詞提取和摘要總結是我們在建設行業智能知識庫時需要考慮的問題。
關鍵詞提取算法一般分為有監督和無監督兩類。有監督的提取方法是首先構建一個詞表,然后判斷文檔與詞表中每個詞的匹配程度,以類似打標簽的方式提取關鍵詞,精度較高但需要大量的標注數據和更新數據,人工成本比較高。無監督方法則不需要人工構建和維護的詞表,目前較常用的算法主要有TF-IDF 算法、TextRank 算法和主題模型算法(包括LSA、LSI、LDA 等)。
知識庫的數據源來自眾多平臺,其形式眾多,比如文本、語音、圖片甚至視頻形式。因此需要利用知識提取與關聯技術對其中的生產技術進行精準采集與深度挖掘,通過語義挖掘和知識推理構建提取與關聯關系,對多模態資料賦予統一文本樣式的標簽,方便后續構建多源技術資料的知識圖譜。
對于文本數據,可以根據其文本長短進行內容劃分、摘要提取等預處理,之后再進行文本分類便可提取文本數據對應的標簽。
對于語音數據,可通過語音分離技術對目標語音進行預處理,以實現語音增強和抗干擾,其中語音分離的整個過程主要分為五個部分:時頻分解->特征提取->分離目標->模型訓練->波形合成。之后進行特征提取,在解碼器中利用聲學模型、詞典和語言模型將聲音信號轉化成文本數據,過程如圖3 所示。進而再進行文本分類便可提取語音數據對應的標簽。

圖3 語音數據的分類流程
對于圖片數據,可以通過圖片內容識別、圖像理解等技術對圖片中的信息進行提取,并轉化成相對應的文本,之后通過文本分類技術便可得到原圖片數據對應的標簽。
對于視頻數據,可以采用多模態模型進行處理,即同時采集視頻中的圖像信息和語音信息,將對于圖像信息的采集,可以輸入視頻劃分成K個片段,每個隨機取一幀,之后可利用兩個CNN 網絡分別提取空間和時序特征。在進行特征處理后和語音信息進行融合,最終輸出視頻數據對應的解釋文本,之后通過文本分類技術便可得到原視頻數據對應的標簽。
最終,由顯性知識、隱性知識和推理產生的新知識作為智能生產線關鍵技術知識庫開發所需要的知識源,由多模態技術資料標簽構成的知識圖譜則助力實現智能生產線關鍵技術知識庫的智能檢索與推薦等功能。
對于獲取到的文本數據,除了直接進行歸類入庫之外,還對這些文本數據集進行了可視化預處理,將某個領域的數據集進行屬性整理和識別,生成該領域的詞頻云圖和知識圖譜,用戶可以自行選擇瀏覽,更加直觀地了解和把握該領域的發展情況和脈絡,為后續查詢使用提供了一個很好的參考和指導,具體應用可見后文。
另外,引文與其所在的新發表的論文在內容上大多是相關的,而之后新發表的論文又被其他論文引用……伴隨著科學研究的不斷推進,逐漸形成了一個知識重組到產生新知識再到知識重組的循環,這個循環隨著新知識的出現變得越來越大,最終形成了引文網絡,借此可以追根溯源,也可以追蹤未來發展。由此便可以為知識庫設計智能推薦系統,其基礎就是數據集中所有的文獻資料組成的知識網絡,網絡中節點之間的橋梁則可以是關鍵詞、作者等,由此加強各文獻之間的紐帶關系,最終服務于用戶。
以關鍵詞的智能推薦為例,作為一篇論文的核心概括,對關鍵詞的分析可使讀者大致把握文章主題。一般認為,關鍵詞對在同一文獻中出現的次數越多,則代表這兩個主題越緊密。因此,計算出文獻數據集內的所有主題詞對的共現頻率并將其作為該詞對的關聯權重,之后構建由這些詞對關聯權重所組成的共詞網絡。當用戶輸入查詢意圖時,除了對該意圖進行精確匹配和模糊匹配之外,系統會根據共詞網絡找出與用戶意圖相關的其他關鍵詞,并根據權重大小進行重要性排序,從而實現為用戶提供更深層次的知識推薦。
考慮到部分技術資料可能未提供較為全面的關鍵詞屬性,對于這樣的文章,本文通過之前訓練好的Ernie-NER 模型對其進行實體識別,再結合ErnieGram 關系抽取等模型對其建立知識圖譜進行技術鋪墊。
此類方法還可以用在作者的智能推薦中,即構建一個作者共現網絡。系統除了精確查詢和模糊匹配用戶的查詢意圖,還會根據共詞網絡找出與相關的其他作者并進行更深層次的知識推薦。
首先提取和分析來自生產制造企業、科學研究機構、互聯網數據庫等的知識數據,通過挖掘現有生產實踐積累與互聯網資源,基于語義挖掘技術構建知識圖譜,實現了大量技術知識的提取與關聯,開發了多種行業的技術資料庫,包括行業專題知識庫、行業專利技術庫、行業技術文獻庫等,如圖4所示。具體設計工作大體上可以分為以下幾個步驟:需求分析、概要設計、詳細設計和代碼編寫等。

圖4 行業知識庫解析
完成前期調研工作后,在技術資料庫建設上,利用C#語言在VS2017 軟件平臺上編寫了控制臺應用程序,并鏈接至 SQL Server 2014 數據庫處理數據資料。
在登錄界面上設置了3 層權限管理功能用來分配用戶權限:超級管理員、普通管理員和普通用戶。其中,超級管理員可以添加/刪除用戶,配置所有用戶權限并使用數據庫的所有功能。普通管理員可以錄入或者修改文件,在對文件進行上述操作時系統會記錄相關信息以便后續聯系。而普通用戶擁有在資料庫中查詢某項資料以及查看所有資料的權限,同時也可以在系統留言區對管理員提出意見,方便和維護者進行溝通,有利于技術資料庫的不斷發展。其中系統初期的登錄界面如圖5 所示。

圖5 知識庫系統登錄界面
除了系統登錄模塊,整個知識庫系統還包括知識庫查詢、建議反饋和知識庫維護三大模塊,下面將主要介紹知識庫查詢模塊。
如圖6 所示為知識庫查詢初始界面,通過點擊主菜單中的“智能知識檢索知識庫”按鈕進入。此界面主要有5 個功能按鈕:“詞頻云圖”、“查詢”、“知識圖譜”、“實時筆記”和“詳文網站”。在界面的資料表格中,會自動列出當前數據庫中所包含的所有資料信息,當用戶點擊某項資料的任意單元格信息(如作者、文章名稱)時,在表格右側的副文本框中會自動列出該單元格所屬文獻的摘要或總結,方便參考和學習。

圖6 知識庫查詢界面
若用戶有明確的查詢需求,則可直接選擇查詢條件并輸入關鍵字,點擊 “查詢”按鈕即可完成精確查詢和模糊匹配,查詢出的資料呈現到中部的表格中。若用戶未查詢到理想的資料,可以選擇系統的智能推薦功能:在界面的右下方有兩信息欄,分別是“作者推薦”和“關鍵詞推薦”,當用戶輸入關鍵詞查詢后,在兩信息欄中會自動提供相關信息,比如查詢條件為作者“劉克平”,如圖7 所示,在“作者推薦”信息欄中會顯示所有和“劉克平”在該領域共同發文的作者,并根據共同發表次數排序,使用戶能了解與目標作者有研究聯系的其他作者,此時用戶點擊推薦欄中的任一位新作者(如“李巖”),在左下方表格中會顯示和該作者直接相關的文獻資料推薦給用戶。對于關鍵詞推薦,過程基本類似,此處便不再贅述。

圖7 查詢界面的智能推薦功能
對于沒有明確查詢目標或者對該領域還不太了解的用戶,本系統通過智能引導設計體現了它的友好性。用戶選擇包括“詞頻云圖”和“知識圖譜”,當點擊“詞頻云圖”按鈕后,會彈出詞頻云圖選擇界面,如圖8a 所示,此時用戶可選擇該領域中的“作者詞頻云圖”或“關鍵詞詞頻云圖”,當點擊“知識圖譜”按鈕后,會彈出知識圖譜選擇界面,如圖8b 所示,此時用戶可以選擇該領域中的“關鍵詞圖譜”、“作者圖譜”或“所屬機構圖譜”,在每個圖譜下還可以選擇“整體網絡”和“子熱點網絡”。通過瀏覽“詞頻云圖”和“知識圖譜”,用戶可以更迅速地把握該領域的主要研究熱點,為之后的進一步使用該系統做好鋪墊。

圖8 智能引導模塊設計效果圖
此外,為方便用戶學習,在查詢界面設計了支持圖片插入和保存功能的筆記記錄板,當用戶記錄好圖文筆記后,點擊相關按鈕即可保存。另外還有建議反饋模塊、可進行資料編輯的知識庫維護模塊等等。
在資料庫建設時,從行業原始技術資料中提取各領域的知識網絡是行業技術資料庫開發的關鍵問題,由于原始技術資料具有海量分散異構的特點,實現對行業知識的深度挖掘與精細管理較為困難。因此本課題提出了一種基于知識圖譜的工業技術知識入庫方法,實現實體與實體之間、實體與其屬性參數之間的關聯,設計了多個維度的行業技術資料庫開發、完善與維護方案。綜上所述,一個行業技術知識庫的開發過程可歸納為如圖9 所示。

圖9 行業知識庫開發過程
本文以當今行業知識庫建設朝著專業化和智能化發展的需求出發,結合機器學習和知識圖譜的相關技術簡要介紹了相關的發展和應用情況,并以自身研究項目為例進行了部分相關技術的詳細介紹。