999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow的俄語詞匯標音系統

2018-06-20 09:34:42易綿竹馬延周
計算機應用 2018年4期
關鍵詞:單詞模型

馮 偉,易綿竹,馬延周

0 引言

發音詞典是語音信息處理研究中的重要基礎資源,在語音合成和語音識別系統中發揮了關鍵作用。俄語作為一種拼音文字,在語言發展中不斷有新詞和外來詞產生,發音詞典必然難以包括所有俄語單詞的發音。字音轉換(Grapheme-to-Phoneme conversion, G2P)技術可以對俄語單詞及其變化形式進行自動注音,有效解決集外詞(Out-Of-Vocabulary,OOV)的注音問題,為俄語發音詞典的構建提供支持。

字音轉換可分為兩類:

1)基于規則的方法,即通過對俄語正字法和發音規律的總結,人工制定出俄語的字音轉換規則, 然后根據規則實現對單詞發音的預測。俄羅斯圣彼得堡大學的Karpov等[1-2]在俄語語音識別系統的開發過程中對基于規則的俄語字音轉換算法進行了研究。該算法利用俄語輔音變化和元音弱化等規則,借助大規模俄語重音詞典、形態詞典以及同形詞詞典,經過7個步驟、2次循環完成。Karpov等[1-2]利用該算法構建了俄語語音識別系統需要的發音詞典,但并沒有對算法性能進行嚴格的測試。由于俄語發音特征復雜多變,正字法的約束也在逐漸減弱,規則中難免會出現無法覆蓋到的例外情況,這些都會對字音轉換的準確率造成影響。

2)數據驅動的方法,是目前主流的字音轉換方法。典型的數據驅動方法基于如下思想:首先對訓練集中的字素和音素建立對齊關系,然后利用概率統計算法建立發音模型,最后通過解碼算法計算概率最大的標音結果。例如,Jiampojamarn等[3]提出了多對多的對齊方法,并將隱馬爾可夫模型(Hidden Markov Model, HMM)應用于發音模型建模;Bisani等[4]提出了聯合序列的建模方法,并在英語、德語和法語測試集上進行了測試;Novak等[5]將加權有限狀態轉化器(Weighted Finaite-State Transducer, WFST)運用于算法的對齊、建模、解碼過程,提出了基于循環神經網絡語言模型(Recurrent Neural Network Language Model, RNNLM)的N-best解碼算法,以及最小貝葉斯風險(Lattice Minimum Bayes-Risk, LMBR)詞圖解碼算法,并在三個英語測試集上進行了對比測試。

神經網絡近年來被廣泛應用于深度學習的相關問題。Graves[6]提出了基于長短時記憶(Long Short-Term Memory, LSTM)網絡的序列到序列(sequence-to-sequence)模型,該模型可以將一個長度可變的輸入序列翻譯為目標輸出序列,突破了傳統的固定長度輸入問題的限制,成功地將神經網絡運用于序列型任務。目前該模型已在谷歌翻譯、人機對話、計算機視覺等系統上得到了廣泛的應用,并表現出了出色的效果[7-8]。Yao等[9]將該方法應用于解決英語字音轉換問題,并在卡內基梅隆大學(Carnegie Mellon University, CMU)、NetTalk、Pronlex數據集上進行了測試,音素正確率達到了92%以上,詞形正確率達到了70%以上。

綜上所述,俄羅斯學者已經對基于規則的俄語詞匯標音方法進行了一些研究,但基于規則的方法對語言學知識要求較高,規則的撰寫和維護難度較大,實現起來有一定的困難。數據驅動的方法是目前自然語言處理領域的主流方法,但已有研究都以英語為主要目標,還沒有俄語方面的有關研究和實驗。不同的語種在模型訓練過程中難免存在差異,且國內針對俄語語音處理的研究尚處于探索階段,基礎資源相對匱乏,有必要以俄語語音學知識為基礎,完善俄語語料資源,對俄語字音轉換算法的實現與應用作進一步研究。本文對數據驅動的俄語詞匯標音方法進行探索,嘗試運用基于TensorFlow的LSTM序列到序列模型算法,利用端到端(end-to-end)的思想實現單詞到發音的轉換。相對于傳統算法,該算法不需要預先創造字素音素的對齊關系,可以直接對任意長度的序列進行處理,避免了對齊過程出現錯誤的可能性。

1 改進的俄語音素集設計

