国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于知識拷貝機制的生成式對話模型

2021-03-17 07:48李少博孫承杰劉秉權(quán)季振洲王明江
中文信息學(xué)報 2021年2期
關(guān)鍵詞:拷貝解碼圖譜

李少博,孫承杰,徐 振,劉秉權(quán),季振洲,王明江

(哈爾濱工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)

0 引言

作為自然語言處理領(lǐng)域內(nèi)的主要研究問題,自動對話系統(tǒng)近年來受到了越來越多的關(guān)注。特別是“編碼—解碼”結(jié)構(gòu)在機器翻譯任務(wù)上取得重大進展之后[1],基于“編碼—解碼”結(jié)構(gòu)的生成式對話模型也成為了一個熱點研究方向。一方面,基于“編碼—解碼”結(jié)構(gòu)的對話模型可以在大規(guī)模的對話語料上以端到端的方式訓(xùn)練。另一方面,根據(jù)當前對話自動生成對應(yīng)回復(fù)的模型為自動對話系統(tǒng)的構(gòu)建提供了新的范式。

由于對話語料中的詞頻符合長尾分布[2],且模型的優(yōu)化目標屬于經(jīng)驗風(fēng)險最小化,基于“編碼—解碼”結(jié)構(gòu)的對話模型更趨于產(chǎn)生信息量低的回復(fù)。為了解決這個問題,很多研究者從目標函數(shù)[3]、解碼方法[4]、主題信息[5]等方面進行了深入探索。同時,也有研究者注意到,知識在對話過程中也起著十分重要的作用,知識不僅有助于對話的理解,對話之間的內(nèi)在聯(lián)系[6-7]分析,還能夠為回復(fù)生成提供更豐富的信息,增加對話的廣度和深度。而知識圖譜[8-9]作為一種高度結(jié)構(gòu)化的知識,能夠以三元組(實體,關(guān)系,屬性)的形式提供高質(zhì)量的知識。如何在端到端的模型中有效利用知識圖譜,將其融入到“編碼—解碼”結(jié)構(gòu)中,正吸引著越來越多研究者的目光。

為此,本文提出了一種基于知識拷貝機制的生成式對話模型。首先,本文使用提出基于知識圖譜的映射機制對對話內(nèi)容進行處理,利用知識圖譜將對話中出現(xiàn)的實體和屬性映射為特殊的標識符,從一定程度上克服詞頻分布不均導(dǎo)致的生成回復(fù)信息量低的問題。隨后,模型使用知識拷貝機制,以拷貝的形式直接將知識圖譜中的詞匯拷貝到回復(fù)中。最后,模型利用注意力機制從知識圖譜中選擇較有效的信息來進一步指導(dǎo)回復(fù)的生成。實驗表明,相較生成式基線模型,本文所提出的模型可以生成更加準確和多樣的回復(fù)。

本文組織結(jié)構(gòu)如下: 第1部分對端到端的生成式對話模型以及如何在其中融入知識的相關(guān)工作進行簡要介紹;第2部分詳細介紹本文提出的模型、所使用數(shù)據(jù)集以及使用映射機制對對話內(nèi)容進行處理的方式;第3部分對本文提出的模型進行實驗對比和分析;最后為對本文工作的總結(jié)。

1 相關(guān)工作

由于互聯(lián)網(wǎng)社交平臺中(如新浪微博)積累了大量的對話資源,數(shù)據(jù)驅(qū)動的生成式對話模型受到了越來越多的關(guān)注。Ritter和Vinyals等發(fā)現(xiàn)對話系統(tǒng)中的“消息—回復(fù)”關(guān)系可按照機器翻譯中“編碼—解碼”過程來建模,通過對編碼后的消息序列進行解碼來生成回復(fù)序列,構(gòu)建了端到端的生成式對話系統(tǒng)[10-12]。早期的研究工作重點主要集中在對話的語義表示、語義關(guān)系計算以及上下文建模上[13-15],沒有考慮外部知識在對話過程中的作用。

文獻[16]中,作者首先做出了如下假設(shè): 對話參與者給出的回復(fù)不僅僅依賴于對話歷史,同時也依賴于參與者了解的與對話相關(guān)的知識。作者使用Reddit論壇中的對話和維基百科頁面構(gòu)建了對話以及相關(guān)知識語料庫,分別使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)對對話和相關(guān)知識進行編碼,利用這兩部分編碼信息來生成回復(fù)序列。

