丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

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

0

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

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

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

論文地址:(請(qǐng)戳此處)

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

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

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

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

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

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

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

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

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

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

因此可以采用一個(gè)Seq2Seq的神經(jīng)網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)對(duì)規(guī)則的拆解。具體如下:

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

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

Find模塊

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

And_Ordered模塊

And_Ordered模塊可以采取如下設(shè)計(jì):

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

模型訓(xùn)練

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

Neural Rule Engine (NRE)

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

實(shí)驗(yàn)

論文在中文案情分類(lèi)(Chinese crime case classification)任務(wù)和SemEval-2010 relation classification任務(wù)上進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如下:

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

NRE在關(guān)系分類(lèi)數(shù)據(jù)集上的結(jié)果

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

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

總結(jié)

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

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

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

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

神經(jīng)規(guī)則引擎:讓符號(hào)規(guī)則學(xué)會(huì)變通

分享:
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)