王 博,王 侃,王成剛,劉 然,劉威鵬,黃慧榮
(1.北京信息技術研究所,北京 100093;2.中國西南電子技術研究所,成都 610036;3.西北工業大學 網絡空間安全學院,西安 710129)
由于互聯網普及度提高和互聯網媒體平臺的不斷發展,新聞事件可以快速地通過各種媒體平臺被網絡用戶獲取。除了用戶量大、傳播速度快的特點外,互聯網新聞文本在信息抽取和文本數據結構化方面還面臨信息內容的海量性、內容多樣性和新鮮詞匯層出不窮的挑戰。
隨著互聯網新聞平臺和自媒體的發展,人們從海量的互聯網新聞數據中獲取有用信息和針對互聯網輿情管控的難度也越來越大,在此背景下僅僅對關鍵詞搜索已經不能滿足人們的很多需求;為了更方便地從互聯網信息源中挖掘出人們需要的信息,需要把無結構的文本數據轉化為結構化數據[1]。在上述實際要求背景下,人們針對互聯網新聞數據進行實體關系抽取,計算機以關系三元組(實體1、關系、實體2)的方式對文本形式信息數據的存儲、查詢以及管理。實體關系抽取目的就是識別文本中的實體與實體之間的語義關系,并將關系抽取結果描述為三元組。實體定義為文本中特定的事實信息,有三種形式:命名性指稱、名詞性指稱以及代詞性指稱[2-3]。實體關系抽取也可以描述為對給定的文本數據中存在的信息載體的關系抽取。
實體關系抽取作為信息抽取任務之一,是信息抽取的研究熱點。實體關系抽取的研究范圍從最初的特定領域的語料庫,到目前對海量的互聯網文本;研究方法也是從基于規則的方法[4]發展到現在基于機器學習的方法和開放式實體關系抽取方法[5-6];實體關系抽取對象包含句子內實體關系抽取[7-9]、兩個句子之間的實體關系抽取[10]以及文檔級別的實體關系抽取[11],目前研究的熱點是句子內的實體關系抽取。結合深度學習的發展,把深度學習應用到實體關系抽取是研究方向之一。
國外關于實體關系抽取的研究工作是在1997年最后一次消息理解會議(Message Understand Conference,MUC-7)上提出的,在該評測會議上實體關系分為三類:位置關系(location_of)、雇傭關系(employee_of)和生產關系(product_of),使用的關系抽取方法是基于規則的[2]。在此之后,2000年出現的自動內容抽取(Automatic Content Extraction,ACE)評測會議把關系抽取列為重要任務之一,ACE-2004會議上將實體關系擴充到7種;ACE-2005提出多語言版本的語料庫用于實體識別、關系抽取和事件抽取任務,本文在實驗中使用該語料庫;ACE-2008關系抽取任務中把實體關系的7種類型又細分為18個子類。ACE會議自2009年被歸入文本分析會議(Text Analysis Conference,TAC),TAC會議把實體關系抽取并入知識庫構建領域任務中。在英文方面實體關系抽取的另外一個國際評測會議是SemEval評測會議,其中SemEval-2010任務8是句子中名詞對關系識別,關系種類有9種,包含原因-影響、器械-操作員、產品-廠家、內容-容器、實體-產地、實體-目的地、組件-整體、成員-集體、消息-話題和一個其他類[12]。
在自然語言問題評測會議中,主要針對各種特定的數據集,使用的方法主要是集中基于機器學習的方法。基于機器學習的方法依據對語料庫的依賴程度劃分,可以分有監督學習、半監督學習和無監督學習。有監督的學習算法使用的語料庫是完全標注的,該算法使用標注語料庫對關系分類模型進行訓練,然后在測試數據集上識別實體關系,包含基于特征向量算法[13]和基于核函數算法[13-14]。基于半監督學習算法使用的數據集是部分數據進行了標注,包含自舉算法[15]和遠程監督學習算法[16-17]。該算法具有適應性強、人工標注數據少的特點。無監督學習算法[18]是完全不依賴于數據標注信息,但是需要大量的語料數據,通常利用聚類的方法,把同一關系的文本數據聚合在一起,不能針對一對實體進行劃分實體關系。
關于中文的實體關系識別起步比較晚,目前關于中文的實體關系抽取研究主要工作集中在基于機器學習的算法和開放式關系抽取算法,但是缺乏大規模的標準中文實體關系抽取數據集,因而關于利用機器學習實現中文實體關系抽取研究比較少。關于中文的實體關系抽取方面的會議也比較少,有自然語言處理與中文計算(Natural Language Processing and Chinese Computing,NLPCC)會議、中文傾向性分析評測(Chinese Opinion Analysis Evaluation,COAE)會議。除此之外,ACE-2004/2005多語言語料庫中包含中文實體關系識別內容。
中英文之間的差別使得適用于英文的關系抽取算法不能直接移植到中文上面。中英文之間的差別主要在于以下四點:一是中文沒有明顯的分隔符;二是中文中的詞比英語存在更多的歧義語義;三是中文的詞語由字組合而成,常用漢字有3 000個,復雜程度很高;四是中文的詞法語態信息沒有英語豐富,比如中文沒有時態、字母大小寫等特征。
面向中文實體識別的雙向樹形LSTM(Long Short-Term Memory)是建立在依存關系樹上的長短時記憶網絡變體模型。標準LSTM網絡輸入特征向量是按照句子的字序輸入,即從句子中的第一個漢字依次輸入特征向量。雙向LSTM網絡由正向的LSTM和反向的LSTM組成,其中的反向LSTM是從句尾依次輸入特征向量。雙向樹形LSTM網絡的輸入特征向量是按照依存句法樹的結構依次輸入特征向量,正向的樹形LSTM從葉子節點到根節點,反向的樹形LSTM從根節點到葉子節點。該模型建立依賴于句子的依存句法分析結果。樹形LSTM模型和標準LSTM模型比較,改進的模型可以提取詞語與詞語之間依存關系特征和句法特征,樹形LSTM神經元三個控制門的輸入數據不僅僅是該漢字相鄰的漢字的LSTM神經元狀態值和輸出值,還包含在依存句法分析中存在依存關系的詞語的狀態和輸出值。Aguilar等人[18]在英文依存句法樹上建立的正向樹形LSTM模型,Jie等人[19]使用英文依存句法特征實現實體識別,但是基于依存句法樹的中文樹形LSTM模型和英文樹形LSTM模型存在的差別。圖1是以簡單句子“西北工業大學位于古都西安”的中文和依存句法分析結果。

