飛 龍,高光來,鮑玉來
(1. 內(nèi)蒙古大學(xué) 計(jì)算機(jī)學(xué)院,內(nèi)蒙古 呼和浩特 010021;2. 內(nèi)蒙古大學(xué)圖書館,內(nèi)蒙古 呼和浩特,010021)
?
基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法的研究
飛 龍1,高光來1,鮑玉來2
(1. 內(nèi)蒙古大學(xué) 計(jì)算機(jī)學(xué)院,內(nèi)蒙古 呼和浩特 010021;2. 內(nèi)蒙古大學(xué)圖書館,內(nèi)蒙古 呼和浩特,010021)
蒙古語語音識(shí)別系統(tǒng)的詞表很難覆蓋所有的蒙古文單詞,并且隨著社會(huì)的發(fā)展,蒙古文的新詞和外來詞也越來越多。為了解決蒙古語語音關(guān)鍵詞檢測系統(tǒng)中的集外詞檢測問題,該文提出了基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法,并采用音素混淆矩陣改進(jìn)了關(guān)鍵詞的置信度計(jì)算方法。實(shí)驗(yàn)結(jié)果表明,基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法可以較好地解決集外詞的檢測問題。蒙古語語音關(guān)鍵詞檢測系統(tǒng)采用改進(jìn)的置信度計(jì)算方法后精確率提高了6%,召回率提高了2.69%,性能得到明顯的提升。
蒙古語;關(guān)鍵詞檢測;集外詞;混淆網(wǎng)絡(luò);音素混淆矩陣
近年來,隨著計(jì)算機(jī)技術(shù)和多媒體技術(shù)的飛速發(fā)展,蒙古語語音資料在教育、影視、文化等諸多方面的應(yīng)用越來越廣泛,數(shù)量急劇增加,已形成了豐富的民族文化資源。如何對這些語音文檔進(jìn)行有效地檢索和分類成為了蒙古文信息處理領(lǐng)域中的一個(gè)熱點(diǎn)問題。語音關(guān)鍵詞檢測技術(shù)是根據(jù)用戶給定的查詢,從指定的語音數(shù)據(jù)集中返回與其對應(yīng)的語音片段。
在之前的研究中,我們提出了基于詞混淆網(wǎng)絡(luò)(Confusion Network, CN)的蒙古文語音關(guān)鍵詞檢測方法[1],該方法分為兩個(gè)階段進(jìn)行處理。第一階段為識(shí)別階段,通過蒙古語大詞匯量連續(xù)語音識(shí)別(Large Vocabulary Continuous Speech Recognition, LVCSR)系統(tǒng)[2-3]把語音識(shí)別成文本;第二階段為檢測階段,從識(shí)別的文本中查詢對應(yīng)關(guān)鍵詞,并返回結(jié)果。蒙古語是有粘著性特點(diǎn)的語言,蒙古文單詞是由詞根綴加多個(gè)后綴組成,而所有的詞根和后綴可以組合成大規(guī)模的蒙古文單詞。現(xiàn)有的蒙古語LVCSR系統(tǒng)的發(fā)音詞典無法包含所有的蒙古文單詞。并且,隨著社會(huì)的發(fā)展,蒙古文的新詞和外來詞也越來越多。因此,蒙古文集外詞(Out of Vocabulary,OOV)的檢測問題成為了蒙古語語音關(guān)鍵詞檢測系統(tǒng)亟待解決的關(guān)鍵問題。
漢語LVCSR中的集外詞可以以詞(或單字)的合成詞形式被識(shí)別出來,因此在漢語語音識(shí)別任務(wù)和語音檢索任務(wù)中,集外詞問題往往被忽略而很少提及。英語語音檢索任務(wù)中集外詞問題一直是研究熱點(diǎn)之一,他們主要采用了子詞或音素的識(shí)別形式解決集外詞的檢測問題[4-7]。
為了解決蒙古文集外詞的檢測問題,本文提出了基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法。蒙古語語音文件被解碼成音素形式時(shí)正確識(shí)別率會(huì)變得很低,并會(huì)出現(xiàn)很多不符合韻律學(xué)的發(fā)音序列。為了提高系統(tǒng)的精準(zhǔn)率和召回率,本文采用了音素混淆矩陣(Phoneme Confusion Matrix, PCM)來計(jì)算關(guān)鍵詞的置信度得分,并得到了較好的實(shí)驗(yàn)結(jié)果。
本文其余部分組織如下: 第2節(jié)介紹了蒙古語發(fā)音特點(diǎn);第3節(jié)詳細(xì)描述了基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法;第4節(jié)為實(shí)驗(yàn)部分;最后為結(jié)論部分。
蒙古文是拼音文字,它的字母表由8個(gè)元音字母和27個(gè)輔音字母組成[8]。在蒙古語中,語音最小單位為音素,常用的口語發(fā)音音素共64個(gè),其中元音音素37個(gè),輔音音素27個(gè),如表1所示。在蒙古語口語中,元音音素可分為兩類: 一類是獨(dú)立元音,這類元音音素發(fā)音比較清晰,比較完整,而且往往也是一個(gè)詞的重音所在,獨(dú)立元音包括處于單詞第一音節(jié)的短元音以及處于單詞任意位置的長元音和復(fù)合元音。另一類是依附元音,這類元音音素通常發(fā)音不夠清晰,不夠完整,它包括處于非第一音節(jié)的所有短元音。
表1 蒙古文音素表
基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測系統(tǒng)的框架如圖1所示。首先,利用蒙古語自動(dòng)語音識(shí)別(Automatic Speech Recognition, ASR)系統(tǒng)將蒙古語語音文件進(jìn)行解碼,并生成音素網(wǎng)格文件;其次,將音素網(wǎng)格文件轉(zhuǎn)化成混淆網(wǎng)絡(luò)結(jié)構(gòu)的文件,并建立索引;最后,采用蒙古文字母到音素轉(zhuǎn)換系統(tǒng)[8]將關(guān)鍵詞轉(zhuǎn)換成對應(yīng)的音素串,并利用音素串從索引庫中進(jìn)行檢測。
圖1 基于音素混淆網(wǎng)絡(luò)的蒙古文關(guān)鍵詞檢測系統(tǒng)框架
3.1 ASR解碼
本文采用蒙古語ASR系統(tǒng)對蒙古語語音文件進(jìn)行了解碼。蒙古語ASR系統(tǒng)的聲學(xué)模型采用了詞內(nèi)上下文相關(guān)的三音素模型,并利用決策樹進(jìn)行了捆綁,最后采用CHMM混合高斯模型進(jìn)行了訓(xùn)練。訓(xùn)練語言模型時(shí),首先將訓(xùn)練文本中的全部蒙古文單詞轉(zhuǎn)換成了音素串形式,并用n-gram語言模型進(jìn)行了訓(xùn)練。語言模型的平滑算法采用了Kneser-Ney平滑算法。最后,利用聲學(xué)模型和語言模型將蒙古語語音文件解碼成n-best音素網(wǎng)格文件。
3.2 音素混淆網(wǎng)絡(luò)的生成和索引的建立
最大似然識(shí)別結(jié)果(最優(yōu)路徑)有比較高的錯(cuò)誤率,但網(wǎng)格中往往包含了大量正確的補(bǔ)充信息。網(wǎng)格的結(jié)構(gòu)圖如圖2所示。網(wǎng)格主要由節(jié)點(diǎn)和邊組成,每一個(gè)節(jié)點(diǎn)(Node)表示一個(gè)時(shí)間點(diǎn),每一條邊(Arc)表示一個(gè)識(shí)別單元假設(shè)(Hypothesis: 音素),邊將不同時(shí)刻的節(jié)點(diǎn)連接起來,形成一個(gè)有向非循環(huán)圖。
圖2 網(wǎng)格結(jié)構(gòu)圖
音素網(wǎng)格可以用來進(jìn)行語音關(guān)鍵詞檢測,然而,網(wǎng)格具有結(jié)構(gòu)復(fù)雜,占用存儲(chǔ)空間大的缺點(diǎn)。Mangu等人[9]提出的混淆網(wǎng)絡(luò)(Confusion Network)是一種新穎的語音識(shí)別多候選存儲(chǔ)結(jié)構(gòu),是對網(wǎng)格進(jìn)一步處理的結(jié)果,可以看作是一種簡化的線性網(wǎng)格結(jié)構(gòu),比網(wǎng)格占用存儲(chǔ)空間更小,研究表明混淆網(wǎng)絡(luò)能獲得比網(wǎng)格更小的詞錯(cuò)誤率。混淆網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖3所示。
圖3 混淆網(wǎng)絡(luò)結(jié)構(gòu)圖
為了提高檢測速度,本文對生成的音素混淆網(wǎng)絡(luò)文件建立了索引。音素混淆網(wǎng)絡(luò)中存在著大量的空弧,所以對索引庫進(jìn)行搜索時(shí)必須對空弧也要進(jìn)行處理。本文建立索引時(shí)為了保證混淆網(wǎng)絡(luò)的完整性,將空弧當(dāng)成獨(dú)立的一個(gè)音素進(jìn)行了處理,所以對空弧也建立了對應(yīng)的索引。對空弧建立索引時(shí),因?yàn)榭栈≈挥泻篁?yàn)概率得分,沒有其他附加信息(如開始時(shí)間、持續(xù)時(shí)間、聲學(xué)得分和語言模型得分等),所以將其他信息都置為了空。
首先,我們對音素混淆網(wǎng)絡(luò)建立了前向索引,并根據(jù)前向索引建立了逆向索引。逆向索引的結(jié)構(gòu)圖如圖4所示。
圖4 音素逆向索引結(jié)構(gòu)
其中,PhoID為音素的編號(hào),Num表示該音素對應(yīng)的命中向量個(gè)數(shù),F(xiàn)ileID為語音文件編號(hào),SliceID為混淆集編號(hào),Ptr為音素的后驗(yàn)概率,StartTime為音素的開始時(shí)間,Duration為音素的持續(xù)時(shí)間。
3.3 關(guān)鍵詞的搜索與確認(rèn)
3.3.1 音素混淆矩陣
PCM的每個(gè)元素p(wi|wj)代表音素wj被替換成音素wi的概率。我們通過音素混淆網(wǎng)絡(luò)生成混淆矩陣。假設(shè)語音片段中都包含音素wj,則分類函數(shù)α(n)定義為式(1)。
那么音素混淆概率p(wi|wj)可以被表示成式(2)。
其中,N表示訓(xùn)練數(shù)據(jù)中的語音片段的總數(shù),K表示所有音素的數(shù)目,count(wk|wj)表示在同一個(gè)語音片段中跟wj對齊的wk的數(shù)目。
3.3.2 搜索與確認(rèn)
對于輸入關(guān)鍵詞,經(jīng)過字母到音素轉(zhuǎn)換得到相應(yīng)音素串,對每個(gè)音素,按照混淆概率由高到低排列,找出前n個(gè)競爭音素,生成該音素的競爭集VieSet。假設(shè)關(guān)鍵詞為Q,轉(zhuǎn)換成音素串形式為Q={q1,q2,...,qm},m為音素?cái)?shù)目。對于混淆網(wǎng)絡(luò)D,關(guān)鍵詞Q的置信度得分為score(m,D),可以表示成式(3)和式(4)。
其中,λ為權(quán)重系數(shù),p(qi|D)為qi的后驗(yàn)概率,Prela(i,D)為音素qi的競爭集VieSet(qi)的后驗(yàn)概率總和,p(qi|φj)為混淆矩陣的概率值。
音素混淆網(wǎng)絡(luò)中存在著大量的空弧,所以索引搜索時(shí)必須對空弧也要進(jìn)行處理。在音素逆向索引中搜索關(guān)鍵詞的過程如圖5所示。Heps表示刪除命中向量(對應(yīng)混淆網(wǎng)絡(luò)中的空弧),Hi表示音素qi和相同位置的所有競爭集VieSet(qi)的命中向量的合并。Hi的置信度可以通過式(3)得到。搜索方法的主要思想是: 首先,從H1中搜索q1,如果命中則生成候選集X1,然后從H2,Heps和X1中搜索q1q2,如果命中則生成候選集X2,通過這種方式我們可以檢測到音素串對應(yīng)的候選集Xm;最后,通過候選集Xm的置信度排序得到關(guān)鍵詞的檢測結(jié)果。
圖5 從音素逆向索引中搜索關(guān)鍵詞的過程
實(shí)驗(yàn)使用的工具有HTK3.4[10]和SRILM[11]。實(shí)驗(yàn)用來檢測關(guān)鍵詞的蒙古語語音語料為15 000句,約21小時(shí)。本文選擇了10個(gè)關(guān)鍵詞(query)對測試語音進(jìn)行了檢測,每個(gè)關(guān)鍵詞包含2個(gè)到5個(gè)蒙古文單詞。
召回率(Recall rate)和精確率(Precision Rate)是信息檢索的重要評估方法,也可以用來評估關(guān)鍵詞檢測系統(tǒng)的檢出性能,對整個(gè)關(guān)鍵詞檢出結(jié)果集的質(zhì)量進(jìn)行量化評價(jià)。召回率是指關(guān)鍵詞被正確找到的比例,精確率是指所有找到關(guān)鍵詞中正確的比例。
實(shí)驗(yàn)利用基于聯(lián)合序列模型的蒙古文字母到音素的轉(zhuǎn)換系統(tǒng)[8]將10個(gè)關(guān)鍵詞轉(zhuǎn)換成了音素串形式。我們對沒有采用PCM的基于音素混淆網(wǎng)絡(luò)的關(guān)鍵詞檢測方法和采用了PCM的基于音素混淆網(wǎng)絡(luò)的關(guān)鍵詞檢測方法進(jìn)行了實(shí)驗(yàn)比較。在采用PCM的方法中,每個(gè)音素采用了混淆矩陣概率排名為前5的競爭音素作為了競爭集。
本文通過11點(diǎn)的召回率-精確率曲線分析了兩種關(guān)鍵詞檢測方法的性能,并對所有關(guān)鍵詞的檢測結(jié)果進(jìn)行了平均計(jì)算,結(jié)果如圖6所示。表1給出了兩種關(guān)鍵詞檢測方法的相應(yīng)的11點(diǎn)平均精確率、對應(yīng)的召回率。從圖6和表2中可以看出采用PCM方法的精確度和召回率都明顯優(yōu)于沒有采用PCM的方法,并且平均精確度提高了6%,召回率提高了2.69%。
圖6 召回率-精確率曲線
表2 對傳統(tǒng)蒙古文集外詞檢測的結(jié)果比較
為了解決蒙古文集外詞的檢測問題,本文提出了基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法。首先,本文介紹了蒙古語發(fā)音特點(diǎn);其次,介紹了基于音素混淆網(wǎng)絡(luò)的蒙古文關(guān)鍵詞檢測系統(tǒng)的框架;第三,概述了蒙古語ASR解碼和建立音素索引的方法;最后,詳細(xì)描述了采用PCM的關(guān)鍵詞搜索和確認(rèn)方法。實(shí)驗(yàn)結(jié)果表明,基于音素混淆網(wǎng)絡(luò)的蒙古語語音關(guān)鍵詞檢測方法可以較好的解決集外詞的檢測問題,并且采用PCM的置信度計(jì)算方法提高了系統(tǒng)的整體性能。
[1] Feilong Bao, Guanglai Gao. The Research on Mongolian Spoken Term Detection Based on Confusion Network[C]//Proceedings of the Chinese Conference on Pattern Recognition (CCPR2012).Beijing, 2012:606-612.
[2] Feilong Bao, Guanglai Gao. Improving of Acoustic Model for the Mongolian Speech Recognition System[C]//Proceedings of the Chinese Conference on Pattern Recognition (CCPR2009). Nanjing, 2009:616-620.
[3] Feilong Bao, Guanglai Gao, Xueliang Yan. Segmentation-based Mongolian LVCSR Approach[C]//Proceedings of the 38th International Conference on Acoustics, Speech, and Signal Processing (ICASSP2013), Vancouver, 2013: 8136-8139.
[4] J Mamou, B Ramabhadran and O Siohan. Vocabulary independent spoken term detection[C]//Proceedings of the ACM-SIGIR’07. Amsterdam, 2007:615-622.
[5] Ville T. Turunen and Mikko Kurimo, Indexing Confusion Networks for MorPh-based Spoken Document Retrieval [C]//Proceedings of the ACM-SIGIR’07. Amsterdam, 2007:631-638.
[6] D Wang. Out-of-vocabulary spoken term detection [D]. Ph.D. dissertation University of Edinburgh. 2010.
[7] G Gosztolya and L Toth. Spoken term detection based on the most probable phoneme sequence[C]//Proceedings of the 2011 International Symposium on Applied Machine Intelligence and Informatics (SAMI) (IEEE), Slovakia, 2011:101-106.
[8] 飛龍,高光來,閆學(xué)亮. 蒙古文字母到音素的轉(zhuǎn)換方法的研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2013,30(6): 1696-1700.
[9] L Mangu, E Brill, and A Stolcke: Finding consensus in speech recognition: word error minimization and other applications of confusion networks [J]. Computer Speech and Language, 2000, 14(4): 373-400.
[10] Young S, et al. The HTK book (Revised for HTK version 3.4.1)[M]. Cambridge University.2009.
[11] A Stolcke. SRILM—An Extensible Language Modeling Toolkit[C]//Proceedings of Intl. Conf. Spoken Language Processing. Denver, Colorado,2002.
Research on Mongolian Spoken Term Detection Based on Phoneme Confusion Network
BAO Feilong1, GAO Guanglai1, BAO Yulai2
(1. College of Computer Science, Inner Mongolia University, Hohhot, Inner Mongolia 010021, China; 2. Library of Inner Mongolia University, Hohhot, Inner Mongolia 010021, China)
To deal with Out-of-Vocabulary detection on Mongolian spoken term detection system, this paper proposes a Mongolian spoken term detection method based on phoneme confusion network.The Confidence Measure is improved by incorporating phoneme confusion matrix. Experimental results show that our method obtains a satisfying performance in the task of Mongolian Out-of-Vocabulary detection, with 6% improvement in precision rate and 2.69% in recall rate.
Mongolian; spoken term detection; Out-of-Vocabulary word; confusion network; phoneme confusion matrix
飛龍(1985—),博士,講師,主要研究領(lǐng)域?yàn)槊晒盼男畔⑻幚?,語音識(shí)別,語音合成。E?mail:csfeilong@imu.edu.cn高光來(1964—),碩士,教授,博士生導(dǎo)師,主要研究領(lǐng)域?yàn)槟J阶R(shí)別,自然語言處理。E?mail:csggl@imu.edu.cn鮑玉來(1975—),碩士,副研究館員,碩士生導(dǎo)師,主要研究領(lǐng)域?yàn)閿?shù)字圖書館,信息資源管理。E?mail:65003846@qq.com
1003-0077(2015)01-0178-05
2013-04-08 定稿日期: 2013-07-11
國家自然科學(xué)基金(61263037, 71163029);內(nèi)蒙古自然科學(xué)基金(2014BS0604);內(nèi)蒙古大學(xué)高層次人才引進(jìn)科研項(xiàng)目
TP391
A