張?jiān)姲?熊德意
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
任務(wù)型對(duì)話系統(tǒng)(Task-oriented Dialogue System)是自然語言處理領(lǐng)域一個(gè)重要的研究方向,其主要目的是通過對(duì)話交互完成特定任務(wù)[1],如尋找商品、預(yù)訂酒店等。由于其廣闊的應(yīng)用前景和巨大的發(fā)展?jié)摿?受到了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注。
根據(jù)對(duì)話輪數(shù)的不同,任務(wù)型對(duì)話系統(tǒng)可以分為單輪對(duì)話和多輪對(duì)話。近些年,單輪對(duì)話生成任務(wù)取得了豐富的研究成果,然而在多輪對(duì)話生成任務(wù)上,模型的效果仍然不盡如人意。
單輪對(duì)話由于其一問一答的特性,問句的語意完整,意圖清晰,幾乎不使用省略和指代,模型回答起來相對(duì)容易;而多輪對(duì)話間的意圖較為復(fù)雜,需要考慮對(duì)話上下文信息,語句中還存在大量的省略和指代現(xiàn)象。如圖1所示,對(duì)話中的代詞給模型理解說話者的真實(shí)意圖造成了很大的困難,這是多輪對(duì)話模型性能達(dá)不到預(yù)期的一大原因[2-3]。
圖1 含有指代的多輪任務(wù)型對(duì)話示例
本文主要關(guān)注代詞對(duì)模型語言理解的影響,提出將共指消解任務(wù)結(jié)合到任務(wù)型對(duì)話上,消除代詞的歧義,提升任務(wù)型對(duì)話生成模型的性能。
為了減輕省略和指代對(duì)多輪任務(wù)型對(duì)話生成模型的影響,Quan等[2]提出了一個(gè)生成式省略指代恢復(fù)模型GECOR,它把省略指代的消解任務(wù)簡(jiǎn)單地看作一個(gè)端到端的生成任務(wù):根據(jù)上下文信息,將含有代詞及省略的不完整句子直接轉(zhuǎn)寫為語義成分完整的句子,使對(duì)話模型可以更好地生成回復(fù)。這種方法可以取得一定的消歧效果,但訓(xùn)練消解模型需要標(biāo)注額外的<不完整語句,完整語句>數(shù)據(jù)對(duì),缺乏擴(kuò)展性;同時(shí),以端到端的方式恢復(fù)句子的完整語義,中間過程不可見,也不可控,因而在實(shí)際使用中缺乏靈活性。
不同于之前的方法,本文提出先借助共指消解模型識(shí)別出對(duì)話上下文中存在的指代簇,然后利用兩種不同的方法將指代簇引入到對(duì)話模型中:①利用指代簇信息將語句中的代詞恢復(fù)為代詞所指代的實(shí)體,恢復(fù)句子的完整語義,降低對(duì)話理解的難度;②使用圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Networks,GCN)對(duì)指代簇編碼,作為額外信息引入到任務(wù)型對(duì)話生成模型中,增強(qiáng)機(jī)器理解對(duì)話的能力,幫助模型生成更合理的回復(fù)。
本文提出的方法在大規(guī)模多領(lǐng)域任務(wù)型對(duì)話數(shù)據(jù)集RiSAWOZ[4]上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文提出的兩個(gè)方法均比基線模型的性能有顯著提升,證明本文方法的有效性。
本文的組織架構(gòu)為:第1節(jié)介紹消解代詞增強(qiáng)對(duì)話生成的相關(guān)工作;第2節(jié)介紹任務(wù)型對(duì)話和共指消解相關(guān)的背景知識(shí);第3節(jié)介紹使用指代簇恢復(fù)對(duì)話完整語義的工作;第4節(jié)介紹將指代簇信息結(jié)構(gòu)化編碼引入對(duì)話模型的相關(guān)工作;第5節(jié)介紹了實(shí)驗(yàn)設(shè)置及實(shí)驗(yàn)結(jié)果;第6節(jié)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析;最后,總結(jié)全文,并對(duì)下一步的工作進(jìn)行展望。
本節(jié)主要介紹消解代詞以增強(qiáng)對(duì)話生成任務(wù)的相關(guān)工作。
Zheng等[5]利用單輪短文本對(duì)話數(shù)據(jù)構(gòu)建了一個(gè)指代省略消解數(shù)據(jù)集,其數(shù)據(jù)形如<不完整語句,完整語句>,然后使用Seq2Seq的神經(jīng)網(wǎng)絡(luò)模型執(zhí)行省略補(bǔ)全及代詞消解。此方法的局限在于模型僅在單輪對(duì)話語句上處理,忽略了對(duì)話歷史對(duì)代詞消解省略補(bǔ)全的作用。
Su等[3]提出把代詞消解和省略補(bǔ)全作為預(yù)處理任務(wù),幫助多輪對(duì)話建模,其方法是先將對(duì)話歷史及當(dāng)前對(duì)話一同輸入句子重寫模型,恢復(fù)所有代詞,補(bǔ)全所有省略信息,然后用重寫完的句子執(zhí)行下一個(gè)對(duì)話處理步驟,降低對(duì)話理解的難度。他們構(gòu)建了含有2萬段中文多輪對(duì)話的數(shù)據(jù)集,其數(shù)據(jù)形式與Zheng等類似,但把任務(wù)擴(kuò)展到了多輪對(duì)話。該方法使用結(jié)合指針網(wǎng)絡(luò)[6](Pointer Network)的Transformer[7]模型作為句子重寫模型,在現(xiàn)有的多個(gè)聊天機(jī)器人上進(jìn)行實(shí)驗(yàn),都能有效提升聊天機(jī)器人的回復(fù)質(zhì)量。
Quan等[2]則將多輪任務(wù)型對(duì)話和句子重寫進(jìn)行了結(jié)合,提出了一個(gè)生成式省略指代恢復(fù)模型GECOR。同樣的,他們?cè)贑am Rest676數(shù)據(jù)集上進(jìn)行了擴(kuò)展標(biāo)注,每句話都額外地標(biāo)注了<不完整語句,完整語句>語句對(duì),然后將結(jié)合了拷貝網(wǎng)絡(luò)[8](Copy Network)的Seq2seq模型與任務(wù)型對(duì)話生成模型Sequicity[9]進(jìn)行多任務(wù)聯(lián)合訓(xùn)練,該方法也取得了較好的提升效果。
與之前的工作相比,本文主要關(guān)注多輪對(duì)話生成中的指代問題,借助共指消解模型得到對(duì)話歷史中的指代簇信息,通過兩種不同的方式增強(qiáng)對(duì)話模型。在數(shù)據(jù)上,本文提出的方法不需要額外標(biāo)注<不完整語句,完整語句>數(shù)據(jù)對(duì),具有更好的適應(yīng)性。同時(shí),先抽取指代簇,再使用指代信息的方式,過程可見、可控,更適合工業(yè)中的實(shí)際運(yùn)用。
本節(jié)介紹與文章相關(guān)的背景知識(shí),主要包括兩部分:共指消解及任務(wù)型對(duì)話模型。
共指消解是自然語言處理中的一個(gè)基本任務(wù),其目的是找出文本中描述同一個(gè)實(shí)體的所有表述(mentions,包括代詞和名詞短語),構(gòu)成一個(gè)指代簇(coreference cluster)[10]。如圖2中,“通用電氣”和“該公司”表述的都是同一個(gè)實(shí)體“通用電氣”,所以這兩個(gè)表述構(gòu)成了一條指代簇。
圖2 指代簇樣例
傳統(tǒng)的共指消解方法[11-14]都是采用管道式結(jié)構(gòu)(pipeline),即先通過句法解析識(shí)別出文本中所有的代詞和實(shí)體,然后通過手工構(gòu)造的特征對(duì)它們進(jìn)行打分聚類。這類方法的局限在于其依賴大量復(fù)雜精細(xì)的特征,易導(dǎo)致級(jí)聯(lián)錯(cuò)誤。Clark 和Manning等人[15-16]將神經(jīng)網(wǎng)絡(luò)應(yīng)用到共指消解任務(wù)上,減少了執(zhí)行共指消解所需要語義特征的數(shù)量。Lee等[10]提出了一個(gè)端到端的共指消解模型e2e-coref,它完全不需要任何的句法解析和手工構(gòu)造特征,減少了句法解析導(dǎo)致級(jí)聯(lián)錯(cuò)誤的發(fā)生概率,同時(shí),其性能超過了之前的所有模型。
Lee把共指消解任務(wù)簡(jiǎn)化:先將含有T個(gè)詞的文本D=(x1,x2,…,xT)切分成N=個(gè)文本片段(span),然后通過模型計(jì)算得分,為每一個(gè)文本片段尋找最可能是其先行詞(antecedent)的片段。
本文使用e2e-coref執(zhí)行共指消解任務(wù),其模型主要分為兩個(gè)部分。第一部分如圖3所示,模型的輸入為分詞后的單詞,先映射成詞嵌入向量表示,再使用Bi-LSTM 根據(jù)上下文進(jìn)行編碼,得到詞的表示x*t,最后加權(quán)求和得到文本片段的表示g。第二部分如圖4所示,模型的輸入為第一部分輸出的片段嵌入表示g,先計(jì)算可能是代詞或先行詞的概率,將概率過低的去除,以減少計(jì)算復(fù)雜度;然后將剪枝后的片段兩兩配對(duì),計(jì)算兩個(gè)表述間存在指代關(guān)系的概率,通過加權(quán)計(jì)算得到最終的概率,抽取得分高的構(gòu)成最終的指代簇。
圖3 e2e-coref第一部分
圖4 e2e-coref第二部分
本文中的共指消解任務(wù)利用了改進(jìn)后的e2e-coref模型,使用fast Text[17]中文預(yù)訓(xùn)練詞向量,以適應(yīng)中文共指消解任務(wù)。
任務(wù)型對(duì)話的目的是通過對(duì)話完成特定的任務(wù)。早期的任務(wù)型對(duì)話[18-20]是由語言理解(NLU)、對(duì)話管理(DM)、語言生成(NLG)等多個(gè)功能部分組合而成的模塊化系統(tǒng);隨著深度學(xué)習(xí)的發(fā)展,任務(wù)型對(duì)話系統(tǒng)也逐漸開始引入神經(jīng)網(wǎng)絡(luò)[21-22]。
Zhang等[23]提出的DAMD 模型,使用端到端的方式,減少了各個(gè)模塊單獨(dú)訓(xùn)練的性能損耗;同時(shí)能夠有效捕捉問句與答句間一對(duì)多的映射關(guān)系,是目前性能最優(yōu)的端到端生成式任務(wù)型對(duì)話模型。因此,本文把DAMD 作為基線對(duì)話模型,并在此基礎(chǔ)上提出改進(jìn)方法。
DAMD由1個(gè)編碼器和3個(gè)解碼器組成,如圖5所示。
圖5 DAMD 模型
第t輪的問句和回復(fù)分別可以形式化為Ut和Rt,在第t輪時(shí),首先使用Context Encoder將上一輪的回復(fù)Rt-1和這一輪的問句Ut進(jìn)行編碼,得到相應(yīng)的句子表示。然后使用Belief Span Decoder解析出對(duì)話的意圖,根據(jù)上一輪的Belief Span和句子表示解碼得到第t輪的Belief Span,記為Bt,計(jì)算如式(1)所示。
得到當(dāng)前輪問句的意圖后,進(jìn)行數(shù)據(jù)庫檢索,獲取相應(yīng)信息DBt,并與問句拼接后,使用Action Span Decoder解碼得到接下來要執(zhí)行的動(dòng)作Action Span,記為At,如式(2)所示。
最后利用Response Decoder,生成最終的回復(fù)Rt,如式(3)所示。
本節(jié)主要介紹第一個(gè)改進(jìn)方法。在Zhang等人[23]的工作上進(jìn)行擴(kuò)展,在對(duì)話模型前加入了一個(gè)語義恢復(fù)模塊(Semantic Recovery,SR),把代詞消解作為一個(gè)對(duì)話的預(yù)處理步驟,使用指代簇恢復(fù)問句的完整語義,降低句子理解的難度,以增強(qiáng)對(duì)話生成任務(wù),如圖6所示。
圖6 DAMD+SR 模型
在經(jīng)過了e2e-coref模型后,可以從對(duì)話上下文中得到一個(gè)最終的指代簇Ct,但并不能知道指代簇中的文本片段是代詞還是實(shí)體,這給替換代詞恢復(fù)語義的工作造成了一定的困難。
在英語中,代詞有復(fù)指(anaphora)和預(yù)指(cataphora)兩種用法,復(fù)指為代詞在其所指代的詞之后,預(yù)指則為代詞出現(xiàn)在其指代的詞之前。但在中文中,代詞一般只用于復(fù)指,而極少為預(yù)指形式[24]。
因此,本文將此方法簡(jiǎn)化:把指代簇中出現(xiàn)的第一個(gè)表述都看作實(shí)體,后面的表述無論是實(shí)體還是代詞表示的都是第一個(gè)實(shí)體。在語義恢復(fù)時(shí),直接把指代簇中第二個(gè)及其之后的所有表述全部替換為第一個(gè)實(shí)體,以達(dá)到消解代詞的作用。在共指消解準(zhǔn)確率較高的情況下,此方法能有效恢復(fù)語義。
本節(jié)介紹第二個(gè)改進(jìn)方法,將指代簇作為額外信息融入對(duì)話模型,增強(qiáng)對(duì)話模型的編碼能力。
根據(jù)指代簇恢復(fù)句子完整語義的方法雖然取得了一定的消解效果,但此方法仍然存在一定的局限:①在執(zhí)行共指消解前要預(yù)先進(jìn)行分詞處理,然而中文分詞存在一定的誤差,會(huì)導(dǎo)致解析出的指代簇含有部分錯(cuò)誤,如圖7中例1所示;②雖然端到端共指消解模型取得了不錯(cuò)的效果,超過了所有傳統(tǒng)方法,但準(zhǔn)確率依然只能達(dá)到84%左右。在執(zhí)行代詞替換時(shí),錯(cuò)誤的指代簇可能反而會(huì)引入一些原本沒有的錯(cuò)誤,如圖7中例2所示。
圖7 語義恢復(fù)錯(cuò)誤樣例
針對(duì)上述問題,本文在模型上進(jìn)行改進(jìn),將指代簇信息先編碼,再引入對(duì)話模型,由模型自主選擇指代簇中信息進(jìn)行利用,增強(qiáng)模型的建模理解能力。
指代簇表示的是文本中詞與詞之間的關(guān)系。從形式上看,其并不是簡(jiǎn)單的一維序列結(jié)構(gòu),而是一種類似于圖的結(jié)構(gòu)化信息。本文利用圖卷積網(wǎng)絡(luò)[25]擅于對(duì)結(jié)構(gòu)化信息建模的特點(diǎn),將問句和指代簇構(gòu)建成一張圖(Graph),如圖8所示。
圖8 GCN 編碼所使用的Graph
使用GCN 對(duì)構(gòu)建的圖進(jìn)行編碼,如式(4)和式(5)所示。其中,h(l)i為節(jié)點(diǎn)i在第l層的特征,N(i)為節(jié)點(diǎn)i相鄰節(jié)點(diǎn)的集合,cij為歸一化因子。
Gt為各個(gè)節(jié)點(diǎn)表示的拼接,如式(5)所示。
把GCN 輸出的信息Gt與DAMD 中的Context Encoder 的輸出進(jìn)行融合,經(jīng)過Belief Span Decoder得到第t輪的Belief Span,即問句的意圖,記為Bt,如式(6)所示。
然后使用Action Span Decoder解碼得到第t輪的Action Span,即要執(zhí)行的Action,記為At,如式(7)所示。
最后,根據(jù)先前得到的Bt和At等信息,生成最后的回復(fù)語句Rt,如式(8)所示。
模型結(jié)構(gòu)如圖9所示。通過這種方式,把指代簇信息間接地引入到了對(duì)話模型,增強(qiáng)了對(duì)話模型的語言理解能力,又不影響原先句子的流暢度。這種方法還不用考慮指代簇中詞的關(guān)系,具有更好的擴(kuò)展性。
圖9 DAMD+GCN 模型
本節(jié)介紹了實(shí)驗(yàn)的相關(guān)設(shè)置、評(píng)價(jià)指標(biāo),并給出了相應(yīng)的實(shí)驗(yàn)結(jié)果。
本文提出的方法在RiSAWOZ 數(shù)據(jù)集[4]上進(jìn)行了實(shí)驗(yàn),這是迄今為止規(guī)模最大的中文任務(wù)型對(duì)話公開數(shù)據(jù)集,同時(shí)還標(biāo)注了大量的對(duì)話語言特征,包括指代簇、省略補(bǔ)全信息等。
首先使用RiSAWOZ數(shù)據(jù)集中的共指消解任務(wù)數(shù)據(jù)訓(xùn)練了共指消解模型。由于本文中的任務(wù)在中文對(duì)話上運(yùn)行,我們對(duì)e2e-coref模型做了修改,使用fast Text[17]中文預(yù)訓(xùn)練詞向量增強(qiáng)模型。
在得到共指消解模型e2e-coref 后,本文在RiSAWOZ數(shù)據(jù)集上進(jìn)行了對(duì)話生成的實(shí)驗(yàn),本文使用了10 000段對(duì)話作為訓(xùn)練集,開發(fā)集和測(cè)試集各使用600段。其中,平均每段對(duì)話含有1.77條指代簇,數(shù)據(jù)的詳細(xì)信息見表1。
表1 RiSAWOZ數(shù)據(jù)集
本文使用DAMD 模型作為基準(zhǔn)系統(tǒng),其中詞向量維度設(shè)為50,編碼器的隱層大小設(shè)置為100,隨機(jī)初始化模型參數(shù),并在訓(xùn)練過程中更新這部分參數(shù)。實(shí)驗(yàn)采用了Adam 模型[26]更新參數(shù),其中β1=0.9,β2=0.999。在使用第4 節(jié)提出的GCN 方法時(shí),GCN 的層數(shù)設(shè)置為1層。其余與Zhang等[23]的實(shí)驗(yàn)設(shè)置保持一致。
由于GCN模型使用的依賴與DAMD 模型存在兼容問題,本文使用了Py Torch-1.5 版本和dgl-0.5庫,并重新評(píng)測(cè)了基線模型性能。
本文借鑒了Zhang等[23]的實(shí)驗(yàn),使用Inform、Success、BLEU 和Combine作為本實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)。其中,Inform 是Belief Span的準(zhǔn)確率,Success是Action Span的準(zhǔn)確率,BLEU 是評(píng)價(jià)生成回復(fù)與參考回復(fù)的相似度;Combine是上述三個(gè)指標(biāo)的加權(quán)得分,其計(jì)算如式(9)所示。
表2展示了本文提出的改進(jìn)方法和基線模型在RiSAWOZ數(shù)據(jù)集上的性能。同時(shí),相關(guān)實(shí)驗(yàn)還按對(duì)話涉及的領(lǐng)域數(shù)量進(jìn)行劃分,計(jì)算了在單領(lǐng)域、多領(lǐng)域和全領(lǐng)域數(shù)據(jù)下的模型性能。
表2 實(shí)驗(yàn)結(jié)果
續(xù)表
從不同模型在全領(lǐng)域數(shù)據(jù)上的性能表現(xiàn)可以發(fā)現(xiàn),與基線模型相比,本文提出的語義恢復(fù)方法(+SR)在全部3 個(gè)指標(biāo)上均能有提升,在綜合的Combine Score上提升了2.56個(gè)百分點(diǎn);使用指代簇增強(qiáng)對(duì)話模型的方法(+GCN)則在所有指標(biāo)上都超過了基線模型,在Inform 指標(biāo)上提升2.72;在Success指標(biāo)上提升4.03;在BLEU 上提升1.3個(gè)百分點(diǎn);在Combine Score上,相比SR 方法進(jìn)一步提升了2.115個(gè)百分點(diǎn),相比基線模型則提升了4.675個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能夠更準(zhǔn)確地識(shí)別Belief Span,進(jìn)而生成出更優(yōu)的回復(fù)。
從模型在不同領(lǐng)域數(shù)據(jù)上的性能表現(xiàn)來看,多領(lǐng)域數(shù)據(jù)上的模型性能比單領(lǐng)域的有不小差距,與Quan等人[4]實(shí)驗(yàn)中的描述一致。在單領(lǐng)域和多領(lǐng)域數(shù)據(jù)上,基線模型、+SR、+GCN 方法的性能依次增強(qiáng),與全領(lǐng)域數(shù)據(jù)上的模型性能表現(xiàn)一致。
本節(jié)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,分析了指代簇對(duì)生成式對(duì)話模型的性能提升的有效性,比較了本文提出的兩個(gè)方法間的差異,驗(yàn)證了方法的有效性。
本文提出的方法是通過不同方式利用指代簇信息增強(qiáng)對(duì)話模型的性能,本節(jié)通過實(shí)驗(yàn)分析驗(yàn)證指代簇對(duì)生成式對(duì)話模型的提升的有效性。
在5.3節(jié)的實(shí)驗(yàn)結(jié)果中,先使用e2e-coref模型在對(duì)話上下文中抽取出所有的指代簇,然后繼續(xù)做相應(yīng)的處理。為了驗(yàn)證指代簇對(duì)對(duì)話模型的提升有效性,本文做了進(jìn)一步的實(shí)驗(yàn),在解碼過程中,將共指消解中解析出的指代簇按比例隨機(jī)掩去,保留20%、40%、60%、80%、100%的指代簇用作比較,模擬不同召回率情況下的對(duì)話模型各指標(biāo)提升效果。實(shí)驗(yàn)的性能如圖10所示。
圖10 使用不同數(shù)量指代簇的模型性能對(duì)比
從圖10可以看出,隨著指代簇?cái)?shù)量的增多,模型的性能緩慢提升,指代簇的召回率越高,對(duì)生成式對(duì)話模型的幫助越大。與基線模型相比,兩個(gè)方法在Combine Score指標(biāo)上都更強(qiáng)。這表明,引入指代簇的信息,確實(shí)能夠有效提升對(duì)話模型的生成性能。
本文提出的兩個(gè)增強(qiáng)方法,區(qū)別主要在于利用指代簇信息的方式不同,第3節(jié)提出的方法是使用指代簇恢復(fù)對(duì)話源端語句的完整語義,降低句子的理解難度;第4節(jié)提出的方法則是將指代簇作為額外信息編碼,整合進(jìn)對(duì)話生成模型,增強(qiáng)對(duì)話模型的語言理解能力。本節(jié)探究了這兩個(gè)方法的區(qū)別,主要是指代簇質(zhì)量的高低對(duì)這兩個(gè)方法性能的影響,分析兩個(gè)方法的魯棒性。
為了驗(yàn)證兩個(gè)方法對(duì)指代簇質(zhì)量的敏感程度,在訓(xùn)練對(duì)話模型時(shí),給訓(xùn)練數(shù)據(jù)中的指代簇隨機(jī)添加噪聲,噪聲的比例按10%遞增,模擬不同消解準(zhǔn)確率下對(duì)話模型的性能表現(xiàn)。
如圖11所示,在不添加任何噪聲的情況下,兩個(gè)方法都達(dá)到了最高性能,隨著噪聲的增多,兩個(gè)方法的性能都開始逐漸下降。這說明繼續(xù)提高共指消解模型的性能,提高指代簇準(zhǔn)確率,能夠進(jìn)一步提升對(duì)話模型的性能。
圖11 添加不同數(shù)量噪聲的模型性能對(duì)比
在兩個(gè)方法的比較上,在0%和50%噪聲情況下做對(duì)比,SR方法性能下降了1.07%,而GCN 方法性能下降了1.02%,表明GCN 方法的性能損失更少,魯棒性更佳,確實(shí)優(yōu)于基線模型和SR方法。
表3中展示的是對(duì)話的一個(gè)生成示例,可以看到在對(duì)話的問句中存在代詞“這部片子”,這給作為基線模型的DAMD 模型造成了一定的影響,使得模型錯(cuò)誤地認(rèn)為當(dāng)前談?wù)摰氖请娨晞☆I(lǐng)域,造成后續(xù)一系列問題。
表3 回復(fù)樣例比較
SR 和GCN 方法則先對(duì)上下文做共指消解,抽取出對(duì)話文本中的指代簇,降低代詞對(duì)語言理解模型的影響。結(jié)合了SR 方法的模型,將問句恢復(fù)為“最后我想問問武狀元蘇乞兒還有哪些主演?”后,模型能夠準(zhǔn)確地識(shí)別出對(duì)話意圖為詢問電影領(lǐng)域的主演名單和片長(zhǎng)兩個(gè)槽,但直接替換破壞了語句的流暢度,造成回復(fù)生成質(zhì)量一般。結(jié)合了GCN 方法的模型,將指代簇作為輔助信息編碼進(jìn)對(duì)話模型,解析的act span準(zhǔn)確,生成的回復(fù)完整且質(zhì)量高,顯示出了更好的性能。這表明,借助指代簇的信息,能夠有效提升含有代詞語句的語言理解能力;另一方面,GCN 方法相比SR 方法能夠在保證共指消解的情況下,取得更好的生成質(zhì)量。
本文提出了兩種使用指代簇信息增強(qiáng)任務(wù)型對(duì)話生成模型的方法。與之前的方法不同,本文提出的方法都是先通過共指消解模型抽取出對(duì)話上下文中的指代簇,然后使用指代簇來增強(qiáng)對(duì)話模型。進(jìn)一步的,使用指代簇恢復(fù)出含有代詞問句的完整語義,以降低句子的語言理解難度;使用GCN 將指代簇作為額外信息編碼,增強(qiáng)對(duì)話模型的語言編碼能力,在引入指代信息的同時(shí),保留了對(duì)話的自然特征,進(jìn)一步提高了對(duì)話的生成質(zhì)量。與之前的方法相比,本文提出的方法過程更可控,使用更靈活,且取得了顯著的性能提升。
未來工作中,我們會(huì)進(jìn)一步探索如何在對(duì)話生成模型中更加有效地融合指代信息。