圖1 “西北工業大學位于古都西安”依存句法樹
圖1中的中文依存句法樹是用哈工大LTP得到的,英文依存句法樹是用Stanford NLP工具得到的。圖1(b)的依存關系樹中是以單詞為節點,英文的實體識別標注對象也是單詞;圖1(a)的依存關系樹中是以中文詞語為節點,但是中文實體識別的標注對象是漢字。例如Northwestern標注為B-ORG,而在中文依存句法分析中“西北”在句子中作數據標注的是“西:B-ORG”和“北:I-ORG”;相比較于基于英文的樹形LSTM網絡結構,中文的樹形LSTM網絡模型比較復雜。本文提出的面向中文的正向和反向樹形LSTM模型如圖2所示,在結構示意圖中依然是以簡單的句子“西北工業大學位于古都西安”為例。

(a)正向樹形LSTM結構圖

(b)反向樹形LSTM結構圖
圖2中雙向樹形LSTM網絡神經元標注為TLSTM Cell,在正向樹形LSTM網絡中每個TLSTM Cell的輸入特征包含兩部分:第一部分是依存句法樹中當前節點的所有子節點的神經元輸出值和狀態值,第二部分是當前節點中,上一個漢字的神經元輸出值和狀態值,例如在圖 2(a)中漢字“學”的輸入向量包含該字的詞向量和漢字“大”“工”“業”三個字的神經元狀態值和輸出值。中文實體識別的正向樹形LSTM神經元的數學表達式為
(1)
式中:hj表示所有當前漢字子節點神經元輸出值hk的求和;chiildnode(j)表示節點j所有子節點的集合;cj表示所有子節點的狀態值和當前節點中上一個漢字的狀態值cj,t-1的拼接結果;hj,t-1表示上一個漢字神經元的輸出值;n表示子節點所有漢字的數量;fj,t表示遺忘門控制變量;ot表示輸出門控制變量;ij,t表示輸入門控制變量;Wf,Wi,Wo表示神經元中當前漢字輸入特征在控制門中的權重矩陣;Uf,1、Ui,1、Uo,1表示子節點漢字的神經元輸出值在控制門中的權重矩陣,Uf,2、Ui,2、Uo,2表示上一個漢字的神經元輸出值在控制門中的權重矩陣;bf、bi、bo表示表示神經元控制門的偏置向量;ct表示當前漢字神經元的狀態值;ht表示當前漢字神經元的輸出值。
正向樹形和標準的LSTM網絡的神經元相比,在控制門中加入了依存句法樹中子節點特征信息,模型能夠提取長距離的依存關系特征和句法特征。在三個控制門中,遺忘門的計算方式和輸出門、輸入門不同。輸入門和輸出門使用輸出值hj和hj,t-1的求和,而遺忘門對每個字符輸出值計算各自的遺忘門值。這種遺忘門計算方式對于不同的漢字,控制對當前漢字的影響程度,即輸入門控制當前輸入特征對神經元狀態值的影響和輸出門控制狀態值cj和cj,t-1對輸出向量的影響。
反向樹形LSTM神經元和正向樹形LSTM相比,將子節點神經元的狀態值和輸出值改為父節點神經元狀態值和輸出值,其他部分是一致的,即在公式(1)中第二個式子改為
(2)
式中:cj表示父節點的狀態值和當前節點中上一個漢字的狀態值cj,t-1的拼接結果,n表示父節點所有漢字的數量。
雙向樹形LSTM網絡建立在依存句法樹上,在控制門中加入了依存句法樹中子節點特征信息,能夠獲取來自于依存關系樹中父節點和子節點的特征信息。正向樹形LSTM網絡獲取依存關系樹中當前節點的子節點特征信息,反向樹形LSTM網絡提取父節點的特征信息。雙向樹形LSTM網絡的輸入特征中可以包含詞向量、詞性特征等,網絡的輸出向量是依存關系特征、句法特征和輸入特征的融合特征。雙向樹形LSTM網絡的輸出特征由正向樹形LSTM網絡輸出特征H1和反向樹形LSTM網絡的輸出特征H2拼接而成。
本文提出的基于雙向樹形LSTM網絡模型和條件隨機場模型主要包含三個數據處理模塊:雙向樹形LSTM、Bi-LSTM和條件隨機場(Conditional Random Field,CRF)。雙向樹形LSTM網絡模型提取融合長距離的依存關系特征和句法特征,正向樹形LSTM網絡獲取依存關系樹中當前節點的子節點特征信息,反向樹形LSTM網絡提取父節點的特征信息;Bi-LSTM可以有效提取當前漢字的過去特征和未來特征,正向LSTM網絡記錄過去時刻的特征信息,反向LSTM提取將來時刻的特征信息;CRF是在神經網絡提取特征的基礎上對中文漢字進行標注實現實體識別。圖3是基于雙向樹形LSTM網絡模型和條件隨機場模型的結構示意圖。

