?

提示學習啟發的無監督情感風格遷移研究

2024-03-12 08:58蔡國永李安慶
計算機工程與應用 2024年5期
關鍵詞:樣式分類器分數

蔡國永,李安慶

1.桂林電子科技大學計算機與信息安全學院,廣西 桂林 541004

2.廣西可信軟件重點實驗室,廣西 桂林 541004

文本樣式遷移(text style transfer,TST)[1]旨在將原始句子改寫為新的樣式,同時保留其語義內容和流暢性。文本樣式遷移應用廣泛,如不同人物的對話風格與類屬特性[2-3]、文本的書面語體與詩歌體式[4-5]、文本情感極性與友善性[6]等。早期的TST工作主要依賴平行語料庫來監督訓練序列到序列模型,然而許多現實領域TST缺乏監督訓練所需的平行數據。因此無監督式的TST方法得到重視,其框架主要有兩類:(1)生成類框架方法,即通過訓練基于編碼器-解碼器的生成模型,直接生成新樣式句子[7-14];(2)編輯類框架方法,即將樣式理解為句子中特定詞語,通過檢測、刪除、插入、替換等操作來修改源句子以實現句子樣式變化[6,15-18]。

生成類框架方法的一種主要做法是將隱藏空間中的內容與樣式的潛在表示分離,利用分離后的潛在表示來實現樣式遷移[8,10],該類框架方法遷移的準確率較高,但Rao等人[4]的研究表明該類方法在非風格的語義內容保留方面效果通常不好。此外,該類方法還有其他短板,如由于內容和樣式的潛在解糾纏表示具有稀疏性,容易生成人類難以理解的句子、無法實現細粒度的控制等。

對比生成類方法,編輯類方法無需從頭訓練,且支持詞級別的細粒度控制。Li 等人[15]提出了“刪除-檢索-生成”框架,但仍存在三個問題:(1)刪除錯誤;(2)生成錯誤;(3)流暢度低。隨后,Sudhakar等人[18]繼續改進該工作,使用注意力權重來識別樣式詞,通過TF-ⅠDF加權詞重疊來完成目標詞的檢索,最后將樣式無關的內容部分和目標詞交由解碼器來生成新句子,減少了刪除錯誤。

受Sudhakar 等人[19]工作和近來被高度關注的提示學習的啟發,在文本的情感遷移任務上,本文針對刪除錯誤和流暢度低等問題做了進一步的研究,并提出了兩種新的算法來改進情感樣式遷移:(1)提出新的過濾策略改進基于Transformer識別樣式詞的方法以減少刪除錯誤;(2)借助在無標注語料庫上訓練的掩碼語言模型進行提示學習,利用預訓練語言模型自身豐富的知識進行目標樣式詞推薦以提升流暢度。

1 相關工作

下面主要針對非平行語料情況,文本樣式遷移研究的生成類和編輯類方法工作進行介紹。

1.1 生成模型類方法

在該類方法中,一部分工作主張在隱藏空間對內容和樣式進行解糾纏,獲得內容和樣式各自的潛在表示,然后基于內容的潛在表示配合目標樣式的表示來完成樣式遷移。如文獻[7]提出多解碼器和樣式嵌入兩種模型。前者利用編碼器和樣式分類器來計算內容的潛在表示,然后由指定樣式的解碼器以實現樣式遷移。樣式嵌入是將內容表示與目標樣式的潛在表示一起送入解碼器來生成目標句子。文獻[8]利用情感詞典獲得內容表示,再通過自編碼器生成遷移句子。文獻[10]假設跨不同文本語料庫共享潛在內容分布,提出一種利用潛在表示的交叉對齊來執行樣式轉換的方法。

有部分研究認為無需顯式地分離內容和樣式,通過某些技術在隱藏空間中調整句子的潛在表示,最終獲得與樣式無關的語義內容表示以實現樣式遷移。如文獻[11]提出了一種雙重強化學習框架(DualRL),通過一步映射模型直接遷移文本的樣式,而不需要任何內容和樣式的分離。文獻[12]提出了Style-Trans 模型,它不對源語句的潛在表示進行假設,而在Transformer 中改進注意力機制,實現了更好的內容保持。