音素集就是音素的集合。由于國際音標書寫復雜、機讀性差,在俄語語音處理系統中,需要依據計算機可讀的SAMPA(Speech Assessment Methods Phonetic Alphabet)符號設計俄語音素集,從而構建俄語發音詞典并訓練俄語聲學模型。俄語音素集中應盡可能包括俄語全部的音素,但如果音素集過大,單詞注音結果的不確定性將會顯著增加,大大提高解碼過程的計算復雜度;若音素集太小,則會降低單詞標音的精確度,影響語音處理系統的性能。為了體現俄語重音變化和元音弱化現象,本文對原始SAMPA俄語音素集進行了改進,設計了新的俄語音素集。

目前國際上俄語音素集的設計有多種方案。IPA(International Phonetic Alphabet)俄語音素集共包含55個音素和1個重音符號(音素分為38個輔音和17個元音,元音包括11個重讀元音和6個非重讀元音)[10]。SAMPA俄語音素集共包含42個音素,分為36個輔音和6個元音,其元音音素沒有重讀與弱化之分,僅僅將弱化的元音[e]和[o]分別用[i]和[a]表示[11];卡內基梅隆大學(CMU)設計的俄語音素集共包含50個音素和1個無音符號(音素分為36個輔音和14個元音,并將元音分為6個重讀元音和8個非重讀元音)[12]。

通過對以上三個俄語音素集的研究,結合俄語音素的發音規則,重點對元音音素從一級弱化和二級弱化的角度進行區分[13],本文在原有俄語SAMPA音素集的基礎上,增加了4個弱化后的元音和一個重音符號“!”,設計了共包含46個音素的俄語音素集。音素包括36個輔音和10個元音,元音又細分為6個重讀元音和4個非重讀元音。新增的4個元音如表1所示。

表1 俄語弱化元音表

為了驗證新音素集的有效性,本文從發音詞典中隨機抽取了200個俄語單詞,分別用原始SAMPA音素集和新音素集進行標音,交由俄語語音學專家進行人工比對驗證。

驗證結果表明,本文設計的新音素集能夠清晰地標明俄語單詞的重音位置,有效地區分元音一級弱化和二級弱化后的讀音區別,相對于原始的SAMPA音素集標音更加準確,可讀性更強。表2以部分單詞為例,對改進的音素集與原始音素集的標音結果進行了對比。

表2 改進的音素集標音示例

2 長短時記憶神經網絡

2.1 循環神經網絡

自然語言處理中的大部分問題本質上都是序列化的。例如,段落是由句子構成的序列,句子是由單詞構成的序列,在機器翻譯、人機對話、語音識別等應用中,模型的輸入和輸出都是序列數據。類似地,單詞和發音也可以看作是由字素和音素構成的序列。循環神經網絡就是專門用于處理序列數據的深度學習模型。循環神經網絡(Recurrent Neural Network, RNN)出現于20世紀80年代,因為實現困難,其發展早期并沒有得到合適的應用。最近幾年,由于神經網絡結構的進步和GPU上深度學習訓練效率的突破,RNN變得越來越流行,在人工智能的多個領域中得到應用。

RNN的前向傳播過程可用公式[14]表示為:

at=b+Wht-1+Uxt

(1)

ht=tanh(at)

(2)

ot=d+Vht

(3)

yt=softmax(ot)

(4)

其中:輸入層與隱藏層之間通過參數矩陣U連接;不同時刻的隱藏層之間以參數矩陣W連接;隱藏層與輸出層之間以參數矩陣V連接。b、d為偏置向量;xt為t時刻的輸入;at為決定t時刻隱藏層狀態的參數,包括現有的輸入和對過去記憶的總結;ht表示隱藏層狀態;ot表示t時刻的輸出;yt為經過歸一化后的預測概率。

2.2 長短時記憶模型

循環神經網絡雖然可以記憶整個時間序列中的信息,但記憶中影響最大的還是最后輸入的一些信號,而較早的信號強度將越來越弱,即決定循環神經網絡輸出的還是最后輸入的信號。這就造成了RNN的長時依賴(Long-term Dependencies)問題。

長短時記憶模型就是專門為解決長時依賴問題而對循環神經網絡的改進。通過將RNN中的普通神經元替換為可以存儲記憶的LSTM單元(Cell),可以有效利用數據中的長距離依賴信息,由Hochreiter等[15]在1997年提出。不同于原始RNN單一的tanh循環體結構,LSTM模型在短期記憶單元ht的基礎上,增加了記憶單元Ct用來保留長時記憶,以及三個門控制器,分別是:輸入門(input gate)、輸出門(output gate)和遺忘門(forget gate)。標準循環神經網絡與LSTM模型的結構對比如圖1所示。