圖3 算法流程圖
本文在ACE 2005語料庫上訓練并測試基于雙向樹形LSTM實體識別算法模型的有效性。
操作系統為ubantu 18.04,依存句法分析工具為哈工大LTP3.4.0,Python版本3.7.0。
基于雙向樹形LSTM和條件隨機場的實體識別模型在識別實體的過程中是將實體識別問題轉化為數據標注的問題,要求對每個漢字標注一個標簽。但是在使用的新聞語料庫中數據的標簽格式不滿足模型的需求;除此之外,本文是針對句子中的實體識別,使用的語料庫中文本數據是段落的形式,因此還需要對數據進行段落分割。數據預處理實現數據標簽格式的轉化和段落分割為句子。
ACE 2005語料庫是國際評測會議ACE在2005年發布的數據集,目前可以在語言聯盟中獲取。ACE RDC是多語言數據集,包含中文、英文和阿拉伯語,該語料庫主要針對自然語言問題的三項基本任務——實體識別,值、事件表達式,關系和事件。中文語料庫的數據采集來自于廣播新聞(298篇)、新聞專線(238篇)和微博(93篇),文檔總數量是629篇。
ACE 2005語料庫中包含四類文件,在實體識別和關系抽取任務中,主要是使用源文本文件和注釋文件。圖4和圖5分別是該語料庫中廣播新聞語料庫的源文本文件和實體數據的注釋示例。

圖4 ACE 2005語料庫源文本文件示例

圖5 ACE 2005語料庫標注文件
圖4所示語料庫中的中文源文本文件數據存在大量的空格和換行標識符,需要對源文本文件進行正則化處理,即在數據預處理階段需要消除源文本文件中的空格和換行標識符,否則在實體標注文件中,會導致實體位置信息出現誤差。而且由于本文主要研究針對句子中的實體關系抽取,因此實體識別也是主要針對以句子為單位,識別單個句子中的實體關系。與此同時依據句子標識符(“。”“?”“!”)將段落轉化為單個句子。
圖5所示語料庫標注文件主要是XML文件,在該文件中標注了實體在源文本文件中的位置信息和對這個實體類別、子類別的注釋,在該語料庫中定義實體種類有七種。在數據預處理過程,將源文件的段落轉化為句子,同時也需要把實體標簽信息轉化為相對應的句子中。本文使用Python語言和xml.etree工具包實現數據解析。ACE 2005語料庫數據預處理的流程如下:
輸入語料庫源文本文件.sgm為S0,注釋文件.apf.xml,正則化后的源文本為S1
1:讀取注釋文件,使用xml.etree找到實體的類別、子類、位置和內容信息S2
2:讀取源文件,清除源文本中節點標志信息,便于與實體注釋位置信息對應
3:使用python正則化模塊re對源文本數據的空格和換行符進行替換
4:for entity inS2:
5: 利用實體在S0的位置更新實體在S1位置信息
6: ifS1[entity[start]:entity[end]]== entity[content] then
7: 校驗在S1中entity位置所在詞語是否與entity中的內容一致
8: else:
9: 從新校驗該文件實體位置信息
10:for char inS2:
11: if char in set(‘。’、‘?’、‘!’)
12: 獲取單個句子sentence,依據該句子在S2位置信息找到該句子中所有實體
13: for char_ in sentence:
14: 依據SBIOE標簽格式和實體位置信息對句子sentence中的每個漢字打上標簽
15: else:
16: 當前句子中添加當前漢字
在數據預處之后,數據的表示為每個漢字均有唯一對應位標簽,標簽的格式是位置標簽和類別標簽的復合標簽格式。圖6和表1是針對語料庫中廣播新聞數據預處理后的文本數據的實體統計。

