動機(jī)介紹
理解自然語言中與事件相交織的時間概念是理解事件演化的重要內(nèi)容。人可以具有對事件的典型發(fā)生時間、發(fā)生頻率、持續(xù)時間等時間屬性的感知能力,同時,也能夠把握好在上下文中,時間概念之間相對大小,前后順序等依賴關(guān)系。對于機(jī)器而言,掌握這些時序常識知識,獲取相應(yīng)的時序推理能力,也對進(jìn)行也對事件脈絡(luò)構(gòu)建,醫(yī)療事件時序分析,改進(jìn)對話系統(tǒng)中時間常識一致性等下游任務(wù)有著重要的意義。
為了讓模型能夠掌握相關(guān)的時序常識知識以提高其在下游自然語言理解任務(wù)上的性能,前人的典型做法是,首先基于弱監(jiān)督的方法(如模版匹配)從海量的自然語言文本中獲取顯式表達(dá)了時序常識的自然文本,然后基于富時序常識的自然文本來構(gòu)建以掩碼恢復(fù)為代表的自監(jiān)督目標(biāo)函數(shù),對預(yù)訓(xùn)練模型重新訓(xùn)練。然而, 這種基于傳統(tǒng)語言模型目標(biāo)函數(shù)的方法存在一定的局限性。如圖1(a)所示,為了在空白處填入正確的答案,模型首先要具備一定的全局推理能力,即能夠根據(jù)上下文歸納出正確答案對應(yīng)的時間概念與在文中所提到的“3點”之間的依賴關(guān)系(即早于)。除此之外,與傳統(tǒng)的同樣需要這種邏輯關(guān)系歸納能力的任務(wù)不同,這種推理過程存在著固有的模糊性。例如,在圖1(b)所示的閱讀理解型數(shù)值推理任務(wù)中,一旦模型可以正確歸納出正確的計算邏輯為對應(yīng)數(shù)值的減法,即可得到正確答案(2008-2007=1)。但是在圖1(b)的時序推理問題中,文中出現(xiàn)的“3點”是一個模糊的時間表述,模型需要理解其表示的是一天種的某個時間,而且最可能是下午的3點。因此正確答案的邏輯約束為早于("下午3點",?)決定。同時,需要注意的是,最終的答案本身也并非一個確切的結(jié)果,在一定的模糊的時間區(qū)間內(nèi)的時刻均是合理的。然而當(dāng)前時序推理模型往往僅僅是隱式的對上下文進(jìn)行編碼,使其并不能夠具備這種模糊的時序歸納推理能力,而往往依賴于淺層的表面線索來實現(xiàn)這種復(fù)雜推理,這使得推理的結(jié)果不可解釋且并不可靠。
圖1: 精確推理與模糊推理
為此,在本文中,我們提出了一個基于自監(jiān)督邏輯歸納的模糊時序推理框架LECTER。其將時序推理過程結(jié)構(gòu)化為3個連續(xù)的步驟,即(1)歸納出文中的時間表達(dá)式間的邏輯約束關(guān)系(2)將文中的模糊時間概念進(jìn)行具體化(3)綜合利用前兩步的結(jié)果以及額外的上下文信息來驗證候選時間概念的正確性。具體的,其包含有3個子模塊分別完成上述的3個子過程,分別是時間依賴邏輯歸納模塊,模糊時間概念具體化模塊和邏輯驗證模塊。我們通過邏輯編程語言DeepProbLog來實現(xiàn)邏輯驗證模塊。為了在對LECTER進(jìn)行自監(jiān)督的訓(xùn)練,我們引入了兩個自監(jiān)督的目標(biāo)函數(shù):(1)基于回歸的時間概念預(yù)測損失(2)模糊時序邏輯蘊(yùn)含損失。其充分考慮到了文中的模糊時間概念對推理過程帶來的影響,前者用于使得模型從數(shù)據(jù)中學(xué)習(xí)相關(guān)的時間常識,后者則是使得模型能夠基于蘊(yùn)含來歸納出正確的時序邏輯。
背景介紹
問題定義
在文檔中包含有個句子,以及個時間表達(dá)式, 這里>.代表所含有的時間表達(dá)式的集合. 本章中的時序推理任務(wù)被定義為一個多項選擇任務(wù):將原文檔中的某一個時間表達(dá)式刪去獲得文檔,給定,該任務(wù)要求模型能夠從給定的候選時間表達(dá)式集中選取出所有的合適的時間表達(dá)式能夠填入中被刪去的時間表達(dá)式的位置,并且符合上下文語義。
例如,對于圖1 (a)中的空缺,2點,下午兩點2:00 pm都是正確的答案,但是上午8點就不符合原文中的語義約束了。
邏輯編程語言框架DeepProbLog
概率邏輯編程[2]是一種依賴于正式邏輯(formal logic)的編程范式。由概率邏輯編程語言所編寫的程序包含有一組形如 的概率事實(probabilistic facts)和一組邏輯規(guī)則,其中代表概率代表原子式。例如,如下的程序定義了在扔硬幣中的概率過程
0.4 :: coin(x1,h).0.5 :: coin(x2,h).twoHeads(X,Y) :- coin(X, h), coin(Y, h).
這里,coin()代表事實:硬幣正面朝上。
邏輯規(guī)則twoHeads() :- coin(, ), coin(, )則定義了“什么代表兩枚硬幣都時候正面朝上”,這里, :- 代表了邏輯蘊(yùn)含: 如果均為真,那么成立?;谶@種概率編程語言,可以輕易的計算目標(biāo)原子式的成立的概率。在本例中,針對查詢原子式twoHeads(), 程序可以自動的計算兩枚硬幣均朝上的計算結(jié)果,即P(twoHeads())=0.2。
綜上所述,在概率邏輯中,形如的原子表達(dá)式的概率是。而在DeepProbLog中,其將“神經(jīng)網(wǎng)絡(luò)”組件的解釋為一個“神經(jīng)”謂詞,即在原子表達(dá)式上的概率是由神經(jīng)網(wǎng)絡(luò)來得到。而除此之外,其保留了ProbLog語言的包括語義,推理機(jī)制和實現(xiàn)在內(nèi)所有組成部分。
如下的DeepProbLog程序定義了扔硬幣的神經(jīng)化拓展:
nn(coin_nn, [X], S, [h,t]): coin(X,S)twoHeads(X,Y) :- coin(X, h), coin(Y, h).
(例如可以是扔硬幣結(jié)果的一張圖片)輸入到模型中,并映射為在上的分布 (朝上和朝下). 由神經(jīng)謂詞定義的事實的成立的概率由神經(jīng)網(wǎng)絡(luò)的softmax層給出。
為了對實現(xiàn)神經(jīng)謂詞的訓(xùn)練,DeepProbLog框架將基于神經(jīng)網(wǎng)絡(luò)的輸出層所產(chǎn)生的神經(jīng)謂詞引導(dǎo)的概率事實,以及在邏輯程序中的其他概率事實和子句作為輸入,而由ProbLog編程語言計算查詢原子式的成立概率 ,這里代表神經(jīng)謂詞的可訓(xùn)練參數(shù),代表訓(xùn)練數(shù)據(jù),代表查詢的原子式。由于默認(rèn)查詢原子式一般為真,在訓(xùn)練時最大化即可,該損失稱之為邏輯蘊(yùn)含損失。
由于ProbLog的代數(shù)擴(kuò)展已經(jīng)可以支持自動求導(dǎo),所以,其可以將梯度信息傳播到神經(jīng)謂詞的輸出處,故其可以直接基于優(yōu)化器以梯度下降的方式直接訓(xùn)練整個模型。
模型方法
在本文中我們提出了基于模糊邏輯歸納的事件時序常識推理方法LECTER,如圖2所示。其包含有3個部分:(i)上下文編碼器,用于對富時間表達(dá)式的上下文進(jìn)行編碼(ii)邏輯歸納模塊,由時序依賴歸納器和去模糊器構(gòu)成。其目標(biāo)是為了能夠預(yù)測上下文中的多個時間表達(dá)式之間的時序依賴關(guān)系,以及得到一個模糊時間概念的具體數(shù)值意義。(iii)邏輯驗證器,其通過神經(jīng)概率邏輯編程語言來表示人對于不同的時間表達(dá)式間數(shù)值關(guān)系的先驗知識,來評估查詢時間表達(dá)式是否與神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果想一致。同時我們還提出了兩個自監(jiān)督損失以有效的訓(xùn)練LECTER模型,分別是“基于回歸的時間值恢復(fù)損失”和“時序邏輯蘊(yùn)含損失”。
圖2: LECTER模型架構(gòu)
上下文編碼器
我們基于預(yù)訓(xùn)練語言模型(如BERT/RoBERTa)來對上下文中的每個時間表達(dá)式進(jìn)行編碼。為構(gòu)建自監(jiān)督訓(xùn)練數(shù)據(jù),我們從給定的輸入數(shù)據(jù)中隨機(jī)選擇一個時間表達(dá)式,將其刪去并替換為2個[MASK]符.這兩個[MASK]分別代表在一個時間概念中的數(shù)值部分和單位部分。于是,對于每一條原始富時間表達(dá)式文本,我們都可以得到一個填空形式的輸入。在下文中,稱需要被恢復(fù)的時間表達(dá)式為“目標(biāo)時間表達(dá)式”,而文中剩余的時間表達(dá)式為“輔助時間表達(dá)式“?;谠摼幋a器對上下文進(jìn)行編碼后,可得到待恢復(fù)的時間表達(dá)式的表示為,而上下文中輔助時間表達(dá)式的表示為.
邏輯歸納模塊
時序依賴歸納器時序依賴歸納器用于生成上下文相關(guān)的目標(biāo)時間表達(dá)式與輔助時間表達(dá)式之間應(yīng)滿足的邏輯約束關(guān)系。在本文中,我們建模了潛在的二元依賴關(guān)系,形式上即為一種關(guān)系抽取任務(wù),我們考查了3種關(guān)系,分別是早于、晚于和同時。對于輸入的目標(biāo)和輔助時間表達(dá)式和,該歸納器輸出在標(biāo)簽集上的概率分布:
時間概念去模糊器這里我們定義在文本中,只給出其數(shù)值內(nèi)容,但是單位缺失的時間概念為模糊時間概念。例如,“I wake up at 6”中,“6”代表了一個時刻,然而其單位(上午/下午)未在文中顯式的給出。這使得并不能直接將基于時序依賴歸納器得到的概念間邏輯關(guān)系實例化以實現(xiàn)對答案數(shù)值區(qū)間的推理。為此,我們引入了時間概念去模糊器,其目標(biāo)是估計模糊時間概念具體化為每個特定可行解的概率。
具體的,每個時間表達(dá)式的上下文表示都會作為其對應(yīng)維度的時間單位分類器的輸入:
即在給定的維度的標(biāo)簽集上每個標(biāo)簽的分?jǐn)?shù),.
邏輯驗證器
邏輯驗證器用于計算目標(biāo)時間表達(dá)式滿足神經(jīng)網(wǎng)絡(luò)所歸納的邏輯約束的概率,在訓(xùn)練時,該概率將會被最大化(即“蘊(yùn)含損失”)。這部分由神經(jīng)-符號系統(tǒng)DeepProbLog實現(xiàn)。一旦符號實例化的結(jié)構(gòu)給定,DeepProblog程序既可以使得我們能夠簡單的基于反向傳播的方式來完成訓(xùn)練。圖3展示了一個符號實例化之后,DeepProbLog框架進(jìn)行概率前向傳播的過程。
圖3: DeepProbLog框架進(jìn)行概率前向傳播的過程
訓(xùn)練
基于回歸的時間數(shù)值恢復(fù)損失本文中我們同樣以使得模型恢復(fù)文中被掩蓋住的時間表達(dá)式的一個損失函數(shù),該損失函數(shù)要求模型能夠跟據(jù)給定上下文,預(yù)測出缺失時間表達(dá)式的歸一化之后的數(shù)值。前人的工作[3]證明了在持續(xù)時間維度,基于回歸的方式構(gòu)建預(yù)訓(xùn)練損失能夠取得良好的效果,我們將其拓展到更廣泛的時序常識維度。
這里是模型預(yù)測得到的歸一化值,。其中,時間表達(dá)式歸一化方法為:將時刻統(tǒng)一以小數(shù)時間表示,將持續(xù)時間轉(zhuǎn)化為以秒為單位后的數(shù)值的對數(shù)(例如, 2 小時 7200 秒 ). 7:30 pm 19.5). )?;诰讲钫`差來優(yōu)化:
這里就代表時間表達(dá)式的歸一化后的值。
時序邏輯蘊(yùn)含損失仿照DeepProbLog[4], 我們也同樣使用了“蘊(yùn)含損失”函數(shù)。給定訓(xùn)練數(shù)據(jù)和查詢,模型調(diào)整其參數(shù)來最大化查詢?yōu)檎娴母怕? 可以描述為對于查詢的平均負(fù)對數(shù)損失:
綜上,LECTER的損失函數(shù)為:
在進(jìn)行推理時,我們基于如下方式里選擇最正確的答案:
這里是答案集,代表被刪去一個時間表達(dá)式的輸入文檔。
實驗
數(shù)據(jù)集及評估方式
我們在一個具有挑戰(zhàn)性的TIMEDIAL[4]數(shù)據(jù)集上評估LECTER的性能。TIMEDIAL是一個面向復(fù)雜上下文(對話)的時序常識推理數(shù)據(jù)集。給定一個多輪對話并掩住其含有的一個時間表示式,該任務(wù)需要模型能夠從4個選項中選擇出合理的候選時間表達(dá)式,在4個答案中有且僅有兩個答案是正確答案。只有模型能夠正確的理解上下文語義與目標(biāo)時間表達(dá)式的因果關(guān)系,其才有可能做出正確的預(yù)測。該數(shù)據(jù)集中總計有1.1k個數(shù)據(jù)實例,平均每段對話有11輪,包含有3個以上的時間表達(dá)式。我們使用2-best accuracy指標(biāo)來評估模型的性能。在實驗中,我們基于收集了在TIMEDIAL域外分布的對話數(shù)據(jù)來以自監(jiān)督的方式訓(xùn)練LECTER模型。訓(xùn)練和驗證集的數(shù)據(jù)量分別為97k和24k。
結(jié)果分析
表1: 主實驗結(jié)果
表1展示了我們的方法與[1]中提出的基線方法相比的結(jié)果。我們可以得出如下結(jié)論:(1)通過時序增強(qiáng)的持續(xù)訓(xùn)練,預(yù)訓(xùn)練模型的表現(xiàn)可以得到很大提升,證明了通過弱監(jiān)督方式獲取時序知識信號對與時序推理任務(wù)的意義。(2)得益于對模糊時間概念的建模,LECTER模型可以大幅度的超過基線方法,取得了超過10%的提升。
消融實驗
表2展示了消融實驗的結(jié)果,我們證明了我們添加的兩個自監(jiān)督損失的有效性。如表2所示,基于回歸的時間概念恢復(fù)損失,提升了約9.0%。可能的原因在于,經(jīng)典的預(yù)訓(xùn)練的損失并不能夠很好的完全建模時間常識的模糊性,在給定的語義下,在一個模糊的連續(xù)區(qū)間內(nèi)的時間概念都可以是可行解。而這種連續(xù)性恰好可以很好的基于數(shù)值回歸的方式進(jìn)行建模。時序邏輯歸納損失也提升了2.1%,這是由于通過顯式的邏輯歸納,模型獲得了更強(qiáng)的依據(jù)潛在的邏輯關(guān)系進(jìn)行推理的能力,這比隱式的編碼上下文的方式往往更魯棒可靠。
表2: 消融實驗結(jié)果
結(jié)論
在本文中,我們提出了基于模糊邏輯歸納的事件時序常識推理方法LECTER。我們將典型的時序常識推理過程建模為三個連續(xù)步驟:(1)歸納出文中的時間表達(dá)式間的邏輯約束關(guān)系(2)將文中的模糊時間概念進(jìn)行具體化(3)綜合利用前兩步的結(jié)果以及額外的上下文信息來驗證候選時間概念的正確性。利用“基于回歸的時間值恢復(fù)損失”和“時序邏輯蘊(yùn)含損失”,模型可以在深度理解文中時間表達(dá)式之間全局依賴的同時,有更好的針對模糊時間概念的推理能力。在TIMEDIAL數(shù)據(jù)集中,我們大幅度超越了基線方法。
-
框架
+關(guān)注
關(guān)注
0文章
398瀏覽量
17405 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4284瀏覽量
62325 -
自然語言
+關(guān)注
關(guān)注
1文章
285瀏覽量
13320
原文標(biāo)題:AAAI 2023 | 基于自監(jiān)督邏輯歸納的可解釋模糊時序常識推理
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論