文獻[17]中,自然語言形式的相關(guān)知識被表示為詞袋(bag of words,BOW)的形式,使用類似于Memory Network[18]的方式將其轉(zhuǎn)換為知識編碼向量,隨后將該向量附加到RNN解碼器的初始狀態(tài)中。同時,該文為模型的訓(xùn)練定義了多個任務(wù),在訓(xùn)練模型時,按照預(yù)先定義的方式隨機選擇一個任務(wù)進行訓(xùn)練。在解碼時,使用增加了回復(fù)長度和互信息特征的集束搜索(beam search)來生成最終的回復(fù)。

Wu等人在利用相關(guān)知識生成回復(fù)的同時,提出一種知識選擇機制[19]。在訓(xùn)練過程中,根據(jù)對話歷史和訓(xùn)練集中的真實回復(fù)來選擇最相關(guān)的知識,保證訓(xùn)練過程中所選知識的準確性;在生成回復(fù)的過程中,模型僅使用對話歷史來選擇知識。為了處理模型在訓(xùn)練與生成時所選知識之間的差異,模型使用了多種損失函數(shù)進行優(yōu)化。

2 基于知識拷貝機制的生成式對話模型

2.1 模型結(jié)構(gòu)

本文提出的模型是一種基于“編碼—解碼”結(jié)構(gòu)改進而來的端到端模型,其中包含對話歷史編碼模塊、知識編碼模塊、知識拷貝模塊和注意力解碼模塊4個部分。模型生成回復(fù)序列中每個詞的過程如圖1所示。

圖1 模型生成回復(fù)的過程

模型的輸入包括對話歷史和與對話相關(guān)的知識圖譜兩部分。首先使用對話歷史編碼模塊和知識編碼模塊分別將對話歷史和知識圖譜中的知識條目轉(zhuǎn)換為向量形式的表示,隨后使用知識拷貝模塊和注意力解碼模塊將其解碼為回復(fù)詞序列。

2.1.1 對話歷史編碼模塊

2.1.2 知識編碼模塊

在對三元組形式的知識圖譜中的知識條目進行編碼的過程中,編碼的主體是三元組(實體、關(guān)系、屬性)中的屬性部分。首先將輸入的多個知識圖譜三元組中的屬性拼接在一起形成為一個詞序列K={k1,k2,…,kn},隨后將其轉(zhuǎn)換為詞向量序列{ek(k1),ek(k2),…,ek(kn)}。為了保留屬性在三元組中對應(yīng)的關(guān)系和實體信息,在序列K中的每個詞的詞向量上添加了額外的關(guān)系和實體編碼。K中第j個詞的詞向量ek(kj)計算如式(1)所示。

ek(kj)=e(kj)+e(rj)+e(Ej)

(1)

通過上述編碼方式,知識被編碼為向量形式的表示,其中包含的信息一方面被知識拷貝模塊使用,用來判斷是否將序列K中的詞拷貝到回復(fù)中,另一方面被注意力解碼模塊用于指導(dǎo)回復(fù)的生成。

2.1.3 知識拷貝模塊

拷貝機制[21]的主要思想是在生成回復(fù)序列中的每一個詞時,模型可以從一個額外的候選詞匯集合中選用一個詞作為當前生成的結(jié)果。這樣一來,可以通過構(gòu)建一個數(shù)量較小、包含信息較為豐富的候選詞匯集合,來幫助模型生成質(zhì)量更高的回復(fù)。同時在候選詞匯集合中也可以包含詞表中未出現(xiàn)過的詞匯,增強模型的泛化能力。

本文使用知識圖譜中屬性所包含的詞作為候選詞匯集合,拷貝方式參考了CopyNet[21]中的拷貝機制,與其不同的是,CopyNet中的拷貝機制是從對話歷史中拷貝,對話歷史是完整的自然語言對話,拷貝時可以利用詞的上下文關(guān)系。而知識拷貝是從知識圖譜三元組中屬性拼接成的詞序列K中拷貝,詞的前后相關(guān)性較弱,故在知識編碼模塊中保留了關(guān)系信息和實體信息,以便知識拷貝模塊利用。