圖6 ACE 2005 語料庫實體長度分布

表1 ACE 2005 語料庫實體數量統計
在實體長度分布統計中,大部分的是數據是小于等于4的;實體長度大于4的數據中,實體數目是1 468,大約占總數量的5.46%。因此在模型的局部注意力機制模塊中,使用的窗口長度是5,該窗口長度可以使得大部分實體中間的漢字也可以覆蓋實體周圍區域的非實體漢字。
在上述各種類別的實體中,實體分布是不均衡的,例如人名的實體數量特別多,達到了11 656個,但是關于武器的這種數量僅僅是380個,數量差距比較大。這會導致模型對武器類的實體識別能力較差。
在雙向樹形LSTM網絡實現數據標注的過程中,雙向樹形LSTM和標準的LSTM網絡的作用是對使用的詞向量等特征進行融合,用條件隨機場實現數據標注。但是在不同的語料庫中,由于實體的種類不一致,因此在條件隨機場中概率轉移矩陣的尺寸不一樣,而且相比于每個語料庫中標簽的種類,條件隨機場的概率轉移矩陣需要加上句子填充標簽和概率開始/結束標簽。模型的實驗參數見表2。

表2 網絡參數設置
自然語言問題中模型的評價指標一般用準確率(Precision,P)、召回率(Recall,R)和F1值。準確率代表著正確識別的實體在標注樣本實體中的比例;召回率表示正確分類的實體在所有識別的實體中的比例;F1值為準確率和召回率的一個調和平均值,是一個綜合指標。各指標具體計算方法如下:
(3)
(4)
(5)
式(3)~(5)中:TP表示正確實體標注正確,FP表示正確實體標注錯誤,TN表示非實體標注為實體。
在ACE 2005語料庫中采用條件隨機場實現數據標注,使用LSTM網絡實現特征融合,使得輸入條件隨機場中的特征更加具有上下文特征,且沒有使用注意力機制條件和無殘差網絡的條件下實體識別效果。
實驗1是在無詞性標注的條件下使用單層Bi-LSTM網絡實現特征融合,實驗2是使用單層Bi-LSTM和詞性標注,實驗3使用雙層Bi-LSTM和詞性標注特征,實驗4是在詞性標注的條件下使用雙向樹形LSTM和Bi-LSTM融合特征。實驗結果見表3。

表3 ACE 2005多語種語料庫實驗結果
實驗1和實驗2結果相比,驗證了在使用詞性標注的條件下對于實體的識別效果是有很大提高的。實驗3和實驗4是在詞性標注條件下使用雙層LSTM網絡,實驗3中使用的是雙層Bi-LSTM,與實驗2和實驗4相比,模型的準確率、召回率和F1值均是比較差的,LSTM網絡在處理較長的句子容易出現梯度消失,無法對第一層LSTM網絡的參數進行指導性調整。實驗4中雙向樹形LSTM和Bi-LSTM的模型是本文提出的模型,該模型的各項指標在實驗中是最好的。圖7是四個實驗在ACE 2005語料庫中各個類別實體的F1值。

圖7 無注意力機制的模型對各個實體類別F1值
在圖7中,本文模型表示的在詞性標注信息下的雙向樹形LSTM+Bi-LSTM模型。在本文的改進模型中,在地理政治類別的F1值改變不明顯,在其他類別中F1值均有顯著提高。
基于雙向樹形長短時記憶網絡和條件隨機場的中文實體識別模型,雙向樹形LSTM網絡可以提取句子中的長距離依存關系特征和句法特征信息,其中正向樹形LSTM網絡獲取依存關系樹中當前節點的子節點特征信息,反向樹形LSTM網絡提取父節點的特征信息。雙向樹形LSTM提取依存句法樹中動詞和介詞的特征,推斷它們的主語或者賓語是否為實體,判斷實體的類別和邊界。實驗也表明,基于雙向樹形LSTM網絡比雙層Bi-LSTM網絡能夠提取長距離依存關系特征和句法特征信息,提高條件隨機場對中文實體的識別能力。