還有部分工作不涉及隱藏空間內容與樣式解糾纏,而是借助某些技術生成質量不高的偽平行數據集,并用偽平行數據對遷移模型做半監督訓練。如文獻[13]首先利用風格偏好信息和詞嵌入相似性來使用統計機器翻譯(SMT)框架生成偽平行數據,然后采用迭代反向翻譯方法聯合訓練兩個基于神經機器翻譯(NMT)的傳輸系統。文獻[9]提出了一個深度生成模型(DeepLatentSeq),設計了一種概率方法將來自兩個域的非平行數據建模為部分觀察到的平行語料庫。通過在其變分目標與其他無監督風格遷移和機器翻譯技術之間建立聯系,實現了文本樣式遷移。

上述這些方法中無論是否將潛在空間中的內容和樣式解糾纏,或從頭生成目標句子,均存在稀疏性和收斂性問題[4],因此會生成低質量的句子。

1.2 編輯類方法

編輯類方法的典型是文獻[15]使用的“刪除-檢索-生成”框架。通過刪除樣式詞后得到內容部分,接著檢索目標樣式詞,最后將內容部分和目標樣式詞交由LSTM生成目標句子。文獻[16]提出了一種兩步方法:遮擋并填充。在遮擋時通過將樣式詞的位置遮擋來將樣式與內容分開;在填充時將掩碼語言模型(masked language model,MLM)改進為屬性條件MLM,通過預測以上下文和目標情緒為條件的單詞或短語來填充遮擋位置。有一些研究側重對樣式詞識別方法的改進。如文獻[6]使用標記器在源文本中標記樣式短語,然后根據標記的源文本生成目標文本。文獻[17]為源域和目標域訓練MLM,兩個模型將可能性方面最不一致的文本跨度識別為源樣式詞。文獻[18]提出新模型GST(generativestyle-Transformer)。首先對語料訓練Transformer模型,通過選出最合適的層和注意力頭來計算每個詞的注意力分數,將前k個詞當作樣式詞。然后,刪去樣式詞后得到內容部分,聯合目標情感標簽交由GPT來生成目標句子。

上述這些編輯類方法仍存在一些不足,如(1)檢索樣式詞的準確度有待提高;(2)簡單的刪除樣式詞,也可能丟失內容;(3)生成目標句子或對遮擋填空只依賴樣式分類器,難以保證句子的流暢性。

為彌補這些不足,本文提出了新的過濾策略來提升對樣式詞的識別精度。與本文工作最接近的是文獻[16]和文獻[18],但與文獻[16]在語料上訓練模型不同,本文方法無需重新訓練填空模型,而是基于通用的預訓練模型。此外,在對遮擋填空時,與文獻[16]單純依賴目標樣式標簽和樣式分類器不同,本文設計了不同的提示模板來挖掘大模型的知識以提升樣式無關內容的保留。對比文獻[18]利用Transformer 來計算句子中每個詞的重要性分數以識別樣式詞,但該方法未能考慮部分與樣式無關的名詞的重要性分數同樣很大,只依賴此分數可能導致樣式無關的名詞被錯認為樣式詞并遮擋,從而產生樣式無關的語義內容丟失和遷移失敗等錯誤。本文改進了基于Transformer的注意力來篩選源樣式詞的方法,同時創新地用提示方法來完成對目標樣式詞的檢索,無需訓練序列生成模型,也避免了相關弊端。

2 基于提示學習的文本情感遷移

設在給定數據集D={(x1,s1),(x2,s2),…,(xn,sn)}中xi對應第i個句子,si∈S是xi的樣式標記。其中樣式由可以準確識別給定句子樣式的分類器確定,在情感類遷移任務中樣式集S={‘Positive’,‘Negative’} 。定義xs表示樣式為s的句子,句子xs隨樣式s變化而變化。樣式s的對立樣式為sˉ,則遷移后的目標句子為xsˉ。元標記ms表示遮擋(mask)前句子的樣式為s,xms表示句子xs遮擋樣式詞后的內容部分,隨樣式s變化而變化。符號p表示與提示(prompt)相關,xp表示句子x對應的提示句子,整體是一個符號。本文提出的針對情感遷移的提示方法如圖1所示,它分為三個步驟:(1)樣式詞識別與遮擋,即識別源句子xs中的樣式詞并遮擋得到內容部分xms;(2)提示構造,利用語言生成模型獲得與源句子語義相近的生成句以構造提示句子xp;(3)目標語句構造,即借助提示信息xp指導掩碼語言模型獲得與xs樣式對立的目標句子xsˉ。以下2.1~2.3 節對以上步驟分別作詳細說明。

