国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于預訓練語言表示模型的漢語韻律結構預測

2020-01-17 03:34:20張鵬遠盧春暉王睿敏
關鍵詞:韻律短語邊界

張鵬遠 ,盧春暉 ,王睿敏

(1.中國科學院聲學研究所語言聲學與內容理解重點實驗室,北京 100190;2.中國科學院大學電子電器與通信工程學院,北京 100049)

預測輸入文本的韻律結構作為統(tǒng)計參數(shù)語音合成中必不可少的一個步驟,其結果與其他語言學信息相結合被進一步用于預測待合成語音的停頓、時長、基頻和頻譜等聲學參數(shù).因此,韻律結構預測的準確性將在很大程度上決定合成語音的自然度與可懂度.

在漢語語音合成系統(tǒng)中,通常將韻律結構在語法詞的基礎上自底向上劃分為韻律詞、韻律短語、語調短語3個層級,并以此來區(qū)分相鄰語法詞間的停頓長短.韻律結構預測就是針對每個韻律層級判斷一句話中每個語法詞邊界是否為該層韻律邊界,可以將此預測過程視為一個典型的自然語言處理問題——序列標注問題,即對輸入文本序列建立一個其到輸出標記序列的映射關系,以決定每個輸入元素對應的輸出類別.因此韻律結構預測可以使用常規(guī)的序列標注方法,在韻律結構預測中,輸入序列與輸出序列是等長的.

早期,序列標注問題的解決通常借助于統(tǒng)計機器學習方法,包括決策樹[1]、隱馬爾科夫模型[2]、最大熵模型[3]、條件隨機場(conditional random field,CRF)[4]等在內的多種方法均被用于韻律結構預測問題中.隨著深度學習的發(fā)展,預訓練語言模型在眾多自然語言處理任務中都展現(xiàn)了其有效性[5-7].通常將預訓練的語言表示用于具體任務中,有兩種策略.一種為基于特征的方法,即將預訓練的表示作為具體任務中輸入特征的一部分,預訓練詞嵌入向量就是這種策略的典型代表.目前,已經(jīng)有很多工作將這種策略用在韻律結構預測任務中.Ding等[8]分別使用獨熱向量和預訓練的字嵌入向量作為模型的輸入特征,對兩者進行了對比,實驗表明使用預訓練的字嵌入向量在各個韻律層級上的預測結果均優(yōu)于獨熱向量.Zhao等[9]也得出了相同的結論.Zheng等[10]提出了一種增強的嵌入式特征,在詞嵌入向量中融入字嵌入向量的信息,實驗表明以該特征作為輸入的性能優(yōu)于直接使用詞嵌入向量.Zheng等[11]還在輸入詞嵌入向量和字嵌入向量的基礎上,將預訓練語言模型預測的下一個詞的概率作為一種上下文敏感的嵌入式向量額外作為模型的輸入特征,進一步提升了網(wǎng)絡性能.上述這些工作均是將利用大規(guī)模語料進行無監(jiān)督學習得到的嵌入式向量作為網(wǎng)絡的輸入特征,在網(wǎng)絡結構上都采用了能對上下文信息進行建模的雙向長短時記憶網(wǎng)絡(bidirectional long short term memory,BLSTM).

另一種將預訓練表示用于具體任務的策略為基于模型微調,即在預訓練語言模型的基礎上,引入任務相關的輸出層,然后對預訓練的模型參數(shù)和輸出層參數(shù)一起進行簡單的微調.雖然 Huang等[12]和本文之前的工作[13]使用了類似的思想,但這兩個工作是建立在相關任務(如分詞、詞性標注)模型的基礎上,而非更通用的語言表示模型.受最近基于轉換器的雙向編碼器表示(bidirectional encoder representation from transformers,BERT)[14]在多個自然語言處理任務中成功應用的啟發(fā),本文首次在通用語言表示模型的基礎上使用模型微調的策略進行韻律結構預測任務,對BERT語言表示模型在韻律結構預測上應用的可行性進行了探索,包括對不同的韻律輸出結構的對比,對預訓練及額外引入分詞任務的有效性的探討,以及對不同數(shù)據(jù)量對模型性能影響的分析.

