1. 程式人生 > >文本結構化(信息抽取)技術調研與綜述

文本結構化(信息抽取)技術調研與綜述

之間 委員會 交叉驗證 具體實現 啟發式算法 不可 onf 自動化處理 目前

文本結構化技術調研

1. 引言

  • 文本數據一般由有序的段落、句子、單詞文本流組成,而這種形式的文本通常是非結構化的,並不是結構化的表格數據,文本的特征也與噪聲混雜在一起,很難直接提取出特征,也就沒有辦法將機器學習方法應用在原始的非結構化文本數據中。因此,我們需要一種文本結構化技術,能夠自動化處理非結構化文本,並且在不損失重要信息的情況下,用結構化數據提取出該文本的主要信息。
  • 出於不同的目的,一般采用信息抽取與特征工程的方式實現文本結構化技術,但是這兩種方法在本質上屬於不同類型的方法,信息抽取一般是預定義想要抽取的信息類型,然後從原始非結構化文本中抽取一段屬於該信息類型的字符串子序列,該信息也是由文本進行表示。而特征工程一般是預先設計特征規則或特征算法,最後生成一系列特征值,每個特征值都是一個浮點數而不是文本,用這些特征值組成一個特征向量,用於在數字空間中表示原始文本,該向量的每個特征值都涵蓋了原始文本在某一維特征上的信息權重。

  • 由於特征工程並不是一個學術領域的研究方向,本文對特征工程技術簡要介紹,主要介紹信息抽取在文本結構化處理中的技術進展。

2. 特征工程

  • 想要構建性能優良的機器學習模型,特征工程是必不可少。對於非結構化的文本數據來說,特征工程就更加重要,因為我們需要將文本流轉化為算法能夠理解的數字表示。采用特征工程的方式可以從非結構化文本中提取出結構化信息特征,但是這種特征往往不是文字表示,而是一個帶有某種衡量信息權重的特征值。

  • 在信息抽取中,算法具有一個先驗知識——待抽取的信息數量與類型,即數據維度固定。但是,文本數據的包含的信息一般不僅僅局限於預先定義的固定數量的信息槽,使用這種槽填充的信息抽取方式,雖然可以抽取到想要的信息內容,但是會丟失掉未出現信息槽中的信息內容。而特征工程則可以彌補這種不足,因為他是從文本中提取包含全局信息內容的文本特征。

3. 信息抽取

  • 信息抽取的主要功能是從文本中抽取出特定的事實信息,例如,從新聞報道中抽取出恐怖事件的詳細情況:時間、地點、作案者、受害者、襲擊目標、使用的武器等;從經濟新聞中抽取出公司發布新產品的情況:公司名、產品名、發布時間、產品性能等;從病人的醫療記錄中抽取出癥狀、診斷記錄、檢驗結果、處方等等。上述從原文本中抽取出的信息往往以結構化表格的形式表述。根據以上例子,不難發現,對於描述不同事實的文本,我們想要抽取的信息類型往往是不同的,具體的信息類型由我們預先定義的信息槽所描述。
  • 與信息抽取密切相關的一項研究是信息檢索,二者都是希望從原始文本中獲取我們感興趣的文本內容,但是信息抽取與信息檢索存在差異,主要表現在三個方面:
    • 功能不同。信息檢索是從大量的文檔集合中找到與用戶需求或用戶查詢相關的文檔列表;而信息抽取則是從文本中直接獲得用戶想要的事實信息。
    • 處理技術不同。信息檢索通常利用統計及關鍵詞匹配等技術,把文本看成詞語的集合,也成為詞袋,不需要對文本進行深入分析理解;而信息抽取需要借助自然語言處理技術,通過對文本中的句子以及篇章進行分析處理後才能實現。
    • 適用領域不同。由於采用的技術不同,信息檢索通常是領域無關的,只要用戶輸入其感興趣的查詢詞,別可以檢索到與該查詢次密切相關的文檔列表;而信息抽取則是領域相關的,需要為特定領域設計特定特定的事實信息槽。
  • 另一方面,信息檢索與信息抽取又是互補的。為了處理海量文本,信息抽取技術有時候以信息檢索的輸出作為輸入,即完成文本過濾(剪枝)的操作;同時,信息抽取技術也可以用來提高信息檢系統的性能。因此,二者的結合能夠更好地服務於用戶的信息處理需求。

  • 在信息抽取中,用戶一般只關心有限的感興趣的事實信息,而不關心文本意義的細微差別以及作者的寫作意圖等深層理解問題。因此,信息抽取只能算是一種淺層的文本理解技術,相當於對原始文本進行簡化。

