周筠昌,陳振彬,陳珂
(1.廣東石油化工學院 計算機學院,廣東 茂名 525000;2.廣西師范大學 計算機科學與工程學院,廣西 桂林 541000)
關系抽取作為自然語言處理(Natural Language Processing,NLP)領域的基礎性任務之一,同時對自然語言處理的發展也產生著一定的影響。關系抽取的目標是在給定文本中識別實體以及實體之間的關系,組成關系三元組(頭實體,關系,尾實體)。目前的研究中關系抽取仍存在有待解決的關鍵性問題和瓶頸,如數據稀疏和誤差傳遞等問題,這些問題影響著關系抽取的模型效果,因此在未來的研究中關系抽取仍充滿挑戰性。
本文在基于英文的實體關系抽取的基礎上,綜合了句子級和文檔級別兩個類別的關系抽取、基于流水線和聯合抽取兩種抽取框架的關系抽取和基于遠程監督的關系抽取。本文只討論基于神經網絡的關系抽取研究成果,并對具有里程碑意義的研究成果進行詳細的探討,以及分析了關系抽取目前存在的不足和仍需解決的問題。
目前關系抽取研究中,從文本的長度進行分類大致可分為句子級別(sentence-level)的關系抽取和文檔級別(document-level)的關系抽取。句子級別的關系抽取相對于文檔級別的關系抽取而言簡單,所給的文本句子中,頭實體和尾實體及其關系皆通過單句進行表達;文檔級別的關系抽取中,其頭實體和尾實體并不一定出現于同一句中,且其實體之間的關系可能存在于多個句子甚至多個段落之中。由于兩類關系抽取的任務具有差異性,因此其所使用的語料集也并不相同。
除了待抽取文本長度外,目前的語料集可以細分為通過人工標注生成的語料集和通過遠程監督生成的語料集兩類,這兩者之間的主要差別在于數據標注的質量。關系抽取研究中,較為廣泛的公開語料集如表1所示。

表1 關系抽取公開語料集匯總
目前的關系抽取研究中,基于流水線的關系抽取相對較多,該類關系抽取一般將關系抽取任務分成兩步:命名實體識別和關系分類。
早期的關系抽取模型中,比較依賴于對文本的特征的抽取工作。Mintz等[1]提出基于特征的關系分類模型,他將實體事件的詞序列、詞性標注、實體位置、實體臨近的k個詞作為詞法特征,另外使用依存句法分析,將實體之間的路徑作為語法特征。在此基礎上,Riedel等[2]提出了多實例學習來解決語料集在遠程監督過程中產生的噪音問題。該方法提高了當時關系抽取任務的模型效果。
關系重疊是關系抽取領域中一個待改進的關鍵性問題。在關系抽取中,一個實體可能只和另一個實體存在單一的關系,這種關系類型被定義為Normal類型,代表沒有重疊的部分;但實際情況中,一個實體可以和另一個實體存在著多種關系,這種則被定義為EPO(Entity Pair Overlap);更復雜的情況則是一個實體和其他不同實體之間存在著多種關系,則被定義為SEO(Single Entity Overlap)。Hoffmann[3]等則提出多實例多標簽(multi-instance multi-labels,MIML)來解決關系重疊的問題。他們即將一系列包含實體對的句子作為輸入,利用概率圖模型,最終來獲得它們之間的關系。
2013年Mikolov等[4]提出了Word2vec,詞嵌入工具的提出改變了自然語言處理領域的版圖,深度學習方法開始廣泛應用于自然語言處理領域。詞的分布式嵌入表示,也成了基于深度學習的自然語言處理模型的核心部分。卷積神經在圖像處理中的應用取得不錯的效果,因此在自然語言處理領域也逐漸被重視起來。2014年,Zeng等[5]使用卷積神經網絡進行關系抽取任務。文中使用了詞嵌入模型[6],還使用了詞和兩個實體之間的距離向量作為模型的輸入,通過卷積神經網絡來抽取出句子的特征向量,最后經過一個帶softmax分類器的前向神經網絡進行關系分類。
2015年,Zeng等[7]提出了分段卷積神經網絡(Piecewise Convolution Neural Network,PCNN),進一步提升關系抽取的模型效果。在PCNN中的max-pooling操作并非是整個句子的特征,而是將句子分為三個部分:句子開始到實體1,實體1到實體2,實體2到句子末,每個單獨的分段都有單獨的卷積神經網絡,它們之間的參數并不共享。這種優勢在于能更好地學習到句子各個分段的特征,并且通過拼接的方式綜合考慮三個分段的信息,最后將其輸入softmax分類器進行分類。
注意力機制的發展極大地促進了自然語言處理的發展,在自然語言處理各個子領域(如文本分類、情感分析等)上皆取得了不錯的效果。Shen等[8]將注意力機制結合卷積神經網絡進行關系抽取任務。該文獻中,卷積神經網絡被用于提取全局特征,而注意力機制則分別基于兩個實體應用于句子中的單詞。實體最后的一個字的詞嵌入和其他詞語的詞嵌入進行拼接,計算每個詞語的注意力權重。詞向量通過使用注意力分數進行加權平均后得到注意力特征向量,然后將其和詞向量進行拼接,輸入帶softmax的前饋神經網絡進行關系分類。Zhang等[9]提出了基于LSTM的位置意識的注意力機制模型,也取得了不錯的效果,其模型結構見圖1。