圖1 RNN與LSTM模型結構對比示意圖

門結構運算由非線性激活函數Sigmoid和點乘運算控制。Sigmoid函數的取值范圍為[0,1],描述了信息傳遞的比例。取值為0時表示不允許所有信息傳遞,即刪除之前的記憶;取值為1時表示所有信息可以通過,完全保留這一分支的記憶。

在每一個時刻,遺忘門會根據當前輸入xt、上一時刻輸出ht-1和上一時刻狀態ct-1控制上一時刻長期記憶的保留程度[14]:

ft=σ(Txfxt+Thfht-1+Tcfct-1+bf)

(5)

輸入門會根據xt、ct-1和ht-1控制新記憶寫入長期記憶的程度,決定當前狀態ct:

it=σ(Txixt+Thiht-1+Tcict-1+bi)

(6)

ct=ftct-1+ittanh(Txcxt+Thcht-1+bc)

(7)

輸出門則會根據最新狀態ct,以及ht-1和xt,基于長時記憶和短期記憶綜合決定該時刻的輸出ht:

ot=σ(Txoxt+Thoht-1+Tcoct+bo)

(8)

ht=ottanh(ct)

(9)

其中:σ表示Sigmoid函數;i、f、o和c分別表示輸入門、遺忘門、輸出門和記憶單元,其向量維數與隱藏層中向量相同。權值矩陣T的下標描述了其含義,例如Thi為隱藏-輸入門權值矩陣,Txo為輸入-輸出門權值矩陣。

LSTM通過門結構維護和控制神經網絡中每個時刻的狀態信息,憑借對狀態信息的存儲和修改,從而解決了長時依賴的難題。基于以上運算機制,LSTM對于長序列問題的理解分析能力相對于RNN得到了大幅提高,因此可以有效應用于俄語單詞序列到發音序列的預測問題。

3 基于LSTM的序列到序列模型

3.1 字素序列到音素序列

LSTM神經網絡因其出色的長距離序列化信息處理能力,可以有效應用于序列到序列的問題。在詞匯標音過程中,LSTM序列到序列模型不需要預先創造字素音素的對齊關系,可以直接對任意長度的序列進行處理,避免了對齊過程出現錯誤的可能性。

基于LSTM的序列生成過程可以概括性地描述為條件概率p(y1,y2,…,yn|x1,x2,…,xm)最大值的估算過程。(x1,x2,…,xm)表示輸入的字素序列,(y1,y2,…,yn)表示對應的輸出序列,兩個序列的長度n和m不一定相等。LSTM在計算條件概率時,首先對不定長序列(x1,x2,…,xm)進行學習,根據最后一個隱藏層的狀態,將序列表示為固定維數的向量s,然后將標準LSTM語言模型的初始隱藏層狀態設置為向量s,根據語言模型利用2.2節描述的LSTM公式(5)~(9)計算序列(y1,y2,…,yn)的概率。用公式表示為:

p(y1,y2,…,yn|x1,x2,…,xm)=

(10)

其中:每個輸出的概率分布p(yt│s,y1,y2,…,yt-1)通過激活函數softmax映射到音素集中的音素。

在數學定義中,softmax指一種歸一化指數函數,它將一個k維向量z中的每個元素轉換為(0,1)的區間,計算公式如下:

(11)

機器學習中常用這種方法將類似判別函數的置信度值轉換為概率形式。softmax函數常用于輸出層,用于指定唯一的分類輸出[16]。

3.2 LSTM編碼-解碼模型

基礎的序列到序列模型由編碼器-解碼器(Encoder-Decoder)結構組成,該結構的特點是:輸入序列經過編碼器網絡得到向量表示后,解碼器網絡基于這個向量生成新的序列。LSTM編碼-解碼模型兩個LSTM網絡,分別是處理輸入的編碼器網絡和生成輸出的解碼器網絡。編碼-解碼過程如圖2所示[17]。

圖2 編碼-解碼過程示意圖

3.2.1 編碼器

編碼器網絡按照LSTM單元結構進行運算。每個時間步,編碼器的輸入為單詞的一個字素(在機器翻譯等任務中,也可以是一個字或單詞),當遇到終止符時輸入結束,編碼器根據最后一個隱藏層的狀態,將該單詞序列表示為固定長度的向量v。依賴于LSTM對長距離信息處理的能力,向量v能夠包含整個單詞序列的字素信息。在每個時間t,隱藏層的狀態ht可用公式表示為:

ht=f(xt,ht-1)

(12)

其中:f表示非線性激活函數,為編碼LSTM單元結構;ht-1表示上一時刻隱藏層狀態;xt為當前時刻的輸入。向量v為最后一個隱藏層或多個隱藏層的加權和,運算符號用φ表示:

v=φ(h1,h2,…,ht)

(13)

3.2.2 解碼器

在解碼過程,向量v將作為隱藏層的初始狀態輸入解碼LSTM網絡。解碼器通過t時刻的隱藏層狀態ht、前一個音素yt-1以及向量v,逐步計算當前時刻音素yt的概率分布,當遇到終止符時結束預測,得到整個輸出序列。這一過程用公式表示如下:

ht=f(ht-1,yt-1,v)

(14)

P(yy|v,y1,y2,…,yt-1)=g(ht,yt-1,v)

(15)

其中:f表示解碼LSTM單元結構;g一般為softmax函數。解碼過程,解碼器使用啟發式集束搜索(beam search)算法[18]在序列輸出前檢索大量詞匯,選擇后驗概率最高的候選序列為最優解,作為解碼器最終輸出的音素序列。LSTM編碼-解碼模型的訓練使用隨時間反向傳播(Backpropagation Through Time, BPTT)算法,利用解碼過程中產生的誤差更新網絡的權值參數[19]。

3.2.3 俄語單詞編碼-解碼過程

俄語單詞序列轉換到發音序列的基本思想為:編碼LSTM逐步讀取俄語單詞的每個字素,將序列映射為一個固定維數表示的向量,解碼LSTM本質上是一個基于輸入序列的LSTM語言模型,結合向量、隱藏層狀態和上一時刻的音素,逐個預測音素,輸出發音序列。

以俄語單詞“рай”(天堂)的第二格形式“рая” [r !a j 6]為例,LSTM編碼-解碼模型的示例如圖3所示。圖3中神經網絡由兩層組成,虛線左側為編碼LSTM,右側為解碼LSTM。編碼LSTM按照時間逆序讀取輸入序列“ яар”,根據最后一個隱藏層的狀態,將序列“рая”表示為固定維數的向量v。解碼LSTM在遇到起始符后被激活,將向量v作為隱藏層的初始狀態,逐個計算下一個音素產生的概率,通過集束搜索算法得到最終輸出的音素序列“r !a j 6 ”。表示輸入序列的起始符,分別表示輸出音素的起始符和終止符,起始符與終止符使模型可以對任意長度的序列進行編碼和解碼,解碼LSTM在后終止預測。另外,編碼器按照逆序讀取字素,可以在數據中引入短期依賴關系,簡化了訓練優化的過程[9]。

圖3 LSTM編碼-解碼網絡示意圖

4 基于TensorFlow的俄語詞匯標音系統

4.1 TensorFlow

Google經過長期的研究,在內部使用了第一代分布式機器學習框架DistBelief之后,于2015年11月推出了目前最優秀的深度學習框架之一TensorFlow,并在GitHub上開源。TensorFlow的官方定義為:TensorFlow是一個基于數據流圖(data flow graph)的數值計算開源軟件庫,其靈活的架構設計可以讓用戶以單機或分布式的方式將計算部署在臺式機、服務器甚至是手機上。Tensorflow廣泛支持包括計算機視覺、語音識別、人機對弈和自然語言處理等大量功能[20]。

TensorFlow的數據計算過程可以表示為數據流圖,也稱計算圖(Computational Graph)。計算圖是一個有向圖,其中每一個運算操作(operation)作為一個節點(node),節點與節點之間的連接稱為邊(edge),在邊中流動(flow)的多維數組數據稱為張量(tensor)。計算圖的執行可以看作張量按照圖的拓撲順序,從輸入節點逐步流過所有中間節點,最后流到輸出節點的過程。

4.2 系統開發環境

該系統的開發基于Ubuntu操作系統,使用Python程序語言,在TensorFlow深度學習框架的支持下進行。具體的開發環境如下:

操作系統:Ubuntu 14.04-amd64-LTS。

開發語言:Python 2.7。

深度學習框架:TensorFlow 1.0.0。

Python開發平臺:Qt 4.8.4+PyQt 4.12+SIP 4.19+QScintilla 2.8+Eric 6.1.11。

4.3 系統框架結構

基于TensorFlow框架的俄語詞匯標音系統整體框架如圖4所示。

圖4 系統框架

4.4 系統功能與實現

