技術(shù)領(lǐng)域
下面的描述涉及一種語音識別設(shè)備和方法。
背景技術(shù):
與過去的現(xiàn)有技術(shù)不同,最近的語音識別技術(shù)已引起廣泛的關(guān)注。這是因為語音識別技術(shù)的實現(xiàn)允許互聯(lián)網(wǎng)信息、電子商務和在使用語音的各種普遍存在的環(huán)境中的操作的使用更加方便,并且甚至在用戶難以使用他們的雙手時也能滿足用戶的各種需要,諸如,啟用互聯(lián)網(wǎng)訪問、實施商業(yè)事務以及使用其他服務。
技術(shù)實現(xiàn)要素:
提供發(fā)明內(nèi)容從而以簡化的形式介紹構(gòu)思的選擇,其將在下面的具體實施方式中將被進一步描述。發(fā)明內(nèi)容不意在確定所要求保護主題的關(guān)鍵特征或必要特征,也不意在用作輔助確定所要求保護的主題的范圍。
在一個總體方面中,一種語音識別設(shè)備,包括:預測器,被配置為基于之前已被搜索的單詞序列預測跟隨之前已被搜索的單詞序列的單詞的詞類;解碼器,被配置為搜索與語音信號對應的候選單詞,使用已被搜索的候選單詞擴展之前已被搜索的單詞序列,并基于預測的詞類調(diào)整擴展的單詞序列的概率值。
詞類可為實體名或詞性;實體名可為人名、位置名、組織名、日期、時間、書名、電影名、音樂名或TV節(jié)目名。
預測器還可被配置為:使用詞類預測模型預測跟隨之前已被搜索的單詞序列的單詞的詞類。
詞類預測模型可基于詞典和語法以規(guī)則集的形式被構(gòu)造,或者可使用命名的實體識別方案和詞性標注方案的任何一個或兩者通過機器學習被構(gòu)造。
詞類預測模型可為基于遞歸神經(jīng)網(wǎng)絡(RNN)的模型。
解碼器還可被配置為:使用以加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式在數(shù)據(jù)結(jié)構(gòu)中構(gòu)造的發(fā)音詞典和語言模型來搜索候選單詞。
解碼器還可被配置為:從未來的搜索目標排除已被搜索的候選單詞之中的不屬于預測的詞類的候選單詞。
解碼器還可被配置為:在已被搜索的候選單詞之中增加屬于預測的詞類的候選單詞的概率值。
解碼器還可被配置為:在已被搜索的候選單詞之中增加屬于預測的詞類的并包括在個性化的語言模型中的候選單詞的概率值。
預測器還可被配置為:預測跟隨之前已被搜索的單詞序列的單詞的詞類概率分布;解碼器還可被配置為:通過用每一候選單詞的概率值乘以該候選單詞所從屬的詞類的預測的概率值,調(diào)整每一候選單詞的概率值。
在另一總體方面中,一種語音識別方法,包括:基于之前已被搜索的單詞序列預測跟隨已被之前搜索的單詞序列的單詞的詞類;搜索與語音信號對應的候選單詞;使用已被搜索的候選單詞擴展之前已被搜索的單詞序列;基于預測的詞類調(diào)整擴展的單詞序列的概率值。
詞類可為實體名或詞性;實體名可為人名、位置名、組織名、日期、時間、書名、電影名、音樂名或TV節(jié)目名。
所述預測詞類的步驟可包括:使用詞類預測模型預測跟隨之前已被搜索的單詞序列的單詞的詞類。
詞類預測模型可基于詞典和語法以規(guī)則集的形式被構(gòu)造,或者可使用命名的實體識別方案和詞性標注方案的任何一個或兩者通過機器學習被構(gòu)造。
詞類預測模型可為基于遞歸神經(jīng)網(wǎng)絡(RNN)的模型。
所述搜索候選單詞的步驟可包括:使用以加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式在數(shù)據(jù)結(jié)構(gòu)中構(gòu)造的發(fā)音詞典和語言模型搜索候選單詞。
所述的語音識別方法,還可包括:從未來的搜索目標排除已被搜索的候選單詞之中的不屬于預測的詞類的候選單詞。
所述調(diào)整擴展的單詞序列的概率值的步驟可包括:在已被搜索的候選單詞之中增加屬于預測的詞類的候選單詞的概率值。
所述調(diào)整擴展的單詞序列的概率值的步驟可包括:在已被搜索的候選單詞之中增加屬于預測的詞類的并包括在個性化的語言模型中的候選單詞的概率值。
所述預測詞類的步驟可包括:預測跟隨之前已被搜索的單詞序列的單詞的詞類概率分布;所述調(diào)整擴展的單詞序列的概率值的步驟可包括:通過將每一候選單詞的概率值乘以該候選單詞所屬的詞類的預測的概率值,來調(diào)整每一候選單詞的概率值。
在另一總體方面,一種存儲當由處理器執(zhí)行時導致處理器執(zhí)行上面描述的方法的指令的計算機可讀存儲介質(zhì)。
在另一總體方面中,一種詞類預測模型生成設(shè)備,包括:訓練數(shù)據(jù)采集器,被配置為采集包括多個單詞序列和多個與所述多個單詞序列的每一單詞序列對應的類序列的訓練數(shù)據(jù);模型生成器,被配置為基于采集的訓練數(shù)據(jù)通過學習生成詞類預測模型。
類序列的每一類可為實體名或詞性;實體名可為人名、位置名、組織名、日期、時間、書名、電影名、音樂名或TV節(jié)目名。
模型生成器還可被配置為:基于采集的訓練數(shù)據(jù)訓練遞歸神經(jīng)網(wǎng)絡(RNN)以生成詞類預測模型。
模型生成器還可被配置為:使用作為輸入的單詞和作為目標的跟隨所述單詞的單詞的詞類來訓練RNN。
在另一總體方面中,一種詞類預測模型生成方法,包括:采集包括多個單詞序列和多個與所述多個單詞序列中的每個單詞序列對應的類序列的訓練數(shù)據(jù);基于采集的訓練數(shù)據(jù)通過學習來生成詞類預測模型。
所述多個類序列的每一類可為實體名或詞性;實體名可為人名、位置名、組織名、日期、時間、書名、電影名、音樂名或TV節(jié)目名。
所述生成詞類預測模型的步驟可包括:基于采集的訓練數(shù)據(jù)訓練遞歸神經(jīng)網(wǎng)絡(RNN)以生成詞類預測模型。
所述訓練RNN的步驟可包括:使用作為輸入的單詞和作為目標的跟隨所述單詞的單詞的詞類來訓練RNN。
在另一總體方面中,一種語音識別設(shè)備,包括:預測器,被配置為基于之前已被搜索的單詞序列預測跟隨已被之前搜索的單詞序列的單詞的詞類;解碼器,被配置為基于預測的詞類將單詞添加到之前已被搜索的單詞序列。
預測器還可被配置為:基于之前已被搜索的單詞序列預測多個詞類的各自的概率;解碼器還可被配置為:基于所述多個詞類的預測的概率將單詞添加到之前已被搜索的單詞序列。
解碼器還可被配置為:將屬于在所述多個詞類之中具有最高概率的詞類的單詞添加到之前已被搜索的單詞序列。
解碼器還可被配置為:搜索與語音信號對應的多個候選單詞,并基于所述多個候選單詞的各自的概率和所述多個預測的詞類的預測的概率確定是否將所述多個候選單詞中的一個候選單詞添加到之前已被搜索的單詞序列。
解碼器還可被配置為:搜索與語音信號對應的候選單詞,并基于預測的詞類確定是否將候選單詞添加到之前已被搜索的單詞序列。
其他特征和方面從下面的具體實施方式、附圖和權(quán)利要求將是清楚的。
附圖說明
圖1是示出語音識別設(shè)備的示例的框圖。
圖2是示出預測跟隨單詞序列的單詞的詞類概率分布的處理的示例的示圖。
圖3是示出基于一詞性調(diào)整候選單詞序列的概率值的處理的示例的示圖。
圖4是示出通過應用個性化的信息調(diào)整候選單詞序列的概率值的處理的示例的示圖。
圖5是示出基于預測的詞類概率分布調(diào)整候選單詞序列的概率值的處理的示例的示圖。
圖6是示出語音識別設(shè)備的另一示例的框圖。
圖7是示出詞類預測模型生成設(shè)備的示例的框圖。
圖8是示出生成詞類預測模型的方法的示例的示圖。
圖9是示出語音識別方法的示例的流程圖。
圖10是示出語音識別方法的另一示例的流程圖。
圖11是示出生成詞類預測模型的方法的示例的流程圖。
貫穿附圖和具體實施方式,除非另外被描述,否則相同的附圖標記將被理解為表示相同的元件、特征和結(jié)構(gòu)。附圖可不按比例,并且為了清楚、說明和便利,這些元件的相對大小、比例和描寫可被夸大。
具體實施方式
下面的詳細描述被提供以協(xié)助讀者獲得對在此描述的方法、設(shè)備和/或系統(tǒng)的全面理解。然而,在對本申請的公開的理解后,在此描述的方法、設(shè)備和/或系統(tǒng)的各種變化、修改和等同物將是明顯的。例如,在此描述的操作的順序僅是示例,操作的順序不被局限于在此闡述的那些順序,而是除了必需按特定順序發(fā)生的操作之外可被改變,在對本申請的公開理解之后將是明顯的。同樣,為了更加清楚和簡潔,對本領(lǐng)域中已知的特征的描述可以被省略。
在此描述的特征可以不同的形式被實現(xiàn),并且不應被解釋為被局限于在此描述的示例。相反,在此描述的示例僅被提供于示出實現(xiàn)在此描述的執(zhí)行方法、設(shè)備和/或系統(tǒng)的許多可能方式中的一些方式,這在對本申請的公開理解之后將是明顯的。
圖1是示出語音識別設(shè)備的示例的框圖。語音識別設(shè)備100可以以硬件芯片的形式被制造,并可在電子裝置上被安裝。電子裝置可為(例如)電視(TV)、導航系統(tǒng)、車輛電子裝置、智能電話、平板PC、桌面計算機、筆記本PC或者可穿戴裝置(例如,智能手表、智能眼鏡、智能耳麥或智能耳機),但不限于此。
參照圖1,語音識別設(shè)備100可包括:預測器110和解碼器120。
預測器110基于之前檢測的候選單詞序列預測跟隨之前檢測的候選單詞序列的下一單詞的詞類。為了根據(jù)上下文確定單詞是否能跟隨之前檢測的候選單詞序列,來定義詞類,并指示單詞類型。例如,詞類可為實體名或詞性(例如,名稱、動詞、形容詞或副詞)。
實體名可為適當?shù)拿~或在句子中具有重要意義的未注冊的單詞(諸如,人名、位置名、組織名、日期、時間、書名、電影名、音樂名或TV節(jié)目名)。實體名可為多個單詞的短語(諸如,“紐約”或“美國專利及商標局”)。
在一個示例中,預測器110使用詞類預測模型預測跟隨之前已被搜索的候選單詞序列的單詞的詞類??苫趩卧~序列將詞類預測模型實現(xiàn)為預測作為跟隨單詞序列的下一單詞的單詞的詞類或詞類概率分布。例如,詞類預測模型可基于詞典和語法以規(guī)則集的形式被構(gòu)造并被實現(xiàn)為預測詞類,或者可通過使用(例如)命名的實體識別方案或詞性標注方案的機器學習被構(gòu)造并被實現(xiàn)為預測詞類概率分布。也就是,預測器110可使用以規(guī)則集的形式構(gòu)造的詞類預測模型預測詞類,或者使用通過機器學習構(gòu)造的詞類預測模型預測詞類概率分布,并且隨后基于預測的詞類概率分布預測詞類。
機器學習算法可為神經(jīng)網(wǎng)絡、決策樹、遺傳算法(GA)、遺傳編程(GP)、高斯過程回歸、線性判別分析、k最近鄰(k-NN)算法、感知機、徑向基函數(shù)網(wǎng)絡、支持向量機(SVM)或深度學習(例如,遞歸神經(jīng)網(wǎng)絡(RNN))。
解碼器120搜索與語音信號對應的候選單詞,并使用已被搜索的候選單詞擴展之前已被搜索的候選單詞序列。換句話說,解碼器120基于語音信號添加高度可能作為跟隨之前識別的候選單詞序列的下一單詞出現(xiàn)的單詞,以跟隨候選單詞序列來逐步擴展候選單詞序列。
在一個示例中,解碼器120使用聲學模型、發(fā)音詞典和語言模型搜索與語音信號對應的候選單詞。
聲學模型是接收語音信號并輸出音素(phone或subphone,音子或子音子)概率矢量的模型。可使用(例如)隱馬爾科夫模型(HMM)、高斯混合模型(GMM)、遞歸神經(jīng)網(wǎng)絡(RNN)、深度神經(jīng)網(wǎng)絡(DNN)、雙向長短期模型(BLSTM)或者長短期記憶(LSTM)來預先構(gòu)造聲學模型。
發(fā)音詞典是用于語音識別的單詞被定義并且單詞的發(fā)音符號被記錄的模型。可基于從語料庫或詞典采集的單詞預先構(gòu)造發(fā)音詞典。
語言模型是單詞與另一單詞之間的規(guī)則(也就是,一種語法)被定義的模型??墒褂?例如)n-gram模型、遞歸神經(jīng)網(wǎng)絡(RNN)、深度神經(jīng)網(wǎng)絡(DNN)、雙向長短期模型(BLSTM)或者長短期記憶(LSTM)來預先構(gòu)造語言模型,以通過參照組成單詞序列的一列單詞確定單詞序列的概率。
在一個示例中,發(fā)音詞典和語言模型以加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式的數(shù)據(jù)結(jié)構(gòu)構(gòu)造。加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式的數(shù)據(jù)結(jié)構(gòu)可為包括音素序列的所有可能的單詞序列的簡短的數(shù)據(jù)結(jié)構(gòu)。如果發(fā)音詞典和語言模型以WFST的形式的數(shù)據(jù)結(jié)構(gòu)來構(gòu)造,則解碼器120基于WFST形式的數(shù)據(jù)結(jié)構(gòu)搜索與語音信號對應的可能的單詞序列。
解碼器120計算擴展的候選單詞序列的概率值。例如,解碼器120使用聲學模型和語言模型計算已被搜索的候選單詞的概率值,并基于候選單詞的計算的概率值計算擴展的候選單詞序列的概率值。
此外,解碼器120基于由預測器110預測的詞類調(diào)整擴展的候選單詞序列的概率值。
在一個示例中,解碼器120通過增加已被搜索的候選單詞之中的屬于由預測器110預測的詞類的候選單詞的概率值,來調(diào)整擴展的候選單詞序列的概率值。例如,當預測器110將位置名預測為跟隨之前已被搜索的候選單詞序列的單詞的詞類,并且解碼器120搜索與人名有關(guān)的“A”以及與位置名有關(guān)的“B”和“C”作為與語音信號對應的候選單詞時,解碼器120在已被搜索的候選單詞“A”、“B”和“C”之中通過將大的權(quán)重應用于屬于位置名的候選單詞“B”和“C”,來增加候選單詞“B”和“C”的概率值。應用權(quán)重的方案可為調(diào)整語言模型和/或聲學模型的權(quán)重的方案,但是該方案不限于此,并且該權(quán)重可被應用于各種方案。
在另一示例中,解碼器120通過增加已被搜索的候選單詞之中的屬于由預測器110預測的詞類的并包括在個性化的語言模型中的候選單詞的概率值,調(diào)整擴展的候選單詞序列的概率值。例如,如果預測器110將位置名預測為跟隨之前已被搜索的候選單詞序列的單詞的詞類,則解碼器120搜索與人名有關(guān)的“A”以及與位置名有關(guān)的“B”和“C”作為與語音信號對應的候選單詞,并且位置名“C”連同位置名“D”和“E”也被包括在個性化的語言模型中,解碼器120通過將大的權(quán)重應用于已被搜索的候選單詞“A”、“B”和“C”之中的屬于該位置名的并被包括在個性化的語言模型中的候選單詞“C”,來增加候選單詞“C”的概率值。
可基于個性化的語料庫使用(例如)n-gram模型、遞歸神經(jīng)網(wǎng)絡(RNN)、深度神經(jīng)網(wǎng)絡(DNN)、雙向長短期模型(BLSTM)或者長短期記憶(LSTM)來預先構(gòu)造個性化的語言模型。
在另一示例中,解碼器120通過在屬于類的候選單詞的概率值中反映各個預測的詞類的概率值,來調(diào)整擴展的候選單詞序列的概率值。例如,當預測器110預測位置名為0.6以及人名為0.4作為跟隨之前已被搜索的候選單詞序列的單詞的類概率,并且解碼器120搜索與人名有關(guān)的“A”以及與位置名有關(guān)的“B”和“C”作為與語音信號對應的候選單詞時,解碼器120通過用0.4乘以候選單詞“A”的概率值并用0.6乘以候選單詞“B”的概率值和“C”的概率值,來調(diào)整候選單詞“A”、“B”和“C”的概率值。
解碼器120可在已被搜索的候選單詞之中通過刪減不屬于由預測器110預測的詞類的單詞來減少未來的搜索范圍。換句話說,解碼器120可在已被搜索的候選單詞之中去除不屬于由預測器110預測的詞類的未來的搜索目標單詞。
此外,解碼器120基于候選單詞序列的概率值的調(diào)整的結(jié)果選擇具有最大概率值的候選單詞序列,并輸出選擇的候選單詞序列作為語音識別結(jié)果。
此外,當針對輸入語音信號的語音識別沒有完成時,解碼器120可從擴展的/生成的候選單詞序列選擇預定數(shù)量的概率值大的候選單詞序列,并從未來的搜索范圍去除其他的候選單詞序列。
圖2是示出預測跟隨單詞序列的單詞的詞類概率分布的處理的示例的示圖。在這個示例中,詞類預測模型被假定為實現(xiàn)的基于RNN的模型以預測詞類概率分布。
預測器110使用之前構(gòu)造的詞類預測模型預測跟隨單詞序列“How do I get to”的下一單詞的詞類概率分布。即,當預測器110在時間t5接收“to”時,預測器110使用之前構(gòu)造的詞類預測模型來預測跟隨候選單詞序列“How do I get to”的下一單詞的詞類概率分布。在示出的示例中,跟隨“How do I get to”的下一單詞的詞類概率中,所有格為0.2、位置名為0.4,人名為0.3。在這個示例中,位置名0.4的概率為最高的概率。
圖3是示出基于詞性調(diào)整候選單詞序列的概率值的處理的示例以及示出在語音識別處理中在特定時間點(t4)的快照的示例的視圖。在這個示例中,如所示出的,假定解碼器120已生成與從t1到t3的時間的語音信號對應的候選單詞序列“I’m going to”。
在示出的示例中,因為根據(jù)上下文,動詞高度可能作為跟隨“I’m going to”的下一單詞出現(xiàn),所以預測器110基于候選單詞序列“I’m going to”將動詞預測為跟隨“I’m going to”的單詞的詞類。預測器110可基于單詞序列使用之前已被構(gòu)造為預測跟隨單詞序列的單詞的詞類的詞類預測模型。
解碼器120基于聲學模型、發(fā)音詞典和語言模型搜索作為跟隨候選單詞序列“I’m going to”的下一單詞出現(xiàn)的候選單詞“meet”、“meat”和“minjung”,并在時間點t4擴展候選單詞序列“I’m going to”以生成擴展的候選單詞序列“I’m going to meet”、“I’m going to meat”和“I’m going to minjung”。
然后,解碼器120在候選單詞“meet”、“meat”和“minjung”之中增加屬于動詞詞類的“meet”的概率值以增加“I’m going to meet”的概率值。
圖4是示出通過應用個性化的信息調(diào)整候選單詞序列的概率值的處理的示例并且示出在語音識別處理中在特定時間點(t5)的快照的示例的示圖。在這個示例中,如所示出的,假定解碼器120已生成與從t1到t4的時間上的語音信號對應的候選單詞序列“I’m going to meet”。
在示出的示例中,因為根據(jù)上下文,人名高度可能作為“I’m going to meet”后的下一單詞出現(xiàn),所以預測器110基于候選單詞序列“I’m going to meet”預測人名作為跟隨“I’m going to meet”的單詞的詞類。預測器110可基于單詞序列使用之前已被構(gòu)造為預測跟隨單詞序列的單詞的詞類的詞類預測模型。
解碼器120基于聲學模型、發(fā)音詞典和語言模型搜索作為跟隨候選單詞序列“I’m going to meet”的下一單詞出現(xiàn)的候選單詞“heejong”、“heeja”、“minjung”和“heejung”,并在時間點t5擴展候選單詞序列“I’m going to meet”以生成擴展的候選單詞序列“I’m going to meet heejong”、“I’m going to meet heeja”、“I’m going to meet minjung”和“I’m going to meet heejung”。
然后,解碼器120搜索與人名有關(guān)的個性化的語言模型(PLM),在候選單詞“heejong”、“heeja”、“minjung”和“heejung”之中增加在個性化的語言模型(PLM)中發(fā)現(xiàn)的“heejung”的概率值,并增加“I’m going to meet heejung”的概率值。
圖5是示出基于預測的詞類概率分布調(diào)整候選單詞序列的概率值的處理的示例以及示出在語音識別處理中在特定時間點(t9)的快照的示例的示圖。在這個示例中,如在圖5中所示,假定解碼器120已生成與從t1到t8的時間中的語音信號對應的候選單詞序列“I want to make a call to David’s”和“I want to make a call to David”。
預測器110基于候選單詞序列“I want to make a call to David’s”預測跟隨候選單詞序列“I want to make a call to David’s”的單詞的詞類概率分布,并基于候選單詞序列“I want to make a call to David”預測跟隨候選單詞序列“I want to make a call to David”的單詞的詞類概率分布。在示出的示例中,預測器110預測名詞為0.8以及所有格為0.1,以作為作為跟隨候選單詞序列“I want to make a call to David’s”的下一單詞的單詞的詞類概率,并預測動詞為0.01、人名為0.5和所有格為0.3,以作為作為跟隨候選單詞序列“I want to make a call to David”的下一單詞的單詞的詞類概率。
然后,解碼器120基于聲學模型、發(fā)音詞典和語言模型在時間點t9搜索作為跟隨候選單詞序列“I want to make a call to David’s”的下一單詞出現(xiàn)的候選單詞“office”(概率值0.3)和作為跟隨候選單詞序列“I want to make a call to David”的下一單詞出現(xiàn)的候選單詞“is”(概率值0.6),并通過使用已被搜索的候選單詞擴展各自的候選單詞序列來生成擴展的候選單詞序列“I want to make a call to David’s office”和“I want to make a call to David is”。
然后,解碼器120用名詞類概率值0.8乘“office”的概率值0.3以將擴展的候選單詞序列“I want to make a call to David’s office”的概率值調(diào)整為0.24,并用動詞類概率值0.01乘以“is”的概率值0.6以調(diào)整擴展的候選單詞序列“I want to make a call to David is”的概率值為0.006。
圖6是示出語音識別設(shè)備的另一示例的框圖。
參照圖6,與在圖1中的語音識別設(shè)備100相比,在圖6中的語音識別設(shè)備600還包括:詞類預測模型存儲單元610、聲學模型存儲單元620、發(fā)音詞典存儲單元630、語言模型存儲單元640、個性化的語言模型存儲單元650、輸入單元660、特征矢量提取器670和輸出單元680。
詞類預測模型存儲單元610存儲詞類預測模型,聲學模型存儲單元620存儲聲學模型,發(fā)音詞典存儲單元630存儲發(fā)音詞典,語言模型存儲單元640存儲語言模型,個性化的語言模型存儲單元650存儲個性化的語言模型。
在一個示例中,詞類預測模型存儲單元610、聲學模型存儲單元620、發(fā)音詞典存儲單元630、語言模型存儲單元640和個性化的語言模型存儲單元650包括:閃存、硬盤、多媒體卡(MMC)、微型多媒體卡、存儲器卡(例如,SD存儲器卡或XD存儲器卡)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁存儲器、磁盤、光盤中的任何一個或者任何兩個或更多個的任何組合作為存儲器介質(zhì)。
盡管存儲單元610至650在示出的示例中被顯示為分離的組件,但是存儲單元610至650可被集成為一個存儲單元。
輸入單元660接收用戶語音信號。為達到這個目的,輸入單元660可包括(例如)麥克風。
特征矢量提取器670將輸入語音信號劃分為單元幀,并提取與劃分的輸入語音信號的部分對應的特征矢量。
在一個示例中,特征矢量提取器670通過聲音活動檢測(VAD)從輸入語音信號檢測語音部分,并在檢測的語音部分中從語音信號提取語音的特征以獲得適合于語音識別的信息。在一個示例中,特征矢量提取器670針對每一單元幀計算語音信號的頻率特性以提取包括在語音信號中的特征矢量。為了達到這個目的,特征矢量提取器670可包括將模擬語音信號轉(zhuǎn)換為數(shù)字語音信號的模數(shù)(A/D)轉(zhuǎn)換器,并且可將數(shù)字語音信號劃分為大約10ms的單元幀并處理該信號。
特征矢量提取器670可使用梅爾頻率倒頻譜系數(shù)(MFCC)特征提取方案提取特征矢量。在梅爾頻率倒頻譜系數(shù)(MFCC)特征提取方案中,可使用以一階微分或二階微分的組合的形式的梅爾倒頻譜系數(shù)、對數(shù)能量和特征矢量。
此外,特征矢量提取器670可使用諸如線性預測編碼(LPC)、LPC導出的倒頻譜、感知線性預測(PLP)、音頻模型特征提取或濾波器組的方法以提取單元幀區(qū)域中的語音信號的特征。
輸出單元680輸出語音識別結(jié)果。在一個示例中,輸出單元680以可聽的方式或可視的方式輸出語音識別結(jié)果。為了達到這個目的,輸出單元680可包括(例如):揚聲器或顯示器。顯示器可包括(例如):液晶顯示器、薄膜晶體管液晶顯示器、有機發(fā)光二極管、柔性顯示器、三維顯示器(3D顯示器)或者眼鏡式顯示器(例如,頭戴式顯示器(HMD)、面部安裝的顯示器(face-mounted display,F(xiàn)MD)、眼部安裝的顯示器(eye-mounted display,EMD)或眼鏡顯示器(EGD))。
圖7是示出詞類預測模型生成設(shè)備的示例的框圖。
參照圖7,詞類預測模型生成設(shè)備700包括:訓練數(shù)據(jù)采集器710和模型生成器720。
訓練數(shù)據(jù)采集器710采集包括多個單詞序列和多個與各自的單詞序列對應的類序列的訓練數(shù)據(jù)。
訓練數(shù)據(jù)采集器710采集訓練數(shù)據(jù)的方法沒有特定的限制。也就是,訓練數(shù)據(jù)采集器710能簡單地從外部裝置接收和采集多個單詞序列和多個與每一單詞序列對應的類序列,或者能從外部裝置接收多個單詞序列并使用詞典或其他資源通過命名的實體識別方案或詞性標記方案生成與每一單詞序列對應的類序列。
模型生成器720基于采集的訓練數(shù)據(jù)通過機器學習生成詞類預測模型。機器學習算法可為神經(jīng)網(wǎng)絡、決策樹、遺傳算法(GA)、遺傳編程(GP)、高斯處理回歸、線性判決分析、k最近鄰(k-NN)算法、感知機、徑向基函數(shù)網(wǎng)絡、支持向量機(SVM)或深度學習(例如,遞歸神經(jīng)網(wǎng)絡(RNN))。
將參照圖8詳細描述生成詞類預測模型的方法。
圖8是示出生成詞類預測模型的方法的示例的示圖。在這個示例中,詞類預測模型被假定為對序列模式學習有效的基于RNN的模型。模型生成器720在每一時間點使用作為RNN的輸入或目標的下一單詞的單詞和詞類訓練RNN。在這個示例中,輸入和目標可被表示為獨熱(one-hot)矢量。例如,輸入被表示為具有單詞的位置值為1且其他值為0的詞典的大小的獨熱矢量,目標被表示為具有類的位置值為1且其他值為0的將被處理的類的大小的獨熱矢量。
參照圖8,模型生成器720在時間點t1使用作為輸入的指示單詞序列的開始的單詞“<s>”和作為目標的第一單詞的詞類“副詞”來訓練RNN。
然后,模型生成器720在時間點t2使用作為輸入的第一單詞“how”和作為目標的第二單詞的詞類“動詞根”來訓練RNN。
模型生成器720在時間點t3至時間點t5之間的每一時間點以這樣的方式訓練RNN,并在時間點t6使用作為輸入的第五單詞“to”和作為目標的第六單詞的詞類“位置名”來訓練RNN。
模型生成器720以這樣的方式學習多個訓練數(shù)據(jù)項,并生成詞類預測模型。
圖9是示出語音識別方法的示例的流程圖。
參照圖1至圖9,語音識別設(shè)備100基于之前已被搜索的候選單詞序列預測跟隨之前已被搜索的候選單詞序列的單詞的詞類(910)。例如,語音識別設(shè)備100使用詞類預測模型預測跟隨之前已被搜索的候選單詞序列的單詞的詞類。可基于單詞序列實現(xiàn)詞類預測模型,以預測跟隨單詞序列的單詞的詞類或詞類概率分布。例如,詞類預測模型可基于詞典和語法以規(guī)則集的形式被構(gòu)造并被實現(xiàn)為預測詞類,或者可使用(例如)命名的實體識別方案或詞性標記方案通過機器學習來構(gòu)造并被實現(xiàn)為預測詞類概率分布。也就是,語音識別設(shè)備100可使用以規(guī)則集的形式構(gòu)造的詞類預測模型來預測詞類,或者可使用通過機器學習構(gòu)造的詞類預測模型來預測詞類概率分布,然后基于預測的詞類概率分布預測詞類。
語音識別設(shè)備100搜索與語音信號對應的候選單詞(920)。例如,語音識別設(shè)備100使用聲學模型、發(fā)音詞典和語言模型搜索與語音信號對應的候選單詞。在這個示例中,發(fā)音詞典和語言模型可以以加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式在數(shù)據(jù)結(jié)構(gòu)中被構(gòu)造。在這個示例中,語音識別設(shè)備100基于WFST搜索與語音信號對應的可能的單詞序列。
語音識別設(shè)備100使用已被搜索的候選單詞擴展之前已被搜索的候選單詞序列(930)。例如,語音識別設(shè)備100添加高度可能作為跟隨候選單詞序列(也就是,已被搜索的候選單詞)的下一單詞出現(xiàn)的單詞,以跟隨候選單詞序列來逐步擴展候選單詞序列。
語音識別設(shè)備100基于預測的詞類調(diào)整擴展的候選單詞序列的概率值(940)。
在一個示例中,語音識別設(shè)備100在已被搜索的候選單詞之中通過增加屬于預測的詞類的候選單詞的概率值,調(diào)整擴展的候選單詞序列的概率值。
在另一示例中,語音識別設(shè)備100在已被搜索的候選單詞之中通過增加屬于預測的詞類的并包括在個性化的語言模型中的候選單詞的概率值,調(diào)整擴展的候選單詞序列的概率值。
在另一示例中,語音識別設(shè)備100在屬于該類的候選單詞的概率值中反映每一預測的詞類的概率值,以調(diào)整擴展的候選單詞序列的概率值。
圖10是示出語音識別方法的另一示例的流程圖。
參照圖1至圖10,語音識別設(shè)備100接收語音信號(1010),并搜索與語音信號對應的候選單詞(1020)。例如,語音識別設(shè)備100使用聲學模型、發(fā)音詞典和語言模型搜索與語音信號對應的候選單詞。在這個示例中,發(fā)音詞典和語言模型可以以加權(quán)有限狀態(tài)轉(zhuǎn)換器(WFST)的形式在數(shù)據(jù)結(jié)構(gòu)中被構(gòu)造。在這個示例中,語音識別設(shè)備100基于WFST搜索與語音信號對應的可能的單詞序列。
語音識別設(shè)備100使用已被搜索的候選單詞擴展之前已被搜索的候選單詞序列(1030)。例如,語音識別設(shè)備100添加高度可能作為之前識別的候選單詞序列的下一單詞出現(xiàn)的單詞,以跟隨候選單詞序列來逐步擴展候選單詞序列。
語音識別設(shè)備100計算擴展的候選單詞序列的概率值(1040)。例如,語音識別設(shè)備100使用聲學模型和語言模型計算擴展的候選單詞序列的概率值。
語音識別設(shè)備100基于之前已被搜索的候選單詞序列,預測跟隨之前已被搜索的候選單詞序列的單詞的詞類(1050)。例如,語音識別設(shè)備100使用詞類預測模型預測跟隨之前已被搜索的候選單詞序列的單詞的詞類。在這個示例中,詞類預測模型可基于單詞序列被實現(xiàn)以預測跟隨單詞序列的單詞的詞類或詞類概率分布。例如,詞類預測模型可基于詞典和語法以規(guī)則集的形式被構(gòu)造并被實現(xiàn)為預測詞類,或者可使用(例如)命名的實體識別方案或詞性標記方案通過機器學習被構(gòu)造并被實現(xiàn)為預測詞類概率分布。也就是,語音識別設(shè)備100可使用以規(guī)則集的形式構(gòu)造的詞類預測模型預測詞類,或者可使用通過機器學習構(gòu)造的詞類預測模型預測詞類概率分布,然后基于預測的詞類概率分布預測詞類。
語音識別設(shè)備100基于預測的詞類調(diào)整擴展的候選單詞序列的概率值(1060)。
在一個示例中,語音識別設(shè)備100在已被搜索的候選單詞之中通過增加屬于預測的詞類的候選單詞的概率值,調(diào)整擴展的候選單詞序列的概率值。
在另一示例中,語音識別設(shè)備100在已被搜索的候選單詞之中通過增加屬于預測的詞類的并包括在個性化的語言模型中的候選單詞的概率值,調(diào)整擴展的候選單詞序列的概率值。
在另一示例中,語音識別設(shè)備100通過在屬于類的候選單詞的概率值中反映每一預測的詞類的概率值,調(diào)整擴展的候選單詞序列的概率值。
語音識別設(shè)備100確定語音識別是否被完成(1070),并且如果語音識別被完成,則輸出具有最大概率值的候選單詞作為語音識別結(jié)果(1080)。
如果語音識別結(jié)果沒有被完成,則語音識別設(shè)備100選擇預定數(shù)量的概率值大的候選單詞序列,并從未來的搜索范圍去除其他候選單詞序列(1090)。
語音識別設(shè)備100可在已被搜索的候選單詞之中通過刪減不屬于預測的詞類的單詞,減少未來的搜索范圍。換句話說,語音識別設(shè)備100可在已被搜索的候選單詞之中去除不屬于預測的單詞的未來的搜索目標單詞。
圖11是示出生成詞類預測模型的方法的示例的流程圖。
參照圖7和圖11,詞類預測模型生成設(shè)備700采集包括多個單詞序列和多個與各自的單詞序列對應的類序列的訓練數(shù)據(jù)(1110)。
詞類預測模型生成設(shè)備700基于采集的訓練數(shù)據(jù)通過機器學習生成詞類預測模型(1120)。在這個示例中,機器學習算法可為神經(jīng)網(wǎng)絡、決策樹、遺傳算法(GA)、遺傳編程(GP)、高斯處理回歸、線性判決分析、k最近鄰(k-NN)算法、感知器、徑向基函數(shù)網(wǎng)絡、支持向量機(SVM)或深度學習(例如,遞歸神經(jīng)網(wǎng)絡(RNN))。因為詞類預測模型生成設(shè)備700生成詞類預測模型的特定方法與上面參照圖8的描述的方法相同,所以它們的詳細描述將參照圖11被省略。
通過被配置為執(zhí)行由硬件組件所執(zhí)行的在本申請中描述的操作的硬件組件,實施執(zhí)行在本申請中描述的操作的圖1至圖6中的預測器110、圖1和圖6中的解碼器120、圖6中的詞類預測模型存儲器單元610、聲學模型存儲器單元620、發(fā)音詞典存儲器單元630、語言模型存儲器單元640、個性化的語言模型存儲器單元650、輸入單元660、特征矢量提取器670和輸出單元680,以及圖7中的訓練數(shù)據(jù)采集器710和模型生成器720??捎糜趫?zhí)行在本申請中的適當位置描述的操作的硬件組件的示例包括:控制器、傳感器、生成器、驅(qū)動器、存儲器、比較器、算術(shù)邏輯單元、加法器、減法器、乘法器、除法器、積分器和任何其他被配置為執(zhí)行在本申請中描述的操作的電子組件。在其他示例中,一個或多個執(zhí)行在本申請中描述的操作的硬件組件通過計算機硬件(例如,通過一個或多個處理器或計算機)實施。處理器或計算機可通過一個或多個處理元件(諸如,邏輯門陣列、控制器和算術(shù)邏輯單元)、數(shù)字信號處理器、微型計算機、可編程邏輯控制器、現(xiàn)場可編輯門陣列、可編程邏輯陣列、微處理器或任何其他被配置為以定義的方式響應并執(zhí)行指令去實現(xiàn)期望的結(jié)果的裝置或裝置的組合被實施。在一個示例中,處理器或計算機包括或被連接到,一個或多個存儲有被處理器或計算機執(zhí)行的指令或軟件的存儲器。被處理器和計算器實施的硬件組件可執(zhí)行指令或軟件(諸如操作系統(tǒng)(OS)和運行在OS中的一個或多個軟件應用)來執(zhí)行在本申請中描述的操作。響應于指令或軟件的執(zhí)行,硬件組件還可訪問、操縱、處理、生成和存儲數(shù)據(jù)。為了簡明,單數(shù)術(shù)語“處理器”或“計算機”可用于在本申請中描述的示例的描述中,但在其他示例中,多處理器或多計算機可被使用,或者一個處理器或計算機可包括多處理器元件或多種類型的處理器元件或者兩者均有。例如,單個硬件組件或兩個或更多個硬件組件可通過單個處理器或者兩個或更多個處理器或者一個處理器和控制器實施。一個或多個硬件組件可通過一個或多個處理器,或者一個處理器和一個控制器實施,并且一個或多個其他硬件組件可通過一個或多個其他處理器,或者另一處理器和另一控制器實施。一個或多個處理器,或者一個處理器和一個控制器可實施單個硬件組件,或者兩個或更多個硬件組件。硬件組件可具有任何一個或多個不同的處理配置,其示例包括:單處理器、獨立的處理器、并行處理器、單指令單數(shù)據(jù)(SISD)多重處理、多指令單數(shù)據(jù)(MISD)多重處理、單指令多數(shù)據(jù)(SIMD)多重處理以及多指令多數(shù)據(jù)(MIMD)多重處理。
圖9至圖11中示出的執(zhí)行在本申請中描述的操作的方法由如上描述的那樣被實施為執(zhí)行指令或軟件以執(zhí)行所述方法所執(zhí)行的在本申請中描述的操作的計算機硬件(例如,一個或多個處理器或計算機)執(zhí)行。例如,單個操作或者兩個或更多個操作可通過單處理器或者兩個或更多個處理器,或者處理器和控制器來執(zhí)行。一個或多個操作可通過一個或多個處理器,或者處理器和控制器來執(zhí)行,且一個或多個其他操作可通過一個或多個其他處理器,或者另一處理器和另一控制器來執(zhí)行。一個或多個處理器,或者處理器和控制器,可執(zhí)行單個操作,或者兩個或更多個操作。
為了單獨地或共同地指示或配置一個或多個處理器或計算機來作為機器或?qū)S糜嬎銠C執(zhí)行被如上面所描述的硬件組件和方法所執(zhí)行的操作,用于控制計算機硬件(例如,一個或多個處理器或計算機)以實施硬件組件并執(zhí)行如上面所描述的方法的指令或軟件可被寫為計算機程序、代碼段、指令或它們的任意組合。在一個示例中,指令或軟件包括直接被一個或多個處理器或計算機執(zhí)行的機器代碼(諸如,被編譯器產(chǎn)生的機器代碼)。在另一示例中,指令或軟件包括被一個或多個處理器或計算機使用解釋器執(zhí)行的高級代碼。指令或軟件可基于公開了用于執(zhí)行被如上所述的硬件組件和方法執(zhí)行的操作的算法的在附圖中示出的框圖和流程圖和說明書的相應描述使用任意編程語言被編寫。
用于控制計算機硬件(例如,一個或多個處理器或計算機)以實施硬件組件并執(zhí)行如上所述的方法的指令或軟件、以及任何相關(guān)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu)可被記錄、存儲或安裝在一個或多個非暫時計算機可讀存儲介質(zhì)中或上。非暫時性計算機可讀存儲介質(zhì)的示例包括:只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-Re、磁帶、軟盤、磁光數(shù)據(jù)存儲裝置、光學數(shù)據(jù)存儲裝置、硬盤、固態(tài)盤、和被配置為以非暫時方式存儲指令或軟件、以及任何相關(guān)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu),并向一個或多個處理器或計算機提供指令或軟件、以及任何相關(guān)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu)以便所述一個或多個處理器和計算機能夠執(zhí)行指令的任何其他設(shè)備。在一個示例中,指令或軟件、以及任何相關(guān)數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu)分布在聯(lián)網(wǎng)的計算機系統(tǒng)上,以便指令和軟件、以及任何相關(guān)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu)被一個或多個處理器或計算機以分布式方式存儲、訪問和執(zhí)行。
盡管本公開包括特定的示例,但是在不脫離權(quán)利要求和它們的等同物的精神和范圍的情況下可在這些示例中做出形式和細節(jié)上各種改變,在對本申請的公開的理解后將是清楚的。在此描述的示例被認為僅是描述性的,而非為了限制的目的。在每一示例中的特征和方面的描述將被認為適用于其他示例中的相似特征和方面。如果描述的技術(shù)以不同的順序被執(zhí)行,和/或如果在描述的系統(tǒng)、架構(gòu)、裝置、或電路中的組件以不同的方式組合,和/或被其他組件或者它們的等同物代替或增補,可實現(xiàn)合適的結(jié)果。因此,公開的范圍不是通過具體實施方式所限定,而是由權(quán)利要求和它們的等同物限定,并且在權(quán)利要求和它們的等同物的范圍內(nèi)的所有變化將被解釋為被包括在該公開之內(nèi)。