1. 程式人生 > >文字結構化(資訊抽取)技術調研與綜述

文字結構化(資訊抽取)技術調研與綜述

文字結構化技術調研

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模型,實現句子級別的事件抽取,同時又對每個句子進行二分類,識別某一句子是否包含了事件資訊。對於跨句的事件論元資訊,該系統設計了啟發式演算法用於填充事件資訊槽,並取得了很好的效果。