ACL 2018 論文解讀 | 基於深度強化學習的遠端監督關係抽取
論文動機
本文是北京郵電大學和加利福尼亞大學 Santa Barbara 分校發表在 ACL 2018 上的工作, 論文嘗試使用一種 深度強化學習 框架來生成一個假正例指示器,該框架在沒有任何監督資訊的情況下自動識別每個關係型別例項集中的假正例例項。
與以往研究成果中直接移除假正例的操作不同,該策略則將這些假正例重新分配至相應關係型別的負例例項集中。文章在實驗中,將使用該框架的模型的效能同當前最先進的幾種模型進行了對比。結果顯示,文章提出的框架能給遠端監督關係抽取模型帶來明顯的效能提升。
問題引入
關係抽取是知識圖譜構建的關鍵模組之一,同時它也是許多自然語言處理應用的重要組成部分,諸如情感分析、問答系統和自動摘要等。其核心任務是預測句子中實體間的關係。例如,給定一個句子“Barack Obama is married to Michelle Obama.”,關係抽取的任務即預測出句中兩個實體間的關係為“配偶”關係。
關係抽取演算法最為突出的特點之一是對標註例項存在著數量上的巨大需求,這一任務對於手工標註幾乎是不可能完成的。在此背景下,遠端監督關係抽取演算法應運而生。但該技術並不是完美無缺——遠端監督資料集始終無法擺脫噪聲資料的影響。
為了抑制噪聲,人們嘗試利用注意力機制對含有噪聲的句子集合賦予權重以選擇出有效的訓練樣本。但是,文章認為這種只選擇出一個最佳樣本的思路並不是最優的策略。 為了提高模型的魯棒性,對於假正例不應只是簡單的移除,而是應把它們放在正確的位置——負例集合中。
遠端監督中的強化學習
文章提出一種基於強化學習(Reinforcement Learning,RL)策略的框架,嘗試識別出資料集中的假正例,如下圖所示。
本文提出的框架
與之前未充分利用遠端監督樣本的演算法相比,該策略利用 RL agent 來進行遠端監督關係抽取。這裡 agent 的目標是根據關係分類器效能的變化,決定是保留還是移除當前的例項(即一個句子)。然後,框架進一步使基於 深度強化學習 策略的 agent 學會如何重建一個純淨的遠端監督訓練資料集。
對於強化學習(RL),其擁有的兩個必備元件分別是:外部環境(external environment)和 RL agent,而一個具有良好魯棒性的 agent 正是通過這兩個元件的動態互動而訓練出來的。
文章提出的 RL 方法各基本組成部分描述如下:
狀態(States):為了滿足馬爾可夫決策過程(Markov decision process,MDP)的條件,狀態 s 同時包含當前句子和早期狀態中移除的句子的資訊。句子的語義和句法資訊由一個連續實值向量表示。
文章參考一些效能較好的監督關係抽取演算法,同時使用詞嵌入和位置嵌入以將句子轉換為向量。有了這些句子向量,可以將當前句子向量與早期狀態中移除句子的平均向量級聯起來,用以表示當前狀態。對於當前句子的向量,給予相對較大的權重,以增大當前句子資訊對決策行為的支配性影響。
行為(Actions):在每一步中,agent 都會去判定例項對於目標關係型別是否為假陽性。每一個關係型別都擁有一個 agent, 每個 agent 都有兩個行為:對於當前例項,作出是刪除或是保留的決定。
由於初始的遠端監督資料集中包含有被錯誤標註的例項,期望 agent 能利用策略網路過濾掉這些噪聲例項,由此得到的純淨資料集,以使遠端監督獲得更好的效能。
獎勵(Rewards):如前所述,對於文章提出的模型可簡單的理解為:當錯誤標註資料被過濾掉後,關係分類器便能獲得更好的效能。因此,文章中的模型採用結果驅動策略,以效能變化為依據,對 agent 的一系列行為決策進行獎勵。獎勵通過相鄰 epochs 的差值來表示:
如上式所示,在第 i 步時,F1 增加,則 agent 將收到一個正獎勵;反之,則 agent 將收到一個負獎勵。通過這樣的設定,獎勵值將與 F1 的差值成比例,α 的作用是將 F1 的差值轉換到有理數的範圍內。為了消除 F1 的隨機性,文章使用最近 5 個 epochs 的 F1 值的平均值來計算獎勵。
策略網路(Policy Network): 對於每個輸入的句子,策略網路負責判斷該句子是否表述了目標關係型別,然後對於與目標關係型別無關的句子啟動移除操作。這樣,多元分類器就轉換為了二元分類器。文章使用一個視窗大小為 、kernel size 為
的 CNN 來對策略網路π(s;θ) 建模。
基於深度化學習策略的agent訓練
與遠端監督關係抽取的目標不同, 這裡的 agent 只判斷標註的句子是否表述目標關係型別,而並不對實體間的關係進行預測。
預訓練策略
這裡的預訓練策略,是受到了AlphaGo的啟發,是 RL 中加快 agent 訓練的一種常見策略。對於某一具體的關係型別,直接將遠端監督正例集合作為正例集合,同時隨機選取遠端監督負例集合的一部分作為負例集合。
為了在預訓練過程中能更好的考慮初始資訊,負例項的數量是正例項數量的 10 倍。這是因為,通過學習大量負例樣本,agent 更有可能朝著更好的方向發展。文章利用交叉熵代價函式來訓練這一二元分類器,其中,負標籤對應於刪除行為,正標籤對應於保留行為。
基於獎勵的agent再訓練
如上圖所示,為了能夠識別出噪聲例項,這裡引入一種基於 RL 策略的演算法,其中的 agent 主要用於過濾出遠端監督正例集合中的噪聲樣本。
首先,將該集合分解為訓練正例集合 和驗證正例集合
,這兩個集合中都會包含有噪聲。相應地,訓練負例集合
和驗證負例集合
是通過從遠端監督負例集合中隨機抽取獲得。
在每一個epoch中,通過隨機策略 π(a|s) 從 中過濾出噪聲樣本集合
,進而獲得新的正例集合
。由於
是被識別出的錯誤標註例項,因而將其補充進負例集合
。
此時,每一個epoch中,訓練集的規模是恆定的。之後,使用純淨資料集 Line"/> 來訓練關係分類器。預期的情況是,通過 RL agent 轉移假正例,以提升關係分類器的效能。
為此,利用驗證集合 來測試當前 agent 的效能。首先,利用當前agent對驗證集中的噪聲例項進行識別和轉移,獲得
;然後:利用該集合計算當前關係分類器的F1得分。最後,通過計算當前和上一 epoch 的 F1 得分的差值以獲得獎勵值。
在上述訓練過程中,為避免 agent 將正例集合中的真正例誤刪,在每一個 epoch 中,對 RL agent 移除句子的數目設定一個閾值,即一個 epoch 中移除的句子數目不能超過該值。這樣,如果 agent 決定移除當前例項,則其他例項被移除的概率將變小。
經過上面的強化學習過程,對於每一種關係型別,都得到了一個可作為假正例指示器的 agent,利用這些 agent 來識別出遠端監督資料集中的假正例。
實驗
資料集
文章使用的資料集是通過將從 Freebase 中獲取的實體對與紐約時報(NYT)語料庫對齊而得到的。該資料集中包含 52 種事實關係,以及 1 種特殊關係 NA(表示頭部實體和尾部實體間不存在任何關係)。
實驗設定
基於 深度強化學習 策略的agent
文章提出的 RL agent 僅包括保留和移除兩個行為。因而,可以將 agent 建模為一個二元分類器。使用一個單視窗 CNN 作為策略網路。其超引數的具體設定如下表所示。強化學習的學習速率設定為 。
獎勵計算
由於簡單網路對訓練集的質量更為敏感,因而這裡使用一個簡單的 CNN 模型來評估 agent 的一系列行為。將 與
之比和
與
均設定為 2:1。
強化學習的有效性
下表列出了採用 RL 演算法的模型與未採用 RL 演算法模型的 F1 得分。表中,/peo/per/pob 表示 /people/person/place of birth。
首先,與 Original case 相比,Pretrain agent 取得了明顯的進步:它不僅證明了預訓練策略的合理性。更說明,經過基於 RL 策略的演算法的再訓練之後,F1 得分有了進一步的提升。上述比較說明,本文基於 RL 策略的演算法能夠使 agent 朝著正確的方向進化。
假陽性樣本的影響
下面兩張圖說明,在 RL agent 的幫助下,同樣的模型,分別使用純淨資料集和原始資料集進行訓練,前者的效能要明顯好於後者。
基於CNN的模型的PR曲線
基於PCNN的模型的PR曲線
案例研究
下面這張表顯示的是 agent 選出的部分假正例樣本示例。以實體對(Sami Moubayed, Syria)為例,很明顯,對於關係 /people/person/place of birth,圖中的語料沒有提供任何相對應的資訊。兩句話都是在談論政治分析師 Sami Moubayed 發表的對於 Syria 形勢的分析,其內容與關係 /people/person/place of birth 毫無關聯。
部分假正例樣本的示例
總結
這篇文章提出了一種 深度強化學習 框架,可以有效降低遠端監督資料集中噪聲樣本對關係分類器效能的影響。 之前提出的各種演算法,大多把注意力集中在選擇一個最好的句子。
然而,這些方法並不是最優的,資料噪聲問題仍是影響效能的重要因素。與這些演算法相比,這篇文章提出的演算法通過訓練一個 RL agent,來實現對假正例的識別和移動,通過構建純淨的資料集來提升關係分類器的效能。
文章在 NYT 這一被廣泛使用的語料庫上,對演算法進行了驗證。實驗結果表明,該 深度強化學習 框架與其他深度學習模型相比,在更大程度上提高了遠端監督關係抽取的效能。