系統的設計基于PyQt工具集、QtDesigner界面設計器,以及Eric開發環境,并利用QSS(Qt Style Sheets)語言進行GUI界面美化。系統主要包括模型訓練和單詞標音功能,其實現方法如下:

1)發音模型訓練功能。

模型訓練功能以發音詞典為訓練語料,通過調用TensorFlow的tf.contrib.rnn接口實現LSTM網絡的定義,調用tf.contrib.legacy_seq2seq接口的model_with_buckets方法進行模型訓練。優化參數使用sgd算法,通過調用tf.train接口的GradientDescentOptimizer方法實現,并通過tf.nn.sampled_softmax_loss方法降低梯度更新時的計算復雜度。

模型訓練時的主要參數包括:

source_vocab_size:輸入序列詞表大小。

target_vocab_size:目標序列詞表大小。

buckets:處理不同長度的序列的方法,由一對(I,O)表示,I、O分別表示該bucket處理的最大輸入和輸出序列的長度,一般為(2,4)、(4,8)、(8,16)。

size:模型每一層的單元數。

num_layers:模型的網絡層數。

max_gradient_norm:梯度最大修剪規范。

batch_size:訓練時批處理的大小。

learning_rate:初始的學習率。

learning_rate_decay_factor:學習率衰減因子。一定的階段之后,學習率按照衰減因子進行衰減。

use_lstm=True:是否使用LSTM單元。True表示使用LSTM,False表示使用GRU單元。

num_samples=512:執行采樣softmax函數的臨界值。使用softmax函數處理輸出序列時,若輸出詞表較大會影響計算效率。因此,當輸出詞表大于512時使用采樣softmax函數;當輸出輸出詞表小于512時使用softmax函數。

optimizer="sgd":自適應梯度調節器,使用sgd算法。

dtype=tf.float32:存儲內部變量的數據類型為float32。

2)單詞標音功能。

系統的標音功能為交互式,根據載入的發音模型對輸入的單詞進行編碼-解碼操作,將單詞序列轉換為發音序列。這一過程將系統將調用tf.contrib.legacy_seq2seq接口的basic_rnn_seq2seq方法。首先通過編碼LSTM將輸入序列轉換為向量表示,然后將編碼器最后一個隱藏層的狀態作為輸入,激活解碼LSTM。方法的主要參數包括:

encoder_inputs:[batch_size x input_size]表示的二維張量列表,每一個二維張量代表某一時刻的輸入,batch_size具體指某一時刻輸入的字素個數,input_size指編碼器的長度。

decoder_inputs:[batch_size x output_size]表示的二維張量列表。

cell:類tf.contrib.rnn.LSTMCell的實例,表示使用LSTM單元。

dtype=tf.float32:LSTM單元的數據類型為float32。

basic_rnn_seq2seq方法的返回值為二維張量表示的二元組(outputs,state)。outputs對應每個時間步中解碼器的輸出,形式為[batch_size x output_size];states表示每個時間步中解碼器的內部狀態,形式為[batch_size x cell.state_size]。

解碼完成后,調用tf.nn接口的softmax方法將張量轉換為對應的音素,輸出音素序列。

5 實驗測試

5.1 實驗準備

系統的實驗準備工作包括以下內容:發音詞典語料準備、實驗環境搭建以及評測指標制定。

5.1.1 詞典語料準備

在實驗階段,本文首先完成了俄語發音詞典的構建工作。原始語料的主要來源包括維基百科、CMU資源庫以及一些開源的俄語語料庫。數據的獲取通過編寫爬蟲程序實現,并人工進行適當的判別和整理。詞典的整理過程主要包括:

1)過濾和篩選操作。去除原始語料中存在亂碼、格式錯誤等問題的數據,刪除詞組、句子或不構成單詞的樣例。

2)音素集歸一操作。將原始語料中的IPA和CMU音素全部用對應的改進SAMPA音素集替換,實現發音詞典音素集的統一。

3)音素分隔操作。對改寫后音標中的每個音素進行識別,并以空格符為分隔標志將其隔開。

4)去重操作。去除詞形和發音都相同的重復樣例,保留詞形相同但發音不同的樣例。

5)排序操作。按照單詞的字母順序對發音詞典進行排序。

經過以上整理過濾,最終形成了使用改進的SAMPA音素集標注并包含重音信息的俄語發音詞典,詞典共包含20 000詞條樣例。

5.1.2 實驗環境

實驗的模型訓練和測試工作在服務器上進行,服務器的硬件配置為:曙光云圖W760-G20高性能服務器,16核i7至強CPU,128 GB內存,4×600 GB硬盤。