知識拷貝的具體過程如下: 在對回復(fù)序列中的第t個詞進行解碼時,不僅計算詞表中每個詞的生成概率,同時計算序列K中每個詞被拷貝的概率,若拷貝概率大于生成的概率,則將拷貝概率最大的詞直接作為回復(fù)中第t個詞yt。

K中第j個詞kj的拷貝概率使用式(2)計算。

(2)

在知識拷貝過程中,模型需要記錄已經(jīng)被拷貝的詞的相關(guān)信息,這一信息稱為選擇性輸入(selective read),其有助于模型綜合利用被拷貝詞本身包含的信息以及詞的位置信息[21],選擇性輸入使用式(3)計算。

(3)

2.1.4 注意力解碼模塊

(4)

(5)

其中,gt為長度與詞表大小相同的向量,表示詞表中每個詞的生成概率,ct為長度為n的向量,表示序列K中每個詞的拷貝概率。將兩個向量拼接后,使用softmax函數(shù)進行歸一化處理。若ot中的值最大的元素存在于與gt對應(yīng)的部分中,則將詞表中對應(yīng)的詞作為yt,若存在于ct所對應(yīng)的部分中,則將K中相應(yīng)的詞作為yt。若在序列K中出現(xiàn)了詞表中相同的詞,則將相同的詞對應(yīng)的拷貝概率與生成概率相加后再進行比較。

為了對解碼模塊輸入的各部分信息的有效性進行驗證,本文共構(gòu)建了4個不同的模型,如表1所示,其中最后一個模型MCTA為本文最終使用的模型。

表1 構(gòu)建的模型信息

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

2.2.1 數(shù)據(jù)格式

本文使用了文獻[19]中提供的數(shù)據(jù)集,該數(shù)據(jù)集在“2019語言與智能技術(shù)競賽”中的“知識驅(qū)動對話”任務(wù)中使用(1)http://lic2019.ccf.org.cn/talk。數(shù)據(jù)集中的樣本包括了“對話內(nèi)容”“對話話題及其關(guān)聯(lián)”和“與話題相關(guān)的知識圖譜”三個部分,并包含了分詞信息。其中“對話內(nèi)容”中包括了多輪對話,對話的話題指定為兩個,話題和話題之間的關(guān)系在“對話話題及其關(guān)聯(lián)”部分中給出,最后給出了與兩個話題相關(guān)的知識圖譜。數(shù)據(jù)集中的樣本形式如表2所示。

表2 數(shù)據(jù)集中的樣本形式

2.2.2 基于知識圖譜的映射機制

對話中經(jīng)常會使用許多語義相近的詞匯,例如,“北京市”和“上海市”均表示地理位置,“狼牙山五壯士”與“上甘嶺”均表示電影的名稱。這些詞匯有著相近的語義但又互不相同,模型按照經(jīng)驗風(fēng)險最小化的方式訓(xùn)練后,會趨向于選擇語義相近的詞匯中出現(xiàn)頻率較高的詞,這使得生成的回復(fù)中難以包含準確的信息。例如,若在訓(xùn)練數(shù)據(jù)中“北京市”的出現(xiàn)次數(shù)高于“上海市”的出現(xiàn)次數(shù),那么模型在生成表示地理位置信息的詞匯時,會更傾向于生成“北京市”,進而造成生成回復(fù)中包含錯誤的、與相關(guān)知識不相符的信息。

針對這一問題,本文提出使用基于知識圖譜的映射機制對對話內(nèi)容進行處理,其主要思想是利用相關(guān)知識,將對話內(nèi)容中語義相近的詞匯序列映射為相同的特殊的標識符,對這一部分內(nèi)容進行統(tǒng)一的表示后輸入到模型中,在模型生成回復(fù)序列后再將其中包含的特殊標識符還原為相關(guān)知識中對應(yīng)的內(nèi)容。

為了設(shè)計針對本文所使用數(shù)據(jù)集的映射機制,本文首先對數(shù)據(jù)集中不同詞出現(xiàn)的頻率進行統(tǒng)計,如表3所示,對話內(nèi)容所形成的詞表中共包含了49 129個不同的詞,其中46.85%的詞僅僅出現(xiàn)過1次,88.04%的詞出現(xiàn)次數(shù)小于10次。由于樣本數(shù)量較少,這一部分低頻詞匯的學(xué)習(xí)和生成對于模型來說十分困難。

