孫曉杰
(伊犁師范學(xué)院電子與信息工程分院 新疆 伊寧 835000)
哈薩克語作為一種黏著性較強(qiáng)的語言,這也使該語言的語音識別較為困難,依據(jù)其語言特征,哈薩克語的形態(tài)及構(gòu)詞都是由詞綴與詞根組成的,不同詞綴的連接都有著不同的結(jié)構(gòu)及語法意義,這也使許多學(xué)者致力于對哈薩克語的語音識別與處理技術(shù)研究。在以往的語音識別技術(shù)中,主要是基于機(jī)器學(xué)習(xí)的方法來實(shí)現(xiàn)的,但對于大詞匯量連續(xù)語音的識別則存在明顯不足,而哈薩克語的連續(xù)性非常強(qiáng),這也使傳統(tǒng)的機(jī)器學(xué)習(xí)方法難以適用于哈薩克語的語音識別。而N-gram模型的出現(xiàn),則為哈薩克語的語音識別與處理提供了可靠的技術(shù)保障。為此,以下便對N-gram模型在哈薩克語語中的語音識別與處理技術(shù)進(jìn)行深入的研究。
N-gram模型在對哈薩克語進(jìn)行語音識別之前,需要構(gòu)建相應(yīng)的文本數(shù)據(jù)庫,通過對語音文件中的相關(guān)信息進(jìn)行提取,并將其與文本數(shù)據(jù)庫進(jìn)行匹配,進(jìn)而達(dá)到語音識別的目的。在本文中,N-gram模型構(gòu)建的文本數(shù)據(jù)庫在數(shù)據(jù)來源上主要包括四個(gè)方面,分別是平面媒體、新聞媒體、教材媒體與在線電子資源。在上述數(shù)據(jù)來源中按照類型將其分別存儲(chǔ)到磁盤的不同目錄中,以便于后續(xù)進(jìn)行管理與加工處理,對相關(guān)信息進(jìn)行提取,然后將其存儲(chǔ)到相應(yīng)的關(guān)系數(shù)據(jù)表中。關(guān)系數(shù)據(jù)表具備如下屬性,其一,原文件信息,其是指原始文件的存儲(chǔ)路徑以及文件名等信息;其二,原文件類型;其三,文本文件,對原始文件中的文本進(jìn)行提取,并進(jìn)行句子切分、符號轉(zhuǎn)換、錯(cuò)誤修正等處理后,使其處理為純文本,并存儲(chǔ)到特定的文件中。本文所采用的URI串能夠?yàn)椴煌奈募ヅ洳煌拿执?。其四,文檔處理狀態(tài)是指該字段所處的當(dāng)前狀態(tài),其狀態(tài)類型主要包括正在處理狀態(tài)、完成狀態(tài)、錯(cuò)誤狀態(tài)、副本狀態(tài)及瑕疵文本狀態(tài);其五,關(guān)鍵詞能夠?qū)ξ谋緦傩灾邪年P(guān)鍵詞字符串進(jìn)行描述。在構(gòu)建文件數(shù)據(jù)庫時(shí),需要控制其數(shù)據(jù)冗余,也就是在數(shù)據(jù)庫中進(jìn)行文本添加時(shí)預(yù)防不同文件URI中出現(xiàn)相同的文檔內(nèi)容。對數(shù)據(jù)冗余的控制主要有兩種方法,分別是基于URI的冗余控制與基于文件內(nèi)容的數(shù)據(jù)冗余控制。第一種控制方法需要在每次添加文件時(shí)對URI進(jìn)行檢查,第二種控制方法利用哈希算法對文本的哈希值進(jìn)行計(jì)算,然后與已添加文件的哈希值進(jìn)行對比,以此達(dá)到數(shù)據(jù)冗余控制的目的。
在對原始文件中的文本提取后是不能直接使用的,它還需要對文本進(jìn)行進(jìn)一步的處理才能使用。其在文本處理中共分為以下步驟,其一是對字符編碼進(jìn)行處理,在哈薩克字符中經(jīng)常出現(xiàn)UNICODE編碼問題,因此在進(jìn)行處理時(shí),應(yīng)對哈薩克字符的編碼格式進(jìn)行統(tǒng)一,通常情況下可以采用UKK編碼;其二,對句子進(jìn)行切分,在對字符的編碼格式進(jìn)行統(tǒng)一后,需要依據(jù)文本中的句號、感嘆號、問號等符號來對句子進(jìn)行切分,然后將切分后的句子作為一行存儲(chǔ)到相應(yīng)的文本文件中。其三,對縮略詞進(jìn)行替換,在哈薩克語的新聞?lì)愇谋局邪性S多縮略詞,在進(jìn)行處理時(shí)需要將這些縮略詞替換為相應(yīng)的擴(kuò)展形式。N-gram模型利用正則表達(dá)式來搜索文本,進(jìn)而找出所有與縮略詞相匹配的字串,并通過人工挑選的方式對哈薩克語縮略詞進(jìn)行選出,然后對這些縮略詞的擴(kuò)展形式進(jìn)行添加。其四,數(shù)字?jǐn)U展,在哈薩克語的原始文本中包含著許多阿拉伯?dāng)?shù)字符號,這些阿拉伯?dāng)?shù)字符號主要包括序數(shù)詞與基數(shù)詞,由于在哈薩克語的句子中各個(gè)單詞都是由空格進(jìn)行分隔的,因此在對待處理文本進(jìn)行讀取時(shí),可以先對句子進(jìn)行切分,然后再對詞進(jìn)行切分,這樣較為容易實(shí)現(xiàn)。在切分完畢后按照詞串的順序來對單詞進(jìn)行提取,對單詞是否是由純數(shù)字字符組成進(jìn)行判斷,當(dāng)判斷其是由純數(shù)字字符組成時(shí),可將其當(dāng)作一個(gè)基數(shù)詞,并調(diào)用基數(shù)詞轉(zhuǎn)換過程使其成為相應(yīng)的文字形式,如果判斷其不是由純數(shù)字字符組成的,則需要對數(shù)字符號后的“-”進(jìn)行檢查,如果檢查出存在該符號,則將其當(dāng)作序數(shù)詞來進(jìn)行文字轉(zhuǎn)換。如不存在,可以判斷該句子出現(xiàn)拼寫錯(cuò)誤,需要將其從文本中刪除。
在數(shù)據(jù)庫中對文本進(jìn)行添加時(shí),會(huì)生成大量的重復(fù)語句,這些重復(fù)語句有許多都是廣告詞語或標(biāo)題,因此需要對這些重復(fù)句子進(jìn)行篩選與刪除??赏ㄟ^句子計(jì)數(shù)過濾器來實(shí)現(xiàn)重復(fù)句子的刪除,在該過濾器中主要是依據(jù)各個(gè)句子的哈希值來對其在語料中的出現(xiàn)次數(shù)進(jìn)行計(jì)算當(dāng),當(dāng)哈希值超出規(guī)定閾值時(shí),便對后面同樣的句子進(jìn)行刪除。如果句子的出現(xiàn)次數(shù)較少,但其中包含有較多復(fù)雜數(shù)字符號、集外詞及外文字符時(shí),可以通過錯(cuò)誤句子過濾模塊來對其進(jìn)行處理。
在連續(xù)語音識別中構(gòu)建語言模型具有十分重要的意義。哈薩克語的聲學(xué)信號具備很強(qiáng)的隨機(jī)性與動(dòng)態(tài)時(shí)變性,僅利用聲學(xué)模型來對其進(jìn)行匹配與判斷,是很難對其進(jìn)行準(zhǔn)確識別的,對于一個(gè)高效的語言模型來說,其不僅能壓縮搜索空間,還應(yīng)具備較高的識別準(zhǔn)確率?,F(xiàn)階段,N-gram統(tǒng)計(jì)語言模型的使用范圍非常廣泛,可以利用N-gram統(tǒng)計(jì)語言模型為哈薩克語提供上下文的關(guān)聯(lián)信息,進(jìn)而有效彌傳統(tǒng)聲學(xué)模型中的不足。N-gram語言模型主要是對單詞序列的概率進(jìn)行計(jì)算,此外還可以通過更小單位的使用來構(gòu)造詞典,進(jìn)而使詞匯變得更大。本文便對哈薩克語語音識別N-gram模型進(jìn)行了構(gòu)建,利用N-gram模型分別對哈薩克語的單詞及音節(jié)進(jìn)行識別,并進(jìn)行效果對比。在單詞N-gram語言模型中,將哈薩克語詞典中的各個(gè)符號作為單詞,在音節(jié)N-gram語言模型中,通過設(shè)置單詞分割令牌來進(jìn)行處理。利用SRI語言模型訓(xùn)練工具來對上述兩個(gè)N-gram語言模型進(jìn)行訓(xùn)練,并利用Kats模型對哈薩克語中的低頻詞與未登錄詞進(jìn)行平滑處理。
利用文本來對語言模型進(jìn)行訓(xùn)練,在該文本中包含有10754245個(gè)單詞,不重復(fù)單詞為652538個(gè)。本文所采用的語音識別方式為朗讀式語音,利用貪婪算法來選出4000條句子,將這些句子劃分為10組,每組中包含有400個(gè)句子,由100名發(fā)音人構(gòu)建語音語料庫,利用智能手機(jī)對語音進(jìn)行錄制,設(shè)定采樣單位為16bit,采樣頻率為16kHz,總語音時(shí)長為100h,其中訓(xùn)練集時(shí)長為90h,測試集為10h。
利用困惑度來衡量語言模型,根據(jù)各個(gè)音節(jié)中的困惑度來替代單詞數(shù),為了使單詞N-gram模型與音節(jié)N-gram模型能夠進(jìn)行比較,需要對音節(jié)困惑度進(jìn)行計(jì)算。在實(shí)驗(yàn)中將4000句朗讀文本當(dāng)作測試集,在該測試集中共包括46244個(gè)單詞,并對上述兩種N-gram語言模型的覆蓋值進(jìn)行計(jì)算,其實(shí)驗(yàn)結(jié)果為單詞N-gram語言模型的單位數(shù)量為60000個(gè),單節(jié)N-gram語言模型的單位數(shù)量為32782個(gè),集外詞所占比例分別為19.8%與0.03%,命中率分別為19.4%與98.4%,困惑值分別為4600與64600。從上述實(shí)驗(yàn)結(jié)果了解到,音節(jié)N-gram語言模型能夠?qū)y試數(shù)據(jù)集進(jìn)行更好的覆蓋,不過其困惑度和英語150之間的結(jié)果相比較也是比較高的,這是因?yàn)楣_克語所具備的黏著性特性所產(chǎn)生的。比如,對于一個(gè)哈薩克語單詞來說,其連接構(gòu)詞與構(gòu)型附加成分能夠產(chǎn)生幾種甚至幾十種不同的變體,依據(jù)實(shí)驗(yàn)數(shù)據(jù)表明,單詞N-gram模型在困惑值上則明顯較低,這是因?yàn)樵撜Z言模型并沒有對集外詞進(jìn)行考慮,而且在該模型中的集外詞所占比例將近20%,如果該模型對集外詞問題進(jìn)行考慮,則其困惑度必然會(huì)大幅增漲。
將上文中所構(gòu)建的單詞N-gram語言模型與音節(jié)N-gram語言模型在連續(xù)語音識別效果方面進(jìn)行驗(yàn)證,利用上述兩種N-gram語言模型對哈薩克語中的34個(gè)音素進(jìn)行建模,在聲學(xué)模型構(gòu)建中則采用上下文結(jié)構(gòu)的隱馬爾科夫模型,模型中的特征向量則采用維數(shù)為39的梅爾頻率倒譜系數(shù),該系數(shù)共包括12階倒譜系數(shù),依據(jù)哈薩克語的發(fā)音特點(diǎn),將各個(gè)音素設(shè)置為5個(gè)輸出狀態(tài),而靜音模型中則設(shè)置3個(gè)輸出狀態(tài),在各個(gè)狀態(tài)中包含了16個(gè)高斯混合模型,同時(shí)利用HTK工具對聲學(xué)模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果表明,單詞N-gram語言模型的連續(xù)語音錯(cuò)誤識別率為29.45%,而音節(jié)N-gram語言模型的連續(xù)語音錯(cuò)誤識別率則為32.78%,由此說明,音節(jié)N-gram語言模型在連續(xù)語音識別方面有著更好的表現(xiàn),而音節(jié)N-gram語言模型雖然能夠構(gòu)造很大的詞匯表,但在詞與詞間的相關(guān)性及語義方面則較為缺失。
本文通過對N-gram模型在哈薩克語語音識別與處理技術(shù)進(jìn)行深入的研究,以此構(gòu)建了相應(yīng)的單詞與音節(jié)N-gram模型,通過對這兩個(gè)模型在困惑度與連續(xù)語音識別中的應(yīng)用效果進(jìn)行驗(yàn)證分析,以此探討,N-gram模型在哈薩克語語音識別與處理中的應(yīng)用。雖然實(shí)驗(yàn)結(jié)果并不是太理想,但這也說明N-gram模型在哈薩克語連續(xù)語音識別中有著一定的輔助作用,能夠?yàn)楹罄m(xù)相關(guān)語音識別軟件的開發(fā)帶來一定的啟發(fā)。