Knowledge-Aware Graph-Enhanced GPT-2 for Dialogue State Tracking论文笔记
Knowledge-Aware Graph-Enhanced GPT-2 for Dialogue State Tracking
本文是英國英國劍橋大學(xué)工程系發(fā)表在EMNLP2021上面的論文
用于對話狀態(tài)追蹤的知識感知圖形增強(qiáng)GPT-2
Abstract
對話狀態(tài)追蹤是對話系統(tǒng)的核心。
重點關(guān)注的問題是:
模型架構(gòu)捕獲的是序列生成對話狀態(tài)時容易丟失的跨域下不同的域槽的關(guān)系和依賴。
目前生成DST中很好的基線GPT-2中存在一個問題,雖然GPT2可以做槽值預(yù)測的任務(wù),但是由于其因果建模的情況,后面預(yù)測的槽值依賴于先前的槽值,但是當(dāng)后面的槽值先被預(yù)測出來就不能推斷出之前的槽值了,這樣就會導(dǎo)致性能下降。
模型結(jié)構(gòu)流程:使用Graph Attention NetWork得到的表示來增強(qiáng)GPT-2。允許模型對槽值進(jìn)行因果順序的判斷
結(jié)果:報告了MUZ2.0中的性能,同時證明了圖模型在DST 中確實能起到作用,
Introduction
本篇論文研究的是對話狀態(tài)追蹤的兩個點:
(1)使用原自GAT編碼的對話行為表示去增強(qiáng)GPT2,從而允許因果、順序預(yù)測槽值,同時顯示的建立 跨域的槽和值之間的關(guān)系
(2)使用GAT改進(jìn)跨域槽共享值得預(yù)測。同時研究了弱監(jiān)督的DST的訓(xùn)練方式。
提出一篇論文中提到的預(yù)定義域槽之間的存在三種類型的關(guān)系:
(1)共享相同候選槽值集的域槽
(2)域槽的候選槽值集是另一個域槽候選曹植集的子集。
(3)不同的域槽的槽值之間存在著相關(guān)性。
根據(jù)用戶要定義的酒店的星級,可以確定價格的范圍
以往的研究者們探索過使用GNN來捕獲域槽和槽值之間的關(guān)系(但是沒有深入的探索GNN如何利用他們之間的關(guān)系,即沒有很好的分析GAT網(wǎng)絡(luò)如何促進(jìn)DST 的性能)
本文非常深入的分析了 GAT如何在GPT-2的非常優(yōu)秀的基線上進(jìn)行改進(jìn)。
因為GPT2的因果建模,導(dǎo)致槽值生成時會產(chǎn)生先生成后面的槽值,這樣會導(dǎo)致前面正確的槽值生成不出來,這就是GPT2在生成槽值上的限制,我們使用GAT使得GPT2提前獲得域槽之間的關(guān)系,也就可以提前推理到生成槽值之間的因果順序關(guān)系,生成時就不容易出錯了。
模型如果可以提前捕獲跨域槽值之間的關(guān)系,就不需要想MUZ數(shù)據(jù)集那樣給每一回合的對話都詳細(xì)的注釋對話狀態(tài),只需要給一整輪對話注釋對話狀態(tài),同時我們可以采用生成摘要對話狀態(tài)的方式,這就使得我們訓(xùn)練數(shù)據(jù)的注釋減少了很多,即弱監(jiān)督訓(xùn)練。
此處論文也提到了,如果我們只使用一整輪的(會話級別)的注釋來訓(xùn)練仍可以達(dá)到DST 的可接受的性能,那么創(chuàng)建DST 數(shù)據(jù)集將更加輕松,但是我們目前做的實驗只是去利用數(shù)據(jù)集當(dāng)中最后一回合的對話狀態(tài)注釋當(dāng)做會話級別的注釋來訓(xùn)練。
論文總體來說做出的貢獻(xiàn):
(1)提出一個混合架GAT結(jié)合GPT2,同時模型架構(gòu)在弱監(jiān)督的數(shù)據(jù)集中,模型的性能依舊穩(wěn)健
(2)使用GAT解決GPT2中的因果推理的限制,解決DST的性能原因,論文中證明了GPT-2的因果推理生成槽值會影響DST的性能
(3)論文研究了模型如何捕捉域槽之間的關(guān)系 ,并分析了圖改進(jìn)互相依賴的曹植的域槽
模型雖然使用GPT優(yōu)化了DST 的性能,同時還著重分析了模型是否改進(jìn)了域槽值得預(yù)測
Graph Neural Networks
本文使用的是GAT網(wǎng)絡(luò)
將每一輪對話的加權(quán)無向圖公式如上
其中V是節(jié)點集,包含N個節(jié)點{vi},
表示的是邊的集合,所有節(jié)點和節(jié)點之間連的邊的集合。
表示的是N*N的二元對稱鄰接矩陣S
S中的每個位置的只有兩個數(shù)1,或者0。1代表第i個節(jié)點和第j個節(jié)點之間有邊,0表示的則相反。
每一個節(jié)點vi都有一個特征,F指的是特征長度。將這些所有節(jié)點的特征組成一個維度為N * F的矩陣大X
表示將每個圖節(jié)點的特征傳遞給他的鄰居節(jié)點
相當(dāng)于與鄰居進(jìn)行K輪特征交換
對于GAT的每一層的輸入是大X矩陣,維度是N * F。
上圖是經(jīng)過一GAT層之后的輸出公式。
每一個GAT層使用的都是多頭注意力機(jī)制,以上述這種方式使得每個節(jié)點有選擇性的聚合鄰居信息
論文中每個初試節(jié)點需要聚合鄰居節(jié)點信息共L次,即一共有L層的GAT
Dialogue State Tracking with GPT-2 and Graph Neural Networks
論文中作者使用三個步驟,將GAT與GPY2融合在一起。
(1)使用GPT2編碼對話歷史和預(yù)定義實體當(dāng)中所有的域槽和值
(2)將編碼后的域槽和值的嵌入輸入到GAT當(dāng)中,讓GAT經(jīng)過幾層的嵌入聚合
(3)將GAT更新后的嵌入輸入到解碼GPT2中
論文中的工作流程
①使用GPT2對對話歷史和預(yù)定義實體中的所有域槽和域槽值進(jìn)行編碼,得到每個域槽和槽值的嵌入,NOTE:這里的域槽和槽值的嵌入包含了對話歷史上下文的信息。
②得到域槽和槽值的嵌入之后傳遞到圖注意力網(wǎng)絡(luò)中,用于特征的聚合和信息交換,同時論文的實驗中采用兩種類型的圖結(jié)構(gòu)。
③將更新后的域槽特征被輸入到相應(yīng)的槽的因果生成中。紅色標(biāo)記是模型輸入,帶有藍(lán)色的是生成的輸出
Domain-Slot and Value Embedding
首先抽取預(yù)定義實體中所有的域槽和槽值的特征。
上述為對話歷史的表示
上述為預(yù)定義實體當(dāng)中的所有域槽槽值的連接表示,表示為F。F中包含了所有的域槽值,域槽和槽值的順序確定,不隨每個樣本的變化而變化。
同時每個域槽錢都有一個簡短的文本描述,作用為了GPT-2生成功能提供上下文。
在編碼對話歷史和域槽槽值時中間采用特殊token連接。輸出域槽時,為了融入GAT輸出的更新后的域槽嵌入,可以從輸入時相應(yīng)的位置處找到。
使用GPT2單獨編碼槽值,當(dāng)槽值中包含多個詞,將每個詞的嵌入相加求平均。
編碼所有的域槽之后的組成的矩陣
編碼所有的槽值之后組成的矩陣
Nv和Ns分別指的是槽值的數(shù)量和域槽的數(shù)量
Inter-slot Information Exchange
域槽間信息交換
論文使用GAT捕捉域槽之間的信息,采用以下兩種圖結(jié)構(gòu):
每一個域槽作為圖結(jié)構(gòu)中的一個節(jié)點,每個節(jié)點之間都有連接(全連接)
域槽和槽值分別都作為圖結(jié)構(gòu)中的節(jié)點,將域槽和包含的槽值之間進(jìn)行連接。
論文使用GAT 對圖中的每個節(jié)點信息進(jìn)行更新
節(jié)點中的初始信息是由模型流程中的第一步抽取的嵌入。
經(jīng)過GAT的操作過后,我們只使用域槽的嵌入如下:
Dialog State Prediction
在對話狀態(tài)的生成中,我們先只輸入對話歷史和到GPT2中
之后GPT2再生成出對話狀態(tài)的序列Yt如下:
訓(xùn)練模型生成每個域槽名和其相關(guān)的槽值,中間的是分割域槽值的特殊標(biāo)簽。
(這里生成的對話狀態(tài)對所有的預(yù)定義實體中的域槽進(jìn)行槽值填充,此時即有些域槽的槽值會為None)
在生成對話狀態(tài)的時候,模型從來沒有少預(yù)測一個域槽,可以證明GPT-2的結(jié)構(gòu)化生成能力。
Decoding
在解碼生成的過程中,我們要使用到GAT更新后的域槽嵌入
上述表示的是第i個域槽的GAT嵌入。
解碼時按照輸入時的順序,一個一個給域槽填充曹植,比如當(dāng)給第i個域槽填充曹植時,先輸入第i個域槽的簡單文本描述到GPT2中,得到嵌入,將其與第i個域槽再GAT中的嵌入信息拼接在一起。
當(dāng)預(yù)測到與域槽無關(guān)的分界符號時連接的是全零的向量
Experiments
使用的是MUZ2.0數(shù)據(jù)集。使用的是Slot ACC、Joint Acc
Train Regimes
兩種訓(xùn)練方式:
(1)密度監(jiān)督訓(xùn)練任務(wù),即每一輪對話話語都有對話狀態(tài)的注釋
(2)稀疏監(jiān)督訓(xùn)練任務(wù):只使用最后一輪的對話話語的對話狀態(tài)作為當(dāng)前一整輪的對話狀態(tài)注釋,訓(xùn)練模型,之前的對話話語當(dāng)做對話歷史
其中的GPT2和GAT聯(lián)合訓(xùn)練,
測試評估時,使用的是test正常評估
L指的是GAT圖網(wǎng)絡(luò)跟心幾層
P指的是GAT中的多頭注意力機(jī)制,有幾頭
K指的是聚合節(jié)點信息時跨幾層
Graph_Type指的是論文中提出的兩個圖結(jié)構(gòu)
DST Performeance
可以看到本文提出的SOTA
此實驗的目的是為了檢測模型針對稀疏監(jiān)督的訓(xùn)練方式的ACC,可以看到Acc最高。
在此實驗中可以看到即使是在稀疏監(jiān)督的情況下,GPT-2依然可以將模型維持在很好的性能之下。
可以看到當(dāng)我們擴(kuò)大GAT的層數(shù)(L)、GAT的多頭數(shù)(P)、聚合信息的層數(shù)(K)可以更好的捕捉域槽和域槽值之間的關(guān)系。
可以看到當(dāng)L、P不足時,我們可以使用DSV圖結(jié)構(gòu)和增加聚合信息層數(shù),增加acc
有了足夠多的 GAT 層,DSGraph 可以彌補(bǔ)顯式值節(jié)點和匹配的不足,有時甚至優(yōu)于 DSVGraph 的性能,但這是以增加建模復(fù)雜性為代價的
GATs captureinter-slotdependencies
此實驗展示了多種模型在不同種域槽的精讀展示。當(dāng)引入不同的GAT 時曹準(zhǔn)確率不同程度的上升
GATs improve the predictions at intermediate dialogue turns
展示了在使用最后一輪對話狀態(tài)的注釋數(shù)據(jù)訓(xùn)練的模型,當(dāng)對話輪數(shù)的增多時,準(zhǔn)確率在不斷下降。
總結(jié)
以上是生活随笔為你收集整理的Knowledge-Aware Graph-Enhanced GPT-2 for Dialogue State Tracking论文笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cesium获取坐标及高程
- 下一篇: 你需要来自trustedinstalle