本申請涉及信息技術(shù)領(lǐng)域,特別是涉及一種語音識別的方法和裝置。
背景技術(shù):
近年來,語音識別技術(shù)成為了信息技術(shù)領(lǐng)域中的重要的發(fā)展技術(shù)之一。語音識別技術(shù)使人們能夠甩掉鍵盤,通過語音命令進(jìn)行操作,使語音識別技術(shù)在眾多領(lǐng)域得到廣泛應(yīng)用。
語音識別技術(shù)是將聲音轉(zhuǎn)變成文本的技術(shù)。目前采用語音模型和語言模型結(jié)合的方式,實現(xiàn)對語音的識別,其中,語音模型用來描述語音信號的分布特性,而語言模型用于識別語音信號對應(yīng)的詞序列,用以限制系統(tǒng)能識別的句子范圍,語言模型基于一個系統(tǒng)詞表,只有在詞表中出現(xiàn)的詞才有可能被識別出來。
隨著信息社會的快速發(fā)展,新生的詞匯不斷涌現(xiàn),例如:顏值、吐槽、洪荒之力等等,由于新的詞匯不在語音識別的系統(tǒng)詞表中,因此很難被識別出來。
技術(shù)實現(xiàn)要素:
本申請實施例提供了一種語音識別的方法和裝置,以解決目前無法識別新詞和新詞快速添加的問題。
為了解決上述問題,本申請公開了一種語音識別的方法,包括:
將語言模型表示為有限狀態(tài)轉(zhuǎn)移機;
待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞;
將所述新詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
優(yōu)選的,所述待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞的步驟包括:
根據(jù)靜態(tài)配置獲得新詞對應(yīng)的近義詞。
優(yōu)選的,所述待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞的步驟包括:
將所述新詞映射到向量空間,獲得第一向量;
將語言模型的詞表中的詞映射到向量空間,獲得第二向量;
根據(jù)所述第一向量和所述第二向量利用余弦距離公式,獲得新詞和所述詞表中的詞之間的相似度;
將所述相似度高的所述詞表中的詞確定為新詞對應(yīng)的近義詞。
優(yōu)選的,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機的步驟包括:
將所述獲得新詞和所述詞表中的詞之間的相似度與近義詞的權(quán)重的乘積作為新詞的權(quán)重;
將所述新詞和所述新詞的權(quán)重并列添加在所述有限狀態(tài)轉(zhuǎn)移機中的近似詞處,獲得更新后的有限狀態(tài)轉(zhuǎn)移機圖。
為了解決上述問題,本申請還公開了一種語音識別的裝置,包括:
轉(zhuǎn)換模塊,用于將語言模型表示為有限狀態(tài)轉(zhuǎn)移機;
近義詞模塊,用于待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞;
更新模塊,用于將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
優(yōu)選的,近義詞模塊包括:
配置子模塊,用于根據(jù)靜態(tài)配置獲得新詞對應(yīng)的近義詞。
優(yōu)選的,近義詞模塊包括:
第一映射子模塊,用于將所述新詞映射到向量空間,獲得第一向量;
第二映射子模塊,用于將語言模型的詞表中的詞映射到向量空間,獲得第二向量;
詞間距離子模塊,用于根據(jù)所述第一向量和所述第二向量利用余弦距離公式,獲得新詞和所述詞表中的詞之間的相似度;
確定子模塊,用于將所述相似度高的所述詞表中的詞確定為新詞對應(yīng)的近義詞。
優(yōu)選的,所述更新模塊具體用于:
將所述獲得新詞和所述詞表中的詞之間的相似度與近義詞的權(quán)重的乘積作為新詞的權(quán)重;
將所述新詞和所述新詞的權(quán)重并列添加在所述有限狀態(tài)轉(zhuǎn)移機中的近似詞處,獲得更新后的有限狀態(tài)轉(zhuǎn)移機。
與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點:
本申請通過將待識別的新詞根據(jù)設(shè)定規(guī)則在有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別從而避免了重新訓(xùn)練語言模型,并且在不改變語言模型的前提下完成了對新詞的識別和新詞的添加,提高了識別效率。
當(dāng)然,實施本申請的任一產(chǎn)品不一定需要同時達(dá)到以上所述的所有優(yōu)點。
附圖說明
圖1是本申請實施例所述一種語音識別方法的流程圖;
圖2是本申請實施例將語言模型轉(zhuǎn)換為有限狀態(tài)轉(zhuǎn)移機的示意圖;
圖3是本申請實施例所述一種語音識別方法的流程圖;
圖4是本申請實施例更新后有限狀態(tài)轉(zhuǎn)移機的示意圖;
圖5是本申請實施例所述一種語音識別裝置的結(jié)構(gòu)框圖;
圖6本申請實施例所述一種語音識別裝置的結(jié)構(gòu)框圖。
具體實施方式
為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進(jìn)一步詳細(xì)的說明。
參照圖1,其示出了本申請實施例所述一種語音識別方法的流程圖,該方法包括:
步驟101:將語言模型表示為有限狀態(tài)轉(zhuǎn)移機。
語言模型中包括:詞語和該詞語的概率,將詞語和該詞語的概率表示為有限狀態(tài)轉(zhuǎn)移。
例如:語言模型中的詞語為A,A的概率為1/A,詞語B,B的概率為1/B,則轉(zhuǎn)換的有限狀態(tài)轉(zhuǎn)移,如圖2所示,有限狀態(tài)轉(zhuǎn)移機僅僅是示例,在實際應(yīng)用中可以有多個輸出結(jié)果,獲得的有限狀態(tài)轉(zhuǎn)移機也不同,對此本申請不做具體限制。
步驟102:待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機FST上獲得所述新詞對應(yīng)的近義詞。
待識別的新詞可以理解為新生的詞匯,也可以理解為在語言模型詞表中不存在的詞語。
待識別的新詞以列表的形式進(jìn)行保存,可以根據(jù)列表中存儲新詞獲得新詞對應(yīng)的近義詞,該近義詞也可以采用列表的形式進(jìn)行保存,也可以采用其他方式,對此本申請不做具體限制。
步驟103:將所述新詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
本實施例,通過將待識別的新詞根據(jù)設(shè)定規(guī)則在有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別從而避免了重新訓(xùn)練語言模型,并且在不改變語言模型的前提下完成了對新詞的識別和新詞的添加,提高了識別效率。
參照圖3,其示出了本申請實施例所述一種語音識別方法的流程圖,該方法包括:
步驟301:將語言模型表示為有限狀態(tài)轉(zhuǎn)移機。
步驟302:根據(jù)靜態(tài)配置獲得新詞對應(yīng)的近義詞。
靜態(tài)配置獲取新詞對應(yīng)的近義詞,即靜態(tài)配置也可以理解為人工定義獲取新詞對應(yīng)的近義詞,人工定義,可以充分利用人的知識,比較精確獲取新詞對應(yīng)的近似詞,但是繁瑣,效率低,目前人工定義主要適用于小規(guī)模新詞加入。
新詞對應(yīng)的近義詞可以為一個或者多個,若為多個,可以人工選擇最接近的詞作為新詞對應(yīng)的近義詞。
設(shè)有一個新詞集X={x1,x2…,xm},對于每一個xi∈X,都有一個近義詞集Si={y1,y2…,yn}。對任意一個yj∈Si,在FST中尋找所為標(biāo)注為yj的邊,并在yj的邊旁并列的加上xi。在基線系統(tǒng)中,近義詞集和近義詞權(quán)重值均由人工確定。
作為其中一種實現(xiàn)方式,所述待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞的步驟包括:
將所述新詞映射到向量空間,獲得第一向量。
新詞具有新詞集,將新詞映射到向量空間,獲得多個第一向量。
將語言模型的詞表中的詞映射到向量空間,獲得第二向量。
根據(jù)所述第一向量和所述第二向量利用余弦距離公式,獲得新詞和所述詞表中的詞之間的相似度。
對新詞和詞表中的詞之間的相似度進(jìn)行排序,例如從大到小的順序排列或者按照從小到大的順序進(jìn)行排列,將詞表中的詞相似度高的詞確定為新詞對應(yīng)的近義詞。
將所述相似度高的所述詞表中的詞確定為新詞對應(yīng)的近義詞。
通過將映射到向量空間,利用詞向量空間的方式增加新詞的加入解決了手動加入新詞效率低的問題,同時也適用于大規(guī)模新詞加入。
步驟303:將所述新詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
作為其中一種實現(xiàn)方式,所述將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機的步驟包括:
將所述獲得新詞和所述詞表中的詞之間的相似度與近義詞的權(quán)重的乘積作為新詞的權(quán)重。
將所述新詞和所述權(quán)重并列添加在所述有限狀態(tài)轉(zhuǎn)移機中的近似詞處,獲得更新后的有限狀態(tài)轉(zhuǎn)移機。
例如:語言模型中的詞語為A,A的概率為1/A,詞語B,B的概率為1/B,則生成的有限狀態(tài)轉(zhuǎn)移,如圖2所示,當(dāng)有新詞C進(jìn)行識別,獲取C的近義詞為A,權(quán)重為1/C,則將所述新詞和所述新詞的權(quán)重并列添加在所述有限狀態(tài)轉(zhuǎn)移機中的A處,如圖4所示,
本實施例,通過將待識別的新詞根據(jù)設(shè)定規(guī)則在有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別從而避免了重新訓(xùn)練語言模型,并且在不改變語言模型的前提下完成了對新詞的識別和新詞的快速添加,提高了識別效率。
需要說明的是,對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請所必需的。
基于上述方法實施例的說明,本申請還提供了相應(yīng)的屏幕截圖裝置實施例,來實現(xiàn)上述方法實施例所述的內(nèi)容。
參照圖5,其示出了本申請實施例所述一種語音識別裝置的結(jié)構(gòu)圖,該裝置具體包括:
轉(zhuǎn)換模塊501,用于將語言模型表示為有限狀態(tài)轉(zhuǎn)移機。
近義詞模塊502,用于待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞。
更新模塊503,用于將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
本實施例,通過將待識別的新詞根據(jù)設(shè)定規(guī)則在有限狀態(tài)轉(zhuǎn)移機獲得所述新詞對應(yīng)的近義詞,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別從而避免了重新訓(xùn)練語言模型,并且在不改變語言模型的前提下完成了對新詞的識別和新詞的快速添加,提高了識別效率。
參照圖6,其示出了本申請實施例所述一種語音識別裝置的結(jié)構(gòu)圖,該裝置具體包括:
轉(zhuǎn)換模塊601,用于將語言模型表示為有限狀態(tài)轉(zhuǎn)移機。
近義詞模塊602,用于待識別的新詞根據(jù)設(shè)定規(guī)則在所述有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞。
優(yōu)選的,近義詞模塊包括:
配置子模塊6021,用于根據(jù)靜態(tài)配置獲得新詞對應(yīng)的近義詞。
優(yōu)選的,近義詞模塊包括:
第一映射子模塊,用于將所述新詞映射到向量空間,獲得第一向量;
第二映射子模塊,用于將語言模型的詞表中的詞映射到向量空間,獲得第二向量;
詞間距離子模塊,用于根據(jù)所述第一向量和所述第二向量利用余弦距離公式,獲得新詞和所述詞表中的詞之間的相似度;
確定子模塊,用于將所述相似度高的所述詞表中的詞確定為新詞對應(yīng)的近義詞。
更新模塊603,用于將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別。
優(yōu)選的,所述更新模塊具體用于:將所述獲得新詞和所述詞表中的詞之間的相似度與近義詞的權(quán)重的乘積作為新詞的權(quán)重。
將所述新詞和所述新詞的權(quán)重并列添加在所述有限狀態(tài)轉(zhuǎn)移機中的近似詞處,獲得更新后的有限狀態(tài)轉(zhuǎn)移機。
本實施例,通過將待識別的新詞根據(jù)設(shè)定規(guī)則在有限狀態(tài)轉(zhuǎn)移機上獲得所述新詞對應(yīng)的近義詞,將所述近似詞添加到所述有限狀態(tài)轉(zhuǎn)移機,獲得更新后的有限狀態(tài)轉(zhuǎn)移機,使用所述更新后的有限狀態(tài)轉(zhuǎn)移機進(jìn)行語音識別從而避免了重新訓(xùn)練語言模型,并且在不改變語言模型的前提下完成了對新詞的識別和新詞的快速添加,提高了識別效率。
對于上述裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見所示方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領(lǐng)域技術(shù)人員易于想到的是:上述各個實施例的任意組合應(yīng)用都是可行的,故上述各個實施例之間的任意組合都是本申請的實施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。
本申請實施例可以實施在任何支持圖形處理、互聯(lián)網(wǎng)內(nèi)容擷取和渲染的裝置(或多個裝置)上。這些裝置包括但不限于個人計算機、集群服務(wù)器、移動電話、工作站、嵌入式系統(tǒng)、游戲機、電視、機頂盒,或任何其它支持計算機圖形和內(nèi)容顯示的計算裝置。這些裝置可以包括但不限于擁有執(zhí)行和儲存指令的一個或多個處理器和存儲器的裝置。這些裝置可以包括軟件、固件和硬件。軟件可以包括一個或多個應(yīng)用程序和操作系統(tǒng)。硬件可以包括但不限于處理器、存儲器及顯示器。
本申請可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如:個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
在本申請中,“組件”、“裝置”、“系統(tǒng)”等等指應(yīng)用于計算機的相關(guān)實體,如硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件等。詳細(xì)地說,例如,組件可以、但不限于是運行于處理器的過程、處理器、對象、可執(zhí)行組件、執(zhí)行線程、程序和/或計算機。還有,運行于服務(wù)器上的應(yīng)用程序或腳本程序、服務(wù)器都可以是組件。一個或多個組件可在執(zhí)行的過程和/或線程中,并且組件可以在一臺計算機上本地化和/或分布在兩臺或多臺計算機之間,并可以由各種計算機可讀介質(zhì)運行。組件還可以根據(jù)具有一個或多個數(shù)據(jù)包的信號,例如,來自一個與本地系統(tǒng)、分布式系統(tǒng)中另一組件交互的,和/或在因特網(wǎng)的網(wǎng)絡(luò)通過信號與其它系統(tǒng)交互的數(shù)據(jù)的信號通過本地和/或遠(yuǎn)程過程來進(jìn)行通信。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
而且,上文中的“和/或”表示本文既包含了“和”的關(guān)系,也包含了“或”的關(guān)系,其中:如果方案A與方案B是“和”的關(guān)系,則表示某實施例中可以同時包括方案A和方案B;如果方案A與方案B是“或”的關(guān)系,則表示某實施例中可以單獨包括方案A,或者單獨包括方案B。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
以上對本申請所提供的一種語音識別方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。