當前位置:
首頁 > 科技 > CL 2018:斯坦福大學:用自然語言解釋訓練分類器

CL 2018:斯坦福大學:用自然語言解釋訓練分類器

你和「懂AI」之間,只差了一篇論文

很多讀者給芯君後台留言,說看多了相對簡單的AI科普和AI方法論,想看點有深度、有厚度、有眼界……以及重口味的專業論文。

為此,在多位AI領域的專家學者的幫助下,我們解讀翻譯了一組頂會論文。每一篇論文翻譯校對完成,芯君和編輯部的老師們都會一起笑到崩潰,當然有的論文我們看得抱頭痛哭。

同學們現在看不看得懂沒關係,但芯君敢保證,你終有一天會因此愛上一個AI的新世界。

讀芯術讀者論文交流群,請加小編微信號:zhizhizhuji。等你。

這是讀芯術解讀的第120篇論文

ACL 2018 Long Papers

用自然語言解釋訓練分類器

Training Classifiers with Natural Language Explanations

斯坦福大學

Stanford University

本文是斯坦福大學發表於 ACL 2018 的工作,文章提出了一個用於訓練分類器的框架BabbleLabble,解決傳統精確分類器訓練需要許多標籤,但是每個標籤只提供有限信息(二進位分類的一位)的問題。注釋器為每個標記決策提供自然語言解釋,語義解析器將這些解釋轉換為編程的標記函數,該函數為任意數量的未標記數據生成雜訊標籤,用於訓練分類器。在三個關係抽取任務中,我們發現,通過提供解釋而不是僅僅標籤,用戶能夠更快地訓練具有相當F1分數的分類器。

引言

獲得標記數據集的標準協議是讓人類注釋者查看每個示例,評估其相關性,並提供標籤(例如,二進位分類的正或負)。但是,每個示例只提供一個比特信息。這就引出了一個問題:如果注釋者已經花費了大量的精力去閱讀和理解一個例子,那麼我們如何才能得到更多的信息呢?

以前的作品依賴於識別輸入的相關部分,如標記特徵、突出文本中的基本短語、或標記圖像中的相關區域。但是,某些類型的信息不容易被簡化為注釋輸入的一部分,例如缺少某個單詞,或者存在至少兩個單詞。在這項工作中,我們挖掘自然語言的力量,並允許注釋者通過自然語言解釋為分類器提供監督。

特別地,我們提出了一個框架,其中注釋器為它們分配給示例的每個標籤提供自然語言解釋(參見下圖)。這些解釋被解析為表示標記函數(LF)的邏輯形式,這些函數啟發式地將示例映射到標籤。然後,在許多未標記的示例上執行標記函數,從而產生大量的、弱監督的訓練集,然後使用該訓練集來訓練分類器。

自然語言邏輯形式的語義分析是一個具有挑戰性的問題,並且得到了廣泛的研究。我們的主要發現之一是,在我們的設置中,即使一個簡單的基於規則的語義分析器也足夠,原因有三:首先,我們發現大多數不正確的LF都可以在語義上自動過濾掉(例如,它與相關的示例一致嗎?)或者實用地(例如,它是否避免為整個訓練集分配相同的標籤?)第二,邏輯形式空間中靠近黃金LF的LF通常同樣精確(有時甚至更精確)。第三,建立組合弱監督源的技術可以容忍一些雜訊。其意義在於,我們可以在任務之間部署相同的語義解析器,而無需進行特定任務的訓練。

我們的工作與Srivastava的工作最相似,Srivastava使用自然語言解釋來訓練分類器,但有兩個重要的區別。首先,它們聯合訓練任務特定的語義解析器和分類器,而我們使用簡單的基於規則的解析器。在第四節中,我們發現,在我們薄弱的監管框架中,基於規則的語義解析器和完美的解析器產生幾乎相同的下游性能。其次,雖然他們使用解釋的邏輯形式來直接產生提供給分類器的特徵,但我們使用它們作為標記更大訓練集的函數。我們發現使用函數比特徵產生9.5F1的改進(26%的相對改進),並且F1分數隨著可用的未標記數據的數量縮放。

我們在文獻中的兩個現有數據集和一個真實世界的用例上驗證我們的方法,我們的生物醫學合作者從文本中提取與帕金森病相關的蛋白激酶相互作用。根據經驗我們發現,當用戶提供自然語言解釋而不是單個標籤時,他們能夠更快地訓練具有可比F1分數的分類器,最高可達兩個數量級。我們的代碼和數據可以在http://Github. COM/HasyReals/Bable中找到。

模型