5.1.3 評測指標

衡量字音轉換算法的評測指標分別是音素正確率和詞形正確率[21]。音素錯誤一般存在三類,分別是插入錯誤、刪除錯誤,以及替換錯誤。音素正確率的計算公式如下:

(16)

正確轉換的音素數=音素總數-(插入錯誤數+刪除錯誤數+替換錯誤數)

(17)

詞形正確率的計算公式如下:

(18)

5.2 實驗結果

本文將20 000詞發音詞典分為兩部分,90%作為訓練數據,10%作為測試數據。在模型訓練階段,通過對LSTM網絡的層數(layers)和單元數(units)進行調整,觀察模型參數對系統性能的影響。測試階段,本文使用了對比驗證的方法,將訓練得到的4個發音模型與文獻[6]方法提出的Phonetisaurus工具進行了對比測試。此外,為了衡量數據來源對系統性能的影響,分別使用了訓練集語料(集內詞)和測試集語料(集外詞)作為測試數據。

從表3的實驗結果可以看出, LSTM模型的層數和單元數會對系統性能造成顯著影響。當層數為3,單元數為512時系統的性能最佳,在集內詞測試的音素正確率達到了99.2%,詞形正確率達到了95.8%;在集外詞測試的音素正確率達到了94.5%,詞形正確率達到了74.8%,均高于Phonetisaurus方法。

表3 Phonetisaurus與LSTM模型的正確率對比

表4顯示了4種不同模型的運行效率對比。模型的層數和單元數會對訓練時間、模型大小和解碼速度造成影響。盡管當LSTM模型的層數為3,單元數為512時系統性能最優,但訓練時間的提高和解碼速度的變慢導致系統效率發生了顯著下降。

表4 不同參數的LSTM模型效率對比

為了分析訓練數據規模對系統性能的影響,本文通過改變訓練集的規模,使用3層512單元的LSTM網絡對發音模型進行訓練,并分別在集內詞和集外詞測試集上驗證詞形正確率,結果如圖5所示。隨著訓練數據規模的逐漸增大,詞形正確率逐漸提高;在相同訓練規模的情況下,集內詞的標音正確率高于集外詞的標音正確率。

圖5 訓練規模與系統性能的關系

5.3 實驗分析

實驗結果表明,增加LSTM模型的層數和單元數能夠提升系統性能,當網絡層數由2層增加至3層時對模型的影響較小;當單元數由64增加至512時,模型的大小、訓練時間、系統性能都會大幅提高,但同樣會導致系統效率大幅下降。當LSTM模型的層數為3,單元數為512時系統性能最佳,與Phonetisaurus方法相比,音素正確率提升了2.3個百分點,詞形正確率提升了9.5個百分點。此外,訓練語料的規模也會對系統性能造成影響,隨著訓練規模的增大,系統性能會逐漸提升。但同時可以發現,在訓練語料有限的情況下,集外詞的標音正確率始終和集內詞存在10%個百分點的差距。因此,為了提升標音系統的總體性能,還需進一步擴充俄語發音詞典,提高模型準確率,擴大集內詞的覆蓋范圍。

6 系統應用前景

本系統基于TensorFlow框架,實現了基于LSTM序列到序列模型的交互式俄語詞匯自動標音功能。本系統的開發是理論方法到工程應用的實踐過程,可在諸多實際問題上得到應用:

1)我國與俄羅斯等地區在軍政、外交、文化等領域的溝通交流日益密切,本系統可以為不懂俄語的使用者提供語言幫助。

2)本系統可以幫助俄語學習者拼讀單詞,判斷單詞的重音位置,掌握輔音軟硬、元音強弱等變化規律,在俄語學習中起到輔助支持的作用。

3)本系統可以嵌入俄語語音識別和語音合成系統,通過快速、準確、實時的俄語字音轉換,擺脫對發音詞典的依賴,降低內存空間的占用率。

此外,本系統還具有以下特點:

1)系統基于TensorFlow框架和Python語言開發,具有操作系統的移植性,可以在Linux、Windows、Android、IOS系統間實現移植。

2)系統基于序列到序列模型算法,可根據訓練數據進行語種間的移植,實現多語種詞匯標音的功能。

3)系統可根據訓練數據的質量優化發音模型,為標音準確率的提升提供可能性;并且能夠根據音素集的選擇,改變發音的標注形式。

7 結語