4. 信息抽取研究的發展歷史

  • 從自然語言文本中獲取結構化知識的研究,最早開始於20世紀60年代中期,這被看作是信息抽取技術的初始研究。從20世紀80年代末開始,信息抽取研究蓬勃開展起來,這主要得益於消息理解會議(MUC,Message Understanding Conference)的召開。正是MUC系列會議使信息抽取成為了自然語言處理領域的一個重要分支,並一直推動這一領域研究的發展。
  • 從1987年到1998年,MUC會議共舉行了七屆,他由美國國防高級研究計劃委員會資助。MUC的顯著特點不是該會議本身,而是發布了對信息抽取系統的評測,估計世界各國的研究人員參與其中。
  • 參考歷次MUC會議,可以清楚地看到信息抽取技術發展的歷程。
    • 1987年舉行的首屆MUC會議基本上是探索性的,沒有明確的任務定義,也沒有制定評測標準,總共只有6個系統參加,所處理的文本是海軍軍事情報,每個系統的輸出格式都不一樣。
    • MUC-2於1989年舉行,共有8個系統參加,處理的文本類型於MUC-1相同,不過MUC-2具備了明確的任務定義,規定了模版以及槽填充的規則,抽取任務被明確為一個模版填充的過程。
    • MUC-3於1991年舉行,共有15個系統參加,抽取任務是從新聞報告中抽取拉丁美洲恐怖事件的信息,定義的抽取模版有18個槽組成。從MUC-3開始引入正式的評測標準,其中借用了信息檢索領域采用的一些概念,如召回率和準確率等等。
    • MUC-4於1992年舉行,共有17個系統參加,任務與MUC-3一樣,仍然是從新聞報告中抽取恐怖事件信息。但是抽取模版變得更復雜了,總共由24個槽組成。
    • MUC-5於1993年舉行,共有17個系統參加。此次會議設計了兩個目標場景,金融領域中的公司合資情況與微電子技術領域中四種芯片制造處理技術的進展情況。除英語外,MUC-5還對日語信息抽取系統進行了測試。在本次會議中,主辦方嘗試采用平均填充錯誤率作為評價指標。與之前相比,MUC-5抽取任務的復雜性更大,如公司合資場景需要填充11個種子模型,總共47個槽。MUC-5的一個重要創新是引入了嵌套的模版結構,信息抽取模版不再是扁平結構的單個模版,而是借鑒面向對象和框架知識表示的思想,由多個子模版組成。模版中每個槽的取值除了可以是文本串(如公司名)、格式化串(如將日期描述轉化為某種規範形式)、有限集合中的元素(如組織類型可以分為公司、政府部門、研究機構等),還可以是指向另一個子模版的指針。
    • MUC-6於1995年舉行,此次評測訓練時的目標場景是勞動爭議的協商情況,測試時的目標場景是公司管理人員的職務變動情況。MUC-6的評測更為細致,強調系統的可移植性以及對文本的深層理解能力。除了原有的場景模版填充任務外,由引入了三個新的評測任務:命名實體識別、共指關系確定、模版元素填充。
    • MUC-7於1998年舉行,是最後一屆MUC會議。此次會議訓練時的目標場景是飛機失事事件,測試時的目標場景是航天器發生事件。除MUC-6已有的四項評測任務外,MUC-7又增加了一項新任務——模版關系任務,它希望確定實體之間領域無關的關系。
    • 在MUC系列會議中,衡量信息抽取的性能主要根據準確率和召回率,這兩個評價指標。召回率為系統正確抽取的結果占所有可能正確結果的比例;準確率等於系統正確抽取的結果占所有抽取結果的比例。為了綜合評價系統的性能,通常還計算二者的加權幾何平均值,即F值。
    • MUC系列會議對信息抽取這一研究方向的確立和發展起到了巨大的推動作用。MUC定義的信息抽取任務的各種規範以及確立的評價體系已經成為信息抽取任務上的衡量標準。從MUC定義的各項任務中,信息抽取這一研究方向逐漸細分為命名實體識別、共指消解、關系抽取、事件抽取等具體內容。
  • 近些年,信息抽取技術的研究依然很活躍。在研究方面,主要側重利用機器學習技術增加信息抽取系統的可移植能力、探索深層語義理解技術、篇章分析技術、多語言文本處理能力、WEB信息抽取以及對時間信息的處理等等。
  • 目前,除了信息抽取技術的應用需求外,正在推動該技術進一步發展的動力主要來自於美國國家標準技術研究所(NIST)組織的自動內容抽取(ACE)評測會議。這項評測從2000年開始啟動,旨在開發自動內容抽取技術以支持對三種不同來源的語言文本自動處理,這些文本分別屬於普通文本、由語言識別ASR得到的文本,由光學字符識別OCR得到的文本,研究主要內容是自動抽取新聞預料中出現的實體、關系、事件等內容。
  • 與MUC相比,ACE會議不針對某個具體的領域或場景,采用基於漏報和誤報的一套評價體系,還對系統跨文檔處理能力進行評測。這一新的評測會議把信息抽取技術研究引向新的高度。