1 BERT語言表示模型

BERT是最近提出的一種語言表示模型,通過將掩蔽語言模型作為訓練目標實現(xiàn)了預訓練深層雙向表征.作為一種基于微調的通用語言表示,BERT在多個任務上的表現(xiàn)甚至超越了任務相關的結構,達到了目前的最優(yōu)水平.

1.1 模型結構

BERT在模型結構上使用了神經(jīng)網(wǎng)絡機器翻譯模型Transformer[15]的編碼器部分.如圖1所示,其由N個完全相同的層堆疊而成,其中每層包含兩個子層,層間進行殘差連接[16]并做層歸一化[17],即每個子層的輸出Y為

式中:X為該層的輸入;Sublayer代表該層的實現(xiàn)函數(shù).為了使用殘差連接,模型中所有隱層的單元數(shù)均為d.

具體地,第 1個子層使用多頭注意力機制,通過h個注意力頭在多個表示子空間內對不同位置的注意函數(shù)進行學習.具體過程如圖 2所示,對于輸入d維的查詢向量Q、鍵向量K和值向量V,首先對每個向量進行h次線性變換,得到h組不同的查詢向量、鍵向量和值向量.然后對每組Qi、Ki和Vi

圖1 BERT模型結構Fig.1 Model architecture of BERT

圖2 多頭注意力機制Fig.2 Multi-head attention mechanism

(i∈[1 ,h])進行縮放點積注意力[15]操作,得到Mi,即

式中dk為Qi、Ki和Vi的維度,且dk=d/h.之后將h個Mi拼接在一起并做線性投影得到最終的輸出.

第 2個子層是一個簡單的全連接的前饋神經(jīng)網(wǎng)絡,由兩個線性變換組成,在兩個線性變換間用ReLu激活函數(shù)[18]連接,即

式中:W1∈Rd×4d;W2∈R4d×d.

1.2 預訓練任務

為了訓練深層的雙向表征,BERT在預訓練時使用了掩蔽的語言模型作為訓練任務,即以一定比例隨機掩蔽輸入中的一些字,將這些字用“[MASK]”符號替代,然后只對這些字進行預測,這也可以被稱為完型填空任務.因在實際任務中對模型微調時不存在“[MASK]”,為了避免這種預訓練和微調的不匹配,訓練數(shù)據(jù)生成的具體做法如下:首先以 15%的比例隨機選擇每個輸入序列中將被掩蔽的字,對這些選中的字,將其中的 80%替換為“[MASK]”,10%替換為隨機的其他字,10%保留不被替換.

為了讓模型具有理解句子間關系的能力,BERT在上述任務的基礎上額外增加了下一句預測任務,即判斷輸入序列中的第 2句話是否為原始文本中第 1句話的下一句話.在訓練數(shù)據(jù)生成時,每個序列的第2句話有 50%為第 1句話的真實后續(xù)文本,另 50%為從語料中隨機選取的任意文本.

1.3 輸入特征

作為一種通用的語言表示模型,為了適用于各種不同的任務,BERT對輸入序列進行了一些特殊處理.首先,BERT的所有輸入序列的第一個字符均為一個特殊符號“[CLS]”,對于句級分類任務,可以直接以該字符對應的模型輸出作為整個序列的表示進行分類.其次,因在預訓練中引入了下一句預測任務,BERT的輸入序列是由兩個句子組成的句子對.為了對句子進行區(qū)分,一方面在輸入序列中每個句子的末尾加入了特殊符號“[SEP]”來表示句子結束,另一方面兩個句子在輸入特征上使用不同的句嵌入向量A或句嵌入向量B.

在模型結構上,BERT未使用循環(huán)和卷積操作,不包含序列中的順序信息,因此在輸入中額外引入了位置向量,代表每個字在序列中的位置.對于文本序列中的每個字,其輸入特征為該字對應的字向量、位置向量與句子切分向量三者之和,所有特征向量均嵌在網(wǎng)絡中通過訓練得到.

2 基于BERT的韻律結構預測模型

