EMNLP 2021 | 正则表达式与神经网络的深度融合(续)
神經網絡在自然語言處理的各項任務中獲得了成功, 在通過足夠多標注數據的訓練后, 神經網絡往往有著很好的性能。但是由于在實際領域場景中高質量標注數據的缺失,以及大大小小特殊的需求,“規則”仍然扮演著重要的角色,因為規則可以直接地、清晰地表達人們的知識和意圖。
近年來,越來越多的工作探索如何將規則(例如正則表達式、邏輯)和神經網絡的優勢互相結合。大部分的工作通過多任務學習(multi-task learning)、知識蒸餾(knowledge distillation)、融入規則特征等方式間接地融入規則的信息,這類方法簡單有效,但是規則和神經網絡之間通常聯系不甚緊密。
本文介紹的工作屬于另一種方式,將正則表達式直接轉化成一個對應的神經網絡,使得該神經網絡不需要訓練就有著和正則表達式系統相似的效果,同時,還可以通過標注數據進行訓練以達到更好的性能。
正則表達式
正則表達式(regular expressions)是做字符識別、模式匹配的主要規則工具,可以被用于一些有明顯模式(pattern)的領域分類(如意圖分類)、領域標注任務(如槽填充)。我們以 ATIS 數據集為例,如下圖所示:
1.1 意圖識別(Intent Detection)
“Show the flights from New York to Dallas” 這句話的意圖類別為“查詢航班信息(querying flights)”,給定一句話識別出其正確的意圖類別就是意圖分類任務,是文本分類任務的一種。而我們可以用如下的正則表達式來識別意圖。
例如,我們可以使用下圖的正則表達式來識別“querying flights”的意圖。特殊符號 w 是 wildcard word 可以匹配任意詞,而“*”的意思是可以出現任意次。下面正則表達式的意思是,如果句子中出現了 show … flights … 這樣的語言結構,那么我們就認為其意圖是“querying flight”。
1.2 語義槽填充(Slot Filling)
“Show the flights from New York to Dallas” 中含有兩個我們關心的語義槽,例如“New York”是“出發城市(fr.city)”, “Dallas” 是到達城市。槽填充任務的目的就是識別出句子中的語義槽,通常被建模成一種序列標注任務,用 BIO 的標注方法,類似于命名體識別(Named Entity Recognition)。
我們可以用下圖的帶捕獲組的正則表達式來識別“出發城市(fr.city)”的語義槽。我們在 from 和 to 之間定義了捕獲組,該捕獲組的正則表達式匹配任意的 span,所以該正則表達式將出現在 from 和 to 之間的部分捕獲,并且標注成 fr.city。
對于一些 pattern 比較清晰的領域數據,我們可以對每個意圖、語義槽撰寫正則表達式,通過他們的匹配結果來確定句子的意圖類別以及句子中的語義槽。
正則表達式轉化為神經網絡
我們在 EMNLP 2020 上發表的研究 Cold-Start and Interpretability:Turning Regular Expressions into Trainable Recurrent Neural Networks 將用作意圖分類的正則表達式轉化為可以訓練的神經網絡,PaperWeekly 在此前也有過介紹:正則表達式與神經網絡的深度融合。
論文標題:?
Cold-Start and Interpretability: Turning Regular Expressions into Trainable Recurrent Neural Networks?
論文鏈接:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/emnlp20reg.pdf
本文介紹將重點介紹我們發表于 EMNLP 2021 上的長文,“Neuralizing Regular Expressions for Slot Filling”,將用于語義槽填充的正則表達式轉化為可以訓練的神經網絡的方法。
論文標題:
Neuralizing Regular Expressions for Slot Filling
論文鏈接:
https://aclanthology.org/2021.emnlp-main.747/
代碼鏈接:
https://github.com/jeffchy/RE2NN-SEQ
2.1 方法概覽:將用做槽填充任務的正則表達式轉化為神經網絡
上圖展示了將正則表達式轉化為可以訓練的神經網絡的方法概覽。
首先我們將根據領域知識撰寫好的正則表達式轉化為等價的有限狀態轉換器(Finite-state Transducer, FST)。
之后我們將 FST 轉化為 i-FST(independent-FST),以減少表示 FST 的空間以及推斷的復雜度。
我們將 i-FST 的張量表示進行張量秩分解,用分解后的矩陣來替代原先張量以減小 FST 推斷的時間復雜度。
我們提出、使用了一些不影響對于正則表達式近似的增強網絡表達能力的方法,包括融入外部詞向量,加入 tanh 非線性函數等,最終得到了我們的神經網絡 FSTRNN (Finite-State Transducer RNN)
2.2 正則表達式與有限狀態轉換器(Finite-state Transducer, FST)
任何帶捕獲組的正則表達式都可以被轉化為有限狀態轉換器(FST),FST 是有限狀態機的一種,下圖展示了用作 fr.city 的正則表達式以及它對應的 FST。
FST 是有限狀態機的一種,以圖為例,FST 有起始狀態 ,終止狀態 ,以及若干其他狀態。從起始狀態開始,FST 接受一個輸入序列(如句子),在狀態之間轉移,并且同時輸出一個輸出符號。例如,在讀句子 “Show flights from New York to Dallas” 時,t=3 時刻,剛讀完 from,我們在 FST 的 狀態,接受“New”時,我們從 轉移到了 (因為 接受 wildcard word),并且輸出了 B-fr.city。
我們可以發現,圖中的正則表達式和 FST 是等價的。對于例子中的句子,正則表達式匹配了句子,并且將”New York”捕獲并且標注為 fr.city。而 FST 在接受整個句子之后,在“New York”處輸出了 B-fr.city 和 I-fr.city。達到了同樣的標注效果。對于該 FST 與 RE 在序列標注上的等價性的嚴格的證明見 paper 論文。
2.3 FST的張量表示與i-FST
基于 FST 與正則表達式的等價性,我們下一步希望建模 FST 的運行。直接表示 FST 至少需要一個四階的張量。我們輸入的詞表大小為 V,輸出的標簽集合大小為 L,FST 的狀態數為 K,我們需要一個 VxLxKxK 的張量來表示 state 之間的轉移以及轉移時的輸入、輸出。這樣的空間復雜度以及參數量是我們無法接受的,因此我們提出將 FST 轉化為 i-FST。
如上圖所示,上半部分的 FST 可以被等價地轉化為下半部分的 i-FST。他們的主要區別是,給定 t 時刻到達的狀態,i-FST 的輸出就已經確定了(和上一個狀態以及輸入無關)。而原本的 FST,給定了到達的狀態,我們仍然需要依賴上一個時刻的狀態以及輸入來確定輸出。舉例:在 i-FST 中,如果我們到達了狀態 ,我們就確定了我們的輸出為 I-fr.city。而在 FST 中,若到達了 ,我們有兩種可能的輸出:I-fr.city, B-fr.city。
基于 i-FST 的條件獨立性,我們只需要用一個 VxKxK 的三階張量 T 來表示隨著輸入的狀態轉移,以及一個 KxL 的矩陣 O 來表示到達的狀態與輸出標簽的對應即可。我們還需要兩個 K 維的。
2.4 i-FST的運行。
給定句子 以及 i-FST,直接找到最好的輸出序列 是 NP-Hard 的。因此我們使用近似算法:對于每個位置 t,找到最可能的 。我們可以基于 Variable Elimination,使用和隱馬爾可夫模型的向前向后前向后向算法(forward-backward algorithm)類似的方法來進行每個時刻 的推斷。
我們向前循環地計算 forward score ,并且向后循環地計算 backward score 。通過他們的相乘來得到每個時刻每個狀態的分數。并且乘以矩陣 O 以得到每個時刻每個輸出標簽的分數。可以看出我們的推斷算法非常接近 BiLSTM+Linear 網絡結構的 forward 過程。
2.5 張量秩分解
我們利用張量秩分解將三階張量分解成三個矩陣,并且將 forward score 與 backward score 的計算進行重寫,當張量分解的重建誤差較低時,分解后和分解前有著近似的結果。
2.6 融入外部詞向量
分解后的得到矩陣 可以被看成一個只有規則信息的詞向量矩陣。我們可以將外部詞向量映射到與 R 維度,并且用一個超參數 η 來結合兩個詞向量。當 η 接近 1 時,網絡仍然近似正則表達式。
此外還有其他的一些增強模型的技巧請參照 paper 論文。
2.7 模型訓練與解碼
在 2.4 節中,我們說明了計算出每個時刻每個 label 分數的近似算法。在標注數據上訓練,以及解碼的方式和傳統的神經序列標注模型類似。我們使用 Cross Entropy Loss 或者 CRF Loss 來計算輸出與真實的標注的誤差,用 Adam 來進行優化。我們對應的,使用 Softmax 以及 CRF Viterbi 進行解碼。
實驗
3.1 Baselines
我們的 baseline有正則表達式、傳統序列標注模型(BiGRU+Softmax/CRF, BERT+Softmax/CRF)。我們還對比了其他利用同樣的正則表達式增強神經網絡的方法(MarryUp, Posterior Regularization, Knowledge Distillation)。
3.2 實驗數據集與設置
我們在 ATIS,ATIS-ZH,SNIPS 三個數據集上進行了實驗。我們采取了零樣本、少樣本、多樣本三種設定。數據集、正則表達式的統計信息與樣例如圖。
3.3 試驗結果
3.3.1 零樣本
我們的模型 FSTRNN/GRU 不需要訓練就有著和正則表達式相似的效果。說明我們的模型可以很好的近似正則表達式,并且作為一個神經網絡較好的初始化。
3.3.2 GloVe詞向量的少樣本與全樣本實驗。
我們的模型可以在少量樣本的情況下獲得進一步的效果提升,并且由于比較好的蘊含了規則知識,在少樣本與低資源的設定下有著較好的效果。在全樣本的設定下,數據集平均下來也有著不錯的競爭力,說明我們的模型可以和傳統神經網絡一樣,被標注數據較好的訓練。
3.3.3 With BERT
前面的實驗使用了 GloVe 詞向量。在使用 BERT 的情況下,我們的模型依然有著不錯的樣本表現,并且在 10% 和 100% 的設定下,與沒有用 BERT 的 FSTRNN 相比又著 8% 和 4% 的效果提升,說明我們的模型可以比較好地的 utilize 利用? BERT。
總結
我們提出了 FSTRNN,一種由用做槽填充任務的正則表達式直接轉化而來的神經網絡。實驗表明,FSTRNN 在初始時有著和正則表達式相似的效果,并且可以像傳統神經網絡一樣,能夠較好得 利地用標注數據進行訓練。
研究組介紹
上海科技大學信息學院屠可偉老師研究組主要從事自然語言處理、機器學習等人工智能領域的研究,目前側重于研究語言結構的表示、學習與應用。研究組近幾年已在各大頂會發表論文數十篇,2021 年已發表論文包括 ACL 長文 7 篇、EMNLP 長文 1 篇、NAACL 長文 1 篇等。
研究組招收碩士研究生(推免生)、博士后和研究助理,歡迎有興趣的同學聯系屠老師。
更多信息請訪問屠可偉老師主頁:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
·
總結
以上是生活随笔為你收集整理的EMNLP 2021 | 正则表达式与神经网络的深度融合(续)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 办不了信用卡是什么原因 办信用卡流程分享
- 下一篇: 2019年最赚钱的养殖业 金蝉养殖非常不