表3 數(shù)據(jù)集中的詞頻情況

但經(jīng)統(tǒng)計后發(fā)現(xiàn),低頻詞匯中有很大一部分包含在對話所對應(yīng)的知識圖譜中,如表3中的第三列所示,總計78%的詞可以在知識圖譜中找到。故本文首先使用一種基于知識圖譜的映射機制對數(shù)據(jù)集進行處理,處理后的結(jié)果如表4所示。

表4 映射機制處理后的對話內(nèi)容

續(xù)表

在該數(shù)據(jù)集上,映射機制處理規(guī)則如下: 若對話內(nèi)容中的詞序列與知識圖譜中的某一屬性完全匹配,則將其替換成特殊標識符。特殊標識符的兩端為字符“@”。由于該數(shù)據(jù)集中每一輪對話僅包含兩個話題,故使用“@TA@”“@TB@”分別表示話題名稱。在其余的特殊標識符中,字母“A”表示第一個話題相關(guān)的屬性,字母“B”表示第二個話題相關(guān)的屬性,字母后面的部分表示所替換內(nèi)容在知識圖譜中對應(yīng)的關(guān)系。經(jīng)映射機制處理后的詞頻情況如表5所示??梢园l(fā)現(xiàn),經(jīng)映射機制處理后,詞表的大小減少了47.19%,對話數(shù)據(jù)得到了有效的簡化。同時,出現(xiàn)次數(shù)小于10次的低頻詞也有很大幅度的減少,詞頻不均現(xiàn)象也得到了改善,這能夠進一步幫助模型對數(shù)據(jù)進行學(xué)習(xí)。

表5 映射機制處理后的詞頻情況

3 實驗分析

本文所使用的數(shù)據(jù)集的詳細信息如表6所示。

表6 數(shù)據(jù)集的詳細信息

在訓(xùn)練集中,多輪對話被拆分為對話歷史與回復(fù)形成的問答對,將每一個問答對作為一個單獨的訓(xùn)練樣本。測試集中的多輪對話則直接拼接用于模型輸入。模型使用貪心的方式進行解碼。模型中主要參數(shù)設(shè)置如表7所示。

表7 模型中主要參數(shù)設(shè)置

3.1 自動評價指標對比

在實驗中,本文使用準確性字符級別的F1[22]、詞級別BLEU-1和BLEU-2[23]以及多樣性指標DISTINCT-1和DISTINCT-2[3]對模型進行評價。評價結(jié)果如表8所示,評價指標是基于測試集數(shù)據(jù),使用“2019語言與智能技術(shù)競賽”提供的線上評價系統(tǒng)計算得到的。Baseline-R和Baseline-G分別表示競賽舉辦方提供的檢索式基線模型和生成式基線模型(2)https://github.com/baidu/knowledge-driven-dialogue,這兩個模型是使用與文獻[19]中相似的方法構(gòu)建的。同時,為了進一步對映射機制進行對比和驗證,分別使用原始的對話數(shù)據(jù)和經(jīng)映射機制處理后的對話數(shù)據(jù)訓(xùn)練文獻[21]中所提出的拷貝模型,表示為CopyNet和CopyNet-M。

表8 模型結(jié)果的評價指標對比

由表8可以看出,首先,使用映射機制的生成式模型M以及CopyNet-M,相較未使用映射機制的生成式模型Baseline-G和CopyNet的結(jié)果有了大幅度提升。在使用了基于知識圖譜的映射機制后,對話內(nèi)容中存在的大量低頻詞匯被統(tǒng)一為特殊標識符,而特殊標識符在對話內(nèi)容中的出現(xiàn)頻率是一定高于替換前的原始詞匯的,在生成回復(fù)時,相對高頻的特殊標識符生成的風(fēng)險要低于低頻詞匯,這保證了特殊標識符在回復(fù)中的出現(xiàn)頻率,在將其還原成知識圖譜中對應(yīng)的內(nèi)容后,也就提高了生成式模型回復(fù)的多樣性。同時,在模型訓(xùn)練時,特殊標識符相較低頻詞匯有更多的機會參與到模型訓(xùn)練中,有利于模型充分掌握特殊標識符表示的語義,降低了數(shù)據(jù)的復(fù)雜度和模型對其的學(xué)習(xí)難度。

