朱洪坤,左家莉,何思蘭,曾雪強(qiáng),王明文
(江西師范大學(xué) 計(jì)算機(jī)信息工程學(xué)院,江西 南昌 330022)
文本風(fēng)格遷移(Text Style Transfer, TST)的目的是改變文本的風(fēng)格,同時(shí)保留與風(fēng)格無關(guān)的語義內(nèi)容,TST有非常廣泛的應(yīng)用,如情感遷移(積極-消極)[1]、形式遷移(正式-非正式)[2]和禮貌遷移(禮貌-非禮貌)[3]等。
本文關(guān)注的是文本風(fēng)格遷移中的禮貌遷移任務(wù)。在工作往來、學(xué)習(xí)交流等社交場(chǎng)合中,禮貌的表達(dá)至關(guān)重要。有學(xué)者將禮貌定義為一種文本屬性,可以和文本內(nèi)容脫離[4],例如,在“坐”這個(gè)動(dòng)作前面加上一個(gè)“請(qǐng)”,內(nèi)容并未改變,但是表達(dá)變得更為禮貌,更為符合社交禮儀。
文本風(fēng)格遷移的關(guān)鍵是區(qū)分“風(fēng)格”和“內(nèi)容”,因此在定義“禮貌”風(fēng)格之前首先要明確什么是“風(fēng)格”。Jin等人認(rèn)為目前主要有以下兩類方法定義“風(fēng)格”[5]。第一類是通過“語言定義”,直接將非功能語言特征歸類為風(fēng)格(如正式與非正式),風(fēng)格可以通過使用特定的表達(dá)方式來體現(xiàn),例如,隱喻,以及單詞的選擇、句法結(jié)構(gòu)等。第二類是基于“數(shù)據(jù)驅(qū)動(dòng)”[6],不同于語言定義,“數(shù)據(jù)驅(qū)動(dòng)”在理論上限制了語句中構(gòu)成文本風(fēng)格的成分,例如,在正式文本中不能出現(xiàn)“isn’t”“don’t”等縮略詞。給定兩個(gè)語料庫(如正面和負(fù)面的評(píng)論語料),風(fēng)格差異體現(xiàn)在正面評(píng)論大多數(shù)使用積極情感詞,消極評(píng)論大多使用消極情感詞。本文采用的是數(shù)據(jù)驅(qū)動(dòng)的風(fēng)格定義。
此前的禮貌風(fēng)格遷移的研究[3]認(rèn)為,將禮貌風(fēng)格遷移作為一種文本風(fēng)格遷移是非常困難的,其原因是文本的風(fēng)格屬性難以被定義,且受文化、地域、場(chǎng)景甚至個(gè)體的影響[7]。Brown等人就認(rèn)為,禮貌表達(dá)是豐富的、多層次的,一句話是否禮貌以及禮貌的程度取決于說話者的文化背景、使用的語言和社會(huì)地位[8]。以日常打招呼為例,中國(guó)人大多會(huì)問“吃了嗎”“去哪呢”等等,這對(duì)于中國(guó)人而言是一種自然且親切的交流方式。換到其他一些社會(huì)或文化中,這種寒暄會(huì)令對(duì)方感到突兀和尷尬,他們可能會(huì)認(rèn)為這是一種對(duì)他們私生活的“盤問”。正因?yàn)檎Z言的這些差異,Madaan等人根據(jù)語料的獲取來源強(qiáng)調(diào)他們的工作主要關(guān)注的是北美英語。雖然中文與英文禮貌風(fēng)格存在較大的差異,但主要體現(xiàn)在禮貌用語的不同,兩者也存在著共同的挑戰(zhàn),即內(nèi)容詞與禮貌風(fēng)格詞的分離。對(duì)于中文的禮貌風(fēng)格遷移,本文考慮從數(shù)據(jù)驅(qū)動(dòng)的角度出發(fā),而非語言的語義。這樣做首先可以避免直接對(duì)“風(fēng)格”進(jìn)行定義,同時(shí)也可以減少不同的語言的直接影響,更關(guān)注模型。
直觀上,我們可以通過使用“避免過于直接”或“表示尊重”的語言來表達(dá)禮貌。例如,尊敬的稱呼(如“先生”或“女士”)能夠體現(xiàn)某些“禮貌”的公式化詞語(如“請(qǐng)”“謝謝”“抱歉”)。本文關(guān)注將非禮貌語句轉(zhuǎn)換成禮貌語句,例如,非禮貌語句“在截止日期之前把文件發(fā)給我”,可以轉(zhuǎn)換成禮貌語句“請(qǐng)?jiān)诮刂谷掌谥鞍盐募l(fā)給我,謝謝”。這兩句話所要傳遞的信息一樣,但后者顯然更為禮貌。因此,本文將非禮貌語句定義為不包含禮貌詞語的中性語句。
基于禮貌風(fēng)格遷移任務(wù),Madaan等人提出了T&G模型,它包含兩個(gè)模塊,分別是: Tagger模塊,用于生成帶有[TAG]標(biāo)簽的無屬性風(fēng)格句子;Generator模塊,用于生成帶有目標(biāo)風(fēng)格的句子,并在英文語料上開展了禮貌遷移的工作[3]。這個(gè)模型簡(jiǎn)潔、直觀,其兩步策略可以顯式地生成中間結(jié)果,但它的生成不可控。如表1中“未對(duì)齊”語句所示,模型在生成的過程中加入了“感興趣”這樣的內(nèi)容。本文基于T&G框架,研究了中文的禮貌風(fēng)格遷移任務(wù),我們引入了文本對(duì)齊模塊和流暢度評(píng)估模塊。為了使Generator的輸入文本更貼近原始語料,我們采用文本對(duì)齊策略,將Tagger輸出的句子與輸入對(duì)齊,除[TAG]標(biāo)簽外其他內(nèi)容保持不變。這一策略在一定程度上提高了內(nèi)容保存率。如表1所示,經(jīng)過對(duì)齊之后,“感興趣”這樣的多余內(nèi)容會(huì)被去掉。最后將Generator輸出的文本和真實(shí)值輸入流暢度評(píng)估模塊,得到風(fēng)格遷移后的目標(biāo)文本。
表1 文本對(duì)齊示例
我們主要的工作是關(guān)于中文的禮貌遷移的研究,為此我們構(gòu)建了一個(gè)含有21萬句的中文禮貌語料庫(1)中文禮貌語料https://github.com/txdysdrbr/Chinese-politeness。
本文的組織結(jié)構(gòu)如下: 引言描述禮貌風(fēng)格遷移的任務(wù);第1節(jié)概述文本風(fēng)格遷移和禮貌風(fēng)格遷移的研究現(xiàn)狀;第2節(jié)簡(jiǎn)要介紹Transformer的架構(gòu);第3節(jié)給出基準(zhǔn)的T&G模型;第4節(jié)介紹本文提出的中文禮貌風(fēng)格遷移模型,該模型結(jié)合了文本對(duì)齊和流暢度評(píng)估;第5節(jié)詳細(xì)說明實(shí)驗(yàn)設(shè)置、實(shí)驗(yàn)結(jié)果與分析;第6節(jié)對(duì)本文的工作進(jìn)行總結(jié)。
文本風(fēng)格遷移是自然語言生成中的一項(xiàng)重要任務(wù),近年來,隨著文本生成任務(wù)的不斷發(fā)展,基于非平行文本語料庫的風(fēng)格遷移已成為一項(xiàng)研究熱點(diǎn)。
Prabhumoye等人[9]首先使用機(jī)器翻譯學(xué)習(xí)源風(fēng)格句子的潛在內(nèi)容表示,這種做法有助于保留源句子的意義,同時(shí)也削弱了風(fēng)格屬性,然后使用反向翻譯的潛在表示和風(fēng)格分類器反饋來指導(dǎo)特定風(fēng)格生成器的訓(xùn)練。Huang等人[10]提出了無監(jiān)督文本風(fēng)格遷移的非自回歸生成模型,該模型對(duì)單詞對(duì)齊進(jìn)行建模,并利用不同風(fēng)格文本之間的單詞級(jí)轉(zhuǎn)換以實(shí)現(xiàn)風(fēng)格遷移的目的。Liu等人[2]使用GYAFC數(shù)據(jù)集展開“正式-非正式”遷移工作,通過已有平行語料訓(xùn)練得到基線模型,再通過基線模型生成偽對(duì)齊語料。考慮到偽對(duì)齊語料的質(zhì)量,Liu等人[11]基于指標(biāo)過濾器來獲取質(zhì)量較好的語料,然后再加入數(shù)據(jù)擾動(dòng),這樣做的好處是可以增強(qiáng)模型的泛化能力,最后進(jìn)行一致性訓(xùn)練。該工作基于半監(jiān)督學(xué)習(xí),給一些語料不足的任務(wù)提供了一個(gè)很好的方向。
Jin等人[3]將文本風(fēng)格定義分為兩種,一種是語言學(xué)風(fēng)格定義,可以通過使用一定的修辭手法,如比喻,或者是詞匯的選擇、句法結(jié)構(gòu)等來表達(dá);另一種是數(shù)據(jù)驅(qū)動(dòng)型的風(fēng)格定義,數(shù)據(jù)驅(qū)動(dòng)的風(fēng)格定義可以包含更廣泛的屬性,包括文本的內(nèi)容和主題。兩種定義相比之下,基于數(shù)據(jù)驅(qū)動(dòng)的風(fēng)格定義可以很好地與深度學(xué)習(xí)方法結(jié)合,因此,本文的工作是基于數(shù)據(jù)驅(qū)動(dòng)方式的。
當(dāng)前,文本風(fēng)格遷移工作主要是關(guān)于情緒、主題、性別和政治傾向等的風(fēng)格遷移。一般而言,風(fēng)格遷移方法大多把文本分成內(nèi)容和風(fēng)格屬性兩個(gè)部分,通過將內(nèi)容與目標(biāo)風(fēng)格結(jié)合,生成帶有目標(biāo)風(fēng)格的文本[12-14]。此外,刪除、檢索和生成也是較為有效的方法[15-16]。例如,Li等人[15]在源文本中刪除風(fēng)格屬性詞,再由目標(biāo)風(fēng)格語料庫中檢索內(nèi)容相近的目標(biāo)文本,基于RNN生成帶有目標(biāo)風(fēng)格的句子。由于委婉、禮貌地表達(dá)在社交活動(dòng)中作用不容忽視[6,8,11],禮貌風(fēng)格遷移的研究也逐漸增多。禮貌風(fēng)格遷移要求在保留句子內(nèi)容不變,即不改變句子意思的前提下,將非禮貌性的句子轉(zhuǎn)化成禮貌性的句子。
禮貌風(fēng)格遷移任務(wù)首先由Madaan等人[3]提出,并在英文語料庫上開展工作。此前有關(guān)禮貌文本生成的工作,Niu等人[17]側(cè)重于禮貌情景對(duì)話的生成,而不是內(nèi)容保留后的風(fēng)格遷移。Madaan提出T&G模型,將禮貌遷移工作分為兩個(gè)步驟: 第一步,通過Tagger將非禮貌句子生成帶有[TAG]標(biāo)簽中間文本;第二步,將中間文本作為Generator的輸入,生成帶有禮貌屬性的句子。
近年來,Transformer[18]以及各種變形過后的Transformer(X-Transformer)被廣泛應(yīng)用于各項(xiàng)試驗(yàn)中,使其已經(jīng)成為自然語言處理任務(wù)中的首選[19]。Transformer的突出優(yōu)勢(shì)主要得益于注意力機(jī)制(Attention Mechanism),這一應(yīng)用突破了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)模型不能并行計(jì)算的限制,大幅度提升了計(jì)算速度,降低了時(shí)間開銷[20]。并且,相比卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN),Transformer計(jì)算兩個(gè)位置之間的關(guān)聯(lián)所需的操作次數(shù)不隨距離增長(zhǎng),減少了大量的計(jì)算[21]。后續(xù)的研究表明,基于Transformer的預(yù)訓(xùn)練模型(Pre-Training Model, PTM)可以在各種任務(wù)中實(shí)現(xiàn)SOTA的性能,Transformer已經(jīng)成為NLP中的首選架構(gòu),因此,本文引入Transformer來進(jìn)行禮貌風(fēng)格遷移實(shí)驗(yàn)。
基于數(shù)據(jù)驅(qū)動(dòng)的文本風(fēng)格遷移任務(wù)需要大量的平行語料,然而語料標(biāo)注成本很高[22]。
此前已有工作將翻譯之后的文本用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的驗(yàn)證[23]。反向翻譯(Back Translation, BT)[9]的最初想法是訓(xùn)練一個(gè)目標(biāo)句子到源句子的序列到序列(Sequence to Sequence, Seq2Seq)模型[24-25],并使用該模型從目標(biāo)單語句子生成源語言句子,建立平行語句。Zhang等人將其推廣為基本數(shù)據(jù)增強(qiáng)方法[26],將源語言句子翻譯成另一種語言之后再翻譯回源語言,通過學(xué)習(xí)風(fēng)格分類器來確定經(jīng)反向翻譯生成的句子是否適合作為平行語料。以上工作給本文的工作提供了一定的理論基礎(chǔ)。
本文的禮貌風(fēng)格遷移工作,使用處理之后的安然語料庫[27]進(jìn)行有監(jiān)督訓(xùn)練,這一語料庫由安然公司員工的大量電子郵件組成。電子郵件是交換請(qǐng)求的媒介,是禮貌遷移任務(wù)的理想語料庫[3]。本文使用百度翻譯API對(duì)安然語料庫進(jìn)行翻譯,得到中文禮貌語料。
此外,本文的研究是基于數(shù)據(jù)驅(qū)動(dòng)[6]的方式,對(duì)于翻譯之后的中文文本,模型也能學(xué)習(xí)到隱藏在語句中的禮貌風(fēng)格。在使用百度翻譯API來構(gòu)建語料時(shí)我們發(fā)現(xiàn),翻譯過程中會(huì)過濾掉一部分不禮貌的表達(dá),這表明不禮貌的文本經(jīng)過翻譯之后,無法再作為語料。此外,對(duì)于中文的禮貌遷移任務(wù),本文只作添加[TAG]操作,因此只用到禮貌風(fēng)格的語料。
圖1 框架圖
編碼器由N個(gè)相同的層組成,每一層有兩個(gè)子層。第一個(gè)子層是多頭注意力層(Multi-head attention),用于計(jì)算輸入序列的自注意力(Self-attention);第二個(gè)子層是全連接前饋網(wǎng)絡(luò),稱為FFN子層。在這兩個(gè)子層之后都有一個(gè)殘差連接操作和一個(gè)層歸一化操作。輸入序列矩陣經(jīng)過變換之后得到一組Queries(Q)、Keys(K)和Values(V),多頭注意力單元采用點(diǎn)積注意力來處理它們。
對(duì)于編碼器的第n層,可以將多頭子層形式化如式(1)所示。
Zn=AddNorm(MutiHead(Hn-1,Hn-1,Hn-1)
(1)
其中,Hn-1∈J×dmodel是第n-1層的完整輸出矩陣。然后將第n層的FFN子層形式化如式(2)所示。
解碼器也由N個(gè)相同的層組成,不同的是,每一層除了multi-head子層和FFN子層外,還插入了第三個(gè)子層,稱為交叉注意力(Cross-Attention)子層。Cross-attention子層對(duì)編碼器的輸出執(zhí)行多頭注意操作。和編碼器一樣,解碼器在每個(gè)子層之后還進(jìn)行了殘差連接和層歸一化操作。此外,應(yīng)用一個(gè)掩碼矩陣來防止模型接觸到后續(xù)位置的信息。
對(duì)于解碼器的第n層,可以將multi-head子層形式化如式(3)所示。
其中,Sn-1∈I×dmodel是第n-1層的輸出。Cross-attention子層可以形式化如式(4)所示。
FFN子層形式化如式(5)所示。
完成以上操作后,第n層的最終輸出記為S=[s1;…;sI]T,其中si是yi的隱藏狀態(tài)。通過對(duì)目標(biāo)隱藏狀態(tài)進(jìn)行線性變換和SoftMax操作,我們可以得到式(6)。
2.1 兩組患者的基本資料比較 兩組患者的基本資料,包括性別、年齡、BMI、有無合并癥、腫瘤距肛緣距離、腫瘤直徑及TNM分期,組間差異無統(tǒng)計(jì)學(xué)意義(P>0.05)。見表1。
其中,x是模型輸入序列,y是輸出序列,W0∈dmodel×|Vt|和|Vt|是目標(biāo)詞匯表的大小。Transformer通過最小化交叉熵?fù)p失來訓(xùn)練,從而最大化ground truth序列的概率,交叉熵?fù)p失計(jì)算如式(7)所示。
T&G模型是一個(gè)顯式的兩階段模型,包含Tagger和Generator兩個(gè)模塊,其結(jié)構(gòu)如圖2所示。其中,Tagger用于識(shí)別并移除句子中的源風(fēng)格屬性詞,用[TAG]標(biāo)簽替代,當(dāng)句子中沒有風(fēng)格屬詞時(shí),Tagger則要在句子中某些位置加入[TAG],Generator則是學(xué)習(xí)如何將帶[TAG]標(biāo)簽的句子生成目標(biāo)風(fēng)格句子。對(duì)于風(fēng)格Fv,v∈{1,2},首先需要學(xué)習(xí)一組表達(dá)風(fēng)格Fv特征的短語(Γv)。若句子xi中出現(xiàn)帶有風(fēng)格Γv的短語,則xi的風(fēng)格是Fv。 例如,像“相當(dāng)不錯(cuò)”和“非常值得”等短語在“消極-積極”遷移任務(wù)中屬于“積極”風(fēng)格。
圖2 Tagger和Generator流程圖示例
其中,k為一個(gè)風(fēng)格分?jǐn)?shù),Γ2包含的是X2中分?jǐn)?shù)大于或等于k的風(fēng)格屬性詞,Γ1計(jì)算方法類似于此。
(11)
需要注意的是,這里需要學(xué)習(xí)一組帶位置的標(biāo)記[TAG]t,其中t∈{0,1,…,T},表示長(zhǎng)度為T的句子中的位置。通過使用這些位置t訓(xùn)練Tagger和Generator,這樣可以實(shí)現(xiàn)風(fēng)格屬性在不同位置上的分布不同。例如,一般情況下,在句子開頭也即[TAG]0幾乎總是生成“請(qǐng)……”這樣的禮貌詞。而對(duì)于句子中更靠后的位置,[TAG]T生成“謝謝”的概率更高。
本文基于T&G的框架,引入了文本對(duì)齊模塊和流暢度評(píng)估模塊。本文模型由四個(gè)模塊組成,Tagger、Generator、文本對(duì)齊模塊(Alignment)和流暢模塊(Fluency),結(jié)構(gòu)如圖3所示。在訓(xùn)練階段,Tagger和Generator分別訓(xùn)練,由Generator得到初步的輸出文本,進(jìn)一步和Ground truth經(jīng)Fluency得到風(fēng)格遷移后的目標(biāo)文本,如圖3所示。測(cè)試階段,源文本經(jīng)過Tagger模塊后進(jìn)行文本對(duì)齊。
圖3 模型框架圖
在文本風(fēng)格遷移任務(wù)中,由數(shù)據(jù)驅(qū)動(dòng)[6]定義下的風(fēng)格,可以和內(nèi)容分離。因此,本文認(rèn)為Tagger和Generator理想的輸出是內(nèi)容不變,即只改變“風(fēng)格”,文本的其他內(nèi)容不發(fā)生變化。為了確保內(nèi)容不變,受到Huang等人[10]的啟發(fā),我們采取了一種文本對(duì)齊策略。
在模型的訓(xùn)練階段,Tagger的Ground truth與Generator的輸入相同,因此,我們只在驗(yàn)證和測(cè)試時(shí)使用文本對(duì)齊策略。如圖3所示,在Tagger的輸出端使用文本對(duì)齊,Generator的輸出端不使用。文本示例如圖4所示。
圖4 文本對(duì)齊示例
圖4中,predicted為Tagger生成的句子,丟失了一部分源句子的信息,target是經(jīng)過文本對(duì)齊之后的文本,信息保留較為完整。
為保證經(jīng)過禮貌遷移之后的文本的流暢度,本文引入了流暢度評(píng)估模塊。我們認(rèn)為,每個(gè)[TAG]生出目標(biāo)內(nèi)容時(shí)應(yīng)充分考慮上下文,尤其是有多個(gè)[TAG]的情況下。這里我們借鑒了Feng等人[28]在機(jī)器翻譯任務(wù)中使用的流暢度評(píng)估模塊,不同于機(jī)器翻譯任務(wù)中,僅在訓(xùn)練階段使用流暢度模塊,本文在訓(xùn)練、測(cè)試階段都引入了流暢度模塊。略有不同的地方在于,訓(xùn)練時(shí)使用Ground truth作為上下文,而測(cè)試時(shí)的上下文來自Generator的輸出。
流暢度模塊有兩個(gè)解碼器,兩個(gè)解碼器都由N個(gè)相同的層組成,其結(jié)構(gòu)是使用Transformer的編碼器,每層均有兩個(gè)子層,分別是multi-head子層和FFN子層。如圖5所示,左邊的解碼器輸入為Generator的輸出結(jié)果,右邊的解碼器的輸入是Ground truth,我們希望用Ground truth指導(dǎo)模型學(xué)習(xí)上下文,測(cè)試時(shí)則是使用Generator生成的上下文來指導(dǎo)。
圖5 流暢度評(píng)估模塊結(jié)構(gòu)圖
評(píng)價(jià)模塊通過交叉熵?fù)p失優(yōu)化,損失函數(shù)如如式(14)所示。
本文的實(shí)驗(yàn)數(shù)據(jù),首先考慮使用電商平臺(tái)顧客與客服之間的對(duì)話以及中文郵件,但是客服對(duì)話的禮貌表達(dá)方式較單一,且與日常表達(dá)方式相差較大;目前公開的中文郵件更適用于郵件分類任務(wù),而不是本任務(wù)。因此,我們使用翻譯工具將安然語料庫[27]翻譯為中文禮貌語料,我們也注意到雖然翻譯可能會(huì)改變文本的風(fēng)格,但經(jīng)過后續(xù)的整理,仍然可以作為本任務(wù)的訓(xùn)練語料,因而進(jìn)一步人工標(biāo)注了500句的測(cè)試語料。
具體而言,我們對(duì)Madaan等人[3]構(gòu)建的禮貌分?jǐn)?shù)較高的句子進(jìn)行翻譯,得到了一個(gè)21萬句的中文禮貌遷移訓(xùn)練語料。對(duì)于情感遷移任務(wù)和政治傾向遷移任務(wù)[9],分別使用的是Yelp餐廳評(píng)論數(shù)據(jù)集[1]和Voigt等人[29]發(fā)布的數(shù)據(jù)集,數(shù)據(jù)集的規(guī)模如表2所示,其中Politeness表示中英文禮貌語料庫的大小。
我們與三個(gè)經(jīng)典模型進(jìn)行比較,分別是DRG[15]、B_GST[16]和T&G[3]。對(duì)于DRG,我們只比較報(bào)告的最好的方法: 刪除-檢索-生成。所有參與比較的模型,遵循各自論文中描述的實(shí)驗(yàn)設(shè)置。
本文使用了四個(gè)評(píng)價(jià)指標(biāo)評(píng)估模型: 風(fēng)格遷移精度(Acc)、內(nèi)容保存率(BLEU)、困惑度(Perplexity,PPL)和BLEU與Acc的調(diào)和平均值(HM)。遷移精度指標(biāo)指將生成的句子分類到目標(biāo)風(fēng)格中的百分比。內(nèi)容保存率的度量標(biāo)準(zhǔn)是BLEU分?jǐn)?shù)[33],本文是根據(jù)原始句子計(jì)算的。PPL可評(píng)估遷移后句子的語法正確性和流暢度,PPL值越小,語句越流暢。此外還加入了一個(gè)綜合性指標(biāo)HM,即BLEU和Acc的調(diào)和平均值[18]。
表3展示了本文模型以及DRG、B_GST和T&G方法在中文禮貌數(shù)據(jù)集的效果。結(jié)果顯示,本文模型在BLEU、PPL和HM上的得分都優(yōu)于其他模型。文本對(duì)齊策略的應(yīng)用使得本文模型在內(nèi)容保存率上表現(xiàn)更好,流暢度評(píng)估模塊提升了模型生成句子的流暢性。
表3 中文禮貌風(fēng)格遷移結(jié)果 (單位: %)
表4中給出了本文模型和其他模型在英文禮貌語料Politeness-en、Yelp和Political上的結(jié)果對(duì)比。實(shí)驗(yàn)結(jié)果表明,數(shù)據(jù)集的分布對(duì)模型的表現(xiàn)有一定的影響。在禮貌、情感和政治傾向語料上,通常情況下,DRG的分類精度較高,但在內(nèi)容保留方面性能較弱,本文模型在BLEU、PPL和HM上的表現(xiàn)都更好,在Politeness-en上的分類精度表現(xiàn)也高于T&G。同時(shí)我們還觀察到T&G以及本文模型在PPL指標(biāo)上與另外DRG、B_GST對(duì)比相差明顯,我們認(rèn)為其原因是本文模型和T&G模型在訓(xùn)練時(shí)對(duì)于風(fēng)格屬性詞的選擇都是基于語料庫中出現(xiàn)的頻率,我們傾向于選擇出現(xiàn)頻率更高的詞,因此模型生成語句在流暢度評(píng)估上表現(xiàn)得更好。
表4 Politeness-en、Yelp和Political數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 (單位: %)
本文中的禮貌風(fēng)格理論上可以與內(nèi)容分離[4],在禮貌風(fēng)格遷移任務(wù)中改變內(nèi)容詞不符合我們的預(yù)期,因?yàn)槠淇赡軙?huì)徹底改變?cè)淳渥拥囊饬x。我們認(rèn)為對(duì)Tagger的輸出進(jìn)行文本對(duì)齊,可以在一定程度上提高內(nèi)容的保存率。為了考察文本對(duì)齊模塊和流暢度評(píng)估模塊的效果,我們對(duì)這兩個(gè)模型進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表5。
觀察表5,根據(jù)加入對(duì)齊模塊與否對(duì)比Ⅰ、Ⅱ或者Ⅲ、Ⅳ,引入文本對(duì)齊模塊之后,模型生成語句的BLEU分?jǐn)?shù)能得到有效提升。根據(jù)加入流暢度模塊與否對(duì)比Ⅰ、Ⅲ或Ⅱ、Ⅳ的大小,結(jié)果表明流暢度評(píng)估模塊能幫助模型生成更流暢的語句。
表6中給出了Tagger生成帶有[TAG]標(biāo)簽的中間句子,以及模型最后生成的目標(biāo)句子。第一個(gè)句子加入“請(qǐng)”字,第二句通過加入“謝謝”,從而使句子變得禮貌。從表6來看,本文模型和T&G模型在禮貌風(fēng)格遷移上的表現(xiàn)都不錯(cuò),但本文方法在生成句子的內(nèi)容保留和流暢度方面變現(xiàn)更佳。
表6 中文禮貌風(fēng)格遷移的示例
本文研究中文禮貌遷移的任務(wù),為此構(gòu)建了一個(gè)中文的禮貌語料庫。同時(shí)基于T&G模型,引入一個(gè)文本對(duì)齊模型和流暢度評(píng)估模塊,在多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法在內(nèi)容保存和流暢度方面優(yōu)于其他模型。
目前阻礙中文禮貌風(fēng)格遷移任務(wù)的研究發(fā)展的主要因素是缺乏高質(zhì)量的訓(xùn)練語料,我們采用的訓(xùn)練語料是翻譯為中文的安然語料,這實(shí)在是無奈之舉。未來我們要通過人工收集和整理,并結(jié)合數(shù)據(jù)增強(qiáng)方法,以生成更好的訓(xùn)練數(shù)據(jù)。