本文構建了基于BERT的韻律結構預測模型,在預訓練 BERT語言表示模型的基礎上通過微調的方式實現(xiàn)對韻律詞和韻律短語的預測.之前大多數(shù)工作[1-4,8,11]在預測這兩級韻律時采用了級聯(lián)的形式,即對每個韻律層級構建一個預測模型,并把韻律詞預測的結果作為韻律短語預測模型的輸入.在實際應用中存儲多個模型將占用過多的內存,所以本文利用一個模型對多級韻律同時進行預測,在輸出結構上對比了如下兩種方式.

(1)將韻律詞邊界預測和韻律短語邊界預測視為兩個相關的任務,對每個任務各引入一個輸出分類層,利用多任務學習的框架對兩個任務間的關系建模,實現(xiàn)對它們的同時預測.以韻律詞邊界預測為例,將其視為一個三分類任務,對于輸入序列中的每個字判斷其是否是韻律詞邊界或是其他(“[SEP]”等).具體地,如圖3所示,首先對每個字得到其輸入特征向量,即字向量、位置向量與句子切分向量之和.因這里只包含單一句子,所以只使用了句嵌入向量A作為句子切分向量.然后經(jīng)過 BERT網(wǎng)絡得到每個字的輸出向量T,對向量T做式(4)操作得到概率向量P,其中W∈R3×h,P∈ R3.最后以P中概率最大的值對應的類別作為預測結果,在圖3中分別用符號NB、B和O表示.韻律短語預測過程與此相同.

(2)將韻律邊界預測視為一個多分類任務,認為每個字屬于韻律詞邊界、韻律短語邊界或非邊界三者中的一種,在 BERT的基礎上只引入一個輸出分類層,實現(xiàn)對韻律詞和韻律短語的同時預測.具體過程同(1)所述.

圖3 基于BERT的韻律詞預測Fig.3 Prosodic word prediction based on BERT

韻律詞與韻律短語是建立在語法詞的基礎上的,以字為建模單位雖然可以避免對前端分詞系統(tǒng)的依賴及其造成的負面影響,但是使模型內缺乏詞邊界的信息,增加了建模的難度.本文額外引入了分詞任務,以通過共享隱含層中的高級特征在韻律邊界預測任務中獲得詞邊界的信息.實現(xiàn)時在上述韻律預測框架的基礎上額外加入了一個輸出分類層判斷每個字在詞中的位置,包括開頭、中間、結束和單字4類.

對于每個任務,以交叉熵作為其損失函數(shù),整個模型以最小化韻律邊界預測任務與分詞任務損失函數(shù)之和為訓練目標,對預訓練的BERT模型參數(shù)和新增輸出分類層參數(shù)一起進行更新.

3 實 驗

3.1 實驗數(shù)據(jù)及配置

目前在語音合成領域公開的漢語語料庫極少,導致沒有通用的實驗數(shù)據(jù),因此本文實驗使用了一個內部的由專業(yè)女聲錄制的包含 9000個句子的漢語語音合成語料庫.語料庫中所有句子的韻律邊界均由標注人員通過閱讀文本及聽對應的音頻進行標注,同時標注人員對所有文本進行了分詞并標注了詞性.在實驗時,90%的數(shù)據(jù)用于訓練,5%用于驗證,另外5%用于測試.

在預訓練BERT語言表示模型上,使用了谷歌開源的中文模型,模型層數(shù)N為12,隱含層單元數(shù)d為768,自注意力層頭數(shù)h為 12.在此基礎上進行微調訓練韻律預測模型時,batch大小設置為 16,學習率為5×10-5,使用Adam[19]算法進行參數(shù)更新.

本文設置了兩個基線模型:第1個利用傳統(tǒng)方法CRF建模,使用了包括詞、詞性、詞長在內的傳統(tǒng)語言學特征,采用第 2節(jié)所述級聯(lián)的形式實現(xiàn);第2個使用目前效果最好的 BLSTM-CRF建模,模型包含兩個隱層,每層每個方向 128個節(jié)點,采用多輸出的結構以預訓練的 BERT中 768維的字向量作為輸入特征.除基線 CRF模型由 CRF++[20]工具訓練外,其余模型均利用TensorFlow[21]訓練.

