日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能 正文
發(fā)私信給木子
發(fā)送

0

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

導語:本文介紹了一種神經(jīng)規(guī)則引擎(Neural Rule Engine),可以從規(guī)則中學習知識,同時又通過神經(jīng)網(wǎng)絡來泛化知識,這與人類學習知識的方式有異曲同工之妙。

雷鋒網(wǎng)按:本文原作者為深度好奇研究組,原發(fā)表于公眾號“深度好奇AI”(deeplycurious)。雷鋒網(wǎng)已獲授權轉(zhuǎn)載。

論文題目:Generalize Symbolic Knowledge With Neural Rule Engine

論文地址:(請戳此處)

目前的自然語言處理任務中,神經(jīng)網(wǎng)絡模型在學術界占據(jù)了絕對的優(yōu)勢,然而,基于符號知識的規(guī)則系統(tǒng)仍然在工業(yè)界大有用武之地。人類語言是一種非常復雜的現(xiàn)象,為了更好地構建語言智能系統(tǒng),可以將神經(jīng)網(wǎng)絡和符號知識融合使用,集成二者的優(yōu)勢。

近兩年來,神經(jīng)符號學習(Neural Symbolic Learning)成為一個非常熱門的方向,不少優(yōu)秀的科研工作把符號知識引入神經(jīng)網(wǎng)絡模型,增強了模型的學習能力和可解釋性,在一些經(jīng)典的NLP任務上都取得了不錯的效果。與這種融合方式相反,近日,深度好奇的研究者們提出了一種全新的融合策略——利用NN模型來改進規(guī)則的效果。NN模型的優(yōu)點是靈活性高、泛化能力強、魯棒性好,如果將NN模型的這些優(yōu)勢賦予規(guī)則系統(tǒng),會產(chǎn)生出怎樣的火花呢?

本文介紹了一種神經(jīng)規(guī)則引擎(Neural Rule Engine,NRE),NRE可以從規(guī)則中學習知識,同時又通過神經(jīng)網(wǎng)絡來泛化知識,這與人類學習知識的方式有異曲同工之妙。

具體來說,NRE由神經(jīng)模塊網(wǎng)絡(Neural Module Networks)構成,其中的每一個模塊代表了規(guī)則中的一種操作,而模塊的實現(xiàn)形式既可以是神經(jīng)網(wǎng)絡,也可以是符號算法。并且,給定少量的標注樣本,可以使用強化學習來微調(diào)(Finetune)學習效果。實驗證明,NRE可以大幅提升規(guī)則的召回率(Recall),同時還能將精確率(Precision)維持在較高的水準。

舉個具體的規(guī)則例子,對于一個判斷案件類型的分類任務來說,案件內(nèi)容如下:

“2003年12月21日中午12時,東浦村張某與王某某二人到臨西縣游玩,被三名男子跟蹤,后用刀威逼,搶走手機一只?!?/span>

根據(jù)經(jīng)驗來看,如果案件表述中有“跟在.*后面|跟蹤”,一般屬于“尾隨作案”,但是如果其中有“事主.*跟隨”的話就不是。所以,針對“尾隨作案”類別,可以寫一條規(guī)則:

跟在.*后面|跟蹤@@事主.*跟隨

其中“@@”左邊藍色的是正規(guī)則,也就是句子中必須匹配上的內(nèi)容,“@@”右邊紅色的是負規(guī)則,也就是句子中不能包含的內(nèi)容。

由于正則表達式是有限狀態(tài)機的一種,所以可以定義一些操作(Action)來解析正則表達式規(guī)則,比如:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

用預先定義好的操作來表示規(guī)則,如下圖所示:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

每一條規(guī)則都可以被拆解成樹狀結(jié)構,拆解的過程依賴于Rule Parser。由于整個系統(tǒng)的設計既考慮了符號性又考慮了神經(jīng)網(wǎng)絡的特性,所以對于規(guī)則的拆解上既可以用符號算法來實現(xiàn)也可以用Neural Rule Parser來實現(xiàn)。由于樹狀結(jié)構可以轉(zhuǎn)變成逆波蘭表達式(Reversed Polish Notation)的形式(如下圖):

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