圖1 基于提示學習的情感遷移整體框架圖Fig.1 Overall framework diagram of emotional transfer based on prompt learning

2.1 樣式詞識別與遮擋

該步驟分為兩個階段:(1)識別樣式詞。設源句子xs由詞集W={w1,w2,…,wm}構成,通過計算每個詞的注意力分數再降序排列得到Wsorted,即PBert(Wsorted|W)。然后取Wsorted的前k個作為句子xs對應的樣式詞集合as。(2)遮擋。將as中的樣式詞遮擋得到內容部分xms,如式(1)所示:

第一步識別樣式詞的這種方法[18]還存在較多誤判,本文主要從兩個角度改進該方法:(1)過濾情感無關的名詞并保留在源句子中;(2)識別情感相關的形容詞作為對注意力方法的補充。

具體來說,利用語言處理庫coreNLP[20]實現對樣式相關的形容詞Js和樣式無關的名詞Nc的識別,即接著先將樣式無關的名詞過濾,避免注意力分數較高的內容詞被遮擋。再從中選取前k個詞(topK) ,最后把可能遺漏的形容詞補充到topK()方法所得的詞集中,其過程如式(2)所示:

算法1 詳細描述了改進后的源情感詞識別算法。算法中輸入Wsorted是情感詞的候選列表,它是利用Transformer的注意力結構計算句子W中每個詞的重要性分數,然后對所有詞按此分數降序排列。詞表C和S用于對情感詞候選列表Wsorted快速過濾以減少對源情感詞誤判。詞表構造基于語言模型coreNLP(https://stanfordnlp.github.io/CoreNLP/)的詞性識別結果,即將源語料中的指示代詞、人稱代詞、系動詞、部分介詞篩選去重,并記為情感無關的常見詞表C,而把數字、特殊符號放入無關符號詞表S;k為預設的情感詞個數。

算法1執行時前,先備份重要性分數最大的首選詞word1,以應對候選情感詞列表Wsorted被篩選為空的情形(第1行);然后,調用算法2從源句子中獲取與情感無關的名詞集合N,對算法2稍作調整即可獲取情感相關的形容詞、副詞集合J(第2~4 行);然后將候選列表Wsorted中和無關情感詞集合C、S和N重復的部分過濾(第5~9 行);若候選集合Wsorted變為空集,則將word1作為默認的情感詞(第10~12行);否則將從過濾后的候選序列中選出前k個放入情感詞集Wstyle,k的大小和候選詞的總個數λ相關(第13~17行);接著再使用情感無關的詞表C對情感相關的形容詞集J過濾,這是因為coreNLP 在識別形容詞時可能會將某些系動詞誤判為形容詞(第18~22 行);最后,將與情感相關的形容詞和部分表示情感否定的詞(如not,no)不加重復地添加到情感詞集Wstyle中,即得到過濾后的情感詞集合Wstyle。

對于k的設定(第13~17行),由于實際情感詞個數可能不止k個,且考慮過濾后的候選詞越多,真實的情感詞個數也應該越多。因此算法1 采用了兩種策略來盡量接近情感詞的準確個數:(1)根據候選的情感詞數量λ與情感詞個數k的統計規律,對不同的候選詞數量分段指定情感詞數k的大??;(2)在選取k個情感詞的操作完成后,再將與情感相關的形容詞集合J不重復地并入詞序列Wstyle中,以彌補當k遠小于真實情感詞個數時可能導致的遷移失敗。

算法1(源情感詞識別算法)

輸入:源句子的詞序列W按注意力分數降序排列為Wsorted={w1,w2,…,wn},即源情感詞候選列表;預定義與情感無關的常見詞集合C,預定義與情感無關的符號詞集合S;預設的情感詞個數k

輸出:源句子中的情感詞集合Wstyle

算法2 描述了從源句子中識別情感無關名詞的過程。在輸入部分除了必要的詞性識別模型coreNLP 和情感分類器Classifier(https://huggingface.co/cardiffnlp/twitter-xlm-roberta-base-sentiment)外,還預設了方便識別名詞詞性的標簽集合POSnoun,其中包含有名詞單數(NN)、復數(NNS)、專有名詞單數(NNP)和專有名詞復數(NNPS)。

算法2中,首先將無情感的名詞集合Nno-style初始化為空,利用coreNLP 調用詞性標注函數pos_tag()獲得標注結果(第1、2行);對于每個標注取出被標注詞和對應的詞性標簽,如果當前是名詞,根據模板“it is [名詞].”和“we get [名詞].”構建兩個句子,再利用情感分類器Classifier 分別給出情感標簽,當兩個標簽均為中性(0)時,即認為該名詞對人與物都是情感無關的,則加入到情感無關的名詞集合Nno-style中(第3~18行);最后算法返回集合Nno-style。

識別情感相關的形容詞的過程與算法2結構相同,只需作兩處改動:一是把詞性標簽設為形容詞(JJ)、比較級(JJR)、最高級(JJS),以及副詞(RB)和具有情感屬性的感嘆詞(UH);二是將中性分數判斷的語句(第7、8行)改為使用情感標簽(積極、消極、中性)來判定,即當構造的句子所得分類標簽不是中性,就將當前形容詞添加到與情感相關的集合中去。

算法2(識別情感無關的名詞算法)

輸入:源句子的詞序列W={w1,w2,…,wn},情感分類器Classifier,用于計算句子的情感標簽,包括中性、積極、消極(0,1,-1);語言處理庫coreNLP,以及預設用于識別名詞詞性的標注集合POSnoun={NN,NNS,NNP,NNPS}

輸出:源句子中與情感無關的名詞集合Nno-style

算法1識別源句子“The restaurant is a good place and have fun !”情感詞并遮擋的結果如表1 所示。從表1 可看出,若簡單取Wsorted的前兩個詞作為情感詞,即“good”“restaurant”。此時去遮擋一方面會損失關于餐館的內容信息,另一方面遺漏了其他情感詞,如“fun”。改進后的算法1減少了這些錯誤。

表1 識別源樣式詞的一個實例Table 1 Example of identifying source style words

2.2 提示構造

研究中發現使用轉折詞“but”和源句子作為提示可有效實現對立特性的文本樣式遷移。如句子“the food is expensive .”先遮擋其源情感詞“expensive”,再用“but”連接原句子作為提示并與遮擋后的句子拼接,即“the food is ,but the food is expensive .”接著借助預訓練的掩碼語言模型作填空,模型將給出符合目標情感的多個預測詞,如“good”“cheap”等,從中選出合適的預測詞填入可實現對立情感的遷移。故本文提出一個構造文本情感遷移提示信息的通用模式,即將轉折詞(如“but”)與源句子情感一致的短句拼接。進而利用此類提示信息指導填空掩碼模型準確地生成出適合的目標情感詞。

構造提示句的過程可分為兩個階段:(1)獲得與源情感一致語句。通過借助GPT2(https://huggingface.co/gpt2/)模型,在已知源句子xs的前提下生成下一句與源情感一致的句子xnext。(2)構造提示句。即按模板組合提示信息來得到提示句子xp。以下具體展開。

在第一步中,為確保xnext情感與原句子一致,需在生成下一句前對源句子進行樣式增強:先在句首加入一組情感標簽同為s的詞組as,作為對源句子情感的強化。接著在xs的末尾加入遞進詞wpro(如“furthermore”),顯式地限定下一句情感和xs情感一致,如式(3)所示:

在第二步中,為充分利用不同提示信息,本文針對情感遷移任務設計了構造提示句xp的四種模板,如式(4)~(7)所示,其中winflect代指轉折連詞。

它們對不同長度句子的遷移效果各有優劣,在一組提示中可包含多個模板構建的句子。對于指定的目標情感短語as可人工給出,如采用只表達情感而無內容的句子“terrible experience !”。直覺上將遞進詞wpro與目標情感短語asˉ拼接作為提示同樣可行,但實際效果不如轉折連詞構建的提示模板。

2.3 目標語句構造

該步驟分為兩個階段:(1)篩選預測詞。先將內容部分xms與提示句xp交由填空掩碼模型檢索預測詞,對樣式詞篩選后用于構造新句子xsˉ,即(2)檢測目標樣式。需對新句子做樣式檢測以確認其樣式為目標樣式,即。此外,依據樣式誤判情況可適當調整提示策略。以下在2.3.1和2.3.2小節中對這兩步作詳細說明。

2.3.1 篩選樣式詞

提示方法無需微調預訓練填空掩碼模型,但訓練語料自身的偏差(bias)可能導致對積極情感的預測高于對消極的預測,且模型往往更傾向于訓練語料里的高頻詞(如“good”)而不完全依賴提示信息。為應對這些問題,需要對預測詞進一步篩選,本文從兩個方面改善遷移句子的質量:(1)限制高頻詞的使用以改善語義內容保留;(2)在目標情感分數的基礎上同時考慮了與內容相關的次序權重。算法3描述了篩選目標情感詞的具體過程。

算法3(篩選目標情感詞算法)

輸入:預定義高頻詞表WHF={good,great,…},預定義無效預測詞集合Winvalid={-,_,‘,…};情感分類器Classifier,可計算句子在中性(0)、積極(1)、消極(-1)三個標簽上的可能性分數;預訓練掩碼填空模型FillMask(https://huggingface.co/roberta-large),源句子情感詞遮擋后的句子xms,與之對應的提示句子xp,目標情感標簽tgtStyle

輸出:目標情感最佳預測詞集合Wtgt-style,其長度為k,對應待填空的個數

在算法3的輸入部分,本文預定義了內容無關的高頻情感詞集合WHF和無效的預測詞集合Winvalid,預訓練的填空模型Fill-Mask 以及情感分類器Classifier。預定義詞集構造是利用Fill-Mask對抽樣遮擋句子提供預測詞,將不是由小寫英文字符構成的加入無效詞集Winvalid,并把前兩個預測詞加入高頻詞WHF中。

算法3先初始化目標集合Wtgt-style為空,并以Wtpos=[0.35,0.35,0.55,0.75,0.95]作為與內容相關的候選次序權重列表,這是由于預測詞初始越靠前涉及的內容信息越少(如good,great)而越靠后則含有的語義信息越多(如expensive,cheap),因此構造Wtpos時整體采用了等差序列,但假設前兩個詞語義信息相差不大故取值相同(第1、2 列)。然后利用Fill-Mask 模型獲得預測詞集合Wcandidate,它由k個長度為五的單詞列表構成,其中k為遮擋的個數(第3~4行)。接著依次考察每個遮擋的5個預測詞,Scores列表用于記錄5個候選詞在目標情感和語義內容上的最終分值,初始化為空(第7行)。若單詞w無效則用空串覆蓋且分數置0(第10~13行)。接著再使用情感分類器Classifier獲得單詞w的情感標簽和在該標簽上的得分score。若情感標簽與目標情感相反,再借助Fill-Mask模型計算w的情感對立詞w-,當w-符合目標情感時就代替原來的預測詞,否則用空串覆蓋原詞且分數置0。然后將分數score 加入Scores 列表(第15~27 行)。接著將分數Scores 和對應的內容權重Wtpos相乘,并把內容無關的高頻詞分數降低為非高頻詞中的最小得分,來凸顯內容相關的非高頻詞(第30~36行)。再將得分最大的詞加入目標集合Wtgt-style(第38行)。當每個遮擋都獲得最佳預測詞后,將集合Wtgt-style中重復的詞只保留一個以提高語義內容的豐富性(第41行)。最后算法返回目標集合Wtgt-style。

在表2中展示了利用算法3對“The food is ,but service is terrible.”識別目標樣式詞(即積極情感詞)的篩選過程。如表2 所示,直接獲得的候選詞集Wcandidate中存在兩個問題:(1)高頻卻無內容的詞排在前列;(2)含有部分非目標樣式的詞。算法3 解決了這些問題。

表2 篩選目標樣式詞的一個實例Table 2 Example of filtering target style words

2.3.2 檢測目標樣式

從算法3獲得符合目標情感的最佳預測詞集Wtgt-style后,分兩種情況:(1)沒有缺詞(即不含空串)時,在對應遮擋位置填入預測詞,即得到新句子,借助情感分類器檢查句子的情感樣式,若不是目標情感,則換下一條提示繼續檢索,否則遷移完成;(2)預測詞部分缺少時,將部分有效的預測詞填入,再利用遮擋減少后的新句子繼續檢索。這樣相比因為個別缺少就完全舍棄的做法,提升了遷移成功率。若全部缺失則更換下一條提示。

情感分類器本身也可能誤把有情感的陳述句判為中性。分析發現有兩個原因:一是對消極情感的反諷句進行情感判定涉及外部知識,如評價“某餐廳適合睡覺”暗示了對服務的不滿;二是表達積極情感的陳述句由于句子過長但情感詞少,故被錯誤判定為中性。針對第二種情況,本文經統計分析發現,積極的陳述句被情感分類器判定為中性時,在中性標簽上的得分遠高于其他標簽。為此,本文使用有標注的句子來確定閾值α。即從七萬條已標注積極情感的句子中抽樣500 條被誤判為中性的句子,取其中性分數的均值作為初始的閾值α。然后,將標注為中性的100 條句子加入其中。之后,先借助情感分類器計算所有句子的中性分數gneu,采用公式(8)判定情感標簽,接著與實際的情感標注比照,即可計算當前α下對積極情感標簽的識別準確率。

接著增大初始閾值α直到識別精度達到98%,即接受閾值α從誤判為中性句子中篩選真實的積極情感標簽的能力。利用閾值α對遷移后句子的情感做判斷,針對從消極遷移為積極情況,若遷移后句子的中性分數大于閾值α,即認為該句子表達了積極情感。

3 實驗

3.1 數據集

為方便對比已有工作,本文使用Sudhakar等人[18]提供的數據集,包括兩個情感遷移的基準數據集,Yelp 評論數據集和AMAZON 亞馬遜產品評論集,數據集統計信息如表3所示。

表3 數據集統計信息Table 3 Statistics for dataset

YELP數據集是帶有情緒標簽(負面或正面)的餐館和商業評論。AMAZON 數據集是亞馬遜上的產品評論,每條評論都標記為正面或負面情緒。

3.2 對比方法

本文將提示方法與三類情感遷移方法進行了對比實驗:(1)與經典模型的比較;(2)與領先的編輯模型的比較;(3)與領先的生成模型的比較,以下對模型或方法具體說明。

經典模型包括從隱藏向量角度完成遷移的生成模型,如MultiDecoder[7]和CrossAligned[10]。還有首次在“刪除-檢索-生成”框架上執行文本遷移任務的編輯模型DeleteOnly 和DeleteRetrieve[19]。其次,領先的編輯模型選擇GST[18]作對比,該模型引入transformer注意力來識別樣式詞。在YELP 和AMAZON 數據集上,本文與以上方法進行了比較。

最后選取領先的生成類模型作對比。DeepLatentSeq[9]利用新的概率生成公式,它結合了過去在無監督文本樣式遷移方面的工作。DualRL[11]采用雙強化學習方法。Dai 等人[12]提出Style-Trans 轉換器,并在Transformer 中為樣式匹配了注意力機制。unsuperMT[13]采用無監督機器翻譯,即借助偽平行數據和反向迭代翻譯方法來完成自動風格轉換的任務,GTAE[14]將內在語言約束施加到自然語言的模型空間中,提出了一種基于圖變換器的自動編碼器。本文在YELP 數據集上與這些方法進行了比較。

3.3 評估標準

與已有工作一樣,對生成樣本在三個不同維度上進行比較:目標風格強度,樣式無關的語義內容保持和流暢性。

為了估計目標風格強度,本文使用針對情感分類的預訓練模型RoBERTa-base(https://huggingface.co/cardiffnlp/twitter-xlm-roberta-base-sentiment)作為風格分類器。該分類器在Yelp、Amazon的測試集上分別達到了98%、89%的準確率(accuracy,Acc)。

為了比較樣式無關的語義內容保存,利用sacreBleu[21]計算遷移句子與源句子之間的BLEU 分數[19]。較高的BLEU 分數表明遷移的句子可以通過保留更多來自源句子的單詞來實現更好的內容保存,此外還將計算遷移句子和相應參考之間的BLEU分數。兩個BLEU分數指標分別稱為self-BLEU(s-BLEU)和ref-BLEU(r-BLEU)。

流暢度是通過遷移句子的困惑度(Perplexity,PPL)來衡量的,本文使用KenLM[22]在兩個數據集的訓練集上訓練了一個5-gram語言模型。利用這個語言模型來測量生成句子的困惑度。該模型在Yelp、Amazon的驗證集句子上分別實現了平均18、16的困惑度。

此外,Sudhakar等人[18]發現基于學習模型的指標如困惑度和準確性,與人類評估并不完全相關,考察模型的性能不能依賴單個指標。因此,本文對ACC,s-BLEU,r-BLEU和log(PPL)的倒數提供了幾何平均數用于衡量整體的表現,即綜合指標(global metrics,GM)。

3.4 實驗設置

在識別情感詞的實驗中,在計算注意力之前需先將系動詞的縮寫還原。利用Sudhakar 等人[18]公開的訓練代碼,用于計算獲得最合適的layer和head,其結果分別是9、0。構造提示所需的下一句xnext時取其長度為15個單詞。關于提示的四種模板的比例是1∶2∶4∶3。鑒別中性分數的閾值α=0.85 。在篩選情感詞的個數時λ=5,k=3。在篩選目標預測詞時,對于最后一個遮擋重復多次給出固定答案,仍未達到閾值的,實驗中為避免死循環在三次重復后接受。

4 實驗結果分析

實驗數據對比分為四部分:(1)與經典模型的比較結果見表4、表6;(2)與領先的編輯模型的比較結果如表5、表6所示;(3)與領先的生成模型的比較結果如表7所示。(4)消融實驗的結果如表8 所示。以下對結果進行具體分析。

表4 在AMAZON上與經典模型的性能比較Table 4 Performance comparison with classical models on Amazon dataset

表5 在AMAZON上與領先的編輯模型的比較Table 5 Performance comparison with advanced editing models on Amazon dataset

表6 在YELP上與經典模型的性能比較Table 6 Performance comparison with classical models on YELP dataset

表7 在YELP上與領先的生成模型的比較Table 7 Performance comparison with advanced generative models on YELP dataset

表8 在YELP數據集上的消融實驗Table 8 Ablation experiments on YELP dataset

表4展示了在Amazon數據集上提示方法與經典模型對比結果。首行和末行數據分別代表遷移前的源句子(source corpus,SC)和人工遷移的參考結果(human reference,HR)。從表4 倒數第二行和倒數第三行的數據分析可知,對比經典的編輯模型DR,本文提出的提示方法在情感遷移的準確度上提升了6.8 個百分點,綜合評分相對提升4%。如表4 第二行和第三行所示,對比經典的生成模型MD 和CA,提示方法的遷移準確率只略低于CA,而在BLEU分數上有壓倒性的優勢,這是因為通過提升情感詞識別的準確率,實現了詞級別的細粒度編輯,與情感無關的語義內容被盡可能保留了。

表5給出了在Amazon數據集上提示方法與領先的編輯模型GST 的對比結果。除了在情感遷移準確率上略低外,其他指標則遠優于GST 模型,尤其s-BLEU 分數相對提升了32%,這說明本文針對GST只依賴注意力識別情感詞的改進是有效的,尤其在對內容保持方面提升明顯。對比GST 困惑度指標,提示方法相對降低了67%,這說明和GST 利用GPT 重新生成一組目標詞不同,本文利用掩碼語言模型檢索的方法在流暢度上略有改善。

表6展示了在YELP數據集上提示方法與經典模型的比較。將倒數第二行數據對比表中第二行到第四行可知,提示方法整體優于經典模型,總體指標位列第一。此外,對比倒數第二行和第三行的數據可知,本文的方法在YELP 數據集上的全部指標上均優于編輯模型GST,總體指標提升了14.5%,說明本文提出的過濾策略與提示方法是有效的,提高了準確率的同時,并盡量保留了源句子與情感無關的內容。

在對比表5、表7的PPL指標的數據結果,可以發現困惑度分數在同一組數據中保持了相對一致性,但在不同數據集上波動明顯,進一步說明使用整體評分是必要的。觀察表7的前兩列數據,可以發現隨著遷移準確率的下降,s-BLEU分數逐漸升高,即當對源句子詞匯保留增多時,生成方法也存在將源樣式詞錯誤保留的情況。

觀察表7中不同模型兩兩比較時,在單個指標上表現好的模型,在另一個指標上卻可能低于對方。如表7中本文的提示方法與近來最領先的生成模型DualRL比較,提示方法的遷移準確率相對提高了3 個百分點,s-BLEU 相對降低了17%。但通過觀察表7 的s-BLEU 指標和GM 指標,可以發現s-BLEU 分數與綜合評分并不一致。s-BLEU分數更多體現了遷移句子對源句子中相同詞的保存程度,而并不能直接作為與情感無關的內容保留指標。如進一步觀察表6的最后一行,在給出的參考中s-BLEU 分數不到三分之一,卻實現了98.2%的遷移準確率,這說明只有保證了較高的遷移準確率時,s-BLEU 分數才能正確反映對情感無關內容的保留程度。即當s-BLEU 指標高而遷移準確率低時,說明模型錯誤保留了源情感詞。此外,提示方法無需訓練模型,在實際應用上也有一定潛力。

表8第二、三行數據分別展示了去除識別源情感詞策略(即算法1),以及不使用提示方法的消融實驗結果。本文對情感詞的識別基于對GST中Transformer注意力機制的改進,通過比較前兩行數據可知,在不做源情感詞過濾而只進行提示學習時,對比GST方法情感遷移的準確率下降了4 個百分點,而s-BLEU 分數上提高了26.8%,這說明提示學習在保存與情感無關的內容方面要優于依賴GPT2的生成方法。比較第二行和第四行的數據,當對源情感詞不加過濾時,遷移的準確率下降了11.4個百分點,這說明過濾策略有效地提高了情感詞識別準度,而BLEU 分數提高了7.5%,這可能是因為缺少過濾策略導致了更多的源情感詞被錯誤保留。比較第三行和第四行的數據,在沒有提示的條件下,遷移的準確率下降了22.8個百分點,說明提示方法可以有效指導掩碼語言模型實現情感遷移,而BLEU 分數提高了10.7%,可能是因為沒有提示信息下,候選詞多和源句子部分重復,這也導致了未能正確遷移。

總體來看,本文的提示方法整體優于經典的方法。和現有領先的編輯方法,提示方法實現了更好的遷移準確率和情感無關的內容保留。即使與最領先的生成模型相比,提示方法也在整體性能上具有競爭力。

此外考慮到不同轉折詞對預測的影響,實驗選取了18個帶有轉折含義的詞,并在相同提示信息的條件下對同一組句子做情感遷移。主要考慮了候選詞中正確預測樣式所占的比例、首選命中的比例,以及與內容相關詞在正確詞中所占的比例。圖2 中展示了排在前五的結果。實驗表明,不同轉折詞對內容和樣式轉移方向的影響差異較大,如“by contrast”在內容相關詞比重上相對于“but”提高了16個百分點以上。說明提示學習對個別詞的改變波動比較明顯。此外,實驗中發現當句子中本身存在轉折邏輯時提示的效果差,這可能是因為當前轉折詞和句子本身的邏輯發生沖突造成的。

圖2 不同轉折詞對預測效果的影響Fig.2 Effect of inflection words on predictive performance

如圖3所示,平均樣式詞個數隨著句子變長而緩慢增長,普遍以兩個樣式詞為主。注意到,經過對樣式無關詞的過濾,實際候選詞個數一方面在句子長度增大時仍保持較小的漲幅,另一方面和平均樣式詞個數的增長速度保持一致。說明該策略有效減少了樣式無關詞對識別的干擾。從圖中可推斷topK策略的參數設定,當候選詞個數超過5 時,平均樣式詞個數明顯上升,故λ=5 作為閾值比較合理。即候選詞少于5 個時默認k取前兩個,否則應取k=3。

圖3 句子長度對篩選目標詞的影響Fig.3 Effect of sentence length on filtering target words

5 結語

本文提出了針對文本情感遷移的提示方法,對比已有的編輯方法,無需針對特定領域訓練生成模型,而是直接采用預訓練的填空模型。除改進對源樣式詞的識別精度外,為了充分挖掘大模型對于樣式遷移的相關知識,本文引入了有效的提示方法,并設計了對目標候選詞的篩選策略。

實驗表明,提示方法在情感遷移方面優于現有編輯方法,并對最新的生成模型方法有相當的競爭力。此外,提示的數據由GPT2生成,可輕易獲得大量與內容相關的提示。在未來的工作中,將研究提示方法在生成偽平行數據方向的應用。

猜你喜歡
樣式分類器分數
CPMF-I 取樣式多相流分離計量裝置
CPMF-I 取樣式多相流分離計量裝置
分數的由來
取樣式多相流分離計量裝置
無限循環小數化為分數的反思
可怕的分數
BP-GA光照分類器在車道線識別中的應用
算分數
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合