詞匯標音技術能夠為俄語語音合成和語音識別系統的構建提供關鍵支持。本文首先設計了基于SAMPA的俄語音素集,在原音素集的基礎上增加了重音符號及4個弱化元音,并基于此音素集構建了包含20 000詞的俄語發音詞典。在此基礎上,本文設計并實現了基于TensorFlow的俄語詞匯標音系統,系統使用了基于LSTM序列到序列的模型算法。在實驗測試中,集內詞和集外詞的音素正確率分別達到了99.2%和94.5%,詞形正確率分別達到了95.8%和74.8%,均高于Phonetisaurus方法。實驗結果表明,基于LSTM的序列到序列模型在俄語字音轉換問題上取得了出色的表現,該系統能夠有效應用為俄語發音詞典的建設提供支持。但在訓練語料有限的情況下,系統對集外詞的標音正確率與集內詞存在一定差距,還有待進一步提高。因此在以后的工作中,需要進一步擴充俄語發音詞典,擴大訓練語料的規模,為模型準確率的提高探尋途徑。

參考文獻(References)

[1] KARPOV A, MARKOV K, KIPYATKOVA I, et al. Large vocabulary Russian speech recognition using syntactico-statistical language modeling[J]. Speech Communication, 2014, 56(1): 213-228.

[2] KIPYATKOVA I, KARPOV A, VERKHODANOVA V, et al. Analysis of long-distance word dependencies and pronunciation variability at conversational Russian speech recognition[J]. Computer Science and Information Systems, 2012, 11(6): 719-725.

[3] JIAMPOJAMARN S, KONDRAK G, SHERIF T. Applying many-to-many alignments and hidden Markov models to letter-to-phoneme conversion[C]// Human Language Technologies: Proceedings of the North American Chapter of the Association of Computational Linguistics. New York: NAACM-HLT, 2007: 372-379.

[4] BISANI M, NEY H. Joint-sequence models for grapheme-to-phoneme conversion[J]. Speech Communication, 2008, 50(5): 434-451.

[5] NOVAK J R, MINEMATSU N, HIROSE K. WFST-based grapheme-to-phoneme conversion: open source tools for alignment, model-building and decoding[EB/OL]. [2017- 05- 10]. http: //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.361.9764.

[6] GRAVES A. Generating sequences with recurrent neural networks[EB/OL]. [2017- 05- 10]. https: //arxiv.org/pdf/1308.0850.pdf.

[7] BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1409.0473.

[8] SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]// NIPS 2014: Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2014, 2: 3104-3112.