5. 信息抽取技術研究現狀

  • 信息抽取的具體實現方法可以分為兩類:基於規則的方法和基於統計的方法。基於規則的方法有一定局限性,如人工編織規則的過程較復雜、通過機器學習得到的規則效率偏低,系統移植性差等。基於統計的方法可以一定程度上彌補基於規則的缺陷。上述兩種信息抽取方法的具體實現過程,比較依賴機器學習算法,機器學習算法的技術突破為信息抽取技術的進步提供了直接支持。
  • 接下來分別從命名實體識別、關系抽取、事件抽取這三個層面,簡要介紹信息抽取技術的研究進展。

5.1 命名實體識別

  • 命名實體識別是信息抽取的基礎性工作,其任務是從文本中識別出人名、組織名、日期、時間、地點、特定的數字形式等內容,並進行歸類,為信息抽取的後續工作提供便利。

  • 早期研究人員通常創建基於語法的語言模型,利用人工規則進行命名實體識別,這種方法有較好的準確率,但是召回率不理想。之後,研究人員考慮將統計模型引入到命名實體識別的視線上,利用機器學習的方法習得領域知識庫,然後再對測試文本進行分析,這種方法取得了較好的效果,一定程度上彌補了基於規則的不足。

  • 近些年,社交媒體在互聯網中呈井噴式發展,由於其內容較短,句子成分復雜和隨意,導致傳統的NLP方法在分析微博等社交媒體是效果不佳,因此微博文本的分析也成為了當前研究熱點。美國華盛頓大學的Alan等人在對微博文本特點進行分析後,提出了基於文本分類和詞性標註相結合的命名實體方法。該方法首先對短微博進行分類,盡可能降低文本特征維度,接著通過人工標註的訓練集對文本進行詞性標註;之後采用條件隨機場CRF和交叉驗證的方式對文本進行淺層語法分析,以識別出非遞歸短語;最後利用支持向量機SVM的機器學習方法,獲取命名實體的分布情況。與傳統的文本處理方法相比,該方式取得了較好的效果。

  • 在國內,命名實體識別的研究也進入了實用階段。2006年,中科院提出了一種基於HMM模型的中文實體識別方法。該方法逐級執行HMM算法,並取得了一定的效果。目前已經成為了中科院詞法分析工具ICTCLAS的核心實現算法。

  • 蘇州大學鞠久朋等人又提出了一種CRF與規則結合的地理空間命名實體識別方法,該方法以豐富的知識作為觸發條件,其知識包括行政區劃及其層級關系、地名通用詞典、黃頁中的公司名、特殊句型句式等等。用CRF對滿足條件的片段做地方和機構名識別,識別出來的命名實體又被解構,即解析出實體的內部結構,找出其中包含的通名、專名、飾名及擴展單元。之後進一步判斷該命名實體是否表示事件發生地的地理空間信息。