因此可以采用一個Seq2Seq的神經(jīng)網(wǎng)絡模型來實現(xiàn)對規(guī)則的拆解。具體如下:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

給定一條規(guī)則,鑒于同時預測模塊和模塊所需參數(shù)較為困難,所以可以采取分步的方式來預測。第一步先預測操作序列,第二步根據(jù)規(guī)則和已經(jīng)預測出來的操作來預測每個操作所對應的參數(shù)。為了讓預測的結(jié)果更加可靠,在訓練階段,我們加入了微調(diào)(Finetune)過程,對于預測出來的操作序列根據(jù)在真實事例上的表現(xiàn)用強化學習來進行模型的調(diào)整。

得到rule parsing的結(jié)果后,即可對模塊進行組裝。在本文中,F(xiàn)ind模塊和And_Ordered模塊都采用了神經(jīng)網(wǎng)絡的設計。

Find模塊

Find(x)模塊是用來查找句子中匹配x部分的內(nèi)容,可以用正則表達式的匹配來實現(xiàn),也可以用神經(jīng)網(wǎng)絡來實現(xiàn)。神經(jīng)網(wǎng)絡的Find模塊如下:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

對于每一個句子來說,F(xiàn)ind(x)操作就是在句子中找到x,x可以是一個字、一個詞或者是一個N-gram。無論用神經(jīng)網(wǎng)絡實現(xiàn)還是用正則表達式的match(x)來實現(xiàn),任務都可以看作是對句子做序列標注,也就是對句子中的每一個單位都標注“是否匹配”的標簽。具體來說,對于句子中的每一個單位,先獲取到它滑動窗口的上下文,并令上下文和要查找的x都通過相同的編碼器(Encoder),之后用評價函數(shù)來對二者的相似程度進行打分,最后根據(jù)每個位置的所有分數(shù)來判斷當前位置的標簽。

And_Ordered模塊

And_Ordered模塊可以采取如下設計:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

And_Ordered操作是用來判斷兩個輸入之間是否滿足一定的距離關系。通常來說,輸入就是子節(jié)點給出的標記結(jié)果,如r0和r1。為了讓神經(jīng)網(wǎng)絡更容易判斷輸入之間的距離,我們可以引入距離標記d0和d1。結(jié)合句子原文,And_Ordered模塊可以判斷出兩個子節(jié)點的輸入是否滿足距離關系。

模型訓練

在訓練過程中,模塊和Neural Rule Parser都采取了預訓練+微調(diào)的策略。在訓練時,先對數(shù)據(jù)和規(guī)則進行訓練集/驗證集/測試集的劃分,為了避免數(shù)據(jù)泄漏,各部分之間不能混用。訓練模塊的時候,先根據(jù)數(shù)據(jù)隨機生成各個模塊的訓練樣本,在訓練到一定程度時,把訓練集中的規(guī)則真實應用于訓練集中的數(shù)據(jù),按照數(shù)據(jù)的真實標簽采用強化學習的方式對模塊進行微調(diào)。對于Neural Rule Parser也按照類似策略,依前文方式進行訓練。

Neural Rule Engine (NRE)

NRE集合了上述的組件:NN/算法實現(xiàn)的模塊,NN/算法實現(xiàn)的Rule Parser。NRE的整體架構如下圖所示:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

對于給定的一條事例和一條規(guī)則,NRE先將規(guī)則拆解成由模塊組成的樹狀結(jié)構,之后根據(jù)樹狀結(jié)構將規(guī)則應用于具體的語句上,從而給出匹配后的結(jié)果。

實驗

論文在中文案情分類(Chinese crime case classification)任務和SemEval-2010 relation classification任務上進行了實驗。實驗結(jié)果如下:

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

NRE在中文案情分類數(shù)據(jù)集上的結(jié)果

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

