吳雙志 張冬冬 周明
摘要:口語文本順滑技術(shù)是語音翻譯系統(tǒng)中的重要組成部分。其目標(biāo)是識別并刪除語音識別文本中所包含的重復(fù)、停頓、修正、冗余等口語現(xiàn)象,進(jìn)而使口語文本更加書面化,增加文本的可讀性和可理解性,有助于提高后續(xù)語言處理任務(wù)的準(zhǔn)確率。本文針對口語文本順滑問題提出一種基于自注意力機制的識別技術(shù)。該技術(shù)利用了深度學(xué)習(xí)中的自注意力神經(jīng)網(wǎng)絡(luò)。自注意力神經(jīng)網(wǎng)絡(luò)具有很強的序列建模能力,本文首先利用自注意力網(wǎng)絡(luò)對口語文本進(jìn)行編碼,在此基礎(chǔ)之上識別文本中的不流暢因素。在公開數(shù)據(jù)集上的測試結(jié)果表明本文提出的方法可以有效地識別口語中的不流暢因素。
關(guān)鍵詞:語音翻譯:口語順滑;神經(jīng)網(wǎng)絡(luò)
0引言
隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展。以互聯(lián)網(wǎng)為基礎(chǔ)的應(yīng)用層出不窮。這些應(yīng)用大多都不再局限于以文本作為輸入信號,語音作為一種更加方便快捷的輸入備受推崇。以機器翻譯為例,實時的語音翻譯逐漸成為人們出行的必備工具。自動語音翻譯是指讓機器完成從某一種語言的語音翻譯到另一種語言的語音過程。簡而言之,語音翻譯通常由3個模塊組成,分別是語音識別(ASR)、文本翻譯(MT)和語音合成(TIS)。其中語音識別能夠?qū)⒄Z音轉(zhuǎn)化為文本,是語音翻譯的重要組成部分。通常情況下,用戶說出來的語音信號都是實時發(fā)生的,以口語風(fēng)格為主??谡Z語音識別文本與正規(guī)書面文本有很大差別。這主要體現(xiàn)在口語文本和書面文本相比含有很多不流利因素。所謂不流利因素是指人們在講話時所出現(xiàn)的重復(fù)、停頓、修正、冗余等現(xiàn)象。這些現(xiàn)象會導(dǎo)致口語本文中出現(xiàn)很多噪音單詞,本文稱之為不流暢單詞。下面列出了口語文本不同于書面文本的一些例子:
(1)1want a fight to Denver I mean to Boston。
(2)Um and are these like do these programs。
(3)他這邊 他那個 他不想干嘛。
上例中斜體加黑代表這些詞對于整個句子是多余的,是不流暢單詞。在句子(1)中,由于講話者對其先前的表述有所修改,因此“to Denver I mean”這一片段對該句子的意思沒有貢獻(xiàn)是冗余的。又例如在句子(3)中,由于講話者的猶豫或者停頓,使句子中多出了一些不必要的單詞“那”和“那個”,這些單詞同樣對句子的意思沒有貢獻(xiàn)。從這些例子中可以看出,口語文本中的不流利因素會使句子的整體可讀性變差,機器翻譯在處理這些文本的時候會出現(xiàn)很多翻譯錯誤。口語順滑任務(wù)就是為了識別并去掉口語中的這些不流暢現(xiàn)象,使口語文本書面化。這對提高語音翻譯質(zhì)量有很大的幫助。
本文針對語音翻譯中的口語順滑問題進(jìn)行建模,并提出一種基于自注意力機制的識別算法。該方法利用深度學(xué)習(xí)中的自注意力神經(jīng)網(wǎng)絡(luò)對口語文本進(jìn)行編碼,為每一個口語單詞生成一個上下文向量,然后將這個上下文向量輸入到一個分類器中,去識別口語文本中的每一個單詞是否為不流暢單詞。自注意力神經(jīng)網(wǎng)絡(luò)具有很強的句子建模能力。能夠充分地編碼句子中的上下文信息,有助于識別句子中的冗余成分。
1 相關(guān)工作
近年來,語音翻譯技術(shù)蓬勃發(fā)展,其應(yīng)用場景也逐漸變多。因此如何提高語音翻譯的性能備受關(guān)注。在語音翻譯中,語音識別文本是整個翻譯系統(tǒng)的基礎(chǔ),對整個系統(tǒng)的性能有至關(guān)重要的影響。而口語和書面語的諸多不同。導(dǎo)致直接識別出來的口語文本大大降低了后續(xù)自然語言處理任務(wù)的性能。因此口語文本順滑任務(wù)逐漸被很多從事語音翻譯的研究人員所重視。
解決口語文本順滑任務(wù)的方法大體上可以分為4類:基于噪聲信道模型的口語順滑算法、基于序列標(biāo)注的口語順滑方法、基于句法的口語順滑算法、基于神經(jīng)網(wǎng)絡(luò)的方法。在具體的特征選擇方面,一般分為文本特征和與聲學(xué)有關(guān)的特征,比如音律特征等。下面將簡述以上幾類方法。
(1)基于噪聲信道的口語順滑方法。是最早被提出來的檢測方法。該方法將順滑任務(wù)視為一個信號去噪的過程。與統(tǒng)計機器翻譯相似,采用對數(shù)線性模型處理口語噪音,取得了不錯的效果。之后語言模型和重排序模型相繼被引入到TAG模型中。
(2)基于序列標(biāo)注的識別算法。是將口語順滑任務(wù)當(dāng)做序列標(biāo)注問題。Liu(2006)等人提出了基于條件隨機場(CRF)的口語順滑模型,CRF模型對口語文本的每一個單詞進(jìn)行標(biāo)注,利用豐富的上下文相關(guān)特征來檢測不流暢單詞。之后,更多的特征被用來識別不流利單詞都取得了很好的效果。除了CRF模型之外,Qial和Liu(2013)等人提出了基于最大間隔馬爾科夫隨機場的口語順滑模型(M3N),而后Wang(2014)等人在Qian的工作基礎(chǔ)上,提出了基于柱搜索的解碼算法,取得了很好的效果。
(3)基于句法的順滑算法。Lease(2006)等人提出了基于PCFG句法分析器的口語順滑模型。該方法認(rèn)為口語中很多噪音單詞從結(jié)構(gòu)上是與整句話多的語法結(jié)構(gòu)有沖突的,因此可以通過句法結(jié)構(gòu)來輔助識別不流暢單詞。實驗證明句法的確有助于識別口語噪音。隨后Miller、Rasooli、Honnibal等人相繼提出了不同的基于句法的口語文本順滑算法。
(4)近年來深度學(xué)習(xí)技術(shù)在自然語言處理領(lǐng)域展現(xiàn)了很強的建模能力,因此也將深度學(xué)習(xí)技術(shù)用于口語順滑任務(wù)。Wang Shaolei等人率先提出基于端到端神經(jīng)網(wǎng)絡(luò)的口語順滑模型,以序列到序列的模型對口語順滑任務(wù)建模取得了很好的實驗效果。此后Wang Shaolei等人將神經(jīng)網(wǎng)絡(luò)模型和句法模型相結(jié)合,提出了一種新型的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的口語順滑建模方法,該方法利用了長短期記憶網(wǎng)絡(luò)的序列建模能力,同時結(jié)合了句法結(jié)構(gòu),取得了非常好的識別效果。
2 本文算法設(shè)計研究
本節(jié)提出一種基于自注意力網(wǎng)絡(luò)的口語順滑技術(shù),該算法利用自注意力神經(jīng)網(wǎng)絡(luò)對口語文本進(jìn)行編碼。然后在編碼結(jié)果基礎(chǔ)上識別口語中的不流暢單詞。
2.1 自注意力神經(jīng)網(wǎng)絡(luò)
自注意力神經(jīng)網(wǎng)絡(luò)源于Vaswani等人在文獻(xiàn)[16]中提出的Transformer模型。該模型是一個端到端的神經(jīng)網(wǎng)絡(luò)模型,由編碼器和解碼器組成。其中編碼器和解碼器均由自注意力神經(jīng)網(wǎng)絡(luò)組成。下面以編碼器為例重點介紹自注意力神經(jīng)網(wǎng)絡(luò)。
Transformer的編碼器由N個同構(gòu)的網(wǎng)絡(luò)層堆疊而成。每一個網(wǎng)絡(luò)層包含兩個子網(wǎng)絡(luò)層:第一個子網(wǎng)絡(luò)層稱為分組自注意網(wǎng)絡(luò)。用于將同層的源語言句子里的其它詞的信息通過自關(guān)注網(wǎng)絡(luò)考慮進(jìn)來,以生成當(dāng)前詞的上下文向量:第二個子網(wǎng)絡(luò)層是一個全聯(lián)通的前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的作用是將自關(guān)注網(wǎng)絡(luò)生成的源語言句子內(nèi)的上下文向量同當(dāng)前詞的信息進(jìn)行整合,從而生成考慮了整個句子上下文的當(dāng)前時刻的隱含狀態(tài)。為提高模型的訓(xùn)練速度,殘差鏈接(Residual Connection)和層規(guī)范化(Layer Normalization)被用于這兩個子網(wǎng)絡(luò)層,即圖中的AddNorm層,定義為Norm(x+SubLayer(x)),其中X為子網(wǎng)絡(luò)的輸入:SubLayer為該子網(wǎng)絡(luò)的處理函數(shù);Norm為層規(guī)范化函數(shù)。通過對N個這樣的網(wǎng)絡(luò)層堆疊可以對信息進(jìn)一步進(jìn)行抽象和融合。一般情況,自注意力網(wǎng)絡(luò)由多路注意力機制實現(xiàn),如圖1所示(該圖源自文獻(xiàn)[16])。
圖1中Q為檢索向量;K為鍵向量;V為值向量。對于第一層自注意力網(wǎng)絡(luò)來說,二元組(Q,K,V)由詞向量和位置向量計算得到。對于其它層,(Q,K,V)均由前一層的輸出計算得到。傳統(tǒng)的注意力機制只使用一個注意力網(wǎng)絡(luò)來生成一個上下文向量。而多路注意力網(wǎng)絡(luò)將多個注意力網(wǎng)絡(luò)進(jìn)行拼接。首先使用不同的線性映射分別將Q、K和V映射到不同的空間,然后使用不同的注意力網(wǎng)絡(luò)計算得到不同空間的上下文向量,并將這些上下文向量拼接得到最后的輸出。計算公式為:
其中,W為權(quán)值矩陣,Attention為點成注意力函數(shù)。在多路注意力機制計算完成之后,其輸出結(jié)果會通過一個全連接網(wǎng)絡(luò)得到該層的輸出結(jié)果。這個全連接層包括2個線性映射和1個RELU激活函數(shù),具體計算過程如下所示:
FFN(x)=max(0,xW+b)W2+b2
其中,W和W2是權(quán)重矩陣。對于同一層來說,每一個位置共享這兩個權(quán)重矩陣。而不同層之間的權(quán)重矩陣是不同的。
2.2 基于自注意力網(wǎng)絡(luò)的順滑算法
本節(jié)將詳細(xì)介紹基于自注意力網(wǎng)絡(luò)的口語文本順滑算法。首先給定一個口語句子:
1want a flight to Boston um to Denver。
居中加黑斜體的單詞屬于不能流暢單詞,其余單詞為正常單詞。定義這些不流暢單詞的類別為D,即disfluent。其它單詞定義為N類,即normal。因此將口語順滑任務(wù)轉(zhuǎn)化成了分類任務(wù)。對于一個口語句子,通過對句中每一個詞進(jìn)行分類,最終將冗余單詞刪去即可得到一句正規(guī)文本。圖2給出了基于自注意力網(wǎng)絡(luò)的口語文本順滑模型圖。
如圖2所示,該網(wǎng)絡(luò)口語文本作為輸入句子,首先將詞語轉(zhuǎn)化為詞向量,再與位置向量相加作為編碼器的輸入,其計算方法與文獻(xiàn)[16]一致。然后利用多層自注意力網(wǎng)絡(luò)對口語文本進(jìn)行編碼,同時為每一個單詞生成一個隱層向量。最后將每一個詞的隱層向量作為logistic分類器的輸入來預(yù)測該詞的類別。
2.3特征設(shè)計
一般情況下,口語順滑技術(shù)都會提取一些特征來輔助識別。本文同樣利用了兩種簡單直觀的詞法特征。這些特征對提升模型性能起到了關(guān)鍵作用。特征定義如下:
δw(a,b):邏輯函數(shù),如果a等于b返回,否則返回假。
δp(a,b):邏輯函數(shù),如果a和b的詞性相同返回真,否則返回假。
文中為口語句子中的每一詞設(shè)計若干特征。定義Wi為口語句子中的一個單詞,其特征包括6個詞法特征:以及6個詞性特征:
δw(wi,wi+1), δw(wi,wi+2),δw(wi,wi+3),δw(wi,wi-1),δw(wi,wi-2),δw(wi,wi-3)。這些特征以向量的形式拼接到詞向量中一起作為自注意力模型的輸入。
3 實驗評估
3.1 實驗數(shù)據(jù)和評測指標(biāo)
本文主要針對英文口語文本中的不流利現(xiàn)象進(jìn)行檢測。實驗數(shù)據(jù)采用公開的英文濱洲樹庫中的Switchboard(SWBD)數(shù)據(jù)集進(jìn)行實驗。這部分?jǐn)?shù)據(jù)集主要包含的是電話語音數(shù)據(jù)的識別文本。這些文本是依據(jù)Metter等人中提出的規(guī)范標(biāo)注的。本文將這個數(shù)據(jù)集劃分為3個部分,分別為訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和開發(fā)集。劃分方法遵從Charniak(2001)中給出的標(biāo)準(zhǔn)。由于該部分?jǐn)?shù)據(jù)的句法結(jié)構(gòu)是PCFG結(jié)構(gòu),因此采用斯坦福句法分析轉(zhuǎn)換工具,將其轉(zhuǎn)化為依存結(jié)構(gòu)。對于實驗結(jié)構(gòu)的評估,本文采用F1分?jǐn)?shù),具體定義如下,其中Prec。表示準(zhǔn)確率,Rec。代表召回率:
3.2基線模型
對于基線模型,本文選取比較常用的基于CRF序列標(biāo)準(zhǔn)的識別算法。在基于CRF的標(biāo)準(zhǔn)算法中,定義3種標(biāo)簽:N為正常單位詞:D-B為不流暢片段的起始;D-I為不流暢段的中間以及結(jié)尾。給定一個語音識別句子S=W1,W2,…,Wi,…,Wn,以及Wi的詞性POS;,該詞性信息由外部的句子分析器預(yù)處理獲得。特征模板設(shè)計見表1.
I(wi)為邏輯函數(shù),定義如下:
其中。dis_table是從訓(xùn)練數(shù)據(jù)中統(tǒng)計出來的詞表。該詞表包含了在訓(xùn)練數(shù)據(jù)中5次以上被標(biāo)記為不流暢的單詞集合。
3.3模型實現(xiàn)
對于基于自注意力網(wǎng)絡(luò)的算法。本文依照Vaswani等人與文獻(xiàn)中提出的基礎(chǔ)模型參數(shù)來設(shè)置網(wǎng)絡(luò)。模型維度為512,過濾層維度設(shè)置為2048,query、key和value維度均為64、路數(shù)為8.與Vaswani不同,本文采用12層編碼網(wǎng)絡(luò)。此外,本文采用文獻(xiàn)[20]提出的adam進(jìn)行參數(shù)更新,其參數(shù)設(shè)置為β1=0.9,β2=0.98.在訓(xùn)練過程中,學(xué)習(xí)率Irate隨著訓(xùn)練步數(shù)逐漸變化,如以下公式所示。
3.4 實驗結(jié)果
表2給出了在英文SWBD數(shù)據(jù)集上的實驗結(jié)果。由表可知,CRF模型只用詞法級別特征時,準(zhǔn)確率較低,只有57.3%,其主要原因是詞法特征的建模能力有限,對簡單的不流暢單詞識別能力尚可。當(dāng)結(jié)構(gòu)復(fù)雜時就很容易出現(xiàn)識別錯誤。當(dāng)加入詞性特征之后。CRF模型的識別準(zhǔn)確率得到了很大程度的提高,達(dá)到了73.0%,這說明詞性特征對口語順滑任務(wù)是十分有幫助的,但由于這些特征都局限于局部特征,很難對長距離的依賴關(guān)系建模。因此模型的識別能力依然十分有限。本文提出的基于自注意力網(wǎng)絡(luò)的算法的準(zhǔn)確率為80.7%,比CRF模型高出了7個百分點,說明本文提出方法比傳統(tǒng)的序列標(biāo)注模型更適合口語順滑任務(wù)。這是由于自注意力機制可以從全局對口語本文建模,對長距離的依賴關(guān)系有很好的建模能力。對于識別復(fù)雜的口語文本噪音非常有幫助。此外,鑒于詞性特征對口語順滑任務(wù)有幫助,當(dāng)本文提出的模型同時利用上詞性特征后,其識別準(zhǔn)確率達(dá)到了82.5%。這說明本文提出的方法依然可以很好地利用傳統(tǒng)的識別特征進(jìn)一步提高模型的識別能力。
4 結(jié)束語
在移動互聯(lián)網(wǎng)蓬勃發(fā)展的今天。人們對多元化信息的渴求越來越強烈。因此語音翻譯逐漸被人們重視。其中對口語文本的處理對整個語音翻譯的效果有著重要的影響。針對口語文本存在很多重復(fù)、停頓、修正、冗余等現(xiàn)象,本文提出了基于自注意力網(wǎng)絡(luò)的口語順滑算法。利用強大的自注意力網(wǎng)絡(luò)幫助文本建模,并在此基礎(chǔ)上識別口語中的冗余成分。實驗結(jié)果表明本文提出的方法可以有效地識別口語中的不流暢單詞。