朱欽佩 繆慶亮
開放域?qū)υ捪到y(tǒng)的抗噪回復(fù)生成模型
朱欽佩?繆慶亮
蘇州思必馳信息科技有限公司, 蘇州 215000; ? E-mail: ross.zhu@aispeech.com
為緩解輸入語句中噪聲對(duì)回復(fù)生成模型的干擾, 提出一個(gè)基于編碼–解碼框架的抗噪模型。首先,在訓(xùn)練集輸入序列中隨機(jī)加入模擬噪聲字符; 然后,在編碼端輸出層訓(xùn)練噪聲字符識(shí)別, 提升模型對(duì)噪聲特征的提取能力; 最后, 在編碼端輸出層融合預(yù)訓(xùn)練語言模型, 擴(kuò)大模型對(duì)噪聲的覆蓋面。為驗(yàn)證該模型的抗噪效果, 構(gòu)建首個(gè)帶真實(shí)噪聲的單輪開放域閑聊系統(tǒng)抗噪能力測試集。在該測試集上的實(shí)驗(yàn)結(jié)果表明, 所提出的抗噪模型自動(dòng)評(píng)測和人工評(píng)測結(jié)果均優(yōu)于基準(zhǔn)模型。
自然語言生成; 預(yù)訓(xùn)練語言模型; BERT; Transformer 模型
近年來, 人機(jī)對(duì)話系統(tǒng)廣泛地應(yīng)用于日常生活中, 如智能導(dǎo)航、智能音箱和智能家居等。
在實(shí)現(xiàn)方法上, 目前主流的對(duì)話系統(tǒng)主要分為: 基于檢索的對(duì)話系統(tǒng)和基于文本生成的對(duì)話系統(tǒng)?;跈z索的對(duì)話系統(tǒng)依賴大規(guī)模的問答數(shù)據(jù), 對(duì)數(shù)據(jù)庫中存在的問句可以給出準(zhǔn)確的回復(fù), 但對(duì)問答庫中不存在的問題無法給予有效的回復(fù)?;谏傻膶?duì)話系統(tǒng)不依賴問答數(shù)據(jù)庫, 可以根據(jù)用戶輸入的問題直接生成回復(fù), 從而避免基于檢索方法的缺陷。早期的文本生成方法主要基于規(guī)則生成文本, 需要人工構(gòu)建大量規(guī)則, 成本較高?;谏窠?jīng)網(wǎng)絡(luò)的文本生成方法直接根據(jù)訓(xùn)練數(shù)據(jù), 進(jìn)行端到端的學(xué)習(xí), 不需要過多的人工干預(yù), 受到越來越多的關(guān)注。
在交互方法上, 對(duì)話系統(tǒng)主要分為語音交互、文本交互和多模態(tài)交互的對(duì)話系統(tǒng)。語音交互對(duì)話系統(tǒng)因方便快捷的使用方式和無屏化操作, 廣泛地應(yīng)用到各個(gè)場景中。然而, 在語音交互環(huán)境中, 對(duì)話系統(tǒng)的輸入語句往往含有大量噪聲。我們從某語音對(duì)話系統(tǒng)中, 連續(xù) 7 天隨機(jī)抽取用戶請(qǐng)求日志18815 條, 統(tǒng)計(jì)噪聲語句和通順語句的占比(表 1), 發(fā)現(xiàn)該系統(tǒng)接收的噪聲語句占 34.5%。導(dǎo)致這種情況的主要原因是背景噪音、VAD 切分錯(cuò)誤和 ASR識(shí)別錯(cuò)誤等。為分析回復(fù)生成模型的抗噪能力, 我們從該系統(tǒng)日志的噪聲語句中隨機(jī)抽取 1000 條作為測試集, 實(shí)驗(yàn)表明, 面對(duì)上述噪聲輸入, 目前幾個(gè)主流的基于神經(jīng)網(wǎng)絡(luò)的回復(fù)生成模型的回復(fù)滿意率均不超過 30%, 可見目前回復(fù)生成模型的抗噪能力較差。
表1 噪聲語句和通順語句占比
為了提高基于生成模型的對(duì)話系統(tǒng)在口語環(huán)境下的抗噪能力, 本文提出一個(gè)基于編碼–解碼框架的新模型。為驗(yàn)證該模型的抗噪效果, 我們構(gòu)建一個(gè)測試集, 包含從真實(shí)對(duì)話系統(tǒng)脫敏日志中抽取的1K 噪聲語句以及 10K 人工標(biāo)注無噪聲問答句對(duì)。
早期基于文本生成的對(duì)話系統(tǒng)主要通過一系列規(guī)則生成語句, 這種基于規(guī)則的生成語句通常較為單一, 比較生硬, 人工成本高[1–3]。近年來, 隨著深度學(xué)習(xí)算法在自然語言處理領(lǐng)域的廣泛應(yīng)用, 針對(duì)基于文本生成的對(duì)話系統(tǒng)的研究也逐漸轉(zhuǎn)移到利用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行回復(fù)生成。Sutskever 等[4]提出seq2seq, 主要使用兩個(gè) LSTMs[5]結(jié)構(gòu)構(gòu)建編碼–解碼(encoder-decoder)框架, 其中編碼器將輸入語句編碼為固定維度的向量, 解碼器將此向量解碼為可變長度的文本序列。這是一個(gè)端到端的生成模型框架, 避免了人工編寫規(guī)則。Bahdanau 等[6]指出, 編碼–解碼框架中將輸入語句編碼為一個(gè)固定維度向量會(huì)導(dǎo)致信息損失, 并提出注意力機(jī)制(attention mechanism), 在 seq2seq 基礎(chǔ)上增加注意力機(jī)制(即seq2seq+attn), 通過在解碼過程中動(dòng)態(tài)地“注意”輸入語句的不同部分(即在生成當(dāng)前時(shí)刻的詞語時(shí), 只“注意”與當(dāng)前時(shí)刻相關(guān)的信息), 構(gòu)造出更具針對(duì)性的上下文信息進(jìn)行解碼。實(shí)驗(yàn)結(jié)果顯示, 注意力機(jī)制的應(yīng)用大幅提升了生成語句的質(zhì)量。
Vaswani 等[7]提出的 Transformer 模型放棄基于LSTMs 的鏈?zhǔn)浇Y(jié)構(gòu), 提出自注意力機(jī)制, 并將其擴(kuò)展為多頭自注意力機(jī)制, 以此搭建整體網(wǎng)絡(luò)。通過自注意力機(jī)制, Transformer 將任意位置的兩個(gè)單詞的距離轉(zhuǎn)換為 1, 有效地解決了自然語言處理(NLP)中棘手的長距離依賴問題, 并在生成式對(duì)話任務(wù)中表現(xiàn)優(yōu)異[8–10]。預(yù)訓(xùn)練語言模型可以從海量數(shù)據(jù)中進(jìn)行無監(jiān)督訓(xùn)練, 學(xué)習(xí)到全面而豐富的語言學(xué)信息[11]。最近, BERT[12]在自然語言理解方面表現(xiàn)出強(qiáng)大的能力[13]。BERT 將 Transformer 作為算法的主要框架, 在更大規(guī)模語料基礎(chǔ)上, 學(xué)習(xí)到更加有效的詞特征表示。Sriram 等[14]在 seq2seq+attn 基礎(chǔ)上提出 Cold Fusion 方法, 在解碼端中融入預(yù)訓(xùn)練語言模型的序列特征, 提升模型的輸出文本質(zhì)量。
首先, 在輸入序列中, 通過隨機(jī)添加和替換字符的方式, 引入噪聲字符。然后, 在編碼端的輸出層識(shí)別輸入序列的所有字符是否為噪聲字符, 并使用 Cold Fusion 融合預(yù)訓(xùn)練語言模型的序列特征, 增強(qiáng)模型對(duì)輸入語句噪聲表示的覆蓋性。最后, 使用多任務(wù)訓(xùn)練方式, 同時(shí)優(yōu)化噪聲預(yù)測和回復(fù)生成。為了緩解生成語句內(nèi)容重復(fù)的問題, 我們?cè)诮獯a時(shí)使用懲罰機(jī)制, 降低字符再次生成的概率。模型整體框架見圖 1。
通常訓(xùn)練模型使用的訓(xùn)練集都是語句完整通順、語義簡明的句子, 但這種訓(xùn)練集不能使模型獲得處理噪聲的經(jīng)驗(yàn), 因此我們?cè)谳斎胝Z句進(jìn)入模型訓(xùn)練之前自動(dòng)添加模擬噪聲, 然后在編碼端輸出層區(qū)分噪聲字符和非噪聲字符。
設(shè)編碼層輸入序列為 EncodeInput = [1,2, …,w],為輸入序列長度。我們模擬噪聲的方法是, 在輸入序列的時(shí)刻, 以概率noise隨機(jī)增加或替換字符。經(jīng)推導(dǎo)可知, 一個(gè)輸入序列不帶噪聲的概率為(1–noise)。假設(shè)訓(xùn)練過程中, 不帶噪聲的輸入語句與帶噪聲的語句數(shù)量比為:(1–),∈[0, 1], 每個(gè)輸入序列添加的噪聲字符最多不超過個(gè), 訓(xùn)練數(shù)據(jù)中所有輸入語句的平均句長為, 則noise的計(jì)算
圖1 模型框架
公式如下:
增加噪聲后的輸入序列用式(2)表示:
其中,為增加噪聲后的序列長度。自動(dòng)標(biāo)注序列中每個(gè)字符是否為噪聲, 噪聲的訓(xùn)練目標(biāo)用式(3) 表示:
其中,tgt是噪聲的字符標(biāo)識(shí),∈[1,]。當(dāng)輸入序列中時(shí)刻字符為噪聲字符時(shí), tgt=1, 反之tgt=0。
網(wǎng)絡(luò)中對(duì)噪聲的預(yù)測方法是, 編碼端輸出的狀態(tài)在每個(gè)時(shí)刻的特征向量上接入 Softmax 二分類判別器, 預(yù)測當(dāng)前時(shí)刻的字符是否為噪聲字符。編碼端輸出狀態(tài)為
=[1,2, …,], (4)
Predictnoise=Softmax(noise*+noise)
?[1,2, …,p], (5)
其中,∈[1,],為平滑超參數(shù)。損失函數(shù)為交叉熵與KL散度之和:
訓(xùn)練過程中, 噪聲預(yù)測訓(xùn)練和回復(fù)生成訓(xùn)練同時(shí)進(jìn)行, 使用相同的學(xué)習(xí)率, 使得 Trans-former 編碼層除正常的學(xué)習(xí)語言特征表示外, 也強(qiáng)化對(duì)噪聲字符的表示能力。最終, 輸入序列在經(jīng)過編碼端的特征表示后參與解碼, 使得解碼端逐漸學(xué)習(xí)到面對(duì)噪聲時(shí)的回復(fù)策略, 主要表現(xiàn)為只關(guān)注非噪聲內(nèi)容, 或通過上下文推測噪聲內(nèi)容。
將抗噪機(jī)制和融合機(jī)制聯(lián)合加入編碼–解碼框架中, 具體步驟為, 在編碼端輸出層加入抗噪機(jī)制, 并使用 Cold Fusion 融合編碼端輸出和語言模型輸出。在結(jié)構(gòu)上, 抗噪機(jī)制和融合機(jī)制沒有承接關(guān)系, 只是共用編碼器參數(shù), 各自內(nèi)部參數(shù)的更新互不影響。實(shí)驗(yàn)中, 我們?cè)?Transformer 的基礎(chǔ)上, 同時(shí)加入抗噪機(jī)制及融合預(yù)訓(xùn)練語言模型 BERT, 達(dá)到最優(yōu)效果, 二者聯(lián)合的整體框架見圖 2。
編碼端輸出與預(yù)訓(xùn)練語言模型輸出的融合, 并不影響噪聲特征向解碼端的傳輸。事實(shí)上, 如果編碼層的序列特征中包含噪聲特征, 與預(yù)訓(xùn)練語言模型的特征序列融合時(shí), Cold Fusion 融合模塊會(huì)自動(dòng)地調(diào)節(jié)編碼特征與預(yù)訓(xùn)練語言模型序列特征的融合比例, 當(dāng)編碼端的噪聲特征明顯時(shí), Cold Fusion通過學(xué)習(xí), 相應(yīng)地調(diào)高編碼端輸出的融合比例, 反之亦然。
生成模型的輸出語句中經(jīng)常出現(xiàn)字、詞和短句重復(fù)。為了減少出現(xiàn)重復(fù)字詞的情況, 我們通過懲罰策略, 降低解碼字符再次出現(xiàn)的概率。解碼端時(shí)刻的輸入如下:
懲罰重復(fù)字符的方法不參與模型訓(xùn)練, 直接在訓(xùn)練完成的模型上使用, 可在一定程度上避免生成無意義重復(fù)詞句的情況。
訓(xùn)練數(shù)據(jù)有 4 個(gè)來源: 1)人工標(biāo)注閑聊問答語句對(duì) 740K, 即根據(jù)用戶請(qǐng)求語句, 標(biāo)注人員以智能機(jī)器人的口吻寫出通順、合理和有趣的回復(fù); 2) DuReader[16]語料 300K, 只使用語料中的問答句對(duì); 3)Weibo[17]語料 2M, 只使用所有對(duì)話中的首輪對(duì)話; 4)收集脫敏日志噪聲請(qǐng)求語句 10K, 目標(biāo)回復(fù)語句均設(shè)置為“[SafeRes]”, 表示這些回復(fù)語句應(yīng)使用安全回復(fù), 比如“抱歉, 這個(gè)我還不會(huì)”。所有語料問句和回復(fù)語句長度均在 2~30 之間, 去除問句中的標(biāo)點(diǎn)符號(hào), 但保留回復(fù)語句中的標(biāo)點(diǎn)符號(hào)。將所有數(shù)據(jù)匯總, 隨機(jī)抽取 100K 作為驗(yàn)證集, 其余用于訓(xùn)練。
在驗(yàn)證一個(gè)回復(fù)生成模型抗噪能力的同時(shí), 要求該模型在通順語句中的效果不下降。我們構(gòu)建的測試集也主要針對(duì)這兩個(gè)方面。測試集以及評(píng)測結(jié)果可以從 GitHub①https://github.com/zqp2009happy/Antinoise_FuseBERT.git獲取, 測試集舉例見表2。
表2 測試集
QA10K隨機(jī)抽取 10K 對(duì)人工標(biāo)注閑聊問答句對(duì)。這個(gè)測試集的所有請(qǐng)求語句和人工標(biāo)注回復(fù)語句均表達(dá)清晰, 語句通順。評(píng)測指標(biāo)為 BLEU[18]、distinct-N[19]和平均回復(fù)句長。
Hard1K從日志分析的噪聲語句中, 隨機(jī)抽取 1000 條, 主要測試模型對(duì)噪聲語句的處理能力。由于人工很難根據(jù)此測試集的噪聲語句標(biāo)注回復(fù), 更具操作性的評(píng)測方法是,當(dāng)模型生成回復(fù)后, 人工評(píng)測回復(fù)語句的合理性, 評(píng)測指標(biāo)為人工評(píng)測、distinct-N和平均回復(fù)句長。
利用項(xiàng)目 sacrebleu①https://pypi.org/project/sacrebleu/1.1.7;計(jì)算 BLEU 值,利用 GitHub②https://github.com/neural-dialogue-metrics/Distinct-N;計(jì)算 Distinct-1 和 Dinstinct-2。平均回復(fù)句長由下式計(jì)算:
3 位數(shù)據(jù)標(biāo)注人員對(duì)所有模型的回復(fù)語句進(jìn)行獨(dú)立標(biāo)注, 標(biāo)注過程中屏蔽回復(fù)語句和模型的對(duì)應(yīng)關(guān)系。每個(gè)回復(fù)語句標(biāo)注滿意或非滿意: 1)滿意, 表示回復(fù)語句通順易懂, 并且輸入語句和回復(fù)語句有合理的承接和邏輯關(guān)系; 2)非滿意, 表示回復(fù)語句語句不通, 語義不明, 或者“答非所問”。每個(gè)回復(fù)語句的最終標(biāo)注結(jié)果采用少數(shù)服從多數(shù)的原則。人工評(píng)測結(jié)果由下式計(jì)算:
為驗(yàn)證各個(gè)機(jī)制的性能以及多機(jī)制融合方法的有效性, 設(shè)置 3 組對(duì)比實(shí)驗(yàn), 分別是基礎(chǔ)模型加抗噪機(jī)制, 基礎(chǔ)模型加語言模型融合機(jī)制, 基礎(chǔ)模型同時(shí)加抗噪機(jī)制和融合機(jī)制。3 組對(duì)比實(shí)驗(yàn)分別在QA10K 和 Hard1K 上進(jìn)行?;€模型選擇 seq2seq+ attn 和 Transformer, 具體配置如下。
seq2seq+attn模型工程代碼引用項(xiàng)目 TEX-AR③https://github.com/asyml/texar/example/seq2seq_attn;。隱藏層大小(hidden_size)設(shè)置為 512, 定向搜索(beam search)寬度為 10。
Transformer模型工程代碼引用項(xiàng)目 TEX-AR④https://github.com/asyml/texar/example/transformer;。隱藏層大小設(shè)置為 512, 編碼和解碼層數(shù)(block_num)設(shè)置為 6, 注意力機(jī)制頭個(gè)數(shù)為 8, 定向搜索寬度為 10。
InputNoise在 Transformer 的基礎(chǔ)上, 只在訓(xùn)練集的輸入語句加入噪聲, 但不訓(xùn)練噪聲。
Antinoise在 Transformer 的基礎(chǔ)上, 加入抗噪機(jī)制。訓(xùn)練數(shù)據(jù)輸入語句的平均句長=12, 令= 0.5, 則噪聲概率noise=0.056, 最大噪聲數(shù)量為當(dāng)前句長的 1?2, 平滑參數(shù)=0.9。
FuseBERT使用 Cold Fusion 融合 Transformer編碼輸出與 BERT 輸出, 不加抗噪機(jī)制。BERT 工程代碼引用 Google-Research 官方代碼⑤https://github.com/google-research/bert, 預(yù)訓(xùn)練參數(shù)使用 110M 中文模型(BERT-Base, Chinese)。使用訓(xùn)練集所有輸入語句對(duì) BERT 做預(yù)訓(xùn)練, 在 BERT-Base 的基礎(chǔ)上微調(diào) 925000 步, 掩碼預(yù)測精度為 0.72。在訓(xùn)練過程中, 更新 BERT 參數(shù)。
Antinoise+FuseBERTTransformer 編碼端輸出層接入抗噪機(jī)制, BERT 不參與噪聲學(xué)習(xí), 用Cold Fusion 融合 Transformer 編碼輸出和 BERT 輸出, 沿用上述各模型參數(shù)的設(shè)置。
上述所有模型均不分詞, 使用 BERT 自帶詞典。模型批訓(xùn)練數(shù)據(jù)大小(batch_size)為 2048, 解碼目標(biāo)語句標(biāo)簽平滑歸一化參數(shù)為 0.9, 最大解碼長度為 32。懲罰重復(fù)字詞超參數(shù)=2.0, 最大 Epoch為 20, 保存驗(yàn)證集上效果最優(yōu)模型, 用于實(shí)驗(yàn)比對(duì)。所有模型都可能生成特殊回復(fù)語句“[SafeRes]”, 表示本句采用安全回復(fù), 此特殊回復(fù)語句的句長為1, Distinct-1 得分默認(rèn)為 0, 人工評(píng)測默認(rèn)不滿意。3 位標(biāo)注人員人工評(píng)測的 Kappa 系數(shù)一致率平均值為 0.82, 表明評(píng)測結(jié)果具有高度一致性。實(shí)驗(yàn)結(jié)果見表3。
由表 3 可以看出, 我們的模型 Antinoise, Fuse-BERT 和 Antinoise+FuseBERT, 在各評(píng)測指標(biāo)中超過基線模型 seq2seq+attn 和 Transformer, 且聯(lián)合模型 Antinoise+FuseBERT 效果最優(yōu), 說明我們的模型不僅具有一定的抗噪能力, 對(duì)常規(guī)通順語句也保持良好的效果。在 QA10K 和 Hard1K 上, InputNoise各個(gè)指標(biāo)幾乎均低于基線模型 Transformer, 說明僅僅模擬噪聲輸入, 并不能有效地提取噪聲特征, 反而使模型在訓(xùn)練中陷入困惑。除此之外, 基線模型seq2seq+attn 各個(gè)指標(biāo)均低于 Transformer 模型。
表3 QA10K和Hard1K的測試結(jié)果
說明: 粗體數(shù)字表示效果最佳, 下同。
對(duì) Hard1K 回復(fù)內(nèi)容進(jìn)一步分析可以發(fā)現(xiàn), 加入抗噪機(jī)制的回復(fù)語句使得模型更加關(guān)注輸入語句的有效部分, 傾向于忽略“不理解”的語義內(nèi)容, 從而采取比較安全的方式回復(fù)用戶請(qǐng)求, 這是人工評(píng)測指標(biāo)大幅度提升的關(guān)鍵, 也是 Antinoise 效果超過FuseBERT 的主要原因, 符合我們模型設(shè)計(jì)的預(yù)期。比如, 輸入語句“我現(xiàn)在有多少幽閉”, 其中“幽閉”在這里明顯不符合正常說法, Transformer 模型生成安全回復(fù)標(biāo)志語句“[SafeRes]”; FuseBERT 模型缺少對(duì)噪聲和非噪聲字符的區(qū)分, 總是嘗試?yán)斫廨斎胝Z句的所有內(nèi)容, 它結(jié)合對(duì)“幽閉”理解和輸入語句其他部分, 回復(fù)為“哈哈, 你想幽閉的話可以自己數(shù)一數(shù)呀”, 導(dǎo)致回復(fù)內(nèi)容不符合正常說法; An-tinoise 模型對(duì)“幽閉”這個(gè)詞視而不見, 回復(fù)為“你自己數(shù)一數(shù)就知道了呀”; Antinoise+FuseBERT 同樣忽略“幽閉”, 回復(fù)為“你看一下就知道啦”。可見加入抗噪機(jī)制后, 回復(fù)內(nèi)容并沒有提及“幽閉”相關(guān)內(nèi)容, 似乎模型知道用戶問某樣?xùn)|西有多少, 但模型并不關(guān)心是什么東西, 從而生成較為通用的回復(fù), 從用戶角度看, 這種回復(fù)并非不妥。
;降度去分配ionve Model,另一方面, FuseBERT 對(duì)模型語義理解能力的提升也不容忽視。比如, 輸入語句“書山有路違紀(jì)”, Transformer模型不理解輸入語義, 回復(fù)內(nèi)容照搬輸入“書山有路違紀(jì)”; Antinoise 模型知道輸入語句中包含噪聲, 但知識(shí)覆蓋面不足, 回復(fù)為“是的呢, 這句詩出自李清照《水滸傳》哦”; FuseBERT 和Antinoise+FuseBERT 由于語言模型 BERT 的存在, 從而抓住“書山有路”這個(gè)有效且強(qiáng)烈信息, 都回復(fù)為“書山有路勤為徑, 學(xué)海無涯苦作舟”。更多的Hard1K 回復(fù)舉例見表 4。
在語音交互環(huán)境下, 輸入對(duì)話系統(tǒng)帶噪聲的語句占整體輸入的 34.5%, 但主流的回復(fù)生成模型抗噪能力不佳。為了提高回復(fù)生成模型的抗噪能力, 本文基于編碼–解碼結(jié)構(gòu), 構(gòu)建一個(gè)新網(wǎng)絡(luò), 極大地提升了編碼端對(duì)噪聲特征的表示能力。同時(shí), 本文公開首個(gè)中文單輪開放域閑聊系統(tǒng)的抗噪能力測試集, 包含 10 K 人工標(biāo)注問答對(duì)以及 1 K 噪聲語句, 作為帶真實(shí)噪聲的對(duì)話數(shù)據(jù), 有助于其他研究者針對(duì)漢語語音對(duì)話系統(tǒng)的相關(guān)研究。在該測試集上的實(shí)驗(yàn)結(jié)果表明, 抗噪機(jī)制和融合 BERT 方法均優(yōu)于基準(zhǔn)模型, 并且二者聯(lián)合模型達(dá)到最優(yōu)效果。
表4 Hard1K測試回復(fù)舉例
在未來工作中, 我們將嘗試使用更加逼真的噪聲模擬策略, 比如根據(jù)語音識(shí)別中的語言模型模擬噪聲, 同時(shí)使用增加、替換、刪除和重復(fù)等策略模擬噪聲。同時(shí), 將嘗試在模型不同位置上訓(xùn)練噪聲, 比如解碼輸出狀態(tài)與 BERT 融合后, 再訓(xùn)練噪聲。此外, 還將尋找或研究更加合理的自動(dòng)評(píng)測指標(biāo)。
[1] Collby K M. Artificial paranoia: a computer simula-tion of paranoid process. New York: Elsevier Science Inc, 1975
[2] Barzilay R, Lee L. Catching the drift: probabilistic content models, with applications to generation and summarization // Proceedings of the Human Language Technology Conference of the North American Chap-ter of the Association for Computational Linguistics. Boston, 2004: 113–120
[3] Angeli G, Liang P, Klein D. A simple domain-independent probabilistic approach to generation // Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing. Cambridge, 2010: 502–512
[4] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks // Advances in Neural Information Processing Systems. Montreal: MIT Press, 2014: 3104–3112.
[5] Hochreiter S, Schmidhuber J. Long short-term memory. Neural Computation, 1997, 9(8): 1735–1780
[6] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate [EB/OL]. (2016–05–19) [2020–06–01]. https://arxiv. org/abs/1409.0473
[7] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. Advances in Neural Information Pro-cessing Systems, 2017: 5998–6008
[8] Wolf T, Sanh V, Chaumond J, et al. Transfertransfo: a transfer learning approach for neural network based conversational agents [EB/OL]. (2019–02–04) [2020–06–01]. https://arxiv.org/abs/1901.08149
[9] Rashkin H, Smith E M, Li M, et al. Towards em-pathetic open-domain conversation models: a new benchmark and dataset // Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence, 2019: 5370–5381
[10] Dinan E, Roller S, Shuster K, et al. Wizard of Wikipedia: knowledge-powered conversational agents [EB/OL]. (2019–02–21) [2020–06–01]. https://arxiv. org/abs/1811.01241
[11] Jozefowicz R, Vinyals O, Schuster M, et al. Exploring the limits of language modeling [EB/OL]. (2016–02–11) [2020–06–01]. https://arxiv.org/abs/1602.02410
[12] Devlin J, Chang M W, Lee K, et al. BERT: pre-training of deep bidirectional transformers for lan-guage understanding // Proceedings of NAACL-HLT. Minneapolis, 2019: 4171–4186
[13] Zhu J, Xia Y, Wu L, et al. Incorporating bert into neural machine translation [EB/OL]. (2020–02–17) [2020–06–01]. https://arxiv.org/abs/2002.06823
[14] Sriram A, Jun H, Satheesh S, et al. Cold fusion: training Seq2Seq models together with language mo-dels [EB/OL]. (2017–08–21) [2020–06–01]. https:// arxiv.org/abs/1708.06426
[15] Szegedy C, Vanhoucke V, Loffe S, et al. Rethinking the inception architecture for computer vision // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, 2016: 2818–2826
[16] He W, Liu K, Liu J, et al. DuReader: a Chinese machine reading comprehension dataset from real-world applications // Proceedings of the Workshop on Machine Reading for Question Answering. Melbourne, 2018: 37–46
[17] Zheng Y, Chen G, Huang M, et al. Personalized dialogue generation with diversified traits [EB/OL]. (2020–01–02) [2020–06–01]. https://arxiv.org/abs/1901. 09672
[18] Papineni K, Roukos S, Ward T, et al. BLEU: a method for automatic evaluation of machine translation // Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics. Philadel-phia, 2002: 311–318
[19] Li J, Galley M, Brockett C, et al. A diversity-promoting objective function for neural conversation models // Proceeding of NAACL-HLT. San Diego, 2016: 110–119
An Antinoise Response Generation for Open Domain Dialogue System
ZHU Qinpei?, MIAO Qingliang
AI Speech Co., Ltd., Suzhou 215000; ? E-mail: ross.zhu@aispeech.com
In order to reduce the noise interference on the response generation model, this paper proposes an antinoise model based on encoder-decoder architecture. Firstly, simulation noisy characters are added to the input utterances. Then noisy character recognition is trained at the encoder output layer, thus improving the ability of extracting noise features. Finally, pre-trained language model is fused at the encoder output layer to expand the coverage of noise. An antinoise test set is presented for verifying the model’s antinoise effect, which is the first Chinese single-turn open domain dialog system corpus with real noise. Experiments show that the proposed model’s results of automatic evaluation and manual evaluation on the antinoise test set are better than the baseline models.
natural language generation; pre-training language models; BERT; Transformer model
10.13209/j.0479-8023.2020.089
2020–06–04;
2020–08–10