3.2 實驗結果與分析

所有實驗以F1值作為韻律詞和韻律短語預測的評價指標.定義為

兩個基線模型的結果如表1所示,其中BLSTMCRF以字向量為輸入,缺乏詞邊界的信息,所以在韻律詞上的表現(xiàn)和以詞為輸入的CRF相比有較大差距.

表1 基線模型的F1值Tab.1 F1scores of the baseline models

首先對第 2節(jié)中提出的兩種輸出結構進行了對比,實驗結果見表2.其中BERT-CLS和BERT-MLT分別代表只有一個輸出層和每個韻律層級各有一個輸出層這兩種結構,兩者均是在預訓練BERT語言表示模型的基礎上利用韻律標注數(shù)據(jù)進行微調得到.從表2可以看到,BERT-MTL這種結構的性能明顯優(yōu)于 BERT-CLS,這是因為韻律詞與韻律短語之間不是非此即彼而是一種遞進的關系,只有當該字為韻律詞的邊界時它才有可能作為韻律短語的邊界,而當它是韻律短語邊界時則一定是韻律詞邊界.這種韻律結構間內在的關系利用多任務學習的框架可以得到更好的建模.

表2 不同輸出結構的F1值Tab.2 F1scores of different output structures

為分析預訓練語言表示的有效性,在 BERTMTL結構下對比了如下幾種模型初始化方式.①BERT-MTL-N:不使用預訓練,即所有參數(shù)隨機初始化,整個模型從 0開始訓練;② BERT-MTL-E:僅使用預訓練的嵌入式特征部分,即利用預訓練模型中的字嵌入式向量,位置向量和句子切分向量初始化韻律預測模型對應參數(shù),其余參數(shù)隨機初始化,相當于引言中所述的基于特征的方法;③BERT-MTL:使用所有預訓練模型的參數(shù)作為韻律結構預測模型的初始值,相當于基于微調的方法.實驗結果如表 3所示,可以看到從0開始訓練的結果最差,這說明在此網(wǎng)絡結構下,由于可用的訓練數(shù)據(jù)過少,對漢語復雜的詞法句法涵蓋有限,導致無法充分建模文本內部包含的韻律關系.基于特征的方法和基于微調的方法與從 0開始訓練相比均有提升,這說明了用額外數(shù)據(jù)預訓練可以給網(wǎng)絡引入更多的語言學信息.但基于特征的方法在韻律詞和韻律短語預測的F1值上均只有大約2%的提升,和基于微調方法 8.16%和 7.26%的提升相差甚遠.預訓練的特征雖在一定程度上學習到了不同字間的不同表示,但對于處于不同上下文中的同一個字卻無法進行分辨,而這種上下文間的關系對于韻律結構預測是至關重要的,所以其帶來的提升有限.對于預訓練的整個模型,在以掩蔽語言模型作為預訓練目標,對大量文本無監(jiān)督的學習過程中,學習到了每個字常在的詞語組合,這種短時的關系在韻律詞建模的過程中起到指導作用,即在詞語組合的內部不會出現(xiàn)韻律詞邊界,從而提升了韻律詞預測的準確性.對于長時的韻律短語,一方面預訓練的模型可以捕捉到句子內部的長時信息,如句法結構、依存關系等,這對于韻律短語的預測是有益的;另一方面,韻律短語建立在韻律詞的基礎上,韻律詞預測準確率的提升也有利于韻律短語邊界的預測.

表3 使用不同參數(shù)預訓練的F1值Tab.3 F1scores when using different pretrained parameters

為了在模型中引入詞級別的信息,在表3列出模型的基礎上加入了分詞任務,實驗結果如表 4所示.通過和表 3的對比可得出結論:分詞任務的加入確實有助于提升韻律詞和韻律短語預測的性能,但隨著使用預訓練參數(shù)的增加,加入該任務對韻律預測效果的提升減弱,這也說明預訓練的特征和模型都在一定程度上學習到了詞級別的信息.BERT-MTL-WS-E在和基線 BLSTM-CRF使用相同輸入的情況下,實現(xiàn)了更優(yōu)的結果,體現(xiàn)了其更強的建模能力.而BERT-MTL-WS實現(xiàn)了本文最好的結果,在以字為建模單元的前提下結果明顯優(yōu)于以詞為建模單元的CRF,韻律詞和韻律短語預測的F1值分別有 2.48%和4.50%的絕對提升,這進一步體現(xiàn)了預訓練語言表示模型的有效性.

