• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于槽位相關(guān)信息提取的對話狀態(tài)追蹤模型

      2023-05-24 03:18:36石利鋒倪鄭威
      計算機應(yīng)用 2023年5期
      關(guān)鍵詞:詞表準(zhǔn)確率領(lǐng)域

      石利鋒,倪鄭威

      (浙江工商大學(xué) 信息與電子工程學(xué)院,杭州 310018)

      0 引言

      自然語言交互越來越多地融入人們的日常生活,傳統(tǒng)的圖形化界面已經(jīng)無法滿足人們多元的需要。現(xiàn)今基于自然語言處理(Natural Language Processing,NLP)技術(shù)的人機對話系統(tǒng)受到人們的青睞。任務(wù)型對話系統(tǒng)是人機對話系統(tǒng)的一個重要分支,它主要為用戶完成特定領(lǐng)域中的任務(wù),如餐廳預(yù)訂、景點推薦、車票查詢等。任務(wù)型對話系統(tǒng)需要從用戶的輸入中提取出用戶意圖等關(guān)鍵信息,并將其表示成三元組〈domain,slot,value〉——這種任務(wù)被稱為對話狀態(tài)追蹤(Dialogue State Tracking,DST)。DST 作為任務(wù)型對話系統(tǒng)的核心組件,決定了系統(tǒng)的后續(xù)響應(yīng),在對話系統(tǒng)中至關(guān)重要,一直是科研領(lǐng)域的研究熱點。最初的DST 利用人工編寫的更新規(guī)則更新狀態(tài)[1],需要大量的人工和專家知識,而且無法定制復(fù)雜狀態(tài)的更新機制,缺乏靈活性。隨著近幾年深度學(xué)習(xí)的相關(guān)方法被用于DST,現(xiàn)在的模型無需復(fù)雜的規(guī)則也能取得良好的表現(xiàn)。

      DST 有基于固定詞表(Fixed-vocabulary-based)和基于開放詞表(Open-vocabulary-based)兩種做法,二者的差別在于是否預(yù)定義所有可能出現(xiàn)的本體。在DST 問題中,本體指一組槽位(域槽對)-槽值組合,稱為槽值對。例如在圖1表格中輪次為0 的第一行,槽位為restaurant-pricerange,槽值為expensive,則〈restaurant,pricerange,expensive〉就是一組槽值對。傳統(tǒng)的基于固定詞表的做法存在兩個問題:一是實際中無法獲得一個完整的本體,那些在預(yù)定義本體之外的值將無法被捕獲到;二是即便存在這樣的本體,那么這個本體勢必會相當(dāng)龐大。以訂餐為例,我們需要餐廳的名稱以及訂餐的時間,這兩個槽值存在大量可能的候選值。因此基于固定詞表的做法并不適合現(xiàn)實場景,而基于開放詞表的做法因無須依賴本體,減少了大量的人力成本,受到了學(xué)者廣泛的關(guān)注[2]。

      圖1 MultiWOZ 2.3中的對話樣例Fig.1 Example dialogues in MultiWOZ 2.3

      近些年來,諸如文獻[3-4],基于開放詞表的多領(lǐng)域?qū)υ挔顟B(tài)追蹤一般直接從輸入的對話中抽取單詞作為預(yù)測槽值的輸出。這類抽取式方法存在一個致命的缺點,即無法提取隱式的槽值,而自然語言往往存在共指指代以及隱式選擇等現(xiàn)象。例如,在圖1 的第二輪人機對話中,用戶的最后一句話為“A 3 star hotel in the same area and price range as my restaurant”。本句表明酒店的區(qū)域與價格與餐廳的一致,應(yīng)該預(yù)測的值是〈hotel,pricerange,expensive〉和〈hotel,area,south〉。但句中沒有expensive 和south,因此無法被抽取。為了解決抽取式方案中無法處理的共指問題,Heck 等[5]提出了三重復(fù)制(Triple copy,TripPy)機制。TripPy 指槽值被三種復(fù)制方式填充,分別是顯式的跨度預(yù)測、系統(tǒng)通知的存儲以及前面存在的對話狀態(tài)槽值。TripPy 雖然改善了部分共指問題,但仍然存在諸多不足:首先,該機制的模型結(jié)構(gòu)沒有考慮不同槽位之間存在的聯(lián)系,而這部分信息可被用于判斷共指以及槽位復(fù)制方式;此外,模型在訓(xùn)練過程中沒有充分分析和利用數(shù)據(jù)集結(jié)構(gòu)信息。例如課程學(xué)習(xí)(Curriculum Learning,CL)[6]中通過規(guī)劃樣本訓(xùn)練的先后順序,由易到難,能夠加快模型收斂。

      針對基于開放詞表的現(xiàn)有模型對各個槽位之間的相關(guān)信息利用不充分的問題,本文在TripPy 的基礎(chǔ)上設(shè)計了槽位相關(guān)信息提取器(Slot Correlation Extractor,SCE)學(xué)習(xí)槽位之間的相關(guān)信息;針對訓(xùn)練過程中對于數(shù)據(jù)集本身信息利用不足的問題,應(yīng)用學(xué)習(xí)最優(yōu)樣本權(quán)重(Learning Optimal sample Weights,LOW)優(yōu)化訓(xùn)練過程。結(jié)合上述兩部分,在經(jīng)過多次優(yōu)化之后,提出了新的對話狀態(tài)跟蹤模型SCEL-DST(SCE and LOW for Dialogue State Tracking)。

      1 相關(guān)工作

      1.1 對話狀態(tài)追蹤

      多輪對話對話狀態(tài)追蹤可以分為基于固定詞表和基于開放詞表兩種。如文獻[7-8]中提出的方法一樣,基于固定詞表的方法大多使用一個分類模塊在給定預(yù)定義詞表里預(yù)測對話狀態(tài)。為了解決固定詞表中本體不完整的問題,Wang 等[9]提出了槽位注意力和值歸一化來巧妙地利用本體信息。

      基于開放詞表的方法使用一個生成式的編碼器生成文字或者抽取文本。Xu 等[10]提出的模型中引入了基于索引的復(fù)制方法對之前提出的指針網(wǎng)絡(luò)[11]進行完善,但這種抽取式方法無法提取隱性的值,因此Heck 等[5]提出了三重復(fù)制機制,進一步克服了抽取式方法的缺陷。生成方法大多都存在狀態(tài) 生成器,Wu 等[12]提出了TRADE(TRAnsferable Dialogue statE generator)模型,它的編碼器和狀態(tài)生成器使用的都是門控循環(huán)單元(Gated Recurrent Unit,GRU);而且該模型提出了槽位門(Slot Gate)模塊,使模型只需在槽位的子集中預(yù)測槽值,大幅提高了效率,這一模塊也被后來出現(xiàn)的對話狀態(tài)追蹤模型所效仿。此外,Zhang 等[13]還提出了一種融合了跨度預(yù)測和基于候選表的方法。

      在多領(lǐng)域的背景下,一些槽位之間可能存在關(guān)聯(lián),例如兩個槽位的槽值共享,景點的位置可能和餐廳的位置相同。為了獲取槽位之間的信息聯(lián)系,有關(guān)域槽之間建模的研究也在一直進行。Le 等[14]提出了一種非自回歸的對話狀態(tài)追蹤框架,該框架考慮了槽位之間的潛在依賴性,從而更好地預(yù)測完整的對話狀態(tài)。Chen 等[15]提出了圖注意力網(wǎng)絡(luò),構(gòu)建了域槽的模式圖。An 等[16]引入了特殊符號[DS]對槽位進行建模,它類似于特殊符號[CLS]在BERT(Bidirectional Encoder Representations from Transformers)[17]中的作 用。Ye等[18]通過構(gòu)建槽位符號注意力網(wǎng)絡(luò)和槽位自注意力網(wǎng)絡(luò)來對不同槽位取值之間的相關(guān)信息進行建模,這與文獻[8]中的網(wǎng)絡(luò)有著異曲同工之妙;但它們都是基于固定詞表的做法,整個模型的擴展性較差。

      1.2 課程學(xué)習(xí)

      在一些自然語言處理任務(wù)中,數(shù)據(jù)集的標(biāo)注通常都非常昂貴,而對話狀態(tài)追蹤擁有龐大的數(shù)據(jù)量,因此如何通過學(xué)習(xí)策略充分利用有限數(shù)據(jù)訓(xùn)練出一個魯棒的模型非常關(guān)鍵。課程學(xué)習(xí)的出現(xiàn)在一定程度上解決了這一問題,它是一種訓(xùn)練策略,模仿人類的學(xué)習(xí)過程,主張讓模型先從容易的樣本開始學(xué)習(xí),并逐漸進階到復(fù)雜的樣本和知識。課程學(xué)習(xí)是近幾年逐漸熱門的一個前沿方向,在自然語言處理與計算機視覺任務(wù)上都展示出了卓越的性能。課程學(xué)習(xí)又可以分為預(yù)定義的課程學(xué)習(xí)和自動的課程學(xué)習(xí),其中自動的課程學(xué)習(xí)主要包含自定進度學(xué)習(xí)、教師模型的知識遷移和教師模型的強化學(xué)習(xí)指導(dǎo)。

      但這些方法應(yīng)用到對話狀態(tài)追蹤之上需要耗費的資源都很昂貴,尤其是強化學(xué)習(xí)教師模型,它幾乎難以實現(xiàn)。Dai等[19]提出了一種混合的預(yù)定義的課程學(xué)習(xí),結(jié)合了模型和人的先驗知識對數(shù)據(jù)集進行難度劃分,并應(yīng)用在對話狀態(tài)追蹤上,在同等情況下與未使用混合的預(yù)定義的課程學(xué)習(xí)相比取得了更高的聯(lián)合目標(biāo)準(zhǔn)確率。雖然它簡化了任務(wù),節(jié)省了大量的計算資源,但還是難以實際操作。

      課程學(xué)習(xí)認為訓(xùn)練樣本在訓(xùn)練過程中并不是都起到一樣的作用,受到這一啟發(fā),Santiago 等[20]提出了一種學(xué)習(xí)最優(yōu)樣本權(quán)重算法,通過訓(xùn)練中損失函數(shù)下降最快的方向來計算當(dāng)前樣本中每個樣本對損失下降的影響,并給樣本賦予相應(yīng)的權(quán)重。這種方法只需要在訓(xùn)練過程中計算出樣本的權(quán)重,大幅減少了計算資源消耗。學(xué)習(xí)最優(yōu)樣本權(quán)重已經(jīng)在計算機視覺和醫(yī)學(xué)數(shù)據(jù)中取得了很好的效果。

      2 本文模型

      本文模型結(jié)構(gòu)如圖2 所示,包括4 個部分:1)上下文編碼器(右下側(cè)),它將輸入的對話編碼,輸出為語義向量表示;2)SCE(左上側(cè)),用于提取槽位之間的相關(guān)信息;3)槽位判決門,它實際上是一個線性分類器,用于判斷當(dāng)前輸入對話和槽位之間的聯(lián)系,判斷哪些槽需要進行接下來的分類任務(wù)以及采用哪一種復(fù)制機制;4)預(yù)測模塊,它采用三重復(fù)制機制來填充槽值。

      圖2 本文模型結(jié)構(gòu)Fig.2 Structure of proposed model

      本文假定對話總輪次為T,在第t(1 ≤t≤T)輪對話中,用戶輸入為Ut,系統(tǒng)輸入為St,任務(wù)要求是根據(jù)歷史對話和本輪對話{(U1,S1),(U2,S2),…,(Ut,St)}預(yù)測相應(yīng)的對話狀態(tài)〈domain,slot,value 〉。

      2.1 上下文編碼器

      本文采用預(yù)訓(xùn)練模型BERT 對對話進行編碼,輪次為t的上下文對話被編碼成:

      BERT 的輸入可以被看作是三部分,其中:Ut和St分別是第t輪對話時的用戶會話以及系統(tǒng)會話;Bt=(Ut-1,St-1),(Ut-2,St-2),…,(U1,S1)是截止到當(dāng)前輪次t的對話歷史;特殊符號[CLS]位于輸入序列的開始,[SEP]則代表將輸入序列進行分隔。

      由于BERT 的輸入長度有限制,而多輪對話歷史Bt的長度會隨著對話輪數(shù)增加,因此本文模型對超出長度的序列作啟發(fā)式的截短處理。假定Ut、St和Bt經(jīng)過分詞器后的序列分別 為token_u、token_s和token_b,BERT 的輸入最大長度為max_seq_length。由式(1)可得加入的特殊符號數(shù)量為4。因此BERT 輸入序列的長度為token_u、token_s和token_b三者長度之和再加上4。

      啟發(fā)式截短的算法簡單直觀,當(dāng)總長度大于最大輸入長度時開始循環(huán)截短,一次刪去一個符號。若存在歷史對話,那么首先從信息相對不重要的歷史對話末端開始刪去符號。當(dāng)歷史對話長度為0 且仍未滿足總長度小于最大輸入長度要求時,對用戶會話以及系統(tǒng)會話,每次選擇刪去較長的序列末尾的一個符號。這是因為相較于較長的序列,較短序列中的每一個符號可能含有更多信息。循環(huán)上述過程直至總長度小于等于最大長度。截短偽代碼如下:

      算法1 啟發(fā)式截短。

      2.2 槽位相關(guān)信息提取

      現(xiàn)在的模型還不能有效解決對話中出現(xiàn)的共指問題,其中一個原因是沒有很好地考慮槽位之間的相關(guān)信息。而目前都是基于固定詞表對槽位相關(guān)信息提出建模方式,還沒有對開放詞表提出解決的方案。受文獻[7]研究的啟發(fā),可以將槽位輸入由BERT 進行編碼再通過注意力網(wǎng)絡(luò)從而獲得當(dāng)前槽位對于上下文的相關(guān)信息,所以將所有槽位由BERT編碼就可以獲得所有槽位對于上下文的消息。

      本文使用另一個BERT 對槽進行編碼:

      之后利用自注意力網(wǎng)絡(luò)學(xué)習(xí)不同槽位取值之間的相關(guān)信息:

      對這部分輸出進行層歸一化,可得到不同槽位取值之間的相關(guān)信息的向量表征:

      2.3 槽位判決門

      在一輪多領(lǐng)域?qū)υ挔顟B(tài)追蹤任務(wù)中存在多個槽值對需要被追蹤,因此模型需要精確預(yù)測當(dāng)前輪次槽位以及槽值。不同于文獻[5]中為每一個槽值對構(gòu)建一個線性分類器,本文模型使用一個線性分類器進行預(yù)測。這么做的原因是:

      1)為每一個槽值對構(gòu)建線性分類器增加了網(wǎng)絡(luò)的復(fù)雜度,而且每個網(wǎng)絡(luò)是為特定槽位訓(xùn)練的,泛化能力差;

      2)上文中提出的槽位相關(guān)信息提取器中存在每一個槽位的信息。

      2.4 預(yù)測

      由于采用三重復(fù)制機制,因此預(yù)測模塊分為:基于跨度的值預(yù)測(Span-based Value Prediction)、系統(tǒng)告知的值預(yù)測(System Informed Memory for Value Prediction)以及共指消融的槽位信息存儲(DS Memory for Coreference Resolution)。

      2.4.1 基于跨度的值預(yù)測

      本文為每一個槽單獨設(shè)計一個線性分類器,使用上下文經(jīng)過BERT 編碼之后的語義向量作為當(dāng)前輪次的輸入,最后連接兩個Softmax 層用來預(yù)測起始和結(jié)束位置。對于每一個有:

      采用交叉熵作為損失函數(shù),可以得到:

      其中:DS代表所有域槽對的集合;和分別是第t輪經(jīng)過獨熱編碼后的始末標(biāo)簽。

      2.4.2 系統(tǒng)告知的值預(yù)測

      定義一個系統(tǒng)緩存It=存儲當(dāng)前輪次t內(nèi)系統(tǒng)告知的所有槽值。當(dāng)用戶使用肯定的隱式表達時,使用這種復(fù)制方法(例如圖1 中的restaurant-name,復(fù)制方式是informed,槽值填充為cambridge chop house)。

      2.4.3 共指消融的槽位信息存儲

      第三種復(fù)制方式利用DS 作為存儲來消解共指——即將對話出現(xiàn)過的槽位儲存下來,利用一個線性分類器預(yù)測當(dāng)前槽位指向哪一個先前已被填充的槽位,如果沒有找到就填充為none。

      采用交叉熵作為損失函數(shù),可以得到:

      3 學(xué)習(xí)最優(yōu)樣本權(quán)重策略

      學(xué)習(xí)策略能夠幫助訓(xùn)練得到一個性能更好的模型。傳統(tǒng)的課程學(xué)習(xí)分為預(yù)定義和自動兩種,這兩者所需的計算資源都十分昂貴。自動課程學(xué)習(xí)例如學(xué)生-教師模型使用強化學(xué)習(xí)尋找數(shù)據(jù)集合理的分布。在實際的場景中,由于數(shù)據(jù)集較大,動作空間(Action Space)也會很大,因此這一訓(xùn)練過程所需的資源十分龐大。預(yù)定義的課程學(xué)習(xí)例如文獻[19]中使用人工規(guī)則和模型規(guī)則相結(jié)合的難度測量器(Difficulty Measurer)作為預(yù)習(xí)模塊來訓(xùn)練對話狀態(tài)追蹤模型,雖然得到了不錯的效果,但所耗費的資源仍然很昂貴,在實際的場景中很難達到類似的效果。

      本文采用學(xué)習(xí)最優(yōu)樣本權(quán)重的方法,它在訓(xùn)練過程中動態(tài)調(diào)整樣本的權(quán)重以加速模型的收斂,并且不會增加模型的參數(shù)。

      其中:η是學(xué)習(xí)率;M是批次樣本數(shù)量;t是梯度更新的次數(shù)。

      由式(14)可知,每個樣本的權(quán)重都是1,因此每一個樣本在參數(shù)更新時的作用一樣。但實際在模型的訓(xùn)練過程中,不同樣本的貢獻不同,學(xué)習(xí)最優(yōu)樣本權(quán)重的思想就是通過分配給樣本不同的權(quán)重來幫助模型更好地訓(xùn)練。因此參數(shù)更新公式可以修改成如下形式:

      在文獻[20]中選取了損失函數(shù)下降最快的方向作為最優(yōu)樣本的衡量,最終得到了:

      這是一個二次規(guī)劃問題,可以使用優(yōu)化算法如拉格朗日乘子法進行求解。

      對于對話狀態(tài)追蹤來說,槽位分類問題是接下去任務(wù)的基礎(chǔ),因此本文對于槽位判決門應(yīng)用了學(xué)習(xí)最優(yōu)樣本權(quán)重的方法,可以得到槽位判決門的損失函數(shù):

      4 實驗與結(jié)果分析

      4.1 數(shù)據(jù)集

      本文實驗所用的數(shù)據(jù)集是MultiWOZ 2.3(Multi-domain Wizard-of-OZ 2.3)[21]和WOZ 2.0(Wizard-of-OZ 2.0)[22]。MultiWOZ 2.3 是一個多領(lǐng)域多輪對話的數(shù)據(jù)集,它在MultiWOZ 2.1 的基礎(chǔ)上進一步優(yōu)化了數(shù)據(jù)集,修改了原先不完整和錯誤的注釋并增加了共指的注釋,提升了很多模型的性能。

      MultiWOZ 2.3 涵蓋了7 個領(lǐng)域{train,restaurant,hotel,taxi,attraction,hospital,police},域槽對共有35 個,多領(lǐng)域?qū)υ挸^10 000 組。由于數(shù)據(jù)集的驗證集和測試集都不含hospital 與police 兩個領(lǐng)域,因此本文在訓(xùn)練過程中只使用5個領(lǐng)域,包含30 個域槽對。WOZ 2.0 是一個單領(lǐng)域的相對較小的數(shù)據(jù)集,它只包含1 200 個參觀域的單個域?qū)υ挘且粋€相對簡單的任務(wù)。

      4.2 評價標(biāo)準(zhǔn)

      本文采用聯(lián)合目標(biāo)準(zhǔn)確率(Joint Goal Accuracy)作為評價標(biāo)準(zhǔn)。聯(lián)合目標(biāo)準(zhǔn)確率定義為數(shù)據(jù)集中每一輪的三元組都預(yù)測正確的對話輪次的比率,并且在每一回合只有全部的〈domain,slot,value〉三元組都被正確預(yù)測時才認為對話狀態(tài)預(yù)測正確,因此聯(lián)合準(zhǔn)確率是一個具有挑戰(zhàn)性的指標(biāo)。需要注意,在實際操作時每一輪一般都只有一個或幾個槽位被提及,本文模型將那些不需要填充值的槽位填充為none,而不是什么都不填。

      4.3 訓(xùn)練

      為了方便與其他模型進行對比,本文采用的預(yù)訓(xùn)練模型是BERT-base-uncased transformer[23],優(yōu)化器選用AdamW(Adam Weight decay optimizer),學(xué)習(xí)率設(shè)置為10-5,并且應(yīng)用預(yù)熱和線性衰退策略。由于采用的是三重復(fù)制機制,所以使用文獻[5]中計算損失函數(shù)的公式:

      其中:Lgate來自式(17),Lspan來自式(11),Lrefer來自式(13)。需要注意的是,在評估單領(lǐng)域時沒有共指現(xiàn)象,總的損失函數(shù)將只包含前兩項且第二項的系數(shù)變?yōu)?.2。

      本文對模型細節(jié)進行了優(yōu)化:

      1)測試了槽位判決門使用一個線性分類器判斷所有槽位和為每一個槽位設(shè)計一個分類器對準(zhǔn)確率的影響,發(fā)現(xiàn)前者的準(zhǔn)確率更高,因此消融實驗中模型帶有SCE 的都是前者的做法,而LOW 為了方便對比采用的是后者的做法。

      2)由于模型主要包含SCE 和BERT,而SCE 的參數(shù)隨機初始化,因此與BERT 共用一個優(yōu)化器并不合適,所以本文在實驗中設(shè)置了兩個優(yōu)化器分別更新兩個模型的參數(shù)。

      在訓(xùn)練過程中若顯存不足時,可以使用梯度累計的方法變相增大批次。具體做法是固定輸入序列長度為180,迭代輪次為10,批次為48,使用一塊RTX3090 訓(xùn)練所有模型。

      4.4 實驗結(jié)果

      表1、2 將本文模型與其他對話狀態(tài)追蹤方法在數(shù)據(jù)集MultiWOZ 2.3 和WOZ 2.0 上進行了對比。其中:TripPy*是TripPy 源碼在Transformers 版本為4.12.5,PyTorch 版本為1.9.0 下運行的結(jié)果;其他模型的數(shù)據(jù)則是原論文提供在Github 網(wǎng)站上代碼的測試結(jié)果。在實驗過程中,模型的改變以及學(xué)習(xí)最優(yōu)樣本權(quán)重策略的加入并沒有導(dǎo)致訓(xùn)練時間的大幅度增加。實驗結(jié)果表明,本文模型SCEL-DST 取得了更高的聯(lián)合目標(biāo)準(zhǔn)確率,在MultiWOZ 2.3 數(shù)據(jù)集上與相同條件下的TripPy 相比提升了1.6 個百分點,在WOZ 2.0 數(shù)據(jù)集上 與 AG-DST(Amendable Generation for Dialogue State Tracking)相比提升了 2.0 個百分點。

      表1 MultiWOZ 2.3數(shù)據(jù)集上不同模型的聯(lián)合目標(biāo)準(zhǔn)確率對比 單位:%Tab.1 Comparison of joint goal accuracies of different models on MultiWOZ 2.3 dataset unit:%

      表2 WOZ 2.0數(shù)據(jù)集上不同模型的聯(lián)合目標(biāo)準(zhǔn)確率對比 單位:%Tab.2 Comparison of joint goal accuracies of different models on WOZ 2.0 dataset unit:%

      圖3 是SCEL-DST 在MultiWOZ 2.3 測試集上的一些預(yù)測例子,由于篇幅問題,圖3 最多只選取了每段對話的前3 輪(第一段用戶會話也算1 輪)。在圖3 可以很清楚看到對于用戶會話中顯式出現(xiàn)的槽值如〈train,departure,norwich〉,〈train,day,monday〉,〈hotel,area,north〉等,模型往往能準(zhǔn)確地預(yù)測;對于那些隱式的槽值如〈restaurant,area,east〉,有時也能給出比較可靠的預(yù)測。

      圖3 SCEL-DST在MultiWOZ 2.3測試集上的預(yù)測例子Fig.3 Prediction examples of SCEL-DST on MultiWOZ 2.3 test set

      4.5 LOW與SCE的作用分析

      利用消融實驗檢驗LOW 與SCE 在模型中的作用。由表3 可知,對于MultiWOZ 2.3 數(shù)據(jù)集來說,SCE 起到的作用要大于LOW,而對于WOZ 來說LOW 的效果又明顯比SCE更好。

      表3 消融實驗結(jié)果Tab.3 Results of ablation experiments

      4.5.1 SCE的影響

      本文引入SCE 的原因是希望利用它學(xué)習(xí)槽位之間的關(guān)聯(lián)信息。對于單領(lǐng)域來說,由于槽位數(shù)量比較少,槽位之間的關(guān)聯(lián)信息和任務(wù)都比較簡單,因此SCE 對模型性能也有不錯的提升。對于多領(lǐng)域來說,從圖4 中可以看到,加入SCE后的TripPy 在除了restaurant 領(lǐng)域之外的4 個領(lǐng)域上都獲得了提升,其中train 和attraction 領(lǐng)域的提升相對較大(分別為0.91 與0.76 個百分點)。在觀察這幾個領(lǐng)域槽位特點之后可以發(fā)現(xiàn),train、attraction 和taxi 領(lǐng)域的槽位幾乎全部都能在其他領(lǐng)域中找到類似的槽位(比如train-leaveAt 與taxileaveAt,attraction-area、hotel-area 和restaurant-area)。說 明SCE 確實學(xué)到了這些槽位之間的關(guān)系,這些信息可以幫助它們更好地分類和跨度預(yù)測(見圖5)。相比之下,taxi 領(lǐng)域提升不明顯的原因是它的準(zhǔn)確率本就遠高于其他幾個領(lǐng)域,繼續(xù)提升的空間相對有限。

      圖4 不同模型在MultiWOZ 2.3測試集上各個領(lǐng)域的聯(lián)合目標(biāo)準(zhǔn)確率Fig.4 Joint goal accuracies of different versions of models in each domain on MultiWOZ 2.3 test set

      圖5 不同模型在train、attraction和taxi領(lǐng)域中每一個槽位的槽位門分類的準(zhǔn)確率Fig.5 Slot gate accuracies of different versions of models in each slot in train,attraction and taxi domains

      而restaurant 與hotel 領(lǐng)域雖然也能與其他領(lǐng)域一樣找到類似的槽位,但它們的槽位數(shù)量都很多(restaurant 有7 個,hotel 有10 個),本文猜想是因為過多數(shù)量的槽位影響了模型的判斷。原因在于槽位編碼是按照domain-slot 的形式送入BERT,由于槽位編碼的BERT 參數(shù)固定,因此經(jīng)過編碼之后的輸出也是固定的,無法更新。同領(lǐng)域槽位數(shù)量過多,前綴domain 出現(xiàn)的頻次也就越高,編碼后輸入到SCE 的相似的向量也就越多,SCE 模型可能無法精確學(xué)習(xí)到這些槽位與其他領(lǐng)域槽位之間的關(guān)系。舉例來說,對于hotel-area,與它相近的除了restaurant-area 與attraction-area,還有本身的9 個其他hotel-slot(如hotel-type、hotel-stars 等)。

      為了驗證上述猜想,本文計算了hotel 領(lǐng)域的每一個槽位的槽位準(zhǔn)確率。在圖6 中可以看到那些在其他領(lǐng)域能找到類似 槽位的 如htotel-book_people、hotel-book_day、hotelbook_stay、hotel-name 和hotel-area 的準(zhǔn)確率在加上了SCE 之后都降低了,而那些在其他領(lǐng)域找不到類似槽位的槽位反而有小幅提升,這一點也使htotel 領(lǐng)域的總準(zhǔn)確率依然上升。背后的原因可能有兩點:其一是模型雖然無法精確學(xué)習(xí)到兩個類似的槽位,但是那些原本無關(guān)的槽位之間的區(qū)分會更加明顯,這部分信息仍會提升模型的性能;其二是hotel 領(lǐng)域本身的準(zhǔn)確率就是所有領(lǐng)域當(dāng)中最低的,因此它上升的潛力相對較大。

      圖6 不同模型在hotel領(lǐng)域上的槽位準(zhǔn)確率Fig.6 Slot accuracies of different versions of models in hotel domain

      4.5.2 LOW策略的影響

      LOW 通過優(yōu)化訓(xùn)練過程來提升模型性能。單領(lǐng)域的訓(xùn)練樣本不如多領(lǐng)域的復(fù)雜,因此相較于多領(lǐng)域來說,LOW 在單領(lǐng)域上的提升顯著。對于多領(lǐng)域來說,從圖4 中可以看到,LOW 在restaurant、train 和hotel 領(lǐng)域中準(zhǔn)確率取得了很大的提升,但在taxi 和attraction 領(lǐng)域的準(zhǔn)確率卻降低了。需要注意到的是,restaurant、train 和hotel 領(lǐng)域原本模型的準(zhǔn)確率是5 個當(dāng)中最低的3 個,并且在這3 個領(lǐng)域中,原先準(zhǔn)確率最低的hotel 提升最大,而原先準(zhǔn)確率最高的restaurant 提升最小。這一現(xiàn)象正能體現(xiàn)LOW 的本質(zhì),它通過損失下降的梯度方向來動態(tài)調(diào)整樣本的權(quán)重,使那些準(zhǔn)確率低的樣本得到更多的訓(xùn)練,從而提升總的槽位準(zhǔn)確率。但同樣也會存在弊端,那些原本準(zhǔn)確率相對較高領(lǐng)域的準(zhǔn)確率會受到影響。

      4.5.3 總結(jié)

      從以上分析來看,SCE 提升了那些槽位數(shù)量少且能找到相似槽位的領(lǐng)域的槽位準(zhǔn)確率,LOW 提升了那些原本準(zhǔn)確率較低的領(lǐng)域的槽位準(zhǔn)確率。在圖4 中,從SCEL-DST 的結(jié)果來看,本文的模型在taxi 領(lǐng)域的槽位準(zhǔn)確率降低了一些,但是在其他4 個領(lǐng)域中都獲得了明顯的提升,本質(zhì)上也是在作一種取舍,舍棄準(zhǔn)確率最高的taxi 領(lǐng)域一點精度,在同等情況下獲得了更高的聯(lián)合目標(biāo)準(zhǔn)確率。在表4 中對比原模型TripPy*與SCEL-DST 在每一個槽位上的準(zhǔn)確率,本文模型在大部分槽位中都表現(xiàn)得更好。

      表4 SCEL-DST與TripPy*在MultiWOZ 2.3測試集上每一個槽位的準(zhǔn)確率Tab.4 Slot accuracies of SCEL-DST and TripPy* on MultiWOZ 2.3 test set

      5 結(jié)語

      本文提出了一種新的模型結(jié)構(gòu):在TripPy 的基礎(chǔ)上加入槽位相關(guān)信息提取器來提取槽位間相關(guān)信息,并且在訓(xùn)練過程中加入學(xué)習(xí)最優(yōu)樣本權(quán)重來提高模型的訓(xùn)練效率。該模型將槽位間相關(guān)信息利用到基于開放詞表的模型中以提升模型性能,并考慮了訓(xùn)練時數(shù)據(jù)集本身的結(jié)構(gòu)信息。

      但本文模型的不足在于,在評估SCE 學(xué)到的槽位相關(guān)信息時,僅從最后的損失函數(shù)來調(diào)整SCE 參數(shù),正如4.5 節(jié)所述,槽位數(shù)量較多時,模型就難以分辨槽位之間的聯(lián)系。一個簡單的思路是利用人工方式給相似槽位打上一個相似度標(biāo)簽,然后設(shè)計網(wǎng)絡(luò)去調(diào)整槽位編碼后的表征向量,從而引入人工的經(jīng)驗。不過這些人工經(jīng)驗在遷移到一個新的領(lǐng)域后需要人力重新評價新的槽位之間的關(guān)系,這與本文基于開放詞表、減少人力成本的理念相違背。因此,我們未來將進一步研究如何調(diào)整SCE 模型結(jié)構(gòu)以及如何評估SCE 學(xué)習(xí)得到的槽位相關(guān)信息。

      猜你喜歡
      詞表準(zhǔn)確率領(lǐng)域
      乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
      健康之家(2021年19期)2021-05-23 11:17:39
      不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
      2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗分析
      A Chinese-English List of the Sports Programmes in Winter Olympics 冬奧會項目名稱漢英對照詞表
      英語世界(2021年13期)2021-01-12 05:47:51
      領(lǐng)域·對峙
      青年生活(2019年23期)2019-09-10 12:55:43
      高速公路車牌識別標(biāo)識站準(zhǔn)確率驗證法
      敘詞表與其他詞表的互操作標(biāo)準(zhǔn)
      新常態(tài)下推動多層次多領(lǐng)域依法治理初探
      肯定與質(zhì)疑:“慕課”在基礎(chǔ)教育領(lǐng)域的應(yīng)用
      3D 打?。合冗M制造領(lǐng)域的必爭之地
      杭州科技(2013年5期)2013-03-11 16:40:59
      丽水市| 西峡县| 封丘县| 定西市| 杂多县| 聂荣县| 云和县| 获嘉县| 明水县| 乐亭县| 乌兰浩特市| 贵溪市| 鄢陵县| 大冶市| 石台县| 安阳县| 含山县| 犍为县| 玉树县| 乌兰察布市| 乌什县| 垫江县| 改则县| 铜梁县| 宁远县| 赤壁市| 东辽县| 来安县| 隆化县| 旺苍县| 东阿县| 衡阳县| 宜都市| 大田县| 江川县| 青海省| 建德市| 浙江省| 南开区| 满城县| 周至县|