正则表达式与神经网络的深度融合
本文介紹了上海科技大學(xué)屠可偉研究組與樂言科技的一項(xiàng)合作研究,提出了將正則表達(dá)式規(guī)則與神經(jīng)網(wǎng)絡(luò)深度融合的新思路。該論文已被 EMNLP 2020 接收為長文。
論文標(biāo)題:
Cold-Start and Interpretability: Turning Regular Expressions into Trainable Recurrent Neural Networks
論文鏈接:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/emnlp20reg.pdf
??
神經(jīng)網(wǎng)絡(luò)發(fā)展至今,在很多自然語言處理任務(wù)上獲得了很大的成功。在有足夠多標(biāo)注數(shù)據(jù)的情況下,神經(jīng)網(wǎng)絡(luò)往往效果驚人。但是,當(dāng)標(biāo)注數(shù)據(jù)匱乏時,神經(jīng)網(wǎng)絡(luò)的性能就會大打折扣。
此外,神經(jīng)網(wǎng)絡(luò)缺少可解釋性以及難以融入外部知識的問題也一直為人所詬病。與之對應(yīng)的,基于符號主義的規(guī)則系統(tǒng),如正則表達(dá)式(regular expression, RE),通常由人類專家基于領(lǐng)域知識構(gòu)建,具備著良好的可解釋性,可用于沒有任何數(shù)據(jù)的冷啟動場景,并且可以通過規(guī)則的增刪和修改來快速應(yīng)對目標(biāo)任務(wù)的變化。
因此,盡管神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)如火中天,在工業(yè)界實(shí)際應(yīng)用場景中,基于規(guī)則的方法仍然有著穩(wěn)固的地位。規(guī)則系統(tǒng)的缺點(diǎn)在于完全依賴于人類專家,無法自動從數(shù)據(jù)中學(xué)習(xí),因而在數(shù)據(jù)資源豐富的場景下難以達(dá)到和神經(jīng)網(wǎng)絡(luò)相近的效果。
?
為了結(jié)合兩者的優(yōu)點(diǎn),近年來如何將規(guī)則更好地融入神經(jīng)網(wǎng)絡(luò)成為了一個重要的研究方向。現(xiàn)有的工作主要利用規(guī)則去約束神經(jīng)網(wǎng)絡(luò),通常使用多任務(wù)學(xué)習(xí) (multitask learning)、知識蒸餾(knowledge distillation)等方法,或是根據(jù)規(guī)則的啟發(fā)設(shè)計(jì)新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
然而,兩類方法仍然需要大量數(shù)據(jù)用于訓(xùn)練,并且前者的神經(jīng)網(wǎng)絡(luò)本身仍然是一個黑盒子,缺乏可解釋性,后者后者難以利用已有規(guī)則進(jìn)行轉(zhuǎn)化或是通過專家手工構(gòu)建。
?
在這篇論文中,我們提出了直接由正則表達(dá)式轉(zhuǎn)化而來的神經(jīng)網(wǎng)絡(luò):FA-RNN (Finite Automata - Recurrent Neural Networks),將其使用在文本分類任務(wù)上,使得基于 FA-RNN 的系統(tǒng)在未經(jīng)訓(xùn)練的情況下與正則表達(dá)式文本分類系統(tǒng)有著相似的準(zhǔn)確率。
同時,FA-RNN 兼?zhèn)渖窠?jīng)網(wǎng)絡(luò)可訓(xùn)練、可泛化的優(yōu)點(diǎn)。我們發(fā)現(xiàn),FA-RNN 在 zero-shot 以及 low-resource 場景下,由于人類知識的融入,與基于神經(jīng)網(wǎng)絡(luò)的基線模型相比有著明顯的優(yōu)勢;在全部數(shù)據(jù)的場景下,FA-RNN 與基線模型有著相當(dāng)?shù)男阅堋?/p>
另外,經(jīng)過訓(xùn)練的 FA-RNNs 可以近似地表示成非確定性有限狀態(tài)自動機(jī)(non-deterministic finite automata, NFA), 進(jìn)而可以近似地轉(zhuǎn)化為正則表達(dá)式,因此有著更好的可解釋性。
背景:正則表達(dá)式與有限狀態(tài)自動機(jī)
正則表達(dá)式是在工業(yè)中最常用的規(guī)則之一。我們以意圖分類數(shù)據(jù)集 ATIS 中的一個類別 [distance] 為例:根據(jù)常識,如果問句里面包含“how far”,“how long”或者 “distance”,那么通常這句話就與[詢問距離]有關(guān)。
因此我們可以對這個類別撰寫出下表第二行的正則表達(dá)式,去匹配如第三行所示的句子(其中 $* 表示任意詞出現(xiàn)任意次)。
▲ 表一
?
對計(jì)算理論有一定基礎(chǔ)的讀者可能會知道,任何正則表達(dá)式都能轉(zhuǎn)化為非確定性有限自動機(jī)(NFA),如上表的第四行,而任何 NFA 也可以表述成一個正則表達(dá)式。
并且有以下重要的關(guān)系:如果讀完了一個句子,自動機(jī)能夠從開始狀態(tài)(s0)走到結(jié)束狀態(tài)(s2),那么,該自動機(jī)接受了這個句子,并且其等價的正則表達(dá)式也匹配了這個句子。
?
1.1 有限狀態(tài)機(jī)的向量化運(yùn)行
我們會發(fā)現(xiàn),這個有限狀態(tài)自動機(jī)可以用一個三維張量,以及兩個向量表示,張量的三個緯度分別是詞表大小 V,自動機(jī)狀態(tài)數(shù) S,以及狀態(tài)數(shù) S,可以看成是由每個單詞對應(yīng)的轉(zhuǎn)移矩陣 stack 起來組成。兩個向量分別表示了自動機(jī)的初始狀態(tài)以及結(jié)束狀態(tài)。
如下圖所示,對于一個句子,我們可以得到每一個單詞的轉(zhuǎn)移矩陣,若該矩陣的第 i 行第 j 列為 1,則表示可以通過該單詞從狀態(tài) si 轉(zhuǎn)移到 sj。因此,我們可以用前向算法(forward algorithm)或者維特比算法(viterbi algorithm)來計(jì)算句子被該自動機(jī)接受的分?jǐn)?shù)。
▲ 圖一
我們以前向算法為例:讀完整個句子之后,從開始狀態(tài)到達(dá)任一結(jié)束狀態(tài)的路徑數(shù)可以表示為:
我們只要改換一下 notation 以及公式的形式,這個計(jì)算過程就可以被看成一個 RNN。其中 A 是指自動機(jī)(automata),x 為句子。
ht 類似 RNN 中的隱狀態(tài)向量,他的維度等于自動機(jī)狀態(tài)數(shù)。ht 的每一個維度就表示:在讀了 t 個單詞之后,有多少條路徑能夠從開始狀態(tài)到該維度對應(yīng)的自動機(jī)狀態(tài)。
?
1.2 規(guī)則的文本分類系統(tǒng)
?
接下來我們描述一個基于正則表達(dá)式的文本分類系統(tǒng)。如下圖的上半部分所示,我們針對輸入句子運(yùn)行所有的正則表達(dá)式,得到匹配結(jié)果,然后通過一些邏輯操作,將匹配的結(jié)果整合。
例如,如果一句話只被針對 A 類別的正則表達(dá)式匹配,那么他的標(biāo)簽是 A 類別;如果這句話被 A,B 兩個類別都匹配,那么我們可以通過事先定義一個優(yōu)先級關(guān)系來選出更可能的類別。這些都可以用邏輯操作來實(shí)現(xiàn)。
所以,正則表達(dá)式的分類系統(tǒng)先匹配(matching),再整合匹配結(jié)果(aggregation)來得到句子的標(biāo)簽。
▲ 圖二
?
方法:從RE到FA-RNN,從規(guī)則系統(tǒng)到神經(jīng)網(wǎng)絡(luò)
2.1 減少模型參數(shù)、結(jié)合詞向量的FA-RNN
如果直接由 RE 轉(zhuǎn)化而來,FA-RNN 的參數(shù)需要包括三維張量 (VxSxS)。這個三維張量相比于傳統(tǒng)的詞向量矩陣 (VxD) 過于大了,并且不包含詞向量中存在的語義信息。
我們利用了張量秩分解(tensor rank decomposition,CP decomposition)的技術(shù),用 ER, D1, D2 三個大小分別為 VxR, SxR 與 SxR 的矩陣來近似表示原來的張量,其中,S 為自動機(jī)狀態(tài)數(shù),R 為 rank 數(shù)。原來公式 (1)? 中的迭代公式由此變?yōu)榱?#xff1a;
記 t 時刻的輸入為 x_t,?我們可以把 ER 看成一個只包含規(guī)則信息的詞嵌入矩陣,vt 則是 ER 矩陣的對應(yīng)行選出的 R 維詞向量。由此,我們模型的參數(shù)量大大減少,相當(dāng)甚至更少于 LSTM, GRU 等循環(huán)神經(jīng)網(wǎng)絡(luò)。
?
接下來我們介紹我們結(jié)合詞向量(如:glove)的方法。為了結(jié)合 D 維度的詞向量,我們利用一個 DxR 的矩陣 G 將詞向量從 D 映射到 R 維空間,這個矩陣 G 可以初始化為詞嵌入矩陣 Ew 的違逆乘上 ER。我們再引入一個 0,1 之間的超參數(shù)來結(jié)合 vt 與 G 映射后的兩個 R 緯詞向量,控制接受多少詞向量語義的信息,更新公式變?yōu)槿缦?#xff1a;
我們將這個模型稱之為 FA-RNN。經(jīng)過了張量分解、詞向量結(jié)合之后,在 zero-shot 的場景中,FA-RNN 仍然能夠得到和規(guī)則系統(tǒng)接近的準(zhǔn)確率。
例如在 ATIS 數(shù)據(jù)集(Hemphill et al., 1990)中,規(guī)則系統(tǒng)的準(zhǔn)確率為 87.01%,FA-RNN 仍然能夠達(dá)到 86.53% 的準(zhǔn)確率,而大部分的神經(jīng)網(wǎng)絡(luò)初始的準(zhǔn)確率近似于隨機(jī)。另外,我們提出了 FA-RNN 的雙向以及門控變體,不過模型可解釋性相應(yīng)下降了。
2.2 從規(guī)則系統(tǒng)到可以訓(xùn)練的神經(jīng)網(wǎng)絡(luò)
有了 FA-RNN,我們就可以用它構(gòu)造規(guī)則系統(tǒng)的“神經(jīng)網(wǎng)絡(luò)版本”,如圖二的下半部分所示。FA-RNN 的最后一個“hidden state”包含了正則表達(dá)式的匹配信息,我們可以通過一個 MLP 來整合匹配結(jié)果。
第一個 linear 層取出所有自動機(jī)的接收狀態(tài)(final state)的值,第二個 linear 層可以利用 soft logic 進(jìn)行簡單的邏輯操作,并且最終得到每個類別的分?jǐn)?shù)。這些分?jǐn)?shù)的理想值為非負(fù)正數(shù)。
可以看到,我們的模型結(jié)構(gòu)非常類似于傳統(tǒng)的 RNN+MLP,同時模型輸出的結(jié)果完全與規(guī)則系統(tǒng)一致。與規(guī)則系統(tǒng)不同的是,我們可以直接將模型輸出的標(biāo)簽分?jǐn)?shù)利用 cross-entropy 損失函數(shù)進(jìn)行訓(xùn)練。
?
實(shí)驗(yàn)以及實(shí)驗(yàn)結(jié)果
3.1 baselines
我們比較了結(jié)構(gòu)對應(yīng)的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)。具體結(jié)構(gòu)為 BiRNN / BiGRU / BiLSTM / CNN / DAN 給句子做 encoding,用 Linear 層輸出每個 label 的 score。除此之外,我們使用了一些已有方法將規(guī)則與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)合。
分別是 Luo et, al 提出的三種利用正則表達(dá)式匹配結(jié)果的方式(+i: 將正則表達(dá)式匹配結(jié)果作為額外的特征輸入,+o: 利用 RE 結(jié)果直接改變輸出 logits, +io 前兩者結(jié)合),以及兩種基于知識蒸餾的方式,分別記為 +kd(Hinton et al., 2015)以及 +pr(Hu et al. 2016)。
?
3.2 數(shù)據(jù)集
我們在三個文本分類數(shù)據(jù)集上實(shí)驗(yàn),分別是 ATIS (Hemphill et al.,?1990), Question?Classification (QC) (Li and Roth,?2002) 以及 SMS (Alberto et al.,?2015). 我們使用了 glove 詞向量。下表顯示了數(shù)據(jù)集以及規(guī)則的統(tǒng)計(jì)信息以及樣例。
▲ 表二:數(shù)據(jù)集統(tǒng)計(jì)及規(guī)則樣例
?
我們發(fā)現(xiàn),FA-RNN 在 zero-shot 以及 low-resource 的場景下有著明顯的優(yōu)勢,并且在 full-shot 上仍然能夠得到與傳統(tǒng)簡單神經(jīng)網(wǎng)絡(luò)方法以及其經(jīng)過規(guī)則加強(qiáng)后相似的準(zhǔn)確率。結(jié)果如下:
▲ 表三:zero-shot 準(zhǔn)確率
▲?表四:few-shot 、full dataset 準(zhǔn)確率
?
3.3 模型可解釋性的探索
?
訓(xùn)練過后的 FA-RNN 參數(shù)可以還原出 VxSxS 的三維的張量。不過不再是非零即一了,因此不再對應(yīng)非確定性有限自動機(jī) (NFA),而對應(yīng)了帶權(quán)有限狀態(tài)自動機(jī)(weighted finite automata, WFA)。
?
由于 FA-RNN 與計(jì)算模型 WFA 的對應(yīng)關(guān)系,我們認(rèn)為他相比較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)有著更強(qiáng)的可解釋性。進(jìn)一步地,我們可以設(shè)定一個閾值,將 WFA 中大于閾值的認(rèn)為是 1,小于的認(rèn)為是 0,從而將 WFA 轉(zhuǎn)化為 NFA,并將 NFA 轉(zhuǎn)化為人類可讀的正則表達(dá)式。
?
下圖展示了 ATIS 數(shù)據(jù)集中在訓(xùn)練前與訓(xùn)練后針對 [aircraft] 類別的自動機(jī)變化。可以看到,新的自動機(jī)可以考慮更全面的情況,例如識別到句子中有 jet, 737(boeing) 的時候認(rèn)為該句子在描述 aircraft。
我們發(fā)現(xiàn),訓(xùn)練過后的 FA-RNN 轉(zhuǎn)化為的正則表達(dá)式,雖然是有損的轉(zhuǎn)化,也能達(dá)到和訓(xùn)練之前的系統(tǒng)相近甚至更高的準(zhǔn)確率。在 QC 數(shù)據(jù)集上提升了 9.2% 的準(zhǔn)確率,在 ATIS 上提升了 0.45%,在 SMS 上稍有下降 (-1.2%)。
?
總結(jié)
我們提出了直接由正則表達(dá)式轉(zhuǎn)化而來的神經(jīng)網(wǎng)絡(luò):FA-RNN ,并將其應(yīng)用在文本分類任務(wù)上,使得基于 FA-RNN 的系統(tǒng)在未經(jīng)訓(xùn)練的情況下與正則表達(dá)式文本分類系統(tǒng)有著相似的準(zhǔn)確率。
通過實(shí)驗(yàn)發(fā)現(xiàn),與基線模型相比,由于知識的融合,FA-RNN 的文本分類系統(tǒng)在 zero-shot 與 low-resource 場景下有著更好的效果,在全部數(shù)據(jù)的訓(xùn)練場景下也有著不錯的競爭力。同時,FA-RNN 可以轉(zhuǎn)化為計(jì)算模型 WFA,甚至正則表達(dá)式,因此有著更好的可解釋性。
研究組介紹
上海科技大學(xué)信息學(xué)院屠可偉老師研究組主要從事自然語言處理、機(jī)器學(xué)習(xí)等人工智能領(lǐng)域的研究,目前側(cè)重于研究語言結(jié)構(gòu)的表示、學(xué)習(xí)與應(yīng)用。
研究組近幾年已發(fā)表頂會論文數(shù)十篇,其中三篇無監(jiān)督句法解析的論文已被美國卡內(nèi)基梅隆大學(xué)自然語言處理課程列為閱讀材料,另一篇論文是 ACL2018 句法領(lǐng)域的最高分論文。2020 年到目前為止,研究組已發(fā)表 ACL論文4篇,EMNLP 論文3篇,EMNLP Findings 論文4篇。
研究組現(xiàn)招收碩士研究生(推免生)、博士后和研究助理,歡迎有興趣的同學(xué)聯(lián)系屠老師。
更多信息請?jiān)L問屠可偉老師主頁:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實(shí)驗(yàn)室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請?jiān)谕陡鍟r提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨(dú)在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機(jī)),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的正则表达式与神经网络的深度融合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东芝中央空调报错e04
- 下一篇: 2020年度“CCF-百度松果基金”评审