[9] YAO K, ZWEIG G. Sequence-to-sequence neural net models for grapheme-to-phoneme conversion[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1506.00196.

[10] Wikipedia.IPA symbol for Russian pronunciations[EB/OL].[2017- 10- 17]. https: //en.wikipedia.org/wiki/Help: IPA_for_Russian.

[11] WELLS J C. SAMPA computer readable phonetic alphabet [C]// Handbook of Standards and Resources for Spoken Language Systems. Berlin: Walter de Gruyter, 1997.

[12] OTANDER J. CMU sphinx [EB/OL].(2017- 04- 26) [2017- 10- 17]. https: //cmusphinx.github.io/wiki/download/.

[13] 信德麟,張會森,華劭.俄語語法[M].2版.北京:外語教學與研究出版社, 2009: 1-92.(XIN D L, ZHANG H S, HUA S. Russian Grammar(Second Edition) [M]. Beijing: Foreign Language Teaching and Research Press, 2009: 1-92.)

[14] 喻儼,莫瑜.深度學習原理與TensorFlow實踐[M].北京:電子工業出版社, 2017: 128-139.(YU Y, MO Y. Deep Learning Principle and TensorFlow Practice [M]. Beijing: Publishing House of Electronics Industry, 2017: 128-139.)

[15] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.

[16] GIMPEL K, SMITH N A. Softmax-margin CRFs: training log-linear models with cost functions[C]// Human Language Technologies: Proceedings of the North American Chapter of the Association of Computational Linguistics. Los Angeles: DBLP, 2010: 733-736.

[17] CHO K, van MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1406.1078.

[18] KOEHN P. Pharaoh: a beam search decoder for phrase-based statistical machine translation models[C]// AMTA 2004: Proceedings of the 6th Conference of the Association for Machine Translation in the Americas. Berlin: Springer, 2004: 115-124.

[19] WILLIAMS R J, PENG J. An efficient gradient-based algorithm for on-line training of recurrent network trajectories[J]. Neural Computation, 1990, 2(4): 490-501.

[20] ABADI M, BARHAM P, CHEN J, et al. TensorFlow: a system for large-scale machine learning[C]// Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. Savannah, GA: USENIX, 2016: 265-283.

[21] PETERS B, DEHDARI J, van GENABITH J. Massively multilingual neural grapheme-to-phoneme conversion[C]// Proceedings of the First Workshop on Building Linguistically Generalizable NLP Systems. Copenhagen: EMNLP, 2017: 19-26.

[22] 滕飛,鄭超美,李文.基于長短期記憶多維主題情感傾向性分析模型[J].計算機應用, 2016, 36(8): 2252-2256.(TENG F, ZHENG C M, LI W. Multidimensional topic model for oriented sentiment analysis based on long short-term memory[J]. Journal of Computer Applications, 2016, 36(8): 2252-2256.)

[23] HANNEMANN M, TRMAL J, ONDEL L, et al. Bayesian joint-sequence models for grapheme-to-phoneme conversion[EB/OL]. [2017- 05- 10]. http: //www.fit.vutbr.cz/research/groups/speech/publi/2017/hannemann_icassp2017_0002836.pdf.

[24] TSVETKOV Y, SITARAM S, FARUQUI M, et al. Polyglot neural language models: a case study in cross-lingual phonetic representation learning[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1605.03832.

[25] MILDE B, SCHMIDT C, K?HLER J. Multitask sequence-to-sequence models for grapheme-to-phoneme conversion[EB/OL]. [2017- 05- 10]. http: //www.isca-speech.org/archive/Interspeech_2017/pdfs/1436.PDF.

This work is partially supported by the Project of Social Science Planning of Luoyang (2016B285).

猜你喜歡
單詞模型
What’s This?
Exercise 1
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
單詞連一連
看圖填單詞
看完這些單詞的翻譯,整個人都不好了
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 日韩国产高清无码| 国产精品jizz在线观看软件| a欧美在线| 欧美日韩中文国产| 国产成人91精品免费网址在线| av在线人妻熟妇| 欧美日韩在线国产| 99在线观看精品视频| 精品自窥自偷在线看| 免费在线播放毛片| 国产凹凸一区在线观看视频| 欧美日韩一区二区三区四区在线观看 | 欧美在线综合视频| 中文字幕精品一区二区三区视频| 成AV人片一区二区三区久久| 国产a在视频线精品视频下载| 亚洲日韩国产精品综合在线观看 | 中文字幕亚洲精品2页| 亚洲国产成人自拍| 国产精品偷伦视频免费观看国产 | 亚洲成人黄色在线| 免费久久一级欧美特大黄| 亚洲乱亚洲乱妇24p| 国内嫩模私拍精品视频| 无码福利日韩神码福利片| 国产熟女一级毛片| 欧美综合在线观看| 国产区福利小视频在线观看尤物| 国产精品刺激对白在线| 久久久久中文字幕精品视频| 亚洲国产精品久久久久秋霞影院| 亚洲欧美自拍一区| 精品人妻一区无码视频| 9966国产精品视频| 人妻丰满熟妇啪啪| 国产午夜精品鲁丝片| 亚洲综合色在线| 亚洲欧美另类色图| 少妇极品熟妇人妻专区视频| 国产一区二区三区精品欧美日韩| 亚洲第一区欧美国产综合| 99精品在线看| 欧洲成人免费视频| 午夜人性色福利无码视频在线观看| 91无码网站| 狠狠操夜夜爽| 99久久成人国产精品免费| 久久久黄色片| 亚洲天堂首页| 亚洲国产精品美女| 免费无码网站| 91精品国产一区| 成年看免费观看视频拍拍| 伊人久久久久久久| 欧美一级特黄aaaaaa在线看片| 一区二区在线视频免费观看| 人与鲁专区| 国产成人综合在线观看| 午夜无码一区二区三区| 欧美不卡视频在线| 国外欧美一区另类中文字幕| 久久久久人妻精品一区三寸蜜桃| 少妇人妻无码首页| 欧美精品黑人粗大| 日本在线视频免费| 国产区人妖精品人妖精品视频| 亚卅精品无码久久毛片乌克兰| 国产成人a毛片在线| 亚洲视频二| 亚洲成人在线播放 | 成人久久精品一区二区三区| 在线免费亚洲无码视频| 国产亚洲成AⅤ人片在线观看| 国产菊爆视频在线观看| 国产一区二区免费播放| 色综合久久久久8天国| 国产精品无码在线看| 天堂网亚洲综合在线| 91伊人国产| 国产区成人精品视频| 亚洲精选高清无码| 国产亚洲精久久久久久久91|