與模型M相比,添加了知識拷貝機制的模型MC的結(jié)果又有了進一步的提升。通過對結(jié)果進一步統(tǒng)計分析,發(fā)現(xiàn)約6.3%(3 456/54 739)的詞是通過知識拷貝機制直接拷貝到回復(fù)中的,這說明回復(fù)的質(zhì)量提升主要歸功于知識拷貝機制。同時,被拷貝的詞中還包括184個不包含在詞表中的詞,說明拷貝機制對不在詞表中的詞匯也有一定處理能力。

從表8中還可以看出,增加了知識編碼信息的模型MCA和MCTA在指標上又有了進一步的提升,說明編碼后相關(guān)知識的語義與回復(fù)的語義之間存在著較強的相關(guān)關(guān)系,在解碼時選擇合適的知識,能夠幫助回復(fù)的生成。此外,引入截斷機制的MCTA與MCA模型在評價指標上各有優(yōu)勢,相較MCA,MCTA在字符集別的F1上有所提升,而在詞級別的BLEU-1和BLEU-2上則有所下降,經(jīng)過分析,這可能是由于生成回復(fù)與真實回復(fù)之間的分詞存在差異造成的,例如,在回復(fù)中包含詞序列“看”“電影”,而在真實回復(fù)中包含的詞是“看電影”,導(dǎo)致了F1與BLEU之間的差異。同時由于詞頻不均的原因,準確性指標和多樣性指標之間存在矛盾,隨著生成回復(fù)準確性的提升,多樣性也略有下降。最終,相較生成式基線模型Baseline-G,MCTA在F1、DISTINCT-1和DISTINCT-2指標上分別取得了10.47%、4.6%和13.1%的提升。

3.2 具體實例分析

表9列舉了模型MCTA的生成結(jié)果、模型Baseline-G的生成結(jié)果以及真實回復(fù)的一些具體實例。

表9 模型生成結(jié)果對比

在實例1中,對于“上映日期”這類能夠與知識圖譜類完全匹配的詞匯,映射機制能準確地將其引入;在實例2中,對于“時光網(wǎng)短評”這類無法完全匹配的內(nèi)容,知識拷貝機制也能夠很好地處理,將其無縫融入到回復(fù)中。在實例3中,知識圖譜中存在“狩獵,口碑,口碑 不錯”這一信息,其以知識編碼的方式添加到解碼過程中,模型能夠?qū)⑵湓诨貜?fù)中體現(xiàn)出來。在實例5中,本文提出的模型利用映射與拷貝機制,生成的回復(fù)中包含了大量的低頻事實性詞匯,相較模型Baseline-G,回復(fù)的質(zhì)量有很大的提高。

同時可以發(fā)現(xiàn),在實例2中,由于端到端模型中并沒有使用特殊的機制來保證回復(fù)中語義的一致性,Baseline-G模型生成的結(jié)果出現(xiàn)了前后矛盾的情況。同樣,在實例4中,Baseline-G模型生成了與實事不相符的信息。對于本文提出的模型來說,回復(fù)中的事實性內(nèi)容能夠通過映射和拷貝機制直接由知識圖譜中引入,在一定程度上保證了信息的準確性和一致性,提高了生成式對話系統(tǒng)的實用性。

4 結(jié)論

本文提出了一種基于知識拷貝機制的生成式對話模型。首先,模型使用基于知識圖譜的映射機制對對話內(nèi)容進行處理,在一定程度上簡化了對話內(nèi)容,克服了詞頻長尾分布對模型造成的影響。其次,通過知識拷貝機制,模型能夠?qū)⑦m合的詞匯拷貝到回復(fù)中。最后,模型使用了注意力機制,能夠選擇最相關(guān)的知識并將其引入到回復(fù)中,對回復(fù)的生成進行指導(dǎo)。

實驗表明,本文提出的模型能夠提高端到端的對話模型所生成回復(fù)的準確性和多樣性,使得所生成的回復(fù)更加恰當和實用。

猜你喜歡
拷貝解碼圖譜
《解碼萬噸站》
繪一張成長圖譜
解碼eUCP2.0
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
唐氏綜合征是因為“拷貝”走樣了
文化拷貝應(yīng)該如何“拷”
補腎強身片UPLC指紋圖譜
主動對接你思維的知識圖譜
雜草圖譜