本發明涉及語音識別技術領域,特別是涉及一種語音識別方法、裝置及電子設備。
背景技術:
目前,很多智能設備具有語音識別功能。通常語音識別的功能可以通過以下2種方式來實現:
一種是:由智能設備接收語音指令信息,并對語音指令信息進行識別,獲得識別出的指令信息,針對識別出的指令信息進行響應。
另一種是:由智能設備接收語音指令信息,并將該語音執行信息發送至云端服務器,由云端服務器對語音指令信息進行識別,獲得識別出的指令信息,針對識別出的指令信息進行響應,將響應信息返回給智能設備。
現實生活中,用戶在說出語音指令信息的時候,經常會由于猶豫不決而說話不連貫。例如,用戶在想聽音樂但不一時想不起具體的歌曲時,經常會說出類似于“我想聽…那個…嗯…忘情水”的話。
這種情況下,不論是上述那種語音識別的方式都會出錯。這是因為,現有技術通常只對連續的語音進行識別,中間出現停頓,就會認為該句話已經說完,就進行語音識別。如上述情況,只會識別出“我想聽”,后面的話都被忽略掉了。這樣,智能設備會輸出“語音指令錯誤,請重新輸入”或“對不起,沒聽懂”等類似的報錯提示。
也就是說,由于不連貫語音中靜音片段的存在,現有的語音識別方法在識別此類不連貫的語音時,通常會出導致識別出的語意不完整,影響語音識別效果。
技術實現要素:
本發明的目的在于提供一種語音識別方法、裝置及電子設備,以提高不連貫語音的語音識別效果。
為達到上述目的,本發明實施例提供了一種語音識別方法,應用于電子設備,所述方法包括:
獲得待識別語音信息;
對所述待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;
判斷是否存在已保存的待拼接語音識別信息;
如果存在,對所述待拼接語音識別信息和所述當前語音識別信息進行拼接,得到拼接后的語音識別信息;
確定所述拼接后的語音識別信息是否有完整的語義;
如果是,則將所述拼接后的語音識別信息確定為語音識別結果;
如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續執行所述獲得待識別語音信息的步驟。
可選地,所述方法還包括:
若判斷出不存在已保存的語音識別信息,則判斷當前語音識別信息是否有完整的語義;
如果有,則將當前語音識別信息確定為語音識別結果;
如果沒有,則將當前語音識別信息確定為待拼接語音識別信息進行保存,并繼續執行所述獲得待識別語音信息的步驟。
可選地,所述確定所述拼接后的語音識別信息是否有完整的語義的步驟,包括:
對所述拼接后的語音識別信息進行語義解析,獲得語義解析結果;
將所述語義解析信息與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖;
從所述意圖庫中獲得所述用戶意圖對應的響應信息;
判斷所述響應信息是否為不能提供服務的提示信息;
如果所述響應信息是不能提供服務的提示信息,則確定所述拼接后的語音識別信息沒有完整的語義;
如果所述響應信息不是不能提供服務的提示信息,則確定所述拼接后的語音識別信息有完整的語義。
可選地,所述的意圖庫為樹形結構意圖庫;
所述對所述拼接后的語音識別信息進行語義解析,獲得語義解析結果的步驟,包括;
按預設規則,從所述語音識別信息中提取多段特征文字,其中各段特征文字與預設的樹形結構意圖庫中的各個級別一一對應;
所述將所述語義解析結果與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖的步驟,包括:
將第一級別對應的特征文字確定為當前級別的特征文字;
將所述樹形結構意圖庫中第一級別的所有意圖確定為候選意圖;
將所述當前級別的特征文字與所述各個候選意圖進行匹配,獲得當前意圖;
判斷是否所有特征文字匹配完成;
若是,則將當前意圖確定為用戶意圖;
若否,則將下一級別對應的特征文字確定為當前級別的特征文字;將所述樹形結構意圖庫中當前意圖對應的下一級別的所有意圖確定為候選意圖;
返回所述將所述當前級別的特征文字與所述各個候選意圖進行匹配,獲得當前意圖的步驟。
可選地,在將拼接后的語音識別信息確定為待拼接語音識別信息進行保存后,所述方法還包括:
若在第一預設時長達到時,未獲得待識別語音信息,則對已保存的待拼接語音識別信息進行語義解析,獲得語義解析結果;
向用戶輸出預設的與所述語義解析結果對應的服務提示語音信息。
可選地,在將拼接后的語音識別信息確定為待拼接語音識別信息進行保存后,所述方法還包括:
若在第一預設時長達到時,未獲得待識別語音信息,則向用戶輸出語音識別失敗提示語音信息。
可選地,所述電子設備為智能設備;
所述獲得待識別語音信息的步驟,包括:
實時檢測語音信息;
在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息。
可選地,所述電子設備為與智能設備通信連接的云端服務器;
所述獲得待識別語音信息的步驟,包括:接收所述智能設備發送的待識別語音信息;所述智能設備發送的待識別語音信息為:所述智能設備在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息后發送至所述云端服務器的。
本發明實施例還提供了一種語音識別裝置,應用于電子設備,所述裝置包括:
獲取模塊,用于獲得待識別語音信息;
識別模塊,用于對所述待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;
第一判斷模塊,用于判斷是否存在已保存的待拼接語音識別信息;
拼接模塊,用于當所述判斷模塊的判斷結果為存在時,對所述待拼接語音識別信息和所述當前語音識別信息進行拼接,得到拼接后的語音識別信息;
第一確定模塊,用于確定所述拼接后的語音識別信息是否有完整的語義;
第二確定模塊,用于當所述第一確定模塊的確定結果為是時,則將所述拼接后的語音識別信息確定為語音識別結果;
第三確定模塊,用于當所述第一確定模塊的確定結果為否時,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并觸發所述獲取模塊。
可選地,所述裝置還包括:
第二判斷模塊,用于當所述第一判斷模塊判斷出不存在已保存的語音識別信息時,則判斷當前語音識別信息是否有完整的語義;
第四確定模塊,用于當所述第二判斷模塊的判斷結果為有時,則將當前語音識別信息確定為語音識別結果;
第五確定模塊,用于當所述第二判斷模塊的判斷結果為沒有時,則將當前語音識別信息確定為待拼接語音識別信息進行保存,并觸發所述獲取模塊。
可選地,所述第一確定模塊,包括:
解析單元,用于對所述拼接后的語音識別信息進行語義解析,獲得語義解析結果;
匹配單元,用于將所述語義解析信息與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖;
獲取單元,用于從所述意圖庫中獲得所述用戶意圖對應的響應信息;
判斷單元,用于判斷所述響應信息是否為不能提供服務的提示信息;
第一確定單元,用于當判斷單元的判斷出所述響應信息是不能提供服務的提示信息時,則確定所述拼接后的語音識別信息沒有完整的語義;
第二確定單元,用于當判斷單元的判斷出所述響應信息不是不能提供服務的提示信息,則確定所述拼接后的語音識別信息有完整的語義。
可選地,所述的意圖庫為樹形結構意圖庫;
所述解析單元,具體用于按預設規則,從所述語音識別信息中提取多段特征文字,其中各段特征文字與預設的樹形結構意圖庫中的各個級別一一對應;
所述匹配單元,包括:
第一確定子單元,用于將第一級別對應的特征文字確定為當前級別的特征文字;
第二確定子單元,用于將所述樹形結構意圖庫中第一級別的所有意圖確定為候選意圖;
匹配子單元,用于將所述當前級別的特征文字與所述各個候選意圖進行匹配,獲得當前意圖;
判斷子單元,用于判斷是否所有特征文字匹配完成;
第三確定子單元,用于當所述判斷子單元的判斷結果為是時,則將當前意圖確定為用戶意圖;
第四確定子單元,用于當所述判斷子單元的判斷結果為否時,則將下一級別對應的特征文字確定為當前級別的特征文字;將所述樹形結構意圖庫中當前意圖對應的下一級別的所有意圖確定為候選意圖;觸發所述匹配子單元。
可選地,所述裝置還包括:
解析模塊,用于若在第一預設時長達到時,未獲得待識別語音信息,則對已保存的待拼接語音識別信息進行語義解析,獲得語義解析結果;
第一輸出模塊,用于向用戶輸出預設的與所述語義解析結果對應的服務提示語音信息。
可選地,所述裝置還包括:
第二輸出模塊,用于若在第一預設時長達到時,未獲得待識別語音信息,則向用戶輸出語音識別失敗提示語音信息。
可選地,所述電子設備為智能設備;
所述獲取模塊,包括:
檢測單元,用于實時檢測語音信息;
第三確定單元,用于在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息。
可選地,所述電子設備為與智能設備通信連接的云端服務器;
所述獲取模塊,具體用于接收所述智能設備發送的待識別語音信息;所述智能設備發送的待識別語音信息為:所述智能設備在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息后發送至所述云端服務器的。
本發明實施例還提供了一種電子設備,所述電子設備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內部,處理器和存儲器設置在電路板上;電源電路,用于為電子設備的各個電路或器件供電;存儲器用于存儲可執行程序代碼;處理器通過讀取存儲器中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,以用于執行所述的語音識別方法。
本發明實施例提供的一種語音識別方法、裝置及電子設備,獲得待識別語音信息;對待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;判斷是否存在已保存的待拼接語音識別信息;如果存在,對待拼接語音識別信息和當前語音識別信息進行拼接,得到拼接后的語音識別信息;確定拼接后的語音識別信息是否有完整的語義;如果是,則將拼接后的語音識別信息確定為語音識別結果;如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續獲得待識別語音信息。
本發明實施例中,通過對不存在已保存的待拼接語音識別信息情況下的當前語音識別信息進行判斷是否有完整的語義,以及對已保存的待拼接語音識別信息和當前語音識別信息進行拼接得到拼接后的語音識別信息,并判斷其是否有完整的語義。如果沒有,則繼續獲得語音信息進而繼續對語音識別信息再次進行拼接,直至得到完整的語義為止;本發明實施例保證了識別出的語義的完整性,提高了不連貫語音的語音識別效果。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的語音識別方法的流程圖;
圖2為本發明實施例提供的確定拼接后的語音識別信息是否有完整的語義的流程圖;
圖3為本發明實施例提供的語音識別裝置的結構示意圖;
圖4為本發明實施例提供的第一確定模塊的結構示意圖;
圖5為本發明實施例提供的電子設備的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
為達到上述目的,本發明實施例提供了一種語音識別方法,該方法可以應用于電子設備,該電子設備可以為智能設備,也可以為與智能設備通信連接的云端服務器。本發明實施例中,智能設備可以是智能手機、智能音箱、智能機器人或智能平板電腦等帶有語音識別功能的設備。
圖1為本發明實施例提供的語音識別方法的流程圖,該方法包括:
s110,獲得待識別語音信息。
本實施例中,語音信息為包含用戶發出語音的語音信息。
具體地,電子設備可監聽其周圍的聲音,獲取相應的語音信息并將其作為待識別語音信息。
在本發明實施例的一種具體實現方式中,當電子設備為智能設備時,步驟s110可以包括:
a1、實時檢測語音信息。
a2、在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息。
具體地,智能設備監控到用戶的喚醒語音(包含預設的用于喚醒智能設備的喚醒詞的語音)被激活以后,實時檢測周圍的語音信息。設初始時刻周圍的聲音的音量較小,此時處于靜音狀態,當突然檢測到聲音的音量大與某一個預設值的時候,則可確定當前有用戶輸入語音信息,此時進入語音階段,智能設備采集語音階段的語音信息。經過一段時間的語音后,聲音的音量小于預設值,語音再次進入靜音階段,當進入靜音階段達到第二預設時長時,將用戶輸入的語音信息(即智能設備采集到的語音信息)確定為待識別語音信息。本實施例中,第二預設時長可自由設定,第二預設時長優選優選為500毫秒。
在本發明實施例的另一種具體實現方式中,當電子設備為與智能設備通信連接的云端服務器時,步驟s110可以包括:
接收所述智能設備發送的待識別語音信息;所述智能設備發送的待識別語音信息為:所述智能設備在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息后發送至所述云端服務器的。
具體地,當智能設備在檢測到聲音的音量大與某一個預設值的時候,開始獲取語音信息,經過一段時間的語音后,聲音的音量小于預設值,語音再次進入靜音階段,且靜音達到第二預設時長時,智能設備停止獲取語音信息,并將已經獲取的語音信息確定為待識別語音信息后,將其發送給云端服務器,云端服務器接收智能設備發送的待識別語音信息。
s120,對所述待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息。
具體地,在獲取了待識別語音信息后,電子設備對其進行語音識別,得到該待識別語音信息對應的語音識別信息(由于待識別語音信息可以為任一時間段的待識別語音信息,而并非為電子設備接收到的第一個待識別語音信息,因此,可將得到的語音識別信息定義為當前語音識別信息)。本實施例中,語音識別的具體過程為現有技術此處不再贅述。
s130,判斷是否存在已保存的待拼接語音識別信息;如果存在,執行步驟s140;如果不存在,執行步驟s180。
s140,對所述待拼接語音識別信息和所述當前語音識別信息進行拼接,得到拼接后的語音識別信息。
本實施例中,所謂待拼接語音識別信息指的是沒有完整語義的語音識別信息,仍需要進一步的拼接語音識別信息方能達到完整的語義。
具體地,當電子設備獲得當前語音識別信息后,判斷是否存在已保存的待拼接語音識別信息,如果存在,說明用戶發出的語音是不連貫的,且當前語音識別信息不是電子設備接收到的第一個語音識別信息,需要與之前的已保存的待拼接語音識別信息進一步的拼接,得到拼接后的語音識別信息。
舉例而言,當用戶發送的語音為“我想聽…那個…”的時候,令當前的語音識別信息為“那個”,則語意詞為“嗯”,待拼接語音識別信息為“我想聽”,則得到的拼接后的語音識別信息為“我想聽+那個”。
具體地,如果不存在已保存的待拼接語音識別信息,說明當前語音識別信息是電子設備接收到的第一個語音識別信息,則執行步驟s180。
s150,確定所述拼接后的語音識別信息是否有完整的語義。如果是,執行步驟s160;如果否,執行步驟s170。
s160,將所述拼接后的語音識別信息確定為語音識別結果。
s170,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續執行所述步驟s110。
具體地,電子設備在得到的拼接后的語音識別信息,確定其是否有完整的意義,如果有完整的語義,則識別過程成功,將拼接后的語音識別信息確定為語音識別結果。如果沒有完整的語義,則將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續等待并獲取下一個到達的待識別語音信息,從而保證了用戶發出的語音完整的被電子設備獲取到,提高了不連貫語音的語音識別效果。
s180,若判斷出不存在已保存的語音識別信息,則判斷當前語音識別信息是否有完整的語義。如果有,執行步驟s190;如果沒有,執行步驟s1100。
s190,將當前語音識別信息確定為語音識別結果。
s1100,將當前語音識別信息確定為待拼接語音識別信息進行保存,并繼續執行所述步驟s110。
具體地,如果不存在已保存的待拼接語音識別信息,說明當前語音識別信息是電子設備接收到的第一個語音識別信息,則直接判斷當前語音識別信息是否有完整的語義。如果有完整的語義,則表明用戶當前發出的語音是連貫的,則將當前語音識別信息確定為語音識別結果。如果有完整的語義,則表明用戶當前發出的語音是不連貫的,當前語音識別信息確定為待拼接語音識別信息進行保存,并繼續等待并獲取下一個到達的待識別語音信息,進一步保證了用戶發出的語音完整的被電子設備獲取到,提高了不連貫語音的語音識別效果。
本發明實施例提供的語音識別方法,獲得待識別語音信息;對待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;判斷是否存在已保存的待拼接語音識別信息;如果存在,對待拼接語音識別信息和當前語音識別信息進行拼接,得到拼接后的語音識別信息;確定拼接后的語音識別信息是否有完整的語義;如果是,則將拼接后的語音識別信息確定為語音識別結果;如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續獲得待識別語音信息。
本發明實施例中,通過對不存在已保存的待拼接語音識別信息情況下的當前語音識別信息進行判斷是否有完整的語義,以及對已保存的待拼接語音識別信息和當前語音識別信息進行拼接得到拼接后的語音識別信息,并判斷其是否有完整的語義。如果沒有,則繼續獲得語音信息進而繼續對語音識別信息再次進行拼接,直至得到完整的語義為止;本發明實施例保證了識別出的語意的完整性,提高了不連貫語音的語音識別效果。
在本發明實施例的一種具體實現方式中,步驟s150可包括如下步驟:
b1、對所述拼接后的語音識別信息進行語義解析,獲得語義解析結果。
b2、將所述語義解析信息與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖。
b3、從所述意圖庫中獲得所述用戶意圖對應的響應信息。
b4、判斷所述響應信息是否為不能提供服務的提示信息;如果所述響應信息是不能提供服務的提示信息,則執行步驟b5;如果所述響應信息不是不能提供服務的提示信息,則執行步驟b6。
b5、確定所述拼接后的語音識別信息沒有完整的語義。
b6、確定所述拼接后的語音識別信息有完整的語義。
本實施例中,通過將所述語義解析結果與預設的意圖庫中存儲的意圖進行匹配獲得用戶意圖,并從所述意圖庫中獲得所述用戶意圖對應的響應信息,判斷所述響應信息是否為不能提供服務的提示信息,從而確定語音識別信息是否有完整語義。本實施例可使確定語音識別信息是否有完整語義的過程更加易于實現。
為了對上述步驟s150進一步解釋,步驟s150可包括如圖2所示的步驟。圖2為本發明實施例提供的確定所述拼接后的語音識別信息是否有完整的語義的流程圖。其中,步驟b1與步驟s210對應,步驟b2與步驟s220~步驟s270對應,步驟b3與步驟s280對應,步驟b4與步驟s290對應,步驟b5與步驟s2100對應,步驟b6與步驟s2110對應。
s210,按預設規則,從所述語音識別信息中提取多段特征文字,其中各段特征文字與預設的樹形結構意圖庫中的各個級別一一對應。
具體地,可將該語音識別信息輸入預設的特征文字提取模型,獲得特征文字提取模型輸出的各個級別的多段特征文字。
其中,特征文字提取模型,用于對所述語音識別信息進行語義解析,獲得與樹形結構意圖庫中各個級別對應的特征文字。本實施例中,樹形結構意圖庫中的所有級別可以只對應一個總的特征文字提取模型。在輸入時,將語音識別結果輸入該總的特征文字提取模型,獲得該總的特征文字提取模型輸出的各個級別的多段特征文字。
s220,將第一級別對應的特征文字確定為當前級別的特征文字。
s230,將所述樹形結構意圖庫中第一級別的所有意圖確定為候選意圖;
具體地,在匹配時,從第一級別的特征文字與樹形結構意圖庫中第一級別的所有意圖的匹配開始執行,然后將第二級別的特征文字與樹形結構意圖庫中匹配成功的第二級別的所有意圖進行匹配,將第三級別的特征文字與樹形結構意圖庫中匹配成功的第三級別的所有意圖進行匹配,依此規律逐級執行匹配過程,直至所有級別的特征文字匹配完成。
s240,將所述當前級別的特征文字與所述各個候選意圖進行匹配,獲得當前意圖。
具體地,獲得當前意圖時,可以直接將匹配成功的候選意圖作為當前意圖。可以理解的是,當前意圖為本次匹配成功的候選意圖以及在本次匹配之前所有匹配成功的各級別意圖共同構成的意圖。
s250,判斷是否所有特征文字匹配完成;若是,則執行步驟s260;若否,則執行步驟s270。
s260,將當前意圖確定為用戶意圖;
s270,將下一級別對應的特征文字確定為當前級別的特征文字;將所述樹形結構意圖庫中當前意圖對應的下一級別的所有意圖確定為候選意圖;返回步驟s240。
可以理解的是,當所有特征文字均匹配完成時,當前意圖即構成了最終確定的用戶意圖。
具體地,所述意圖庫中包含所有意圖和響應信息的對應關系,電子設備將所述語義解析結果與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖。當電子設備獲得了用戶意圖,就知道用戶需要怎樣的服務,從而根據意圖和響應信息的對應關系,也就是意圖與提供服務的對應關系,來為用戶提供相應的服務,或輸出相應的響應信息。響應信息中包括:與用戶意圖對應的服務響應信息,以及用戶意圖不完整而確定的不能提供服務的提示信息。例如:獲得的用戶意圖為“我想”,則獲得的響應信息可以是“對不起,指令不完整無法提供服務”等類似的提示信息。
s280,從所述意圖庫中獲得所述用戶意圖對應的響應信息。
s290,判斷所述響應信息是否為不能提供服務的提示信息;如果所述響應信息是不能提供服務的提示信息,則執行步驟s2100;如果所述響應信息不是不能提供服務的提示信息,則執行步驟s2110。
s2100,確定所述拼接后的語音識別信息沒有完整的語義;
s2110,確定所述拼接后的語音識別信息有完整的語義。
具體地,在獲得了用戶意圖后,電子設備可從意圖庫中獲得該用戶意圖對應的響應信息。判斷該響應信息是否為不能提供服務的提示信息,如果所述響應信息是不能提供服務的提示信息,則確定所述拼接后的語音識別信息沒有完整的語義;如果所述響應信息不是不能提供服務的提示信息,則確定所述拼接后的語音識別信息有完整的語義。
可選地,當用戶長時間猶豫不決,不能想到請求的服務內容時,電子設備還可以帶有提醒功能,因此,在將拼接后的語音識別信息確定為待拼接語音識別信息進行保存后,所述方法還包括:
若在第一預設時長達到時,未獲得待識別語音信息,則對已保存的待拼接語音識別信息進行語義解析,獲得語義解析結果;向用戶輸出預設的與所述語義解析結果對應的服務提示語音信息。
本實施例中,第一預設時長可以用于表示從用戶發出語音信息的開始時刻到當前時刻之間的時間長度的衡量標準。當從用戶發出語音信息的開始時刻到當前時刻的時間長度大于第一預設時長時,電子設備未獲得待識別語音信息,則說明用戶為了想說一句完整的話而猶豫了較長的時間。例如,用戶發出的語音信息為“我想聽…那個…嗯……”,則此時的第一預設時長可以表示從“我想聽”的開始時刻到“恩”之后時刻(即當前時刻)的衡量標準。
另外,第一預設時長還可以用于表示用戶從上一次發出語音信息的時刻到當前時刻之間的時間長度的衡量標準。當用戶從上一次發出語音信息的時刻到當前時刻之間的時間長度大于第一預設時長時,電子設備未獲得待識別語音信息,說明用戶為了想說一句話中的部分詞而猶豫了較長的時間。例如,用戶發出的語音信息為“我想聽…那個…嗯……”,則此時的第一預設時長可以表示從用戶發出“恩”的開始時刻到之后時刻(即當前時刻)的時間長度的衡量標準。
第一預設時長可以自由設定,第一預設時長越長說明服務器可等待用戶的猶豫的時間越長。優選地,第一預設時長可以為4秒。
具體地,當電子設備在第一預設時長達到時,未獲得待識別語音信息,此時電子設備可能已保存過待拼接語音識別信息,說明用戶并沒有說完一句完整的話或沒有說出一句可被識別為有完整語義的話,電子設備無法做出針對性的處理響應,則電子設備對已保存的待拼接語音識別信息進行語義解析獲得語義解析結果,并向用戶輸出預設的與所述語義解析結果對應的服務提示語音信息。
舉例而言,電子設備中可以預設關于“我想聽”的服務提示語音信息,該服務提示語音信息可以為“您是想聽歌嗎,請您這樣告訴我‘我想聽忘情水’”,當用戶發出的語音為“我想聽…那個…嗯……”,電子設備得到的待拼接語音識別信息為“我想聽+那個+嗯”,當電子設備在第一預設時長達到時,未獲得待識別語音信息會向用戶輸出上述服務提示語音信息。
本實施例中,當用戶長時間猶豫不決時,電子設備還可以帶有服務提示功能,增加了電子設備的智能性,提高了用戶的體驗。
可選地,在將拼接后的語音識別信息確定為待拼接語音識別信息進行保存后,所述方法還包括:
若在第一預設時長達到時,未獲得待識別語音信息,則向用戶輸出語音識別失敗提示語音信息。
具體地,當電子設備在第一預設時長達到時,未獲得待識別語音信息,此時用戶很長時間無法說出具體的服務內容,可能的由于想不到具體的服務內容而不會再繼續發出語音,電子設備也無需繼續等待可能到來的待識別語音信息的,則電子設備向用戶輸出語音識別失敗提示語音信息。舉例而言,語音識別失敗提示語音信息可以為“對不起,我沒聽懂”。
進一步的,為了節省能耗,電子設備在向用戶輸出語音識別失敗提示語音信息后還可以進入低功耗待機狀態。
本實施例中,電子設備還可以帶有輸出語音識別失敗提示語音信息的功能,增加了電子設備的智能性,提高了用戶的體驗。
需要說明的是,在確定了語音識別結果后,電子設備可以對語音識別結果進行語義解析,根據語義解析確定為用戶提供對應的服務。
舉例而言,若電子設備為智能設備,在確定了語音識別結果后,智能設備可以對語音識別結果進行語義解析,根據語義解析確定為用戶提供對應的服務。假設解析結果是播放智能設備中音頻的指令,則執行該指令,播放相應的音頻。
再例如:若電子設備為與智能設備通信連接的云端服務器,在確定了語音識別結果后,云端服務器可以對語音識別結果進行語義解析,根據語義解析確定為用戶提供對應的服務。假設解析結果是播放云端服務器中音頻的指令,則執行該指令,將相應的音頻發送至所述智能設備進行播放。
與方法實施例相對應的,本發明還提供了一種語音識別裝置,該裝置可應用于電子設備。圖3為本發明實施例提供的語音識別裝置的結構示意圖,該裝置包括:
獲取模塊310,用于獲得待識別語音信息;
識別模塊320,用于對所述待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;
第一判斷模塊330,用于判斷是否存在已保存的待拼接語音識別信息;
拼接模塊340,用于當所述第一判斷模塊330的判斷結果為存在時,對所述待拼接語音識別信息和所述當前語音識別信息進行拼接,得到拼接后的語音識別信息;
第一確定模塊350,用于確定所述拼接后的語音識別信息是否有完整的語義;
第二確定模塊360,用于當所述第一確定模塊350的確定結果為是時,則將所述拼接后的語音識別信息確定為語音識別結果;
第三確定模塊370,用于當所述第一確定模塊350的確定結果為否時,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并觸發所述獲取模塊310。
本發明實施例提供的語音識別裝置,獲得待識別語音信息;對待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;判斷是否存在已保存的待拼接語音識別信息;如果存在,對待拼接語音識別信息和當前語音識別信息進行拼接,得到拼接后的語音識別信息;確定拼接后的語音識別信息是否有完整的語義;如果是,則將拼接后的語音識別信息確定為語音識別結果;如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續獲得待識別語音信息。
本發明實施例中,通過對不存在已保存的待拼接語音識別信息情況下的當前語音識別信息進行判斷是否有完整的語義,以及對已保存的待拼接語音識別信息和當前語音識別信息進行拼接得到拼接后的語音識別信息,并判斷其是否有完整的語義。如果沒有,則繼續獲得語音信息進而繼續對語音識別信息再次進行拼接,直至得到完整的語義為止;本發明實施例保證了識別出的語意的完整性,提高了不連貫語音的語音識別效果。
進一步地,所述裝置還包括:
第二判斷模塊380,用于當所述第一判斷模塊370判斷出不存在已保存的語音識別信息時,則判斷當前語音識別信息是否有完整的語義;
第四確定模塊390,用于當所述第二判斷模塊380的判斷結果為有時,則將當前語音識別信息確定為語音識別結果;
第五確定模塊3100,用于當所述第二判斷模塊380的判斷結果為沒有時,則將當前語音識別信息確定為待拼接語音識別信息進行保存,并觸發所述獲取模塊310。
圖4為本發明實施例提供的第一確定模塊的結構示意圖,所述第一確定模塊350,包括:
解析單元351,用于對所述拼接后的語音識別信息進行語義解析,獲得語義解析結果;
匹配單元352,用于將所述語義解析信息與預設的意圖庫中存儲的意圖進行匹配,獲得用戶意圖;
獲取單元352,用于從所述意圖庫中獲得所述用戶意圖對應的響應信息;
判斷單元354,用于判斷所述響應信息是否為不能提供服務的提示信息;
第一確定單元355,用于當判斷單元的判斷出所述響應信息是不能提供服務的提示信息時,則確定所述拼接后的語音識別信息沒有完整的語義;
第二確定單元356,用于當判斷單元的判斷出所述響應信息不是不能提供服務的提示信息,則確定所述拼接后的語音識別信息有完整的語義。
本實施例中,通過將所述語義解析結果與預設的意圖庫中存儲的意圖進行匹配獲得用戶意圖,并從所述意圖庫中獲得所述用戶意圖對應的響應信息,判斷所述響應信息是否為不能提供服務的提示信息,從而確定語音識別信息是否有完整語義。本實施例可使確定語音識別信息是否有完整語義的過程更加易于實現。
進一步地,所述的意圖庫為樹形結構意圖庫;
所述解析單元351,具體用于按預設規則,從所述語音識別信息中提取多段特征文字,其中各段特征文字與預設的樹形結構意圖庫中的各個級別一一對應;
所述匹配單元352,包括:
第一確定子單元3521,用于將第一級別對應的特征文字確定為當前級別的特征文字;
第二確定子單元3522,用于將所述樹形結構意圖庫中第一級別的所有意圖確定為候選意圖;
匹配子單元3523,用于將所述當前級別的特征文字與所述各個候選意圖進行匹配,獲得當前意圖;
判斷子單元3524,用于判斷是否所有特征文字匹配完成;
第三確定子單元3525,用于當所述判斷子單元的判斷結果為是時,則將當前意圖確定為用戶意圖;
第四確定子單元3526,用于當所述判斷子單元的判斷結果為否時,則將下一級別對應的特征文字確定為當前級別的特征文字;將所述樹形結構意圖庫中當前意圖對應的下一級別的所有意圖確定為候選意圖;觸發所述匹配子單元3523。
進一步地,所述裝置還包括:第三判斷模塊3110,用于判斷在第一預設時長達到時,是否獲得待識別語音信息;
解析模塊3120,用于當所述第三判斷模塊判斷出在第一預設時長達到時,未獲得待識別語音信息時,則對已保存的待拼接語音識別信息進行語義解析,獲得語義解析結果;
第一輸出模塊,用于向用戶輸出預設的與所述語義解析結果對應的服務提示語音信息。
進一步地,所述裝置還包括:
第二輸出模塊,用于若在第一預設時長達到時,未獲得待識別語音信息,則向用戶輸出語音識別失敗提示語音信息。
進一步地,所述電子設備為智能設備;
所述獲取模塊,包括:
檢測單元,用于實時檢測語音信息;
第三確定單元,用于在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息。
進一步地,所述電子設備為與智能設備通信連接的云端服務器;
所述獲取模塊,具體用于接收所述智能設備發送的待識別語音信息;所述智能設備發送的待識別語音信息為:所述智能設備在檢測到用戶輸入語音信息后,當靜音時長達到第二預設時長時,將用戶輸入的語音信息確定為待識別語音信息后發送至所述云端服務器的。
與上述方法實施例相對應的,本發明實施例還提供了一種電子設備。圖5為本發明實施例提供的電子設備的結構示意圖,所述電子設備包括:
殼體510、處理器520、存儲器530、電路板540和電源電路550,其中,電路板540安置在殼體510圍成的空間內部,處理器520和存儲器530設置在電路板540上;電源電路550,用于為電子設備的各個電路或器件供電;存儲器530用于存儲可執行程序代碼;處理器520通過讀取存儲器530中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,以用于執行上述方法實施例中所述的語音識別方法。
一種實現方式中,上述語音識別方法可以包括:
獲得待識別語音信息;
對所述待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;
判斷是否存在已保存的待拼接語音識別信息;
如果存在,對所述待拼接語音識別信息和所述當前語音識別信息進行拼接,得到拼接后的語音識別信息;
確定所述拼接后的語音識別信息是否有完整的語義;
如果是,則將所述拼接后的語音識別信息確定為語音識別結果;
如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續執行所述獲得待識別語音信息的步驟。
上述語音識別方法的其他實現方式參見前述方法實施例部分的說明,這里不再贅述。
處理器520對上述步驟及上述語音信號處理方法的其他實現方式的具體執行過程以及處理器520通過運行可執行程序代碼來進一步執行的過程,可以參見本發明實施例中圖1至圖4所示實施例的描述,在此不再贅述。
需要說明的是,該電子設備以多種形式存在,包括但不限于:
(1)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數據通信為主要目標。這類終端包括:智能手機(例如iphone)、多媒體手機、功能性手機,以及低端手機等。
(2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網特性。這類終端包括:pda、mid和umpc設備等,例如ipad。
(3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內容。該類設備包括:音頻、視頻播放器(例如ipod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
(4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內存、系統總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
(5)其他具有數據交互功能的電子裝置。
可見,本發明實施例所提供的方案中,電子設備的處理器通過讀取存儲器中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,獲得待識別語音信息;對待識別語音信息進行識別,獲得該待識別語音信息對應的當前語音識別信息;判斷是否存在已保存的待拼接語音識別信息;如果存在,對待拼接語音識別信息和當前語音識別信息進行拼接,得到拼接后的語音識別信息;確定拼接后的語音識別信息是否有完整的語義;如果是,則將拼接后的語音識別信息確定為語音識別結果;如果否,將拼接后的語音識別信息確定為待拼接語音識別信息進行保存,并繼續獲得待識別語音信息。
本發明實施例中,通過對不存在已保存的待拼接語音識別信息情況下的當前語音識別信息進行判斷是否有完整的語義,以及對已保存的待拼接語音識別信息和當前語音識別信息進行拼接得到拼接后的語音識別信息,并判斷其是否有完整的語義。如果沒有,則繼續獲得語音信息進而繼續對語音識別信息再次進行拼接,直至得到完整的語義為止;本發明實施例保證了識別出的語意的完整性,提高了不連貫語音的語音識別效果。
對于電子設備實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。