本發(fā)明涉及語音識別技術領域,尤其涉及一種語音識別方法及裝置。
背景技術:
有時為了解決特定的問題,會將采集的語音信息同時送往在線和離線兩個服務系統(tǒng)進行識別,這樣對于同一份語音數(shù)據(jù)可以得到兩個結果,這兩個結果可能相同也可能不同,而對于輸出來說只需要一份識別結果。因此,如何篩選出合適的識別結果成為目前亟待解決的技術問題。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種語音識別方法及裝置,用以實現(xiàn)在同時通過本地服務器和網(wǎng)絡服務器識別語音數(shù)據(jù)信息時,可以從得到的兩個識別結果中挑選出語音數(shù)據(jù)信息對應的最佳的識別結果。
根據(jù)本發(fā)明實施例的第一方面,提供一種語音識別方法,包括:
采集語音數(shù)據(jù)信息;
分別發(fā)送語音數(shù)據(jù)信息至本地服務器和網(wǎng)絡服務器進行識別;
獲取所述本地服務器識別得到的第一識別結果和所述網(wǎng)絡服務器識別得到的第二識別結果,其中,所述第一識別結果中包括第一識別結果可信度,所述第二識別結果中包括第二識別結果可信度;
確定所述第一識別結果的第一獲取時刻和所述第二識別結果的第二獲取時刻,并從所述第一識別結果和所述第二識別結果中選取出獲取時刻在前且識別結果可信度大于或者等于預設識別結果可信度的最終識別結果。
在該實施例中,將采集到的語音數(shù)據(jù)信息同時發(fā)送至本地服務器和網(wǎng)絡服務器,并從得到的兩個識別結果中選取出獲取時刻在先,即先獲取到的且識別結果可信度大于或者等于預設識別結果可信度的結果作為最終識別結果,這樣,不但可以保證獲取速度更快,還能保證識別結果的準確性,提升用戶的使用體驗。
在一個實施例中,所述確定所述第一識別結果的第一獲取時刻和所述第二識別結果的第二獲取時刻,并從所述第一識別結果和所述第二識別結果中選取出獲取時刻在前且識別結果可信度大于或者等于預設識別結果可信度的最終識別結果,包括:
在獲取到所述第一識別結果時,為所述第一識別結果分配當前離線識別序列號,在獲取到所述第二識別結果時,為所述第二識別結果分配當前在線識別序列號,其中,當前離線識別序列號和當前在線識別序列號包括識別類型和序列編號,對于根據(jù)同一語音數(shù)據(jù)信息得到的第一識別結果和第二識別結果,序列編號相同,每獲取到一個第一識別結果,當前離線識別序列號對應的序列編號加1,每獲取到一個第二識別結果,當前在線識別序列號對應的序列編號加1;
根據(jù)所述當前離線識別序列號確定離線識別最大丟棄序列號和離線識別最小丟棄序列號,其中,所述離線識別最大丟棄序列號為當前離線識別序列號加1;
根據(jù)所述當前在線識別序列號確定在線識別最大丟棄序列號和在線識別最小丟棄序列號,其中,所述在線識別最大丟棄序列號為當前在線識別序列號加1;
根據(jù)所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號、離線識別最小丟棄序列號、在線識別最大丟棄序列號、在線識別最小丟棄序列號的序列編號之間的大小關系確定所述第一識別結果和所述第二識別結果中需丟棄的識別結果,以得到所述最終識別結果。
在該實施例中,由于對識別結果進行了序列號標注,這樣,可以生成持續(xù)連續(xù)的記錄,直接生成日記文本,便于對照輸入上網(wǎng)語音和兩路輸出結果進行參考對照,快速方便分析定位問題。
在一個實施例中,根據(jù)所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號、離線識別最小丟棄序列號、在線識別最大丟棄序列號、在線識別最小丟棄序列號的序列編號之間的大小關系確定所述第一識別結果和所述第二識別結果中需丟棄的識別結果,以得到所述最終識別結果,包括:
比較所述當前離線識別序列號的序列編號與所述在線識別最大丟棄序列號的序列編號、在線識別最小丟棄序列號的序列編號之間的大小,以及比較所述當前在線識別序列號的序列編號與所述離線識別最大丟棄序列號的序列編號、離線識別最小丟棄序列號的序列編號之間的大??;
當所述當前離線識別序列號的序列編號大于等于所述在線識別最小丟棄序列號的序列編號,且小于所述在線識別最大丟棄序列號的序列編號時,丟棄所述第一識別結果,將所述第二識別結果確定為所述最終識別結果;
當所述當前在線識別序列號的序列編號大于等于所述離線識別最小丟棄序列號的序列編號,且小于所述離線識別最大丟棄序列號的序列編號時,丟棄所述第二識別結果,將所述第一識別結果確定為所述最終識別結果。
在一個實施例中,所述方法還包括:
當丟棄所述第一識別結果后,將所述離線識別最小丟棄序列號的序列編號置為所述當前在線識別序列號的序列編號加1;
當丟棄所述第二識別結果后,將所述在線識別最小丟棄序列號的序列編號置為所述當前離線識別序列號的序列編號加1。
在一個實施例中,所述方法還包括:
當所述離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當所述在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,重置所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號和離線識別最小丟棄序列號以及在線識別最大丟棄序列號和在線識別最小丟棄序列號。
在該實施例中,當所述離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當所述在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,則說明在一段時間內離線識別都沒有結果輸出,或者在線識別都沒有結果輸出,此時,證明本地服務器出現(xiàn)問題或者網(wǎng)絡服務器出現(xiàn)網(wǎng)絡堵塞等問題,這樣,可以預警監(jiān)測服務器出現(xiàn)的異常狀況,并可通過重置篩選狀態(tài)重新開始工作。
根據(jù)本發(fā)明實施例的第二方面,提供一種語音識別裝置,包括:
采集模塊,用于采集語音數(shù)據(jù)信息;
發(fā)送模塊,用于分別發(fā)送語音數(shù)據(jù)信息至本地服務器和網(wǎng)絡服務器進行識別;
獲取模塊,用于獲取所述本地服務器識別得到的第一識別結果和所述網(wǎng)絡服務器識別得到的第二識別結果,其中,所述第一識別結果中包括第一識別結果可信度,所述第二識別結果中包括第二識別結果可信度;
選取模塊,用于確定所述第一識別結果的第一獲取時刻和所述第二識別結果的第二獲取時刻,并從所述第一識別結果和所述第二識別結果中選取出獲取時刻在前且識別結果可信度大于或者等于預設識別結果可信度的最終識別結果。
在一個實施例中,所述選取模塊包括:
分配子模塊,用于在獲取到所述第一識別結果時,為所述第一識別結果分配當前離線識別序列號,在獲取到所述第二識別結果時,為所述第二識別結果分配當前在線識別序列號,其中,當前離線識別序列號和當前在線識別序列號包括識別類型和序列編號,對于根據(jù)同一語音數(shù)據(jù)信息得到的第一識別結果和第二識別結果,序列編號相同,每獲取到一個第一識別結果,當前離線識別序列號對應的序列編號加1,每獲取到一個第二識別結果,當前在線識別序列號對應的序列編號加1;
第一確定子模塊,用于根據(jù)所述當前離線識別序列號確定離線識別最大丟棄序列號和離線識別最小丟棄序列號,其中,所述離線識別最大丟棄序列號為當前離線識別序列號加1;
第二確定子模塊,用于根據(jù)所述當前在線識別序列號確定在線識別最大丟棄序列號和在線識別最小丟棄序列號,其中,所述在線識別最大丟棄序列號為當前在線識別序列號加1;
第三確定子模塊,用于根據(jù)所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號、離線識別最小丟棄序列號、在線識別最大丟棄序列號、在線識別最小丟棄序列號的序列編號之間的大小關系確定所述第一識別結果和所述第二識別結果中需丟棄的識別結果,以得到所述最終識別結果。
在一個實施例中,所述第三確定子模塊用于:
比較所述當前離線識別序列號的序列編號與所述在線識別最大丟棄序列號的序列編號、在線識別最小丟棄序列號的序列編號之間的大小,以及比較所述當前在線識別序列號的序列編號與所述離線識別最大丟棄序列號的序列編號、離線識別最小丟棄序列號的序列編號之間的大小;
當所述當前離線識別序列號的序列編號大于等于所述在線識別最小丟棄序列號的序列編號,且小于所述在線識別最大丟棄序列號的序列編號時,丟棄所述第一識別結果,將所述第二識別結果確定為所述最終識別結果;
當所述當前在線識別序列號的序列編號大于等于所述離線識別最小丟棄序列號的序列編號,且小于所述離線識別最大丟棄序列號的序列編號時,丟棄所述第二識別結果,將所述第一識別結果確定為所述最終識別結果。
在一個實施例中,所述裝置還包括:
第一處理模塊,用于當丟棄所述第一識別結果后,將所述離線識別最小丟棄序列號的序列編號置為所述當前在線識別序列號的序列編號加1;
第二處理模塊,用于當丟棄所述第二識別結果后,將所述在線識別最小丟棄序列號的序列編號置為所述當前離線識別序列號的序列編號加1。
在一個實施例中,所述裝置還包括:
重置模塊,用于當所述離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當所述在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,重置所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號和離線識別最小丟棄序列號以及在線識別最大丟棄序列號和在線識別最小丟棄序列號。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實施例示出的一種語音識別方法的流程圖。
圖2是根據(jù)一示例性實施例示出的一種語音識別方法中步驟S104的流程圖。
圖3是根據(jù)一示例性實施例示出的一種語音識別方法中步驟S204的流程圖。
圖4是根據(jù)一示例性實施例示出的另一種語音識別方法的流程圖。
圖5至圖7是根據(jù)一示例性實施例示出的語音識別方法的示意圖。
圖8是根據(jù)一示例性實施例示出的又一種語音識別方法的流程圖。
圖9是根據(jù)一示例性實施例示出的語音識別方法的示意圖。
圖10是根據(jù)一示例性實施例示出的一種語音識別裝置的框圖。
圖11是根據(jù)一示例性實施例示出的一種語音識別裝置中選取模塊的框圖。
圖12是根據(jù)一示例性實施例示出的另一種語音識別裝置的框圖。
圖13是根據(jù)一示例性實施例示出的又一種語音識別裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種語音識別方法的流程圖。該語音識別方法應用于終端設備中,該終端設備可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設備,游戲控制臺,平板設備,醫(yī)療設備,健身設備,個人數(shù)字助理等任一具有語音控制功能的設備。如圖1所示,該方法包括步驟S101-S104:
在步驟S101中,采集語音數(shù)據(jù)信息;其中,可以通過錄音線程采集語音數(shù)據(jù)信息。
在步驟S102中,分別發(fā)送語音數(shù)據(jù)信息至本地服務器和網(wǎng)絡服務器進行識別;
在步驟S103中,獲取本地服務器識別得到的第一識別結果和網(wǎng)絡服務器識別得到的第二識別結果,其中,第一識別結果中包括第一識別結果可信度,第二識別結果中包括第二識別結果可信度;
在該實施例中,在識別結果中包含識別可信度,這樣,在篩選識別結果的時候,可以篩選出識別可信度較高的識別結果,從而保證識別結果的準確性。
在步驟S104中,確定第一識別結果的第一獲取時刻和第二識別結果的第二獲取時刻,并從第一識別結果和第二識別結果中選取出獲取時刻在前且識別結果可信度大于或者等于預設識別結果可信度的最終識別結果。
在該實施例中,將采集到的語音數(shù)據(jù)信息同時發(fā)送至本地服務器和網(wǎng)絡服務器,并從得到的兩個識別結果中選取出獲取時刻在先,即先獲取到的且識別結果可信度大于或者等于預設識別結果可信度的結果作為最終識別結果,這樣,不但可以保證獲取速度更快,還能保證識別結果的準確性,提升用戶的使用體驗。
圖2是根據(jù)一示例性實施例示出的一種語音識別方法中步驟S104的流程圖。
如圖2所示,在一個實施例中,上述步驟S104包括步驟S201-S204:
在步驟S201中,在獲取到第一識別結果時,為第一識別結果分配當前離線識別序列號,在獲取到第二識別結果時,為第二識別結果分配當前在線識別序列號,其中,當前離線識別序列號和當前在線識別序列號包括識別類型和序列編號,對于根據(jù)同一語音數(shù)據(jù)信息得到的第一識別結果和第二識別結果,序列編號相同,每獲取到一個第一識別結果,當前離線識別序列號對應的序列編號加1,每獲取到一個第二識別結果,當前在線識別序列號對應的序列編號加1;
在步驟S202中,根據(jù)當前離線識別序列號確定離線識別最大丟棄序列號和離線識別最小丟棄序列號,其中,離線識別最大丟棄序列號為當前離線識別序列號加1;
在步驟S203中,根據(jù)當前在線識別序列號確定在線識別最大丟棄序列號和在線識別最小丟棄序列號,其中,在線識別最大丟棄序列號為當前在線識別序列號加1;
在步驟S204中,根據(jù)當前離線識別序列號、當前在線識別序列號、離線識別最大丟棄序列號、離線識別最小丟棄序列號、在線識別最大丟棄序列號、在線識別最小丟棄序列號的序列編號之間的大小關系確定第一識別結果和第二識別結果中需丟棄的識別結果,以得到最終識別結果。
在該實施例中,由于對識別結果進行了序列號標注,這樣,可以生成持續(xù)連續(xù)的記錄,直接生成日記文本,便于對照輸入上網(wǎng)語音和兩路輸出結果進行參考對照,快速方便分析定位問題。
圖3是根據(jù)一示例性實施例示出的一種語音識別方法中步驟S204的流程圖。
如圖3所示,在一個實施例中,上述步驟S204包括步驟S301-S303:
在步驟S301中,比較當前離線識別序列號的序列編號與在線識別最大丟棄序列號的序列編號、在線識別最小丟棄序列號的序列編號之間的大小,以及比較當前在線識別序列號的序列編號與離線識別最大丟棄序列號的序列編號、離線識別最小丟棄序列號的序列編號之間的大??;
在步驟S302中,當當前離線識別序列號的序列編號大于等于在線識別最小丟棄序列號的序列編號,且小于在線識別最大丟棄序列號的序列編號時,丟棄第一識別結果,將第二識別結果確定為最終識別結果;
在步驟S303中,當當前在線識別序列號的序列編號大于等于離線識別最小丟棄序列號的序列編號,且小于離線識別最大丟棄序列號的序列編號時,丟棄第二識別結果,將第一識別結果確定為最終識別結果。
圖4是根據(jù)一示例性實施例示出的另一種語音識別方法的流程圖。
如圖4所示,在一個實施例中,上述方法還包括步驟S401-S402:
在步驟S401中,當丟棄第一識別結果后,將離線識別最小丟棄序列號的序列編號置為當前在線識別序列號的序列編號加1;
在步驟S402中,當丟棄第二識別結果后,將在線識別最小丟棄序列號的序列編號置為當前離線識別序列號的序列編號加1。
下面以一個具體實施例詳細說明上述技術方案。
在線識別asr和離線識別lsr分別將服務器對語音信息識別后得到的結果進行標注,其分別在獲取結果后在數(shù)據(jù)前加序列編號asr_seq、lsr_seq,序列編號為unsigned char(0-255)。
在在線識別和離線識別都保持了一個連續(xù)序號在線識別_序列編號asr_seq、離線識別_序列編號lsr_seq的增長,分別記錄各自當前達到的序列號,其中,當前在線識別序列號表示為asr_cur,當前離線識別序列號表示為lsr_cur,和在線識別最小丟棄序列號asr_min、離線識別最小丟棄序列號lsr_min;在線識別最大丟棄序列號asr_max、離線識別最大丟棄序列號lsr_max,其中,最大丟棄序列號始終為當前序列號加一,即asr_cur+1和lsr_cur+1。位于最大丟棄序列號和最小丟棄序列號之間的序列號需要被丟棄,稱為丟棄窗口。如圖5所示,當前兩個窗口都為0。理想的情況是兩路識別結果是同步的,即一路離線識別結果,一路在線識別結果,兩路丟棄窗口都被減小為0,意思是此時先到達的結果可以通過篩選結果。例如此時離線lsr識別結果先達到,查看在線asr的丟棄窗口為0,因此離線lsr的結果輸出給用戶,并將自己的丟棄窗口長度變?yōu)?,后到來的相同序列編號的在線asr識別結果落在這個窗口內從而被丟棄。
其中,丟棄規(guī)則為:
離線lsr查看在線asr的丟棄窗口:asr_min≤lsr_cur<asr_max
在線asr查看離線lsr的丟棄窗口:lsr_min≤asr_cur<asr_max。
即當當前離線識別序列號的序列編號大于等于在線識別最小丟棄序列號的序列編號,且小于在線識別最大丟棄序列號的序列編號時,丟棄第一識別結果,將第二識別結果確定為最終識別結果;
當當前在線識別序列號的序列編號大于等于離線識別最小丟棄序列號的序列編號,且小于離線識別最大丟棄序列號的序列編號時,丟棄第二識別結果,將第一識別結果確定為最終識別結果。
示例:
1、離線lsr識別結果到達,此時由于丟棄窗口長度為0,根據(jù)上述丟棄規(guī)則,識別結果有效被輸出,同時:
lsr_cur=lsr_seq;
lsr_max=lsr_cur+1;
此時如圖6所示。
2、與上述識別結果相同序列的在線識別結果(asr_seq)到達,
asr_cur=asr_seq;
asr_max=asr_cur+1;
根據(jù)丟棄規(guī)則,此asr_seq落在圖6中的丟棄窗口,結果被丟棄。
同時會減小lsr的下拉窗口:lsr_min=asr_cur+1;
此時lsr的窗口大小為0,如圖7所示。
圖8是根據(jù)一示例性實施例示出的又一種語音識別方法的流程圖。
如圖8所示,在一個實施例中,上述方法還包括步驟S801:
在步驟S801中,當離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,重置當前離線識別序列號、當前在線識別序列號、離線識別最大丟棄序列號和離線識別最小丟棄序列號以及在線識別最大丟棄序列號和在線識別最小丟棄序列號。
在該實施例中,當離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,則說明在一段時間內離線識別都沒有結果輸出,或者在線識別都沒有結果輸出,此時,證明本地服務器出現(xiàn)問題或者網(wǎng)絡服務器出現(xiàn)網(wǎng)絡堵塞等問題,這樣,可以預警監(jiān)測服務器出現(xiàn)的異常狀況,并可通過重置篩選狀態(tài)重新開始工作。
例如,如圖9所示,連續(xù)一段時間在線識別asr沒有數(shù)據(jù)返回,離線識別lsr的丟棄窗口越來越大,此時可能的情況是網(wǎng)絡服務器或網(wǎng)絡出問題了,導致一直沒有結果返回。此時假設在線識別asr有新的識別結果先到達,那么根據(jù)丟棄規(guī)則,該結果將會被丟棄,為了防止這樣的情況繼續(xù)發(fā)生,可以通過限制丟棄窗口的大小來限制,例如窗口大小為4時,可以重置所有窗口數(shù)據(jù)和序列編號數(shù)據(jù),保證重新開始。此種情況對于離線識別lsr長時間沒有返回數(shù)據(jù)同樣適用。
下述為本發(fā)明裝置實施例,可以用于執(zhí)行本發(fā)明方法實施例。
圖10是根據(jù)一示例性實施例示出的一種語音識別裝置的框圖,該裝置可以通過軟件、硬件或者兩者的結合實現(xiàn)成為終端設備的部分或者全部。如圖10所示,該語音識別裝置包括:
采集模塊1001,用于采集語音數(shù)據(jù)信息;
發(fā)送模塊1002,用于分別發(fā)送語音數(shù)據(jù)信息至本地服務器和網(wǎng)絡服務器進行識別;
獲取模塊1003,用于獲取所述本地服務器識別得到的第一識別結果和所述網(wǎng)絡服務器識別得到的第二識別結果,其中,所述第一識別結果中包括第一識別結果可信度,所述第二識別結果中包括第二識別結果可信度;
在該實施例中,在識別結果中包含識別可信度,這樣,在篩選識別結果的時候,可以篩選出識別可信度較高的識別結果,從而保證識別結果的準確性。
選取模塊1004,用于確定所述第一識別結果的第一獲取時刻和所述第二識別結果的第二獲取時刻,并從所述第一識別結果和所述第二識別結果中選取出獲取時刻在前且識別結果可信度大于或者等于預設識別結果可信度的最終識別結果。
在該實施例中,將采集到的語音數(shù)據(jù)信息同時發(fā)送至本地服務器和網(wǎng)絡服務器,并從得到的兩個識別結果中選取出獲取時刻在先,即先獲取到的且識別結果可信度大于或者等于預設識別結果可信度的結果作為最終識別結果,這樣,不但可以保證獲取速度更快,還能保證識別結果的準確性,提升用戶的使用體驗。
圖11是根據(jù)一示例性實施例示出的一種語音識別裝置中選取模塊的框圖。
如圖11所示,在一個實施例中,所述選取模塊1004包括:
分配子模塊1101,用于在獲取到所述第一識別結果時,為所述第一識別結果分配當前離線識別序列號,在獲取到所述第二識別結果時,為所述第二識別結果分配當前在線識別序列號,其中,當前離線識別序列號和當前在線識別序列號包括識別類型和序列編號,對于根據(jù)同一語音數(shù)據(jù)信息得到的第一識別結果和第二識別結果,序列編號相同,每獲取到一個第一識別結果,當前離線識別序列號對應的序列編號加1,每獲取到一個第二識別結果,當前在線識別序列號對應的序列編號加1;
第一確定子模塊1102,用于根據(jù)所述當前離線識別序列號確定離線識別最大丟棄序列號和離線識別最小丟棄序列號,其中,所述離線識別最大丟棄序列號為當前離線識別序列號加1;
第二確定子模塊1103,用于根據(jù)所述當前在線識別序列號確定在線識別最大丟棄序列號和在線識別最小丟棄序列號,其中,所述在線識別最大丟棄序列號為當前在線識別序列號加1;
第三確定子模塊1104,用于根據(jù)所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號、離線識別最小丟棄序列號、在線識別最大丟棄序列號、在線識別最小丟棄序列號的序列編號之間的大小關系確定所述第一識別結果和所述第二識別結果中需丟棄的識別結果,以得到所述最終識別結果。
在該實施例中,由于對識別結果進行了序列號標注,這樣,可以生成持續(xù)連續(xù)的記錄,直接生成日記文本,便于對照輸入上網(wǎng)語音和兩路輸出結果進行參考對照,快速方便分析定位問題。
在一個實施例中,所述第三確定子模塊1104用于:
比較所述當前離線識別序列號的序列編號與所述在線識別最大丟棄序列號的序列編號、在線識別最小丟棄序列號的序列編號之間的大小,以及比較所述當前在線識別序列號的序列編號與所述離線識別最大丟棄序列號的序列編號、離線識別最小丟棄序列號的序列編號之間的大??;
當所述當前離線識別序列號的序列編號大于等于所述在線識別最小丟棄序列號的序列編號,且小于所述在線識別最大丟棄序列號的序列編號時,丟棄所述第一識別結果,將所述第二識別結果確定為所述最終識別結果;
當所述當前在線識別序列號的序列編號大于等于所述離線識別最小丟棄序列號的序列編號,且小于所述離線識別最大丟棄序列號的序列編號時,丟棄所述第二識別結果,將所述第一識別結果確定為所述最終識別結果。
圖12是根據(jù)一示例性實施例示出的另一種語音識別裝置的框圖。
如圖12所示,在一個實施例中,上述裝置還包括:
第一處理模塊1201,用于當丟棄所述第一識別結果后,將所述離線識別最小丟棄序列號的序列編號置為所述當前在線識別序列號的序列編號加1;
第二處理模塊1202,用于當丟棄所述第二識別結果后,將所述在線識別最小丟棄序列號的序列編號置為所述當前離線識別序列號的序列編號加1。
下面以一個具體實施例詳細說明上述技術方案。
在線識別asr和離線識別lsr分別將服務器對語音信息識別后得到的結果進行標注,其分別在獲取結果后在數(shù)據(jù)前加序列編號asr_seq、lsr_seq,序列編號為unsigned char(0-255)。
在在線識別和離線識別都保持了一個連續(xù)序號在線識別_序列編號asr_seq、離線識別_序列編號lsr_seq的增長,分別記錄各自當前達到的序列號,其中,當前在線識別序列號表示為asr_cur,當前離線識別序列號表示為lsr_cur,和在線識別最小丟棄序列號asr_min、離線識別最小丟棄序列號lsr_min;在線識別最大丟棄序列號asr_max、離線識別最大丟棄序列號lsr_max,其中,最大丟棄序列號始終為當前序列號加一,即asr_cur+1和lsr_cur+1。位于最大丟棄序列號和最小丟棄序列號之間的序列號需要被丟棄,稱為丟棄窗口。如圖5所示,當前兩個窗口都為0。理想的情況是兩路識別結果是同步的,即一路離線識別結果,一路在線識別結果,兩路丟棄窗口都被減小為0,意思是此時先到達的結果可以通過篩選結果。例如此時離線lsr識別結果先達到,查看在線asr的丟棄窗口為0,因此離線lsr的結果輸出給用戶,并將自己的丟棄窗口長度變?yōu)?,后到來的相同序列編號的在線asr識別結果落在這個窗口內從而被丟棄。
其中,丟棄規(guī)則為:
離線lsr查看在線asr的丟棄窗口:asr_min≤lsr_cur<asr_max
在線asr查看離線lsr的丟棄窗口:lsr_min≤asr_cur<asr_max。
即當當前離線識別序列號的序列編號大于等于在線識別最小丟棄序列號的序列編號,且小于在線識別最大丟棄序列號的序列編號時,丟棄第一識別結果,將第二識別結果確定為最終識別結果;
當當前在線識別序列號的序列編號大于等于離線識別最小丟棄序列號的序列編號,且小于離線識別最大丟棄序列號的序列編號時,丟棄第二識別結果,將第一識別結果確定為最終識別結果。
示例:
1、離線lsr識別結果到達,此時由于丟棄窗口長度為0,根據(jù)上述丟棄規(guī)則,識別結果有效被輸出,同時:
lsr_cur=lsr_seq;
lsr_max=lsr_cur+1;
此時如圖6所示。
2、與上述識別結果相同序列的在線識別結果(asr_seq)到達,
asr_cur=asr_seq;
asr_max=asr_cur+1;
根據(jù)丟棄規(guī)則,此asr_seq落在圖6中的丟棄窗口,結果被丟棄。
同時會減小lsr的下拉窗口:lsr_min=asr_cur+1;
此時lsr的窗口大小為0,如圖7所示。
圖13是根據(jù)一示例性實施例示出的又一種語音識別裝置的框圖。
如圖13所示,在一個實施例中,上述裝置還包括:
重置模塊1301,用于當所述離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當所述在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,重置所述當前離線識別序列號、所述當前在線識別序列號、離線識別最大丟棄序列號和離線識別最小丟棄序列號以及在線識別最大丟棄序列號和在線識別最小丟棄序列號。
在該實施例中,當所述離線識別最大丟棄序列號和離線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,或者當所述在線識別最大丟棄序列號和在線識別最小丟棄序列號之間的序列編號差距大于等于預設差距時,則說明在一段時間內離線識別都沒有結果輸出,或者在線識別都沒有結果輸出,此時,證明本地服務器出現(xiàn)問題或者網(wǎng)絡服務器出現(xiàn)網(wǎng)絡堵塞等問題,這樣,可以預警監(jiān)測服務器出現(xiàn)的異常狀況,并可通過重置篩選狀態(tài)重新開始工作。
本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。