表4 加入分詞任務的F1值Tab.4 F1scores when adding the word segmentation task

本文最后對比了不同訓練數(shù)據(jù)量對 BERT-MTLWS-N和BERT-MTL-WS模型性能的影響,實驗結果如圖4所示,圖中虛線為使用8000條文本訓練的基線 CRF的結果.可以看到,韻律詞和韻律短語的F1值隨數(shù)據(jù)量變化的趨勢相同.未經(jīng)預訓練的模型F1值都隨著訓練數(shù)據(jù)量的減少急劇下降,當數(shù)據(jù)量減少至1000條時韻律詞和韻律短語預測的F1值與8000條相比分別下降7.83%和8.07%,當數(shù)據(jù)量更少只有100條時下降值為 33%和 46%.而經(jīng)過預訓練的模型在訓練數(shù)據(jù)減少至 1000條時表現(xiàn)仍比較穩(wěn)定,韻律詞和韻律短語預測的F1值分別只有 0.66%和1.14%的下降,即使當訓練數(shù)據(jù)只有 100條時,下降值也只有2.76%和5.36%,結果甚至優(yōu)于未經(jīng)預訓練的8000條的結果.與基線CRF相比,經(jīng)過預訓練的模型僅需 300條訓練數(shù)據(jù)即可達到優(yōu)于 CRF的結果.以上這些量化的結果都表明了利用大規(guī)模數(shù)據(jù)預訓練語言表示模型的優(yōu)勢,其不僅大大減少了對特定任務訓練數(shù)據(jù)量的需求,而且在小數(shù)據(jù)量的前提下仍能實現(xiàn)并保持理想的結果,這也為解決其他訓練數(shù)據(jù)難收集或難標注的問題提供了思路.

圖4 不同訓練數(shù)據(jù)量的F1值對比Fig.4 Comparison ofF1scores with different amounts of training data

4 結 語

本文在預訓練語言表示模型 BERT的基礎上構建了韻律結構預測模型,將多級韻律邊界的預測視為相關的任務,通過多任務學習的框架捕捉各層級間的關系,實現(xiàn)了對它們的同時預測.通過實驗對比證明了使用預訓練的語言模型不僅可以大幅提高韻律預測模型的性能,而且減少了對訓練數(shù)據(jù)量的需求.另外,實驗表明在以字為建模單元的模型中通過加入分詞任務獲得詞級別的信息,可以進一步提升模型的準確性.與基線模型相比,本文最好的結果在韻律詞和韻律短語預測的F1值分別實現(xiàn)了 2.48%和 4.50%的絕對提升.

猜你喜歡
韻律短語邊界
拓展閱讀的邊界
春天的韻律
中華詩詞(2019年1期)2019-08-23 08:24:12
論中立的幫助行為之可罰邊界
韻律之美——小黃村
維吾爾語話題的韻律表現(xiàn)
韻律
福利中國(2015年5期)2015-01-03 08:41:48
“偽翻譯”:“翻譯”之邊界行走者
外語學刊(2014年6期)2014-04-18 09:11:49
思考新邊界
西青区| 安宁市| 青浦区| 繁峙县| 台北县| 通道| 互助| 昆明市| 柏乡县| 上高县| 维西| 中山市| 合水县| 连城县| 普安县| 宜宾县| 新邵县| 泾川县| 深泽县| 女性| 沽源县| 冀州市| 拜城县| 泾川县| 哈尔滨市| 日照市| 株洲县| 应城市| 洮南市| 米林县| 德保县| 崇礼县| 申扎县| 井冈山市| 玛多县| 彭泽县| 四川省| 筠连县| 安乡县| 淮阳县| 沾化县|