5.2 關系抽取

  • 關系抽取的作用是獲取文本中實體之間存在的語法或語義上的聯系,關系抽取是信息抽取的關鍵人物。早期的關系抽取主要采用模式匹配的方法,隨後又出現了基於詞典驅動的方法,當前主要采用基於機器學習和基於Onthology的方法。這裏主要介紹後兩種方法的研究進展。基於機器學習的方法本質上還是對文本進行分類,其類別數量與關系數量相對應。

  • 斯坦福大學在2009年提出了一種基於遠程監督學習的無標註文本關系抽取方法。該方法以知識庫Freebase為訓練數據進行遠程監督學習,自動對文本進行標註。之後設計了一系列文本特征並進行組合,其算法融合了無監督和有監督的信息抽取方法。結果表明他們的方法既能從無標註文本中抽取出實體關系,也在一定程度上脫離了對領域知識的依賴。

  • 2011年,德國洪堡大學的Thomas等人,提出了一種利用整體學習方法抽取藥物之間相互關系。他們的方法基於不同語言特征空間,構建多種機器學習方法對比機制,然後利用整體學習方法選出效果最好的方法。

  • 傳統的有監督學習方法假定每個實例明確地映射到一個關系標簽,但這與實際並不總是一只,因為有的實例同時屬於多個關系標簽。為此,斯坦福大學2012年將多實例多標記學習進入到關系抽取中,形成了一種新方法。他利用帶有隱變量的圖模型,將文本中的實體對和其標記融合在一起。這一方法一定程度上克服了遠程監督學習的缺陷。

  • 近年來,隨著深度學習技術在自然語言處理的各項任務上發揮了不俗的效果,也有一些研究學者,將深度學習應用於關系抽取。中科院的趙軍和劉康曾在2015年提出了使用PCNN模型捕獲句子級別實體之間的關系,該模型通過設計分段的max-pooling層,具體的分段方式是根據實體所在位置,將整個文本切分成了三段,對於每一段分別執行max-pooling,以捕獲到兩個實體在句子在不同位置的重要信息,由於知道模型對實體關系進行分類。另一方面,在中科院的周鵬也在2016年提出了利用雙向LSTM與Attention機制,實現關系抽取任務,該模型希望通過Attention,是的模型能夠捕獲到實體之間的關系信息,並在公開評測任務上取得了很好的效果。

5.3 事件抽取

  • 在信息抽取中,事件是指在某個特定的時間和地點發生的,由一個以上角色參與、一個以上動作組成的一件事情,一般是句子級別的。事件抽取主要研究,如何從含有事件信息的非結構化文本中,抽取出用戶感興趣的事件信息,將用自然語言表達的事件以結構化的形式呈現出來。在事件抽取研究的發展過程中,ACE會議給予的影響最為深遠。

  • 事件抽取大體上可以分為元事件抽取和主題事件抽取兩個層次,其中元事件是基於句子級別的事件抽取,是指一次動作 的發生或狀態的轉變。其待抽取的信息內容包括時間、地點、人物、動作等;主題事件抽取是指圍繞某一確定的主題,獲取與其相關的一系列事件,通常由多類元事件組成。當前的研究主要集中於元事件抽取層面,另一方面,目前的事件抽取研究使用的語料還是以新聞、生物、醫學等個別領域為主,面向開放文本的事件抽取研究較少。

  • Davud Ahn在2006年提出一種基於分治思想的事件抽取方法,他將ACE會議中關於事件抽取的任務分解為一系列分類子任務,如錨記標識、論元識別、屬性賦值和事件共指,其中每個子任務由一個機器學習分類其負責實施。基於句法分析和詞法分析,此方法綜合運用多種分類方法,主要包括K近鄰分類算法,最大熵分類起等等,以提取事件屬性及特征。

  • 在ACL2011中,來自芬蘭圖爾庫大學的Jari Bjorne介紹了他們研發的一款應用於生物醫學領域的事件抽取系統,該系統能夠有效對領域事件進行抽取。此系統基於SVM分類器工作,將詞法、句子、詞語之間的依賴關系作為選擇特征,其事件抽取實現過程大致為:在句子識別出所有的實體;預測實體之間的屬性關系;最後將實體集分離成為獨立的事件。該系統在當年的公開評測上取得了最好的效果。

  • 近年來,也有一些研究學者將深度學習應用於事件抽取任務中。趙軍和劉康在2015年提出了DMCNN模型,用於實現句子級別的事件抽取,該模型借鑒了深度學習在關系抽取中的應用,將CNN模型應用於事件抽取,同時設計了動態的多池化算法。該模型在實際評測中取得了很好的效果。2018年,該團隊又在ACL2018上提出了金融領域文檔級別的事件抽取系統。首先利用金融專家設計的專業知識庫,結合遠程監督的思想,構建了一批有監督的訓練數據。之後在此基礎上應用BILSTM與CRF模型,實現句子級別的事件抽取,同時又對每個句子進行二分類,識別某一句子是否包含了事件信息。對於跨句的事件論元信息,該系統設計了啟發式算法用於填充事件信息槽,並取得了很好的效果。

文本結構化(信息抽取)技術調研與綜述