论文解读:《Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model》
《語言驅動的用于語碼轉換語言模型的并行數據增強》
論文地址:Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model
摘要
- Code-Switch language modeling 語碼轉換語言模型面臨兩大挑戰
- data scarcity 數據不足
- 包含兩種語言的擴展詞詞匯表expanded vocabulary
- 本文提出的計算方法
- 使用 Matrix Language Frame theory 生成 人工語碼轉換數據 synthetic code-switch data
- 緩解了數據不足問題(data scarcity)
- 使用 增強的并行數據augmented parallel data 補充 真實的語碼轉換數據real code-switch data
- 使用人工數據synthetic data預訓練語言模型
- 使用 Matrix Language Frame theory 生成 人工語碼轉換數據 synthetic code-switch data
- 效果
- 在實際語碼轉換數據減少2.5倍的情況下,預訓練語言模型的性能與vanilla models相當。
- 使用人工語碼轉換數據 synthetic code-switch data 預訓練,使用真實的語碼轉換數據real code-switch data 進行微調,得到的基于RNN的語言模型的困惑度perplexity 明顯比只用真實的語碼轉換數據訓練的模型低。
- 困惑度perplexity 的降低會轉化為WER(詞錯誤率,Word Error Rate) 降低
1. Introduction
-
Code-switching語碼轉換
Wiki:語碼轉換指說話者在同一段對話或句子里使用兩種以上的語言或方言
- 多語者,一個句子里或不同不同句子間使用兩種及以上語言,如新加坡、香港等地。
- 語碼轉換給語言建模帶來挑戰
- 由于 data scarcity 數據不足以及包含兩種語言的擴展詞詞匯表expanded vocabulary ,語碼轉換的語言模型法與單語模型匹配
- 重要性
- 下游任務:語音識別ASR,機器翻譯都依賴語言模型,因此語碼轉換語言模型是極具挑戰性的當務之急
- 存在的問題
- 語碼轉換數據稀缺。語碼轉換出現頻次低,要學習這種稀疏的語碼轉換模式,需要更多的語碼轉換數據,但是現實中很少可用數據,因為語碼轉換主要是以口語形式存在,并且很難記錄足夠的語碼轉換數據來進行語碼轉換語言模型建模
- 語碼轉換現有的解決方法
- 使用語言信息歸納單詞詞典。將類別(class)[4,5,6,7]、詞性(Part-of-Speech)[8,9]或語言ID(language ID)[5]和單詞輸入結合在一起,以提高語言模型對未知測試序列的泛化能力。
- [10,11,12]中使用語碼轉換權限約束(permission constraints) 為語言模型提供語碼轉換概率。
- 上述方法在不同的方面起作用,然而,訓練數據資源不足,我們期待有更多可用的訓練數據以獲得進一步提升。本文希望生成人工數據以直接解決數據不足問題。
- 合成語碼轉換數據現有方法
- 相關工作[13]中使用等價約束理論Equivalence Constraint theory [14, 15]生成英語和西班牙語的合成語碼轉換數據
- [16,17]使用詞嵌入Word embedding生成二元語法bigrams
- 但是,關于語碼轉換句法(syntactic)結構的語言學研究仍然是一個活躍的研究領域,并且對語碼轉換語篇本質的理論還沒有達成共識
- 解釋語碼轉換形成的三種主導理論:
- Matrix Language Frame (MLF) theory [18], 主體語言框架理論,(本文采用MLF)
- 觀點:語碼轉換句子包括一個主導語言(matrix language)和插入語言(嵌入語言embedded language),插入的部分可以是單詞也可以是更大的結構,且符合主體語言的語法框架。
- 選擇MLF的原因是據作者所知,還沒有人使用MLF生成用于語碼轉換語言模型建模的人工數據。
- 作者在東南亞國家學習英語和漢語的語碼轉換,這是一個比英語和西班牙語等其他常見的語言對更遙遠的語言對。作者認為MLF在現實中很好地描述了該語言。
- Equivalence Constraint theory [14, 15],等價約束理論
- Functional Head Constraint theory [19, 20]. 功能頭約束理論
- Matrix Language Frame (MLF) theory [18], 主體語言框架理論,(本文采用MLF)
-
Language model fine-tuning 語言模型微調[21]
- 語言模型通過微調以用于下游任務,就像計算機視覺里ImageNet預訓練的情況一樣。
- 作者并沒有嚴格遵循提出的方法,如使用斜三角學習率和增加新的特定任務層
- 作者的動機是提出一個好的初始先驗,這樣后面的任務就能使用很少的數據得到提高
- 這種預訓練和微調技術還有快速收斂的優點
2. Synthetic Data Generation 人工數據合成
-
aligned parallel data 對齊并行數據
-
MLF中的插入假設促進了aligned parallel data 對齊并行數據的使用
-
單詞級對齊。不考慮語法邊界,隨處可插,這與MLF相違背。如:本應一起轉換的"this is"被分開單獨轉換。
-
短語級對齊。使用基于短語的對齊給語碼轉換點強加一些約束。
-
-
2.1 基于短語的對齊
-
不同于機器翻譯中的短語對齊,機器翻譯中的短語對齊對源句子到目標句子的翻譯概率進行優化。
-
本文關注的是口語中更可能一起出現的詞組
-
在短語提取階段,我們想提取那些不違反對齊規則的口頭短語。如“human imagination”可以,但“library of human”不可以,因為在漢語主體中,違反了對齊規則。
-
可以使用像Moses[22]這樣的統計機器學習系統進行短語對齊和短語提取
-
生成的短語表還會包含一些長的、不常見的短語,應將其剔除。
-
嵌入語言應該很短,像“library of human imagination”不應歸為一組。
-
簡單的頻率閾值不能捕獲大部分我們認為的口頭短語
-
低頻率閾值會得到包含有效語碼轉換點的長短語。應該把他們轉成更小的短語。
-
高頻率閾值會忽略一些出現的少但有效的口頭短語。
-
平衡:使用fr和低絕對概率閾值過濾極端情況
-
w:短語,P:包含w的短語集合
-
使用短語長度l和相對頻率fr從短語表中提取口頭短語。
-
用提取出來的口頭短語和單詞對齊生成人工語碼轉化數據
-
-
-
2.2 基于語碼轉換概率的采樣 Sampling based on code-switch propbability
- 問題
- 使用基于短語的對齊規則可以詳盡的生成人工語碼轉換文本所有可能的組合。最后生成的語料庫(corpus)會很大,原始的一元模型unigram分布會傾斜。
- 隨著句子長度和對齊點的增加,語碼轉換組合呈指數增長,因此某些單詞的原始分布會比其他單詞大很多。
- 傾斜的一元分布會在數據中引入偏差,用這種數據進行訓練會最終影響語言模型。
- 方法:
- 使用采樣方法:給每個對齊的單詞或短語對分配語碼轉換概率Pcs,在語言模型訓練的過程中動態生成合成的句子。在每一次訓練的迭代中,按照漢語文本的句法結構生成句子,根據Pcs進行語碼轉換,插入英語單詞或短語,反之亦然。
- 在迭代次數足夠的情況下,該模型能夠觀察到所有的語碼轉換組合,包括原始的單一語言句子。此外,單詞或短語的單字母計數將隨迭代次數成比例地增加。
- 問題
-
2.3 Adaptation適應
- 正如[23]指出的,任何語言模型都很難進行域外評估。我們不僅無法獲得大量真實語碼轉換數據,也無法在目標域中獲得大量并行數據。
- 為此,我們實現了一個自適應階段,以減輕預訓練模型對測試數據的域不匹配影響,并在最后的訓練步驟中提出了帶有域內單語數據的模型。
- 通過這種方式,在對語碼轉換數據進行微調后,其困惑度的改善主要是因為觀察了真實的語碼轉換數據,而不是因為觀察了域內數據。
3. 實驗
-
3.1 語料庫
-
SEAME (South East Asia Mandarin-English)語料庫可用于自發的對話語音[24],是在隨意的對話和訪談的環境下錄制的。SEAME語料庫附帶文本轉錄。
- SEAME語料庫分為單語語料庫SEAME Monolingual和語碼轉換語料庫****,語碼轉換語料庫又以幾乎相同的比例分成Train、Dev、Test**,如上表所示。
- SEAME的單語句子用于第2.3節中描述的適應階段
- 在預處理步驟中,消除了猶豫(暫停?)hesitation,副語言標記paralinguistic marker和標點符號punctuation,并使用斯坦福中文分詞器Standford Chinese segmenter[28]對中文文本進行了分詞[28]。
- SEAME Train,后來被稱為Train,是真實語碼轉換的唯一來源,并用它微調預訓練的模型。
-
平行語料庫使用OpenSubtitle [25] and TedTalk[26],因為它們大多是自發語音,據說具有高質量的句子對齊效果,最重要的是有大量可用。
- 在上圖中稱為Parallel,使用第2節提到的方法,生成人工語碼轉換語料庫(稱為Synthetic)
-
使用**GIZA++**進行對齊
-
數據庫的組成概述如下:
- 詞匯覆蓋率Vocabulary coverage是指整個SEAME語料庫的詞匯在平行語料庫中所占的百分比,中文為100%,英文為92%。
- 轉換點分數Switch Point Fraction(SPF)是一個句子里語碼轉換點與單詞邊界數量的比率。平均SPFs描述不同的SEAME子集。
- 第3節和第4節中介紹的所有后續語言模型都使用69K的標準詞匯表,包括來自平行語料庫和Train的詞匯表。
-
-
3.2 模型
-
所有的實驗都使用了一個標準的基于LSTM的語言模型[29,30],因為本文的主要目標是解決數據的稀缺性,我們相信模型架構也會在此方法的基礎上得到改進。
-
該語言模型由2個有300個隱藏單元的LSTM層組成,層與層之間的drop-out率為0.3[31]。wt是LSTM模型的輸入。
-
LSTM模型輸出的yt+1通過softmax對總詞匯量V進行歸一化,得到預測詞的分布pi。最后,損失函數是交叉熵cross-entropy,Yi是正確預測的one-hot標簽。
-
4. 結果
-
所有的困惑度都是基于測試集
-
在下面的實驗中,我們針對每種測試場景分類計算兩組困惑度,一組是使用合成語碼轉換數據預訓練模型,另一組是使用訓練集Train從頭開始訓練的模型。
-
需要注意的一件事是,預訓練的模型已經使用SEAME單語數據進行了調整,以彌補第2.3節的調整階段中所述的領域差距。
-
基線模型是先使用SEAME單語數據從零開始進行訓練,然后再使用訓練集Train進行訓練,以確保模型之間的唯一區別是合成數據的預訓練。
-
表2:不同訓練場景下模型的困惑度。用于預訓練的合成語料庫以轉換概率pcs = 0.7進行短語對齊。
-
模型PreCS2在人工合成語料庫上進行了預訓練,并在訓練集Train上進行了微調,其困惑度較表2中的基線模型減少了21%。在困惑度上的顯著改善是一個積極的跡象,表明了所提出的人工合成語碼轉換預訓練框架的有效性。
-
此外,我們還測試了使用原始平行語料庫預訓練的模型(NoCS),使用SEAME單語進行調整,然后使用Train進行微調,這與我們提出的微調模型的不同之處在于數據增強過程。它的復雜度是223,比基線略差。這說明數據增強是必要的,如果沒有數據增強,混合域數據將會損害目標域模型。
-
此外,未經微調的預訓練模型,即PreCS1,仍然可以得到359的困惑度,表明它是一個很好的先驗。
-
預訓練模型還有更快收斂的優勢。在相同學習率的條件下,一個從零開始訓練的模型需要20多個epoch來收斂,而對預訓練模型進行微調則需要不超過7個epoch。
-
4.1 Effect on the Code-switching Word Sequence 對語碼轉換單詞順序的影響
-
為了分析說明這些改進來自于語碼轉換片段,而不是句子的單語片段,我們將緊跟轉換點之后的單詞的平均困惑度制表,因為這些單詞受語碼轉換造成的數據稀缺影響最大,我們希望改進它們的預測。同時,我們不希望單語段使用合成的語碼轉換數據進行預訓練,所以我們也展示了非轉換點之后的單詞的困惑度。表3的結果證實了我們的說法。
-
合成數據預處理也改進了單語段,這并不奇怪,因為單語段存在于語碼轉換上下文中。LSTM模型將根據過去可能包含語碼轉換詞的上下文來預測非語碼轉換詞,從而更好地對語碼轉換段進行建模,也將改善單語段。
-
-
4.2 Effect of Fine-tuning Data Ratio 微調數據比率的影響
-
作者使用不同比例的訓練集對模型進行微調,如表4所示。這模擬了實際情況,在這種情況下,我們可以為訓練獲得有限數量的域內數據,并為預訓練獲得更多的平行數據。
-
表4:使用不同比例(λ)的真實語碼轉換數據微調預訓練模型得到的困惑度
-
使用原始SEAME訓練集的40%進行訓練就可以獲取和用全部訓練集訓練的模型幾乎相同的困惑度。因為我們有更多的訓練Train數據,我們可以把困惑度降低到173,這比表2中的基線模型改善了21%。
-
這個結果支持我們的觀點,即生成的合成數據對語碼轉換語言建模有重要的貢獻。此外,合成數據是使用一個小的平行集生成的,并且隨著合成數據量的增加,結果有望得到改善。
-
-
4.3 Effect of Different Switch Probability 不同轉換概率的影響
-
表5解釋了為什么選擇pcs = 0.7。在沒有適應階段的情況下,SPF=0.30時得到的困惑度最好,因為它仍然接近于表1中報道的spf=0.23的測試域。有適應階段之后,與我們預期的相反,SPF值越接近測試域的合成數據表現越好,更高的SPF值表示通過語碼轉換的語料庫可以獲得最好的困惑度——359。這可能有助于模型學習更多可能的語碼轉換組合,而不是使用SPF較低的數據進行訓練,而適應階段(包含域單語數據)將對模型進行微調。
-
表5:未進行微調的預訓練模型中不同pcs和SPF對困惑度的影響。
-
-
4.4 Effect of Phrase Based Alignment 基于短語進行對齊的影響
-
最后,我們提出了使用從短語表中基于短語長度和相對頻率提取口頭短語的基于短語的對齊方式。短語長度的影響如表6所示,頻率閾值的選取是基于對抽取的短語樣本的主觀評價。
-
根據提取的短語對平行語料庫進行對齊并生成合成語料庫。
-
使用pcs = 0.7是因為它得到的困惑度最好,如表5所示。
-
根據實驗,最好的短語長度是2和3,因為它們能得到相同的困惑度。
-
基于短語的對齊始終比基于單詞的方法更好,這是由于在第2節中討論的轉換口頭短語的影響。
-
長短語的SPF值較低,這有效地阻止了某些看似合理的語碼轉換組合。然而,長短語的負面影響并沒有在測試結果中體現出來,這可能是由于測試領域的限制。
-
總體上,我們使用提出的方法得到了173的困惑度,比之在訓練集Train上訓練的模型改進了21%。
-
表6:使用不同的合成語料庫重復整個預訓練和微調過程,這些語料庫使用不同的短語長度進行對齊。短語長度為1表示以單詞詞對齊的合成語料庫。
-
5 Benchmark against the State-of-the-Art
-
比較了SEAME數據集上先進語言模型
-
SEAME有兩個發行版本
- SEAMA Phase I
- SEAMA Phase II
-
SEAME Phase I的總符號數tokens大約是SEAME Phase II的60%。見表7:
-
我們將我們提出的模型(稱為Synthetic CS)與表8中最先進的語言模型進行了比較。
-
表8:最新的語言模型在SEAME測試集得到的困惑度。帶+的模型表示改模型在SEAME Phase I上完成訓練和測試。帶*的模型表示表示該模型在SEAME Phase II上完成訓練和測試。
-
因為單語適應數據來自SEAME,所以Synthetic CS使用Synthetic語料庫進行預訓練,且沒有自適應階段。然后對預訓練的模型使用Phase II Train進行微調,在Phase II Eval上進行測試。為了與最先進的語言模型保持一致,我們使用相同的25K詞匯表對模型進行再訓練和測試。基于表6,我們選擇短語長度為2。
-
我們的模型困惑度為142.53,優于RNNLM [8], FL+OF [8], LSTM [9] and FLM [4]。
-
我們的模型僅使用標準的LSTM網絡就實現了與多任務Multi-task[9]媲美的性能。
-
和LSTM [9]相比,我們的困惑度降低了6.9%,網絡結構的進一步改善可能會在此基礎上進一步改善困惑度。
-
-
ASR語音識別實驗
- 我們還在SEAME數據庫上進行了語音識別實驗,訓練時間為101.1小時,評估時間為11.5小時。ASR系統是根據[33]建立的,聲學模型基于時延神經網絡,語言模型是三元模型。系統的最佳詞錯誤率WER是25.25%。為了證明困惑度的降低會轉化為WER的降低,我們使用Synthetic CS模型進行了lattice rescoring。我們的預訓練語言模型,沒有適應階段,是在ASR中使用的訓練集Train轉錄transcription上進行微調的。詞錯誤率WER從25.25%下降到23.80%,降低了1.45%。為了消除由于RNN語言模型所帶來的改進,我們還使用了一個沒有預訓練的RNN語言模型來進行lattice rescoring。該方法的最優WER為24.11%,高于Synthetic CS模型,表明該方法對ASR等下游任務具有實際意義。
6 總結
- 實驗結果表明,我們提出的使用MLF理論生成合成語碼轉換數據的計算方法是可行的。
- 我們證明,與沒有使用合成數據訓練的模型相比,使用合成數據作為真實語碼轉換數據的補充可將困惑度降低21%。 為了獲得這個結果,我們用不同的短語長度和語碼轉換概率進行實驗。 結果與使用標準LSTM層的最先進的模型相當。 當用于lattice rescoring時,Synthetic CS模型的WER降低了1.45%。
總結
以上是生活随笔為你收集整理的论文解读:《Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 概率论的学习和整理--番外11:10球里
- 下一篇: Python时间差计算