圖1 基于LSTM的位置意識注意力機制模型結構
2018年,Devlin等[10]提出了基于Transformer的BERT(Bidirectional Encoder Representations from Transformers)模型,它只采用了Transformer的編碼器部分卻超過了當時自然語言處理各個任務的前沿模型和方法。隨后,基于BERT的子注意力模型不斷被提出,例如效果更好的ALBERT[11]等。BERT的基礎模型直接應用到中文的關系抽取中就已經取得不錯的效果,Han等[12]則在開放領域的文檔級關系抽取任務中使用了BERT模型,基于DEMMT(Document-level Entity Mask Method with Type Infor mation)的基礎上,提出了基于BERT的one-pass模型,文中模型在DocRED數據上進行實驗,相比于其他State of art模型的F1值提高了6%。
近5年來,圖神經網絡(Graph Neural Network,GNN)逐漸被NLP領域學者們關注。
2017年Quirk等[13]提出基于圖網絡的跨句關系抽取,該文中以句子中的詞作為圖的節點,而其中的邊則由相鄰的詞、依存關系還有語義關系等決定。接下來在圖中計算出所有實體之間的可達路徑,而每一條路徑也表示著不同的文本特征,如句法特征、語義特征和詞性標注等。通過以上特征來抽取出實體之間的關系。同年,Peng等[14]也在N元關系抽取中使用了圖神經網絡,不同的是該文中是將LSTM用于圖神經網絡中。而基于LSTM的圖神經網絡中,如果以文本中的詞作為節點,其中的邊只包含詞與詞之間的鄰接關系,此時的LSTM是常規的線性LSTM神經網絡;但如果邊的信息包含了依存句法樹中所表現的詞之間的依存關系,則變成了樹形LSTM(tree-LSTM),其模型架構見圖2。而與之相近的成果就是Song等[15]所發表的文獻。Song等與Peng等的任務不同之處在于并沒有把圖分為兩個,而是直接在圖上進行迭代t個時間步更新圖的節點,如圖2所示,當前時間步的隱藏狀態,通過在圖結構中與之相鄰的結點信息的上一時間步的信息對其更新獲得。

圖2 基于Graph-LSTM的跨句N元關系抽取模型
在關系抽取任務中,最短依存路徑(Shortest Dependency Path,SDP)被證實能有效地提取實體之間的關鍵信息,Guo等[16]提出了在GCN中使用軟剪枝會對GCN模型的效果有所提升,因此考慮整個依存樹信息來構建鄰接矩陣,并使用多頭子注意力機制進行軟剪枝來區分獲得重要程度。
圖神經網絡在文檔級的關系抽取中,也取得了不錯的效果。Sahu等[17]將文檔中的單詞作為圖結點,同時基于依存句法樹、鄰接的詞語和公指關系來確定邊。類似的工作如Christopoulou等[18]提出的方法,不同之處在于Christopoulou等使用啟發式算法在文檔的不同成分之間建立自然聯系的邊,用邊來構建圖,而這些邊的建立又基于預先定義的文檔級的相互關系,比如Mention-Mention(MM)、Mention-Sentence(MS)等,然后使用圖神經網絡進行特征學習,最后在推理層迭代N次后進行關系分類,該模型在CDR數據集上進行實驗并取得了不錯的效果。
上述所有工作都是基于實體已經被識別出來的基礎上,進行關系抽取任務,我們稱之為基于流水線的關系抽取,它大致地將關系抽取任務分為實體識別和關系抽取兩步。是否能將這兩個步驟進行一體化則是聯合抽取重點解決的問題。
在初期的聯合抽取研究中,學者們試圖通過共享參數的方式將命名實體識別和關系分類任務一體化。這些工作首先找出文本中所有可能的實體對,然后在文中抽取所有的實體組合的關系。命名實體識別任務和關系分類任務都是通過同一個神經網絡進行實現,嚴格意義上,并沒有實現真正的聯合抽取。
Zheng等[19]提出了第一個真正意義上的聯合抽取模型。文中工作的主要思想是將聯合抽取任務轉換成序列標注任務處理。通過組合實體標簽和關系標簽,構建新的標注標簽,通過新的標簽能夠對實體信息和關系信息進行編碼,然后通過使用由BiLSTM和LSTM組成使用該標簽進行序列標注任務,最終通過標注的結果給出句子中所包含的關系三元組。Zeng等[20]提出了使用Eoncode-Decode網絡中的復制機制(Copy Mechanism)進行抽取關系三元組來解決實體重疊的問題。Takanobu等[21]提出使用層次強化學習進行關系抽取任務;Nayak等[22]在Encoder-Decoder框架的基礎上提出了一個詞級的解碼器框架和一個基于指針的解碼器框架。
基于流水線的關系抽取中,數據稀疏問題尤為嚴重,None類別的數據占據了絕大部分,但None類別的數據中并非所有樣本都是無關系類別,部分樣本所屬關系類別可能不在定義的關系集中,導致最終被分類為None類別,而None類別的關系樣本對于深度學習模型沒有太多的幫助也不能幫助構建知識圖譜。
聯合抽取的研究中,目前已有的工作并不能很好地考慮到樣本訓練集或者測試集中不存在關系三元組的情況,因此在未來的研究中如何識別和處理文本中無關系的類別將是一項挑戰。另外,由于數據稀疏的問題和數據集的質量都普遍不高、遷移性差等問題,基于Zero-shot和Few-shot的小樣本學習關系抽取將是未來一段時間的研究熱點。