知識抽取
出自 MBA智库百科(https://wiki.mbalib.com/)
知識抽取(Knowledge Extraction)
目錄 |
什麼是知識抽取[1]
知識抽取是指把蘊含於信息源中的知識經過識別、理解、篩選、歸納等過程抽取出來,存儲形成知識元庫。目前研究較多的是自然語言文本,已經出現了一些工具或系統,知識抽取已經成為自然語言處理領域一個重要的研究分支。
知識抽取的難點[2]
知識抽取的難點在於對知識源中的數據進行處理,因為知識並不是以某種現成的形式存在於知識源中的,只有對知識源中的數據經過分析、識別、理解、關聯等一系列處理之後,才能發現其中有用的知識。而這種數據處理往往又因為知識源中數據形式的不同而呈現不同的難度。對一些蘊含於資料庫或文本數據中的知識,儘管具有顯式的數據表達形式,但目前的機器學習技術還不足以實現自動獲取。
目前的知識抽取還是以手工或由機器輔助的手工獲取為主。例如,在獲取領域專家的經驗時,就要求知識工程師與專家進行直接交流,深入討論,甚至參與到領域專家現場解決問題的過程當中,這種交流討論可能需要很長時間,直到知識工程師認為他領會了專家的經驗,然後再由他對這些經驗進行數學分析,建立數學模型,以適當的知識表示形式表示出來,送入電腦。
除從領域專家處獲取知識外,一個成功的專家系統,還應該具備從實踐中學習、總結知識的能力。即,還可通過專家系統本身的運行實踐,從已有知識或實例中演繹、歸納出新知識,進而實現對知識庫的自我更新和完善。當然,這要求專家系統自身具有一定的“學習”能力,也就是說,必須要對機器學習的相關理論和技術進行更加深入的研究。
知識抽取的特征[3]
知識抽取可以為知識建模提供素材。這些素材不全是“未加工”的,使用抽取技術後的結果通常是得到一種結構化的數據,例如,標記、圖表、術語表、公式和非正式的規則等。意識到脫離了抽取技巧,一個人就無法得到真正且正式的描述是很重要的。在抽取上強加正式的表示將會在抽取過程中導致偏見,甚至經常會得到錯誤的數據。抽取應該要集中化和結構化,但是也要儘可能地開放。將抽取的原材料轉化成問題解決過程中更正式的描述是知識建模的一個任務。
執行知識抽取和知識分析的知識工程師(或者叫知識分析員)實質上不需要掌握很深的應用領域知識。舉一個最簡單的例子,知識工程師能夠從各種各樣的非人力資源中獲得信息,這些資源包括書本、技術手冊、案例學習等等。然而,在大多數情況下,他(她)實際上需要請教資深專家。這也許是因為當時沒有可用的文檔,或者他們意識到在從事的領域中真正的專家來自於實踐,而不是死讀書本。只有很少的知識模型在建立過程中沒有請教專家。那些沒有被真正的專家理解和實驗的模型通常是缺乏說服力的。以下兩個問題在知識抽取過程中相當突出。
1)我們怎樣讓專家們告訴我們或者給我們演示他們做什麼?
2)我們怎樣決定他們解決問題的能力是由什麼形成的?
這個任務是非常艱巨的,特別是在大的應用語境中顯得尤為突出。有很多情況會使問題變得更加難以處理。許多技術知識是從多年積累的經驗中獲得的,並日.是以直觀推斷的形式表示的。直觀推斷是一種經驗規則或者是一種已證明瞭的方法,這些規則和方法可以用來獲得特定信息的結果。通常,專業技術變得如此墨守成規,以至於專家們都無法知道他們做什麼或者為什麼做。
出於商業目的,顯然,我們應該儘力使知識抽取過程變得高效一些。我們應該使用一些技術去儘量減少花費在收集、轉錄和分析專家知識上的精力。我們應儘力減少花費在昂貴且稀有的領域專家們身上的時問。當然,我們也應當儘力增大可用知識的收益。
對於為什麼要使知識抽取成為一個系統化的過程,也存在一些合理的工程上的理由。首先,我們希望知識抽取過程能夠被普遍使用,並且要符合條理化的標準。這樣可以保證結果是健壯的,並且這些結果可以被任何有能力的知識工程師應用到範圍廣泛的專業領域內。同時,我們希望我們的技術是可行的。這將意味著這些技術可以被不同的知識工程師以相同的實用工具使用。然而,我們要想使抽取過程系統化,必須從專家分析開始。
知識抽取的方法[3]
(1)詞典標引法
該方法的基本思想是:首先構造一個機內詞典(主題詞典、關鍵詞典等),然後設計相應演算法與詞典匹配,若匹配成功則將其抽出作為文獻的標引詞。詞典標引法在目前漢語自動標引中占主要地位,早期的自動標引試驗基本上都是採取該方法,其標引演算法基本相同,但具體細節上有所不同:有的採取最大匹配法,有的採取最小匹配法,有的採取切分抽詞和綜合加權來確定標引詞。詞典標引法是一種傳統的自動標引方法,目前國內採用該方法的具有代表性。
自動標引系統的有以下幾種:北京大學的漢語科技文獻自動標引系統;中國科技情報所的語詞結構類比自動標引系統;陳培久的漢語科技文獻標題自動標引系統;北京文獻服務處的漢語自動切詞標引系統等。
(2)切分標記標引法
該方法的基本思想就是:將能夠斷開句子或表示漢字之間聯繫的漢字集合組合成切分標記詞典輸入電腦。切分標記詞典有:詞首字、詞尾字和不構成詞的單字。也有人用“表外字”、“表內字”、“非用字”、“條件用字”等來組成切分詞典。當原文本被切分詞典分割成片語或短語後,再按照一定分解模式將其分成單詞或專用詞。中國電腦軟體與技術服務公司的吳蔚天設計的非用詞尾碼表法自動標引系統就是這方面的代表。
(3)單漢字標引法
該方法的基本思想就是:在標引時將概念詞拆分成單個漢字,以單個漢字作為標引詞,採取後組方式,將檢索詞串分解成單個漢字,以邏輯乘關係進行組配,利用漢字索引文件實現自動標引和邏輯檢索。
(4)統計標引法
詞頻統計標引法的理論基礎是著名的Zipf定律,它建立在較成熟的語言學統計研究成果基礎之上,具有一定的客觀性和合理性,加之這種方法簡單易行,因而在自動標引中占有較重要地位。國內外很多學者都曾使用這種方法進行了標引試驗,結果證明此法行之有效。詞頻統計方法要進一步發揮其功能,就必須融合其他因素,因此這種方法目前更多是融合到其他標引方法中使用。在加權統計標引法中,從文獻頻率加權標引到詞區分值,加權標引主要依賴於詞的頻率特征(標引詞在某一特定文獻中的出現頻率或詞的文獻頻率)和詞的區分能力。這兩種方法的主要缺陷是與用戶的相關性無關。而詞相關性加權標引和價值測度加權標引模型不僅考慮了詞在某一特定文獻或整個文獻集合中的頻率特征,而且考慮了標引詞在相關文獻集合和無關文獻集合中的頻率特征,以及檢索結果的效益值。理論和實踐都證明這兩種方法比前兩種方法更為有效。但這兩種方法在實際應用中具有一定的局限性,權值函數中的R等值在標引之前是未知的,只能近似估計。
(5)句法分析標引法
基於深層結構的標引法將文獻標題可能反映的主題內容歸納為有限的幾種元素基本範疇,並使用簡潔的句法規則,減少了句法分析的複雜性。數字化指示符和處理碼標識的運用更方便了電腦的識別處理。但是這種方法在主題名稱的範疇分析及主題標目的選擇等方面需要較多的人工干預,影響了其自動標引效率。另外,這種方法僅以文獻標題為標引對象,雖然主題內容容易突出,但標題句法形式的規範性一般較差,增加了句法分析的難度,同時過窄的分析範圍容易漏標一些相關主題。句法分析標引法所獲得的一些有效結果通常是來自於一些特殊的小量樣本,而在大量樣本上的試驗往往令人失望,最突出的問題是標引詞詞義的模糊性,而這一問題又是句法分析標引法本身難以解決的。因此,著名的自動標引研究專家Sahon指出,所有的句法分析必須輔之以語義分析,才能保證自動標引的準確性。
(6)語義分析標引法
潛在語義分析標引法通過單值分解將詞、文獻和提問,依語義相關程度組織在同一空間結構中,在這一空間中,分散在不同文獻和提問中的同義詞相近放置,具有不同的詞但主題語義接近的文獻和提問相鄰組織。因此,在文獻和提問檢索詞不匹配的情況下,這種方法仍可以給出合理的檢索結果,這一點顯然是基於關鍵詞的檢索系統所無法達到的。因為每個詞在潛在語義空間中只有一個位置,所以這種標引法目前對多義詞還難以應付。在簡化的SVD(singular value decomposition)描述中,文獻集合中一個含義模糊的詞將被置於多個獨特含義的矩心,這無疑會對檢索產生負面影響。儘管這種方法還存在缺陷,但是許多學者對其進行試驗後認為,潛在語義分析標引法是一種很有希望的方法。
語義矢量空間模型在現有的矢量空間模型基礎上,融人格式語義結構通過標引詞的語義矢量構造描述文獻的語義矩陣,使文獻的標引得以在語言的深層結構——語義層上實現。相比於句法分析標引法,語義分析標引法無論在使用範圍還是實際的使用效果都要明顯優於前者。語義分析標引與人工智慧標引的融合將是今後自動標引技術的研究方向。
(7)人工智慧標引法
人工智慧應用在標引中的具體技術是專家系統,專家系統的知識表示方法主要有產生式表示法、語義網路表示法和框架表示法。基於產生式表示法的JAKS系統,其規則具有統一的條件一行為表示形式,各自具有自己的功能,這使知識容易定義,也容易理解。而且規則具有高度模塊化性質,系統對規則的定義、修改、擴充等操作可各自獨立進行而不互相干擾。但由於規則之間不存在明顯的相互作用,所以難以對規則庫整體把握,給規則庫的一致性維護帶來困難。另外基於規則的推理缺乏必要的靈活性,難以應付複雜內容標引的變動推理方式的需求。
儘管採用人工智慧法進行自動標引比在相同專業領域中運用其他方法要複雜,但人工智慧法是真正從標引員思維的角度模擬標引員的標引過程,這顯然比以被標引文獻為出發點的其他自動標引方法更有希望獲得理想的標引效果。
詞典切分標引法和切分標記法都是先組式標引法,處理速度較快,但構建分詞詞典較困難,詞典維護量大。
切分標記標引法對切分後的片語或短語需要再分解,但分解模式和分詞知識庫很難適應漢語靈活的構詞變化,較易產生標引錯誤。
統計標引法是建立在詞典切分法和切分標記法的基礎上,既有兩者的優點也有兩者的缺點。相比於其他自動標引方法,統計標引法較為簡單實用,因而使用較普遍,也取得一定的實際標引效果,它同時也是其他一些類型自動標引方法中重要的組成部分。但是語言是有意義的符號序列,這類方法要剋服單純統計的形式化缺陷,取得更高的標引質量,就必須結合語法語義分析。
單漢字標引法避開了分詞障礙,易於實現,也不存在詞典構造問題,但很難用它來處理文本中隱含的主題概念,而且會產生虛假組配現象。句法語義分析標引法和人工智慧標引法是漢語自動標引技術發展的必然趨勢,標引質量較高,但現在這方面的技術還不很成熟,都還處於試驗階段。
綜上所述,由於子系統是一個原型系統,涉及的文檔數量相對較少,所以採用了統計標引法。
知識抽取的分類[4]
知識抽取的來源主要有結構化文本、半結構化文本、非結構化文本。結構化文本包括詞典、主題詞表、本體、大百科全書等;半結構化文本主要是指標記文本,包括HTML標記文本與XMI。標記文本;非結構化文本主要指圖書、論文等傳統文獻。這些文本按前期的標註程度不同又可分為原始文本、粗標註文本和全標註文本。知識抽取的理論模型支撐有粗糙集、遺傳演算法、神經網路、潛在語義標引等。知識抽取的過程或多或少地都用到NLP處理技術,這些技術從處理的層面來講包括形態分析、語法分析、語義分析、語用分析,從文本分析的處理單位來講,包括詞法分析、句法分析、段落分析、篇章分析,用於支撐這些分析的資源包括詞典、規則庫、常識知識庫、領域知識庫。知識抽取的結果有多種表示方式,有直接用自然語言表示的,也有轉換成知識表示方式的,包括邏輯表示法、框架表示法、腳本表示法、產生式規則表示法、面向對象表示法、語義網表示法等,以及由面向對象表示法演化而來的本體表示法。針對不同的知識所選用的知識表示方式與知識抽取模式都不相同,如實驗過程適合腳本表示法、概念關係適合語義網表示法、研究結論適合邏輯表示法等。知識抽取按不同的處理過程劃分如圖所示。
總之,與國外研究相比,國內的研究還相當薄弱、差距很大,亟待展開相應研究,以推進知識抽取的研究與應用。
在分析國內外知識抽取模式與方法的基礎上,筆者設計了一套自然語言處理(NLP)的知識抽取系統研究方案,並作為一個項目進行研究。該項目以NLP為基礎,嘗試運用分詞、詞性標註、句法分析、語義分析等技術從科學文獻的語段中抽取知識,然後把用自然語言描述的句子通過知識表示轉換成電腦可理解的形式,並存入知識庫中。研究目標是建立起基於NLP的知識抽取的系統架構,並對其中的關鍵技術進行研究與實現,最終建立起相應的平臺和應用系統,併在科學文獻領域進行實證性應用。通過這項研究,有望為信息泛濫與知識貧乏問題提供解決方案和技術路徑。
從學術文獻中抽取知識是一項複雜而艱巨的工程,它涉及語言學、情報學、人工智慧、文獻學、管理學等多門學科,工程開發難度較大,需要的資源較多,因此需要循序漸進地進行。
基於NLP的知識抽取系統架構[4]
一篇文獻的處理單元上,由小到大漸進式研究,從關鍵詞到標題,進而分析摘要,在此基礎上開始深入到正文的分析。目前的研究已實現對標題的分析,並開發出了相應的演算法和模型,對摘要的分析處理也正在進行,對學位論文的致謝進行分析抽取的實驗也已開展,已經開發了相應的技術和程式,這項工作也即將結束。這些為本課題的深入開展打好了良好的基礎。從自然語言處理的層面上看,由淺入深,是從詞法分析到句法分析再到語義分析,最終實現對文獻的內容理解並抽取知識。本研究嚴格按照語言處理的層面和語言構成的單位,由淺入深,以小見大,不迴避每一個處理步驟,每一個處理步驟選取最優化的演算法,大多數步驟都會進行適當的消歧。基於自然語言處理的知識抽取系統構架如圖所示。
知識抽取從理論上、技術上以及資源支撐方面都具備了成熟的條件。理論上,本體論在信息領域的成功引入為本項研究提供了認知理論基礎;成熟的語法模型證明瞭語言具有可計算性;元數據的不斷擴充,RDF及XMI。的廣泛應用,本體庫的逐步構建,加上自然語言處理的研究新熱與人工智慧的飛速發展,為從科學文獻中抽取知識提供了理論支持。技術上,系統設計採用MVC,面向對象程式設計採用Java進行系統實現;面向對象資料庫採用ObjectStore,關係資料庫採用Oracle;自動分詞采用最大向量匹配演算法,詞性標註採用最大概率演算法,語法分析採用Tomita演算法,語義分析採用謂詞邏輯;系統介面採用XML,這些成熟的技術為系統的實現提供了保障。萬方數據期刊全文資料庫有數以千萬計的關鍵詞詞庫(可以轉成面向領域的概率詞庫),中國科學技術信息研究所的《漢語主題詞表》,北京大學計算語言研究所的《現代漢語語法信息詞典》、《人民日報》切分標註語料,哈爾濱工業大學的十萬級句子庫等,這些豐富的資源為系統的實現提供了資源支撐。實驗採取小規模實驗、經過分析獲取資源,然後追加到資源庫,改進分析演算法,進而進行大規模實驗。總體上採取邊分析(文本)、邊抽取(知識)、邊改進(演算法)、邊建設(資源)的技術路線。
知識抽取中的自然語言處理基礎[4]
(1)切分句子與自動分詞
利用標點符號與段落標記把文章的正文切分成句子,然後到句子庫進行匹配分析,濾掉學術抄襲與科學引用的句子,得到可能含有新知識的句子。利用閉鎖詞把句子粗分成若幹個待分析串,根據文獻分類號確定文獻所屬領域,利用本領域的關鍵詞詞庫使用嵌套的逆向最大向量進行切分。對於有切分歧義的切分結果使用概率詞典用最大概率法進行消歧,選出最優的切分結果。
(2)詞性標註
使用隱馬爾科夫模型和規則相結合的方法進行詞性標註。寫作學術論文時,實詞主要由名詞和動詞構成,形容詞和副詞使用甚少,尤其是修飾性的形容詞與副詞,而且在文中的作用很小。連詞、否定詞、程度詞在文中的作用較大,在進行語義分析時,其作用甚至超過名詞與動詞。利用規則可以進行適度地消歧,而分析結果得到的規則可以添加到詞性標註規則庫,以提高後續準確率。
(3)辭彙語義標註
辭彙語義標註採用互信息與義類詞典相結合的方法。學術論文的書寫有著一定的規律可循,語言的搭配也存在著某種模式,因此可以採用互信息進行詞義標註。由於學術論文都有著明確的文獻主題與分類,即使是跨學科的研究一般也不會超過三四個分類號,因此使用義類詞典法進行語義標註的消歧是個不錯的選擇。
(4)句法分析
句法分析採用GLR(Generalized Left to Right)分析。以喬姆斯基的轉換生成理論為基礎,用LFG(辭彙功能語法,Lexical Functional Grammar)作為語法模型範例,從成分結構與功能結構兩個層面進行分析。兩種結構分別以樹圖與框圖形式呈現,線上性表達與圖形表達之間建立映射關係。在轉向語義分析時,使用HPSG(中心語驅動的短語結構語法,Head-driven Phrase Structure Grammar)判斷主題概念時更明確。LFG的功能結構向邏輯語義轉換更容易,因為在功能結構里已存在類似於謂詞邏輯的表示方式。兩種語法之間根據需要互相轉換。
支撐知識抽取的自然語言處理要經過一系列的複雜過程,這一系列的過程雖然是承接關係,不進行分詞就沒法進行詞性標記,不進行詞性標記就不可能進行句法分析。但反過來亦有影響,進行詞性標記時可能對分詞結果進行回溯分析,句法分析時也可能對詞性標註進行回溯消歧。因此,這是一系列的技術,只有充分運用這些語言處理的關鍵技術,才有可能理解自然語言文本,從而進行知識抽取。
基於NLP的知識抽取[4]
知識庫按使用對象分為人用知識庫與機用知識庫。人用知識庫是指用自然語言來描述的可直接閱讀的知識,一條一條的知識,像結構化的百科詞典。機用知識庫指用電腦可理解的形式進行存儲、供電腦系統(主要包括專家系統)分析推論所用、以解決實際問題的知識庫。不同的知識類型應該採用不同的知識表示方式,對於靜態概念及概念之間關係用面向對象形式來表示,對命題型問題用一階邏輯來表示,對於系統流程和實驗流程等過程性知識用腳本表示法。
(1)科學文獻內容解析與模式判別
科學文獻有綜述型、實驗型、過程型等類型,不同的類型有著不同的寫作結構(篇章結構),不同類型的文章有著不同的寫作手法(句型與語用),每個問題都有著幾種常用的句型,如定義的探討、應用展望等。從研究的角度來看,論文包括研究目的、研究背景、研究主題、研究方法、研究意義、研究應用、理論基礎、研究難點與重點、研究尚未解決的問題等。從具體內容來看,論文包括歷史評述、國內外進展(會議、組織、論文、專著、項目)、概念、概念的詮釋、特點、分類、關係、方法、技術、功能、系統、結論、待解決問題、舉例、應用、實驗、數據選取、指標的制定、實驗結果、結果的說明。從結構來看,分為二級標題、三級標題、圖名錶名、圖形圖像、表格、公式、標註,當然最重要的還是段落正文。目前的元數據只是描述文獻輔助信息,如作者、篇名、分類號等,並沒有深入到內容進行描述。本研究旨在對學術論文的寫作結構、寫作手法、句型結構等進行規律性的總結,建立定義、分類、發展歷史、關鍵技術、應用前景、發展趨勢等內容元數據。
(2)針對知識抽取的語段分析與語用分析
語段分析分析段內句子間的關係,主要根據關聯詞和主題概念確定段內句子間的關係。“但是、例如、而且”等關聯詞都在分析句間關係中有著重要作用。另外,根據實詞也能確定句間關係,如果不同句子的中心語概念之間存在上下位關係,那麼這兩個句子之間很有可能是遞進的關係,從研究的角度來講就是細化、深入。然後進行語用分析,確定句型與句子的功能關係、指示詞與句子的功能關係,在此基礎上實現對論文類型分析和篇章結構分析。對文本進行分析,分析的程度越深,使用描述的框架越複雜,它所含的信息量就越大。分析是由簡單到複雜的過程,而最終的抽取是要由複雜到簡單。這一過程類似於機器翻譯對源語言的分析與目標語言的生成過程,是不同結構之間進行轉換與映射。
(3)選擇知識抽取模式
根據不同類型的論文內容元數據,選擇不同的知識抽取模式。如對定義的抽取只是從句子的線性表達中抽取,對分類的抽取要藉助於主題詞表、概念體繫結構等,強調分析句子之間的關係,分清概念之間的上下位關係等。抽取了知識既可以按主題進行分類存儲,亦可按知識的結構及表現形式分類存儲。
知識抽取需要從以自然語言表達的泛化文本中抽出關於事物本質的描述——事物的具體描述包括事物的屬性及方法——包括事物的屬性、構成、行為以及有關事物的規律,分析出句子描述的對象,對象的名稱、特征、功能、父子對象(上下位概念)及其關係,並把這些內容封裝到資料庫里;用形容詞來刻畫屬性、名詞來定義構成、動詞來描述方法。這樣就可以從屬性、構成、方法三個方面來完整地描述一個概念。面向對象知識庫可以公式地定義對象為:O=(U,A,C,M),其中U為非空的有限集論域,A為非空的屬性有限集,C為構成對象的部件成分集,M為對象的方法集(包括行為、功能)。
利用知識庫中的邏輯命題對句子的F-結構(F-Structure)進行深層次挖掘,得到更多的信息,例如通過分析“文本文獻”得出“文本是文獻的一種存在形式”,而得出的結論也可以追加到以邏輯命題為特征的專家知識庫中。
邏輯命題知識庫的構建可以按邏輯的對象分類建庫,也可以按命題的類型分類建庫。邏輯命題知識庫存儲的是從大規模文本中抽取出的關於人們認識自然界規律的描述,是一些帶有真假值的論斷。通過自然語言處理,從要分析的文本中抽取出邏輯命題的特征詞,到邏輯命題庫進行匹配,找到相應的邏輯類型。這其實也是一個專家系統中模型的選擇過程。
(4)知識映射與抽取
知識抽取是從語段中抽取知識,這種知識存到資料庫里供人來用。然後把用自然語言描述的句子通過知識表示轉換成電腦可理解的形式,如面向對象知識庫、產生式規則知識庫、過程式知識庫,不同的知識採取不同的知識表示方式。基本概念採取面向對象知識庫,概念之間的關係採用語義網表示,論點、結論等採用命題邏輯表示方式,處理流程、實驗過程等採用產生式表示方式。有了這些知識,就可以運用知識推理進行知識創新了,這種創新包括關聯規則挖掘、模糊邏輯推理等方法。