吳雙志 張冬冬 周明



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