NRE在關系分類數(shù)據(jù)集上的結(jié)果

上面的結(jié)果顯示,RE的Precision很高,但是Recall相對較低。而第二組Baseline是傳統(tǒng)意義上的序列模型,并不能處理好正則表達式,特別是正則表達式除了局部的匹配還需要考慮有層級關系的全局匹配,傳統(tǒng)的序列模型很難處理好這些情況。NRE則能帶來Recall接近翻倍的效果,同時Precision仍維持在較高的水平。需要關注的是,微調(diào)(Finetune)對NRE來說是至關重要的,因為NRE在預訓練階段是單純地在訓練各個模塊,而微調(diào)是讓規(guī)則在真實場景中調(diào)整的關鍵。

同時,由于NRE可以充分利用神經(jīng)網(wǎng)絡和符號二者的優(yōu)勢,為了探究規(guī)則的泛化性從何處而來,我們還進行了額外的實驗。我們通過對不同部分分別采用神經(jīng)網(wǎng)絡和符號算法,從而得到了混合的模型(見下表)。隨著神經(jīng)網(wǎng)絡的介入,NRE整體的Recall表現(xiàn)會更好,而Precision在合理的范圍內(nèi)有所下降。實際上,這是因為神經(jīng)網(wǎng)絡的靈活性所帶來的優(yōu)勢,彌補了規(guī)則匹配的僵硬。

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

神經(jīng)網(wǎng)絡和符號算法的不同組合,其中“_”左邊是神經(jīng)網(wǎng)絡的實現(xiàn),右邊是算法實現(xiàn),“P”是“Find_Positive”,“N”是“Find_Negative”,“A”是“And_Ordered”,“S”是“Rule Parser”。

另一方面,研究模型給出的結(jié)果可以發(fā)現(xiàn),F(xiàn)ind模塊帶來了巨大的泛化能力。傳統(tǒng)的正則表達式是對樣式進行匹配,而NRE在一定程度上是對語義進行匹配。如下述兩圖的中英文案例所示,查找“pushed into”會合理地找到“put inside”,而像“進入室內(nèi)”被“入室”整體匹配上更能說明NRE對詞語的查找會超越樣式本身。

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

與此同時,用Neural Rule Parser對規(guī)則進行拆解也是對規(guī)則本身進行修正。比如下圖中的“落水管”和“不銹鋼管”被合并成為了“管”,而且“打墻洞”中的“洞”被刪去。

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

總結(jié)

我們提出了一種全新的學習策略來對符號規(guī)則進行改進,神經(jīng)規(guī)則引擎(Neural Rule Engine)使得規(guī)則獲得了神經(jīng)網(wǎng)絡帶來的靈活性、魯棒性和泛化能力,同時又保持了規(guī)則的精確性和可解釋性。

NRE包含了Rule Parser和一系列操作模塊,它們既可以是定制化的神經(jīng)網(wǎng)絡,又可以是符號算法。對于一條給定的規(guī)則,NRE先對規(guī)則進行拆解,使其成為操作序列,之后根據(jù)操作序列來裝配模塊,最終給出預測結(jié)果。此外,我們還提出了分步的訓練方法使得構建NRE成為可能,即先對模塊和Rule Parser隨機生成數(shù)據(jù)進行預訓練,之后根據(jù)真實的樣本標注用強化學習進行微調(diào),從而得到具有泛化能力的規(guī)則表示。

實驗表明NRE可以大幅提升規(guī)則的Recall,同時還能維持較高的Precision。NRE不僅是一種新的神經(jīng)符號學習范式,同時也為現(xiàn)有的工業(yè)應用帶來了一種高效的改進,它可以被用來對已有的規(guī)則系統(tǒng)進行升級,或者在訓練數(shù)據(jù)不大的情況下快速開發(fā)出神經(jīng)規(guī)則系統(tǒng)。

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

神經(jīng)規(guī)則引擎:讓符號規(guī)則學會變通

分享:
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說