BabbleLabble框架將自然語言解釋和未標記數據轉換為標記雜訊的訓練集(參見下圖)。有三個關鍵組件:語義解析器、過濾器組和標籤聚合器。語義解析器將自然語言解釋轉換為表示標記函數(LF)的一組邏輯形式。過濾器組在不需要真正標籤的情況下儘可能地去除不正確的LF。剩餘的LF用於未標記的示例以產生標籤矩陣。這個標籤矩陣被傳遞給標籤聚合器,它將這些潛在的衝突和重疊的標籤組合為每個示例的一個標籤。然後使用所得的標記示例來訓練任意判別模型。

為了創建輸入解釋,用戶查看未標記數據集D的一個子集S(其中|S|《|D|),並且為每個輸入xi∈S提供一個標籤yi和一個自然語言解釋ei,這是一個解釋該示例為什麼應該接收該標籤的句子。解釋ei通常指的是示例的特定方面(例如,在圖2中,特定字元串「his wife」的位置)。

語義解析器:語義解析器在二進位分類

中,採用自然語言解釋ei並返回一組LFs(邏輯形式或標記函數),其中0表示棄權。我們強調這個語義解析器的目標不是生成單個正確的解析,而是覆蓋許多潛在有用的LFs。

我們選擇一個簡單的基於規則的語義分析器,可以在沒有任何訓練的情況下使用。解析器使用一組形式為αβ的規則,其中α可以被β中的token替換(參見下圖)。為了識別候選LF,我們基於語法規則定義的替換,為解釋的每個跨度遞歸地構造一組有效的語法分析。最後,解析器返回與整個解釋相對應的所有有效解析(在本例中為LFs)。

我們還允許在查找匹配規則時忽略給定跨度中任意數量的tokens。這提高了解析器處理意外輸入(如未知單詞或輸入錯誤)的能力,因為可解析的輸入部分仍然可以導致有效的解析。例如,在上圖中,「person」一詞被忽略。

語法中包括的所有謂詞(下表)都提供給注釋器,每個謂詞的使用示例都很少。重要的是,所有規則都與域無關(例如,我們測試的所有三個關係提取任務都使用相同的語法),使得語義解析器易於轉移到新的域。此外,雖然本文重點討論關係提取的任務,但原則上BabbleLabble框架可以通過使用必要的基元擴展語法(例如,為行和列添加基元以便能夠解釋對齊器)來應用於其他任務或設置。單詞表中的TS)。為了指導語法的構建,我們從Amazon Machinery Turk的工作人員那裡收集了500個關於Spouse域的解釋,並添加了對最常用謂詞的支持。語法包含200個規則模板。

濾波器組:過濾器組的輸入是由語義解析器生成的一組候選LFs。過濾器組的目的是在不需要附加標籤的情況下丟棄儘可能多的不正確的LF。它包括兩類過濾器:語義和語用。

回想一下,每一個解釋ei都是在一個特定的標記實例(xi,yi)的上下文中收集的。語義過濾器檢查與它們對應的例子不一致的LFs;對於f(xi)≠yi丟棄任意LF f。例如,在第二個圖的第一個解釋中,「right」一詞可以被解釋為「立即」(如「權利之前」)或者簡單地「向右」。後一種解釋導致與相關示例不一致的功能(因為「他的妻子」實際上在person 2的左邊),因此可以安全地刪除它。

實用過濾器去除了常數、冗餘或相關的LFs。例如,在第二個圖中,LF 2a是常數,因為它積極地標記每個示例(因為所有示例都包含來自同一句子的兩個人)。LF 3b是冗餘的,因為即使它具有與LF 3a不同的語法樹,它也同樣地標記訓練集,因此不提供新的信號。

最後,在通過所有其他濾波器的相同解釋的所有LF中,我們只保留最特定的(最低覆蓋率)LFs。這防止多個相關的LFs從單個示例中佔據主導地位。

標籤聚合器:標籤聚合器結合了來自LFs的多個(有可能衝突的)建議標籤,並將它們組合成單個概率標籤。具體地說,如果m LFs通過濾波器組並應用於n個實例,則標籤聚合器實現函數f:{-1, 0, 1 }m×n[0, 1 ]n。

本文使用數據編程將真實標籤和標籤輸出的關係建模為因子圖。給定真標記Y∈n(潛在的)和標籤矩陣(觀察到的),其中,我們定義了表示標籤傾向和準確性的兩類因子:

定義與一個給定數據點xj的向量為

,定義模型為:

其中是權重向量,Zw是歸一化常量。為了在不知道真正標籤Y的情況下學習模型,我們最小化給定觀測標籤的負log邊緣似然:

使用SGD和Gibbs採樣進行推理,然後使用邊緣作為概率訓練標籤。

判別模型:利用標籤聚合器輸出的帶雜訊標籤的訓練集來訓練任意的判別模型。在任務上訓練判別模型而不是直接使用標籤聚合器作為分類器的一個優點是,標籤聚合器僅考慮LF中包括的那些信息。另一方面,判別模型可以結合用戶未識別但信息量大的特徵。因此,即使所有LF被棄用的例子也可以被正確分類。我們的評估結果顯示,對於三個任務,使用判別模型高於直接使用標籤聚合器4.3個F1點。

對於本文的結果,我們的判別模型是一個簡單的邏輯回歸分類器,具有定義在依賴路徑上的一般特徵。這些特徵包括引理的一元、二元、三元文法、依存標籤,以及在兄弟、父結點中發現的詞性標籤。我們發現,平均而言,這比biLSTM的性能更好,特別是對於訓練集大小較小的傳統監督的基線;它還提供了易於解釋的特徵用於分析。

實驗與分析

我們評估了BabbleLabble在三種關係提取任務中的準確性,我們稱之為Spouse, Disease和 Protein。每個任務的目標是訓練用於預測示例中的兩個實體是否具有興趣關係的分類器,下表中報告了每個數據集的統計數據。

下圖中給出了每個數據集的一個示例和一個解釋。

我們根據用戶輸入的數量、對正確解析的邏輯形式的依賴以及使用邏輯形式的機制來評估BabbleLabble的性能。

在下表中,我們報告使用BabbleLabble訓練的分類器的平均F1得分,使用30種解釋或具有指示標籤數量的傳統監督。平均來說,收集30個解釋花費的時間與收集60個標籤花費的時間相同。我們注意到,在所有三個任務中,BabbleLabble用比傳統監督少得多的用戶輸入獲得給定的F1分數,在Spouse任務的情況下多達100倍。因為解釋被應用於許多未標記的示例,來自用戶的每個單獨輸入可以隱式地為學習演算法貢獻許多(雜訊)標籤。

在下表中,我們報告過濾之前和之後的LF匯總統計。LF正確性指的是提取結果與每個手動生成的解析的精確匹配度。令人驚訝的是,簡單的基於啟發式的過濾器組在所有三個任務中成功地去除了超過95%的不正確LF,最終得到的LF集平均正確率為86%。此外,在通過過濾器組的那些LF中,我們發現正確和不正確解析之間的最終任務精度的平均差異小於2.5%。直觀地,這些過濾器是有效的,因為從解釋中解析LF、正確地標記自己的示例(通過語義過濾器)以及不用相同的標籤或相同的標籤標記訓練集中的所有示例(通過語用文件)是非常困難的。

我們更進一步:使用由完美語義解析器生成的LF作為起點,我們在測試集上搜索具有更高端任務準確性的「附近」LF(LF僅與一個謂詞不同),並且成功率為57%(參見下圖)。

換句話說,當用戶提供解釋時,他們所描述的信息提供了良好的輔助,但是實際上它們不太可能是最佳的。下表進一步印證這種觀察,它表明需要過濾器組來移除明顯不相關的LF,簡單的基於規則的語義解析器和完美的解析器具有幾乎相同的平均F1分數。

在下表中,我們直接比較這兩種方法,發現數據編程方法與基於規則的解析器相比,性能優於基於特徵的方法。

我們把這種差異主要歸因於數據編程利用未標記數據的能力。在下圖中,我們展示了數據編程方法如何隨著未標記示例的數量而改進,即使LF的數量保持不變。我們還定性地觀察到,數據編程將分類器暴露於與我們的解釋相關但沒有直接提到的附加模式。

總結

從機器學習的角度來看,標籤是主要的資產,但它們提供了注釋器和學習演算法之間的較少的信息量。自然語言解釋開闢了更多信息傳輸的通道。在關係抽取方面,本文已經顯示了較好的結果(其中一種解釋可以「比得上」100個標籤),未來將我們的框架擴展到其他任務和更多互動式設置上將是一個非常有趣的研究方向。本文的代碼、數據和實驗可以在CodaLab平台上通過https://worksheets.codalab.org/worksheets/0x900e7e41deaa4ec5b2fe41dc50594548/獲得。

論文下載鏈接:

http://aclweb.org/anthology/P18-1175

留言 點贊 發個朋友圈

我們一起分享AI學習與發展的乾貨


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 讀芯術 的精彩文章:

ACL 2018:華盛頓大學:學習使用協同判別器進行寫作
想提高預測精度?7步教你微調機器學習模型

TAG:讀芯術 |