• 
    

    
    

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

      PCC: 一個(gè)對(duì)單用戶建模的個(gè)性化對(duì)話系統(tǒng)

      2022-01-20 12:48:08竇志成文繼榮
      中文信息學(xué)報(bào) 2021年12期
      關(guān)鍵詞:帖子編碼向量

      郭 宇,竇志成,文繼榮

      (1. 中國人民大學(xué) 高瓴人工智能學(xué)院,北京 100086;2. 中國人民大學(xué) 信息學(xué)院,北京 100086;3. 大數(shù)據(jù)管理與分析方法北京市重點(diǎn)實(shí)驗(yàn)室,北京 100086;4. 數(shù)據(jù)工程與知識(shí)工程重點(diǎn)實(shí)驗(yàn)室,北京 100086)

      0 引言

      對(duì)話系統(tǒng)是自然語言處理(NLP)的重要子領(lǐng)域,在技術(shù)支持服務(wù)和語言學(xué)習(xí)工具等應(yīng)用中都有重要作用[1-2]。對(duì)話系統(tǒng)可以分為兩類,即面向任務(wù)型對(duì)話系統(tǒng)[3]的和面向非任務(wù)型對(duì)話系統(tǒng)[4-5],也稱為對(duì)話機(jī)器人。

      隨著對(duì)話模型的快速發(fā)展,學(xué)者們也發(fā)現(xiàn)了一些現(xiàn)有模型的問題,其中生成式對(duì)話模型中人格不一致的問題[6]引起了廣泛的關(guān)注,學(xué)者們對(duì)此提出了多種不同的方案。主要分為兩類,一類基于事先定義好的用戶文件,另一類基于用戶的對(duì)話歷史。前者通過一些對(duì)機(jī)器人顯性屬性的描述定義其人格,而后者則主要立足于對(duì)話歷史中體現(xiàn)出來的隱性屬性。

      基于文件的個(gè)性化方案通過幾個(gè)句子或?qū)傩远x了一個(gè)人的個(gè)性,但這種方案定義出的個(gè)性化信息很少,只能在定義的幾個(gè)方面體現(xiàn)出個(gè)性化,而在未定義的方面仍然存在著不一致的問題。其次,這種個(gè)性化方案是靜態(tài)的,它不會(huì)隨著用戶個(gè)性化信息的改變而改變,例如興趣愛好等。因此我們采取了使用用戶歷史編碼個(gè)性化信息的方案。

      最早的基于用戶歷史的方案是Li等[6]提出的一個(gè)對(duì)用戶個(gè)人信息建模的Speaker模型,讓用戶ID參與訓(xùn)練,使回復(fù)具有個(gè)性信息,但該只是簡單地將用戶ID拼在Decoder的輸入部分,歷史信息的有效利用程度很低。為了更充分地利用用戶歷史信息,我們在speaker模型的基礎(chǔ)上做了如下改進(jìn)。

      首先借鑒了檢索式模型的思想,引入了搜索模塊,期望在用戶的歷史回復(fù)中找到符合當(dāng)前問題的回復(fù),并用于指導(dǎo)模型的生成。其次,speaker模型只利用了用戶的回復(fù)信息,主要體現(xiàn)用戶的說話風(fēng)格,而用戶發(fā)布過的帖子也體現(xiàn)著用戶的興趣愛好信息。因此,我們在Encoder端編碼了該部分信息,并與當(dāng)前查詢相結(jié)合,使得輸出的語義向量附帶用戶的興趣信息,更有效地利用個(gè)性化信息。在實(shí)現(xiàn)方式上則借鑒了多輪對(duì)話系統(tǒng)的思想,由于多輪對(duì)話的上下文有時(shí)序關(guān)系,需要通過循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)附帶時(shí)序信息,但本文工作中,用戶發(fā)表的歷史帖子并無太多時(shí)序上的聯(lián)系,所以本文采用提取特征功能上更強(qiáng)的TextCNN[7]進(jìn)行編碼。實(shí)驗(yàn)結(jié)果證明我們的模型在生成回復(fù)的準(zhǔn)確性和多樣性方面都有一定程度的提升。總的來說,本文的貢獻(xiàn)主要有兩個(gè)。

      (1) 提出了一種新的對(duì)用戶和用戶歷史信息建模的個(gè)性化對(duì)話系統(tǒng)模型PCC模型。

      (2) 證明了對(duì)單個(gè)用戶建模時(shí),其歷史回復(fù)對(duì)機(jī)器人回復(fù)生成準(zhǔn)確性和多樣性有明顯作用。

      本文組織結(jié)構(gòu)如下: 第1節(jié)討論本文的相關(guān)工作;第2節(jié)介紹PCC模型的具體架構(gòu)和實(shí)現(xiàn)方式;第3節(jié)是本文的實(shí)驗(yàn)部分,首先對(duì)實(shí)驗(yàn)所用的語料庫PchatbotW進(jìn)行了介紹并實(shí)施相應(yīng)處理,之后進(jìn)行了對(duì)比實(shí)驗(yàn)并分析了實(shí)驗(yàn)結(jié)束,也進(jìn)行了消融實(shí)驗(yàn)以展現(xiàn)模型各個(gè)模塊的作用,最后通過案例分析具體展現(xiàn)模型的效果。第4節(jié)是本文的結(jié)論和未來工作。

      1 相關(guān)工作

      在過去的幾十年里,學(xué)者們發(fā)表了大量的對(duì)話系統(tǒng)建模的工作。早期的對(duì)話系統(tǒng)是基于規(guī)則的[8-9],即根據(jù)特定的模式給出特定形式的回答,這種模型不需要訓(xùn)練數(shù)據(jù)。而隨著可以接觸到的對(duì)話語料庫越來越多,規(guī)模越來越大,學(xué)者們開始更多地探索數(shù)據(jù)驅(qū)動(dòng)型的對(duì)話系統(tǒng)。

      基于統(tǒng)計(jì)機(jī)器翻譯(SMT)的方案開始被應(yīng)用到對(duì)話系統(tǒng)中,其思想是將輸入作為一種語言,將輸出作為另一種語言。這意味著可以將許多機(jī)器翻譯算法用于對(duì)話生成。Koehn[10]中應(yīng)用基于短語的翻譯方法來完成此任務(wù),是最早的生成對(duì)話模型之一。一些工作將編碼-解碼模型[11-12]應(yīng)用到對(duì)話領(lǐng)域中,即先通過編碼器將序列編碼得到隱藏向量,再在解碼段將隱藏向量解碼成新的序列。Cho等提出了Seq2Seq框架[11],其編碼端和解碼段是兩個(gè)不同的RNN網(wǎng)絡(luò),主要是為了解決輸入和輸出不等長的問題,Sutskever將Seq2Seq模型中的RNN部分?jǐn)U展為LSTM[13],使模型在信息長期記憶上更具優(yōu)勢。Seq2Seq框架在文本生成任務(wù)中非常成功,但是其將整個(gè)源序列編碼為固定大小的向量,特別是編碼長源序列時(shí),有一定的局限性。而基于注意力機(jī)制的模型[12]則通過在預(yù)測下一個(gè)單詞時(shí)只關(guān)注源序列中的一部分信息的方式,減輕了這個(gè)限制。到目前為止,注意力機(jī)制依然非常廣泛地應(yīng)用在各種文本生成模型中。

      在人類的日常交談時(shí),人們通常會(huì)適應(yīng)對(duì)話者以促進(jìn)理解,從而提高對(duì)話效率和滿意度。要使對(duì)話系統(tǒng)達(dá)到人的水平,很可能需要個(gè)性化,即模型能夠感知并能夠適應(yīng)對(duì)話者,這種能力可以提高對(duì)話的有效性和自然性。學(xué)者們因此在個(gè)性化領(lǐng)域也進(jìn)行了許多研究,Li證明了Seq2Seq方法通常具有不連貫的對(duì)話[6],也就是說,聊天機(jī)器人的回復(fù)經(jīng)常與之前的響應(yīng)相矛盾。為了解決這個(gè)問題,Li等[6]提出了一種Speaker模型,這是一種基于用戶歷史的方法,需要在數(shù)據(jù)中加入用戶的ID信息,它是LSTM模型的擴(kuò)展,將ID向量空間嵌入到原始模型中。類似于單詞的向量空間,距離較近的說話者的向量空間中的說話者具有更相似的說話風(fēng)格。該模型不僅可以生成更多的個(gè)性化答案,而且在某種程度上符合人類對(duì)話中的一對(duì)多模式,即一個(gè)問題可以具有多個(gè)不同的答案。而Luan等提出了通過多任務(wù)學(xué)習(xí)方法對(duì)speaker模型進(jìn)行擴(kuò)展[14],它結(jié)合了由對(duì)話數(shù)據(jù)訓(xùn)練的Seq2Seq模型和由用戶的其余文本信息訓(xùn)練的自動(dòng)編碼器(auto-encoder),通過共享解碼器的參數(shù)使得生成的回復(fù)附帶有用戶個(gè)性化信息。Qian等提出了一種基于文件的方法[15]。它會(huì)預(yù)設(shè)機(jī)器人的身份文件,并使相關(guān)答案與設(shè)置一致,以便機(jī)器人在回答時(shí)可以具有某些身份特征,與先前工作的不同之處在于,其不必從對(duì)話中慢慢學(xué)習(xí)個(gè)性。Zhang等提出一種用戶適應(yīng)的方法[16],其也是對(duì)單個(gè)用戶進(jìn)行建模,模型包括兩部分,第一部分使用大型通用訓(xùn)練數(shù)據(jù)對(duì)對(duì)話系統(tǒng)進(jìn)行預(yù)訓(xùn)練,第二部分是根據(jù)小型個(gè)性化訓(xùn)練數(shù)據(jù)調(diào)整模型。Liu等提出了一種生成靜態(tài)用戶ID向量的方案[17],其首先隨機(jī)初始化用戶ID向量,再通過匹配用戶ID和用戶歷史發(fā)表的帖子來更新ID,再將訓(xùn)練好的ID向量輸入到模型當(dāng)中。Cho等[11]提出了一種注意力記憶網(wǎng)絡(luò)(attentive memory network),通過說話者的對(duì)話歷史來預(yù)測說話者將要給出的回復(fù),實(shí)驗(yàn)結(jié)果也證明了對(duì)話歷史記錄中包含了說話者的個(gè)性信息。

      在這篇文章中,我們使用生成式模型,借鑒了檢索式模型和多輪對(duì)話模型的思想,在speaker模型的基礎(chǔ)上進(jìn)行拓展,構(gòu)建了一種全新的對(duì)單個(gè)用戶建模的對(duì)話模型。

      2 PCC模型

      2.1 任務(wù)定義

      給定一個(gè)帖子x=x1x2…xn,一個(gè)用戶歷史回復(fù)hr={hr1,hr2,…,hrN}及其回答的帖子hp={hp1,hp2,…,hpN},任務(wù)的目的是對(duì)給定的帖子x生成一個(gè)適合的回復(fù)y=y1y2…ym,使得P(y|x,hr,hp)的概率最大。

      2.2 模型架構(gòu)

      圖1 PCC模型架構(gòu)

      接下來我們將具體介紹這三個(gè)模塊的結(jié)構(gòu)以及實(shí)施方式。

      (1)

      (2)

      最終在解碼端,將上述的顯性指導(dǎo)信息以及附帶用戶興趣信息的語義向量匯總,并加入用戶說話風(fēng)格信息作為生成的隱形指導(dǎo),將其通過GRU神經(jīng)網(wǎng)絡(luò)解碼。再通過注意力機(jī)制結(jié)合編碼端的帖子信息,通過全連接層生成最終的回復(fù),如式(3)所示。

      (3)

      2.2.1 搜索模塊

      (6)

      我們根據(jù)sj的大小找出其中相似性最高的一個(gè)帖子。

      (7)

      由于用戶的歷史回復(fù)中可能沒有與當(dāng)前回答類似的問題,示例如果直接加入該帖子的回復(fù)可能并不能起到指導(dǎo)的作用,我們事先設(shè)定了一個(gè)閾值t。在找到最高相似度si之后,通過該閾值t與其相似度進(jìn)行比較。我們認(rèn)為,如果相似度大于該閾值,則其回復(fù)對(duì)模型回復(fù)的生成有指導(dǎo)作用,此時(shí)模型不使用顯性指導(dǎo),輸出為空否。則通過字典尋找該帖子下的用戶歷史回復(fù),并將這個(gè)hri通過詞嵌入得到向量,并將其輸入解碼端。如式(8)所示。

      (8)

      2.2.2 編碼模塊

      (1) 帖子信息的提取

      由于用戶發(fā)表的帖子通常較長,為了保證句子的信息能夠被充分利用,并解決梯度消失和梯度爆炸問題,我們拋棄了傳統(tǒng)的RNN結(jié)構(gòu),轉(zhuǎn)而使用GRU實(shí)現(xiàn)帖子信息的提取。GRU是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,是長短時(shí)記憶(LSTM)的變體,也是為了解決長期記憶和反向傳播中的梯度消失等問題而提出來的。相對(duì)于LSTM來說,其訓(xùn)練效果相當(dāng),但訓(xùn)練效率則大大提高。我們將帖子的詞向量x輸入GRU神經(jīng)網(wǎng)絡(luò)中,并取出其最后一層隱藏層向量q代表帖子信息。

      q=GRU(embedding(x))

      (9)

      (2) 用戶興趣信息的提取

      我們通過編碼用戶的歷史回復(fù)提取用戶興趣信息。在多輪對(duì)話中,用戶的前幾輪對(duì)話歷史是模型的額外信息,并依此給出更符合邏輯的回復(fù)。而在對(duì)單人建模的個(gè)性化模型中,用戶的歷史信息也是額外信息,兩者的區(qū)別在于前者有著嚴(yán)格的時(shí)序結(jié)構(gòu),所以大部分采用可以附帶時(shí)序信息的RNN神經(jīng)網(wǎng)絡(luò)。此外,前幾輪對(duì)話歷史與當(dāng)前待回復(fù)帖子的聯(lián)系更緊密。而對(duì)于個(gè)性化模型,用戶歷史信息與當(dāng)前待回復(fù)帖子聯(lián)系較弱,因此需要提取特征能力更強(qiáng)的模型,其時(shí)序信息較弱,因此我們選用了TextCNN來達(dá)成這一目的。TextCNN的結(jié)構(gòu)與CNN類似,但其只在文本的垂直方向做卷積,并且只有一層。用戶興趣信息提取過程如下。

      hp′=embedding(hp)

      (10)

      首先對(duì)其進(jìn)行卷積操作,其中卷積核大小為h={h1,h2,…,hl}。

      (11)

      其中,ct,ji代表第j個(gè)卷積核卷積過后的第i個(gè)值,hj為卷積核大小,σ為sigmond函數(shù),wj為隨機(jī)初始化并參與訓(xùn)練的矩陣,bj為偏移量。之后將這些值聚合起來得到經(jīng)過第j個(gè)卷積核卷積后得到的向量ct,j,如式(12)所示。

      (12)

      再通過一維的最大池化函數(shù)1_max_pooling對(duì)ct,j進(jìn)行池化操作,然后提取ct,j中最大的一維數(shù)值ct,j′,以此壓縮向量維度并提取明顯特征,如式(13)所示。

      ct,j′=1_maxpooling(ct,j)

      (13)

      再將l個(gè)卷積核卷積得到的結(jié)果結(jié)合起來得到向量c。該向量被認(rèn)為是用戶興趣信息的特征提取向量。

      ct=[ct,1′,ct,2′,…,ct,l′]

      (14)

      之后我們對(duì)ct進(jìn)行線性化操作:

      pt′=Linear(ct)

      (15)

      最終我們將t個(gè)句子的特征向量結(jié)合起來得到用戶興趣向量p′。

      p′=[p1′,p2′,…,pt′]

      (16)

      我們認(rèn)為向量p′中即附帶了用戶興趣信息。

      (3)基于注意力機(jī)制的兩部分信息的結(jié)合

      注意力機(jī)制其實(shí)是一個(gè)查詢(query)到一系列鍵值對(duì)(key-value)的映射,其輸入即為Q,K,V。計(jì)算方式分三步,即首先對(duì)Q與K進(jìn)行相似度計(jì)算得到權(quán)值,之后對(duì)上部權(quán)值歸一化,再用歸一化的權(quán)值與V加權(quán)求和。

      由于用戶興趣信息由多句用戶之前回復(fù)的帖子信息組成,而用戶當(dāng)前回答的問題可能只與其中少量帖子相關(guān),因此我們要集中注意力于用戶歷史信息中與當(dāng)前帖子較為相關(guān)的部分。因此,我們通過注意力機(jī)制實(shí)現(xiàn)兩部分信息的結(jié)合,并使用dot_product函數(shù)計(jì)算并輸出最終的語義向量。其過程如下:

      我們首先通過注意力機(jī)制對(duì)兩部分信息進(jìn)行匹配,過程如下式(17)、式(18)所示。

      得到的q′向量即附帶了用戶興趣信息。其中ai為第i句歷史帖子的權(quán)值。

      (19)

      我們認(rèn)為該語義向量既包含帖子的語義信息,也附帶用戶興趣信息。

      2.2.3 解碼模塊

      解碼模塊的輸入由三部分組成,第一部分是編碼模塊的輸出,作為解碼端的初始化隱藏層向量;第二部分是搜索模塊的輸出作為生成的顯性指導(dǎo);第三部分是用戶ID向量[6]作為生成的隱形指導(dǎo)。具體來說,用戶ID也輸入到訓(xùn)練的數(shù)據(jù)中,可以把它看作另一個(gè)詞嵌入。由于每個(gè)用戶有多條不同的回復(fù),所以每一輪訓(xùn)練會(huì)存在多條用戶ID但內(nèi)容不同的數(shù)據(jù),所以用戶ID會(huì)被訓(xùn)練多次,其所代表的用戶說話風(fēng)格也會(huì)在一次次的訓(xùn)練過程中逐漸變得清晰。

      解碼端使用GRU神經(jīng)網(wǎng)絡(luò)對(duì)這三部分信息進(jìn)行解碼,其過程如下:

      在GRU的傳播過程中,除了上一個(gè)神經(jīng)元傳來的狀態(tài)ht-1和當(dāng)前的輸入qt,我們將用戶ID向量以及顯性指導(dǎo)p′也當(dāng)作該神經(jīng)元的輸入。

      (20)

      之后再通過GRU的重置門控r重置之前的數(shù)據(jù)得到ht-1′,如式(21)、式(22)所示。

      其中,σ為sigmond函數(shù),可以將數(shù)據(jù)變?yōu)?-1范圍內(nèi)的數(shù)值,⊕是連接運(yùn)算符,將兩個(gè)向量連接起來,Wr是隨機(jī)初始化并參與訓(xùn)練的權(quán)重矩陣。再將ht-1′與輸入qt拼接,通過tanh函數(shù)放縮到-1~1之間。

      h′=tanh(W(q′t⊕ht -1′))

      (23)

      其中,W是隨機(jī)初始化并參與訓(xùn)練的權(quán)重矩陣。最終通過更新單元z得出新的狀態(tài)向量ht,如式(24)、式(25)所示。

      其中,Wz為隨機(jī)初始化并參與訓(xùn)練的矩陣。

      為了使回答生成的效果更好,解碼模塊加入了注意力機(jī)制。我們將編碼端的帖子編碼部分的GRU的輸出向量與解碼端的輸出向量進(jìn)行加權(quán)注意力,得到的向量與解碼端的輸出向量再結(jié)合得到最終輸出yt。其過程與上文編碼端帖子信息與用戶興趣信息的結(jié)合類似。我們將yt通過tanh函數(shù)放縮到[-1,1]之間,通過beam-search得到最終的句子。

      3 實(shí)驗(yàn)

      在本節(jié)中,我們將具體介紹驗(yàn)證模型效果的實(shí)驗(yàn),包括選取的語料庫、訓(xùn)練數(shù)據(jù)的構(gòu)建、訓(xùn)練設(shè)置、評(píng)價(jià)指標(biāo)的使用、對(duì)比模型、實(shí)驗(yàn)結(jié)果分析,以及消融實(shí)驗(yàn)。

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

      本文使用的數(shù)據(jù)集是PchatbotW,為語料庫Pchatbot的一個(gè)子數(shù)據(jù)集。Pchatbot語料庫是2019年由中國人民大學(xué)開放的一個(gè)超大規(guī)模的中文對(duì)話語料庫,其由PchatbotL和PchatbotW兩個(gè)部分組成,前者是司法領(lǐng)域的對(duì)話數(shù)據(jù),并不適合本篇工作所面向的開放領(lǐng)域,所以本文不多做贅述,后者從中國最大的社交網(wǎng)絡(luò)平臺(tái)新浪微博上爬取下來。微博用戶可以隨時(shí)隨地在應(yīng)用上發(fā)帖或者評(píng)論他人的帖子,我們爬取了2018年9月10日至2019年9月10日的超過三億條(帖子,回答)對(duì)并從中篩選出130萬作為本次實(shí)驗(yàn)的原始語料。表1給出了PchatbotW的一組數(shù)據(jù)樣例。在樣例中可以看到,PchatbotW每組數(shù)據(jù)有兩個(gè)部分,分別是帖子和回復(fù),兩部分除了保留原始的聊天內(nèi)容以外,還保留了發(fā)表帖子或回復(fù)的用戶ID和時(shí)間戳(經(jīng)過隱私化處理),用戶ID的保留為Speaker模型的復(fù)現(xiàn)和拓展保留了基礎(chǔ),而時(shí)間戳的保留則可以通過當(dāng)前對(duì)話提取出用戶之前的歷史記錄。

      表1 PchatbotW數(shù)據(jù)樣例

      3.2 訓(xùn)練數(shù)據(jù)構(gòu)建

      在本次實(shí)驗(yàn)中,由于資源限制,我們并沒有使用全部的對(duì)話數(shù)據(jù),而只是根據(jù)用戶ID在其中篩選出了近120萬(帖子,回復(fù))對(duì)。在實(shí)驗(yàn)數(shù)據(jù)處理上,我們通過用戶ID構(gòu)造ID詞匯表,通過ID和時(shí)間戳提取出每一條回復(fù)的歷史回復(fù),并通過搜索模塊事先構(gòu)建出最相似回復(fù)的數(shù)據(jù)文件。為了訓(xùn)練用戶模型以獲得隱式表示,并進(jìn)一步建立對(duì)話模型以在給定的對(duì)話中進(jìn)行適當(dāng)?shù)幕貜?fù),我們采取了時(shí)序方案劃分訓(xùn)練、評(píng)價(jià)和測試集。具體來說,對(duì)于具有兩個(gè)或更多回復(fù)歷史的用戶,根據(jù)時(shí)間戳,將用戶的倒數(shù)第二個(gè)響應(yīng)對(duì)用作驗(yàn)證集,并使用最后一個(gè)響應(yīng)對(duì)作為測試集,以保證測試集和訓(xùn)練集的用戶歷史信息在訓(xùn)練數(shù)據(jù)中都出現(xiàn)過。而只有一個(gè)回復(fù)的用戶則只放入驗(yàn)證集。而在正負(fù)例的劃分中,訓(xùn)練中,正例為原本的用戶回復(fù),負(fù)例是在其他用戶的回答中隨機(jī)挑選的,正負(fù)例比例為1∶1。各個(gè)數(shù)據(jù)集的信息如表2所示。

      表2 數(shù)據(jù)集信息

      3.3 訓(xùn)練設(shè)置

      我們的模型訓(xùn)練設(shè)置如下: GRU隱藏層為1層,每層具有1 024個(gè)隱藏單元。 批處理大小設(shè)置為32,詞向量維度設(shè)置為100,學(xué)習(xí)率設(shè)置為0.000 1,衰減因子為0.995,參數(shù)在范圍[-0.8,0.8]內(nèi)初始化,最大梯度截?cái)嘣O(shè)置為5,詞匯表大小設(shè)置為40 000,用戶ID詞匯表設(shè)置為40 000,神經(jīng)元衰減系數(shù)(dropout rate)設(shè)置為0.2,Beam Width設(shè)置為5以進(jìn)行beam search。最大帖子長度和最大回復(fù)長度都設(shè)置為50。

      3.4 評(píng)價(jià)指標(biāo)

      在自動(dòng)指標(biāo)方面,我們使用了BLEU-n,perplexity以及distinct-n[19]。BLEU-n指標(biāo)在機(jī)器翻譯任務(wù)中被廣泛采用,并應(yīng)用于其他文本生成類任務(wù),也經(jīng)常作為對(duì)話質(zhì)量評(píng)測的標(biāo)準(zhǔn)之一。其認(rèn)為生成序列和參考序列越接近,則其生成質(zhì)量越高。同時(shí)也使用了perplexity指標(biāo)(ppl)評(píng)價(jià)模型生成能力,其思想是根據(jù)每個(gè)詞來估計(jì)一句話出現(xiàn)的概率,并用句子長度做歸一化,PPL越小,我們期望的sentence出現(xiàn)的概率就越高。此外我們還使用了distinct[19]指標(biāo)來評(píng)價(jià)模型生成的回復(fù)的多樣性程度,distinct指數(shù)越高,則說明回復(fù)越多樣。

      然而,在對(duì)話領(lǐng)域,這些自動(dòng)指標(biāo)的說服力仍沒有那么強(qiáng),為了證明模型的效果,我們也進(jìn)行了人工評(píng)價(jià),其評(píng)價(jià)原則如表3所示。為了排除評(píng)價(jià)人的主觀因素影響,我們在評(píng)價(jià)前對(duì)幾個(gè)模型生成的答案進(jìn)行了隨機(jī)處理。由于人力限制,我們選取了200條帖子,并使用三個(gè)模型分別對(duì)這200條帖子進(jìn)行回復(fù)的生成并進(jìn)行人工評(píng)價(jià)。

      表3 人工評(píng)價(jià)準(zhǔn)則

      3.5 對(duì)比模型

      (1)Seq2Seq-Attention模型: 我們復(fù)現(xiàn)了經(jīng)典的Seq2Seq模型,在生成端加入了注意力機(jī)制,其輸入是帖子,輸出是回復(fù)。不需要加入用戶ID信息和歷史信息。

      (2)Speaker模型: 我們也復(fù)現(xiàn)了Speaker模型,本文是基于Speaker模型的改進(jìn),將Speaker模型作為對(duì)比可以體現(xiàn)用戶歷史信息和生成顯性指導(dǎo)的重要作用。值得一提的是,出于訓(xùn)練效率的考慮,我們將Speaker模型中的對(duì)帖子的LSTM編碼替換成了GRU編碼。

      3.6 實(shí)驗(yàn)結(jié)果分析

      我們首先比較了三個(gè)模型的自動(dòng)指標(biāo),具體數(shù)據(jù)如表4所示。從表中可以看出,PCC模型的BLEU指標(biāo)最高,perplexity指數(shù)最低,證明相較于其他兩個(gè)模型,其生成回復(fù)的準(zhǔn)確性較高。其次,生成回復(fù)的distinct指數(shù)有了一定提高,說明PCC模型在改善回答的多樣性方面有一定提升。而Speaker模型相比于Seq2Seq在各指標(biāo)上提升相對(duì)明顯,說明用戶ID在提升對(duì)話質(zhì)量方面作用顯著,也說明了新發(fā)表的數(shù)據(jù)集Pchatbot的實(shí)用性。

      表4 對(duì)比實(shí)驗(yàn)結(jié)果

      人工評(píng)價(jià)的實(shí)驗(yàn)結(jié)果如表5所示,其表格數(shù)據(jù)為獲得相應(yīng)得分的樣本數(shù)??梢钥吹剑琍CC模型生成的高分回復(fù)數(shù)目相較于Seq2Seq和Speaker模型增多,低分回復(fù)減少,平均得分上升。同時(shí)我們使用方差分析進(jìn)行顯著性檢驗(yàn),其P-value值均小于0.05,證明PCC模型與Speaker模型以及Seq2Seq模型有顯著差異,說明PCC模型在改善對(duì)話質(zhì)量上的確有較大作用。

      表5 人工評(píng)價(jià)結(jié)果

      3.7 消融實(shí)驗(yàn)

      在證明PCC模型實(shí)驗(yàn)的優(yōu)越結(jié)果之后,我們還做了消融實(shí)驗(yàn),即去除模型中的一部分以證實(shí)另一部分的效果,具體來說,我們做了PCC去除搜索模塊(稱為PCC-R)和PCC去除用戶歷史發(fā)表帖子信息(稱為PCC-P)的實(shí)驗(yàn),其實(shí)驗(yàn)結(jié)果如表6所示??梢钥吹剑瑑蓚€(gè)消融實(shí)驗(yàn)的實(shí)驗(yàn)效果都有不同程度的降低,而去除檢索模塊使準(zhǔn)確度指標(biāo)(BLEU)下降的幅度較大,而去除歷史發(fā)表帖子信息使多樣性指標(biāo)(distinct)下降的幅度較大,說明模型的這兩個(gè)部分分別在準(zhǔn)確性和多樣性上起更大作用。而兩者相比較于Speaker模型在各指標(biāo)上仍然有一定程度的提升,說明搜索模塊和帖子編碼模塊對(duì)于改善回復(fù)質(zhì)量都有一定程度的幫助。

      表6 消融實(shí)驗(yàn)結(jié)果

      此外,對(duì)于搜索模塊的閾值t,我們設(shè)置了不同的值從0.2-0.6,跨度為0.2,比較其生成效果,最終根據(jù)ppl選定了t為0.2,t值較高時(shí)效果不好的原因可能是相似度較高的答案相對(duì)較少,使得模型的信息相對(duì)較少,所以雖然t為0.2時(shí)篩選出的相似回復(fù)可能相似度更低,但有更多的相似回復(fù)可供參考,所以生成效果更好一些。

      3.8 案例分析

      我們也進(jìn)行了案例分析,具體理解模型的作用,結(jié)果如表7所示。回復(fù)該帖子的用戶的歷史回復(fù)一共有62條,其中大部分是關(guān)于明星,以有關(guān)張藝興的評(píng)論居多??梢钥闯鯯eq2Seq生成的回復(fù)較為泛化,雖然語義連貫,但并不能體現(xiàn)該用戶的特性。而Speaker模型生成的回復(fù)則可以看出一定的用戶特性,提到了張藝興的名字。而PCC模型生成的回復(fù)在附帶個(gè)人信息的同事,與原始回復(fù)也更為接近,因?yàn)樵撚脩粼貜?fù)過類似的帖子。

      表7 案例分析

      4 結(jié)論和未來工作

      在這篇文章里,我們介紹了一種將對(duì)用戶歷史信息建模以構(gòu)建對(duì)話機(jī)器人的模型。其在Speaker模型的基礎(chǔ)上,延續(xù)了Seq2Seq框架,在外部加入了搜索模塊以搜索相似回答作為顯性指導(dǎo),并通過歷史發(fā)表帖子編碼了用戶歷史特征信息。此外,本文通過實(shí)驗(yàn)結(jié)果證明了搜索模塊在提升回復(fù)的準(zhǔn)確性上有較大作用,用戶歷史回復(fù)帖子編碼的信息在提升回復(fù)的多樣性上有較大作用,也證明了用戶ID向量空間對(duì)對(duì)話質(zhì)量的提升效果。

      本文的編碼器-解碼器框架是基于Seq2Seq的,而基于Transformer的實(shí)驗(yàn)將于之后完成。其次,本文基于doc2Vec生成句向量的以及通過cos相似度計(jì)算相似性的方法仍然比較基礎(chǔ),而閾值方案也較為簡單,以后需要改進(jìn),基于其他標(biāo)準(zhǔn)選取生成指導(dǎo)的方案也將在之后進(jìn)行測試。其次是本文的搜索模塊面向的數(shù)據(jù)較少,如果信息文本較多,模型可能無法運(yùn)行,可以考慮將IR模型應(yīng)用到該模型中。最后是本文所做的個(gè)性化對(duì)話機(jī)器人,仍然限定在單輪對(duì)話,而在對(duì)話領(lǐng)域,對(duì)多輪對(duì)話的研究早已進(jìn)行很久,而由于缺乏附帶個(gè)性化信息的多輪對(duì)話語料庫,個(gè)性化多輪對(duì)話仍然處于起步階段,希望可以盡快推動(dòng)其發(fā)展,使人類可以真正擁有一個(gè)機(jī)器聊天伴侶。

      猜你喜歡
      帖子編碼向量
      向量的分解
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      聚焦“向量與三角”創(chuàng)新題
      《全元詩》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      Genome and healthcare
      暴力老媽
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      情事圈點(diǎn)
      女性天地(2012年11期)2012-04-29 00:44:03
      安岳县| 喜德县| 荣成市| 江都市| 宣威市| 温州市| 景洪市| 徐汇区| 密山市| 安仁县| 和平区| 华阴市| 亳州市| 高唐县| 潍坊市| 舟山市| 莱西市| 视频| 大姚县| 南乐县| 遂溪县| 固安县| 香格里拉县| 灵台县| 江都市| 桂林市| 江永县| 南雄市| 盐源县| 精河县| 赤壁市| 和林格尔县| 边坝县| 封开县| 平原县| 嘉禾县| 宁波市| 平陆县| 九龙城区| 界首市| 三河市|