【
技術(shù)領(lǐng)域:
】本發(fā)明涉及計算機應(yīng)用技術(shù),特別涉及基于人工智能的語音識別糾錯方法、裝置及存儲介質(zhì)。
背景技術(shù):
:人工智能(artificialintelligence),英文縮寫為ai。它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是計算機科學(xué)的一個分支,它企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機器,該領(lǐng)域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。隨著語音及自然語言處理相關(guān)技術(shù)的發(fā)展,越來越多的應(yīng)用場景提供語音方式同用戶進行交互。但是,在用戶輸入語音query后,對用戶的語音query進行識別時,得到的語音識別結(jié)果中很可能會出現(xiàn)錯誤。比如,對于長度較大的語音query,語音識別結(jié)果中很容易出現(xiàn)錯誤片段,當(dāng)語音query中涉及實體名稱時,對實體名稱的識別會很容易出現(xiàn)錯誤,又或者,用戶在輸入時帶有口音、口誤或比較特殊的表述習(xí)慣等,均可能造成識別錯誤。現(xiàn)有技術(shù)中,針對用戶輸入的語音query的語音識別結(jié)果,可利用背景知識及統(tǒng)計方法等進行計算,從而找出可能錯誤的地方并進行替換,但這種糾錯方式的糾錯效果很差,且很多場景下均無法識別出錯誤。比如,用戶通過語音query輸入搜索對象“陳育娟”,語音識別結(jié)果出現(xiàn)錯誤,將“陳育娟”識別為“陳玉娟”,那么利用現(xiàn)有的糾錯方式則無法對這種錯誤進行糾正,只能通過用戶的手動輸入進行修改,從而為用戶帶來了很大的不便,尤其是在一些體積較小的穿戴、車載等設(shè)備使用中,文字輸入非常不便,從而增大了糾錯難度??梢?,采用現(xiàn)有的糾錯方式,會導(dǎo)致糾錯結(jié)果的準(zhǔn)確性較低,并增大了糾錯難度。技術(shù)實現(xiàn)要素:有鑒于此,本發(fā)明提供了基于人工智能的語音識別糾錯方法、裝置及存儲介質(zhì),能夠提高糾錯結(jié)果的準(zhǔn)確性并降低糾錯難度。具體技術(shù)方案如下:一種基于人工智能的語音識別糾錯方法包括:獲取用戶輸入的第二語音query的第二語音識別結(jié)果;根據(jù)所述第二語音識別結(jié)果進行糾錯意圖識別;若確定用戶具有糾錯意圖,則從所述第二語音識別結(jié)果中提取出糾錯信息;根據(jù)所述糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,所述第一語音識別結(jié)果為在所述第二語音query之前輸入的第一語音query的語音識別結(jié)果。根據(jù)本發(fā)明一優(yōu)選實施例,所述根據(jù)所述第二語音識別結(jié)果進行糾錯意圖識別包括:確定所述第二語音識別結(jié)果是否與預(yù)先設(shè)定的m個糾錯意圖模板中的至少一個相匹配,m為正整數(shù);若是,則確定用戶具有糾錯意圖;若否,則利用深度神經(jīng)網(wǎng)絡(luò)模型對所述第二語音識別結(jié)果進行意圖分類,分類結(jié)果包括具有糾錯意圖以及不具有糾錯意圖。根據(jù)本發(fā)明一優(yōu)選實施例,所述從所述第二語音識別結(jié)果中提取出糾錯信息包括:若利用所述糾錯意圖模板確定出用戶具有糾錯意圖,則通過所述糾錯意圖模板的槽位信息確定出所述糾錯信息;若利用所述深度神經(jīng)網(wǎng)絡(luò)模型確定出用戶具有糾錯意圖,則通過序列標(biāo)注模型,分別對所述第二語音識別結(jié)果中的每個字進行標(biāo)注,利用標(biāo)注為屬于糾錯信息的字組成所述糾錯信息。根據(jù)本發(fā)明一優(yōu)選實施例,當(dāng)糾錯資源的種類為拆字資源時,該方法進一步包括:針對每個糾錯資源,分別將所述糾錯資源中的每個字轉(zhuǎn)為對應(yīng)的拼音,并根據(jù)所述糾錯資源中的各個字及拼音,生成所述糾錯資源的key;建立key與對應(yīng)的糾錯資源之間的倒排索引;所述根據(jù)所述糾錯信息對各糾錯資源進行篩選包括:將所述糾錯信息中的每個字分別轉(zhuǎn)為對應(yīng)的拼音;確定所述糾錯信息中的各個字是否組成一個key,如果是,則將所述key對應(yīng)的糾錯資源作為篩選出的糾錯資源;確定所述糾錯信息中的各個字對應(yīng)的拼音是否組成一個key,如果是,則將所述key對應(yīng)的糾錯資源作為篩選出的糾錯資源。根據(jù)本發(fā)明一優(yōu)選實施例,所述生成所述糾錯資源的key包括:針對所述糾錯資源中的各個字,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,并針對所述糾錯資源中的各個字對應(yīng)的拼音,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,i為正整數(shù),且2≤i≤n,n為所述糾錯資源中包括的字數(shù);針對所述糾錯資源中的各個字,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,并針對所述糾錯資源中的各個字對應(yīng)的拼音,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,j為正整數(shù),且2≤j≤n-1。將所述連續(xù)kgram集合以及所述跳躍kgram集合中的元素分別作為所述糾錯資源的key。根據(jù)本發(fā)明一優(yōu)選實施例,所述利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯包括:針對篩選出的每個糾錯資源,分別計算所述糾錯資源中的各個字的拼音所組成的字符串與所述糾錯信息中的各個字的拼音所組成的字符串之間的帶權(quán)編輯距離;將計算出的帶權(quán)編輯距離最小的糾錯資源作為所述最為匹配的糾錯資源,利用所述最為匹配的糾錯資源對所述第一語音識別結(jié)果進行糾錯。根據(jù)本發(fā)明一優(yōu)選實施例,所述計算帶權(quán)編輯距離包括:在計算編輯距離時,對于增加和刪除兩種操作,編輯距離均為1,對于替換操作,計算兩個音節(jié)之間的發(fā)音距離,發(fā)音距離越近,產(chǎn)生的編輯距離增加量越小。一種基于人工智能的語音識別糾錯裝置,包括:糾錯意圖識別單元、糾錯信息提取單元以及糾錯資源匹配單元;所述糾錯意圖識別單元,用于獲取用戶輸入的第二語音query的第二語音識別結(jié)果,并根據(jù)所述第二語音識別結(jié)果進行糾錯意圖識別;所述糾錯信息提取單元,用于當(dāng)所述糾錯意圖識別單元識別出用戶具有糾錯意圖時,從所述第二語音識別結(jié)果中提取出糾錯信息;所述糾錯資源匹配單元,用于根據(jù)所述糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,所述第一語音識別結(jié)果為在所述第二語音query之前輸入的第一語音query的語音識別結(jié)果。根據(jù)本發(fā)明一優(yōu)選實施例,所述糾錯意圖識別單元確定所述第二語音識別結(jié)果是否與預(yù)先設(shè)定的m個糾錯意圖模板中的至少一個相匹配,m為正整數(shù);若是,則確定用戶具有糾錯意圖;若否,則利用深度神經(jīng)網(wǎng)絡(luò)模型對所述第二語音識別結(jié)果進行意圖分類,分類結(jié)果包括具有糾錯意圖以及不具有糾錯意圖。根據(jù)本發(fā)明一優(yōu)選實施例,若所述糾錯意圖識別單元利用所述糾錯意圖模板確定出用戶具有糾錯意圖,則所述糾錯信息提取單元通過所述糾錯意圖模板的槽位信息確定出所述糾錯信息;若所述糾錯意圖識別單元利用所述深度神經(jīng)網(wǎng)絡(luò)模型確定出用戶具有糾錯意圖,則所述糾錯信息提取單元通過序列標(biāo)注模型,分別對所述第二語音識別結(jié)果中的每個字進行標(biāo)注,利用標(biāo)注為屬于糾錯信息的字組成所述糾錯信息。根據(jù)本發(fā)明一優(yōu)選實施例,所述裝置中進一步包括:預(yù)處理單元;所述預(yù)處理單元,用于當(dāng)糾錯資源的種類為拆字資源時,針對每個糾錯資源,分別將所述糾錯資源中的每個字轉(zhuǎn)為對應(yīng)的拼音,并根據(jù)所述糾錯資源中的各個字及拼音,生成所述糾錯資源的key;建立key與對應(yīng)的糾錯資源之間的倒排索引;所述糾錯資源匹配單元將所述糾錯信息中的每個字分別轉(zhuǎn)為對應(yīng)的拼音;確定所述糾錯信息中的各個字是否組成一個key,如果是,則將所述key對應(yīng)的糾錯資源作為篩選出的糾錯資源;確定所述糾錯信息中的各個字對應(yīng)的拼音是否組成一個key,如果是,則將所述key對應(yīng)的糾錯資源作為篩選出的糾錯資源。根據(jù)本發(fā)明一優(yōu)選實施例,所述預(yù)處理單元針對所述糾錯資源中的各個字,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,并針對所述糾錯資源中的各個字對應(yīng)的拼音,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,i為正整數(shù),且2≤i≤n,n為所述糾錯資源中包括的字數(shù);針對所述糾錯資源中的各個字,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,并針對所述糾錯資源中的各個字對應(yīng)的拼音,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,j為正整數(shù),且2≤j≤n-1。將所述連續(xù)kgram集合以及所述跳躍kgram集合中的元素分別作為所述糾錯資源的key。根據(jù)本發(fā)明一優(yōu)選實施例,所述糾錯資源匹配單元針對篩選出的每個糾錯資源,分別計算所述糾錯資源中的各個字的拼音所組成的字符串與所述糾錯信息中的各個字的拼音所組成的字符串之間的帶權(quán)編輯距離;將計算出的帶權(quán)編輯距離最小的糾錯資源作為所述最為匹配的糾錯資源,利用所述最為匹配的糾錯資源對所述第一語音識別結(jié)果進行糾錯。根據(jù)本發(fā)明一優(yōu)選實施例,所述糾錯資源匹配單元在計算編輯距離時,對于增加和刪除兩種操作,編輯距離均為1,對于替換操作,計算兩個音節(jié)之間的發(fā)音距離,發(fā)音距離越近,產(chǎn)生的編輯距離增加量越小。一種計算機設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如以上所述的方法。一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述程序被處理器執(zhí)行時實現(xiàn)如以上所述的方法。基于上述介紹可以看出,采用本發(fā)明所述方案,獲取用戶輸入的第二語音識別結(jié)果,并根據(jù)第二語音識別結(jié)果進行糾錯意圖識別,如果確定用戶具有糾錯意圖,則可從第二語音識別結(jié)果中提取出糾錯信息,并根據(jù)糾錯信息對各糾錯資源進行篩選,從而利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,對于用戶來說,可以像人與人之間對話時一樣,描述錯誤或強調(diào)正解,相應(yīng)地,可根據(jù)用戶的描述對語音識別結(jié)果進行修正,從而實現(xiàn)了對于語音識別結(jié)果的準(zhǔn)確糾錯,即提高了糾錯結(jié)果的準(zhǔn)確性,并且,用戶只需要通過語音的方式發(fā)出糾錯指令即可,無需進行手動輸入操作,從而對于用戶來說降低了糾錯難度?!靖綀D說明】圖1為本發(fā)明所述基于人工智能的語音識別糾錯方法實施例的流程圖。圖2為本發(fā)明所述第一語音識別結(jié)果“陳玉娟”的輸入界面示意圖。圖3為本發(fā)明所述第一語音識別結(jié)果“陳玉娟”對應(yīng)的搜索結(jié)果的界面示意圖。圖4為本發(fā)明所述第二語音識別結(jié)果“下面是一個月的育”的輸入界面示意圖。圖5為本發(fā)明所述糾錯后的第一語音識別結(jié)果“陳育娟”對應(yīng)的搜索結(jié)果的界面示意圖。圖6為本發(fā)明所述深度神經(jīng)網(wǎng)絡(luò)模型的框架示意圖。圖7為本發(fā)明所述序列標(biāo)注模型的框架示意圖。圖8為本發(fā)明所述基于人工智能的語音識別糾錯裝置實施例的組成結(jié)構(gòu)示意圖。圖9示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務(wù)器12的框圖?!揪唧w實施方式】為了使本發(fā)明的技術(shù)方案更加清楚、明白,以下參照附圖并舉實施例,對本發(fā)明所述方案進行進一步說明。顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明所述基于人工智能的語音識別糾錯方法實施例的流程圖,如圖1所示,包括以下具體實現(xiàn)方式。在101中,獲取用戶輸入的第二語音query的第二語音識別結(jié)果。在102中,根據(jù)第二語音識別結(jié)果進行糾錯意圖識別。在103中,若確定用戶具有糾錯意圖,則從第二語音識別結(jié)果中提取出糾錯信息。在104中,根據(jù)獲取到的糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。其中,第一語音識別結(jié)果為在第二語音query之前輸入的第一語音query的語音識別結(jié)果。比如,在進行搜索時,用戶通過第一語音query輸入搜索對象“陳育娟”,第一語音識別結(jié)果出現(xiàn)錯誤,將“陳育娟”識別為“陳玉娟”,相應(yīng)地,則會為用戶展示“陳玉娟”的搜索結(jié)果,這種情況下,用戶則可輸入第二語音query,如“下面是一個月的育”,從而對第一語音識別結(jié)果進行糾錯,進而可按照糾錯后的第一語音識別結(jié)果為用戶展示搜索結(jié)果,如圖2~5所示。圖2為本發(fā)明所述第一語音識別結(jié)果“陳玉娟”的輸入界面示意圖,圖3為本發(fā)明所述第一語音識別結(jié)果“陳玉娟”對應(yīng)的搜索結(jié)果的界面示意圖,圖4為本發(fā)明所述第二語音識別結(jié)果“下面是一個月的育”的輸入界面示意圖,圖5為本發(fā)明所述糾錯后的第一語音識別結(jié)果“陳育娟”對應(yīng)的搜索結(jié)果的界面示意圖。可以看出,圖1所示實施例中提出了一種基于多輪對話的交互式語音識別糾錯方式,整個糾錯流程可主要分為三個階段,分別為:糾錯意圖識別、糾錯信息提取以及糾錯資源匹配,通過這三個階段,對用戶在語音query中提供的信息進行遞進式的判別、挖掘和利用,從而幫助用戶實現(xiàn)糾錯意圖。以下分別對上述各階段的具體實現(xiàn)進行詳細說明。1)糾錯意圖識別在接收到用戶輸入的第二語音query之后,可首先按照現(xiàn)有技術(shù)對其進行語音識別,從而得到第二語音識別結(jié)果。之后,可根據(jù)第二語音識別結(jié)果進行糾錯意圖識別,即確定用戶是否具有糾錯意圖,確定用戶具有糾錯意圖之后,才會進行后續(xù)的糾錯流程??紤]到不同的用戶可能會采用不同的表達方式,有的表達方式比較明確,可以比較容易地識別出用戶的糾錯意圖,而有的表達方式則比較復(fù)雜,識別起來比較困難,因此,本實施例中提供了兩種識別方式,即基于規(guī)則的糾錯意圖識別方式以及基于統(tǒng)計的糾錯意圖識別方式,兩種方式可結(jié)合使用。其中,基于規(guī)則的糾錯意圖識別方式可以是指預(yù)先生成m個糾錯意圖模板,m為正整數(shù),具體取值可根據(jù)實際需要而定,通常大于一,這樣,當(dāng)獲取到第二語音識別結(jié)果之后,可確定其是否與m個糾錯意圖模板中的至少一個相匹配,如果是,則可確定用戶具有糾錯意圖。第二語音識別結(jié)果與糾錯意圖模板可如表一所示:模板示例第二語音識別結(jié)果是[偏旁]的[字]我要的是單人旁的倒是[聲調(diào)]的那個[字]是三聲的那個倒表一第二語音識別結(jié)果與糾錯意圖模板如果第二語音識別結(jié)果與任一糾錯意圖模板均不匹配,那么可進一步采用基于統(tǒng)計的糾錯意圖識別方式對第二語音識別結(jié)果進行識別。比如,可利用深度神經(jīng)網(wǎng)絡(luò)模型對第二語音識別結(jié)果進行意圖分類,分類結(jié)果包括具有糾錯意圖以及不具有糾錯意圖。圖6為本發(fā)明所述深度神經(jīng)網(wǎng)絡(luò)模型的框架示意圖,如圖6所示,可采用詞向量特征與統(tǒng)計特征相結(jié)合的方式,利用embedding及長短時間記憶網(wǎng)絡(luò)(lstm,longshorttermmemorynetworks)分別得到第二語音識別結(jié)果中的每個字的詞向量,并針對第二語音識別結(jié)果中的每個字,開發(fā)特征工程用以提取統(tǒng)計特征,二者相結(jié)合確定意圖分類結(jié)果,分類結(jié)果包括具有糾錯意圖以及不具有糾錯意圖。具體提取哪些統(tǒng)計特征可根據(jù)實際需要而定,比如可包括拼音特征、發(fā)音距離特征以及規(guī)則特征等。2)糾錯信息提取在確定用戶具有糾錯意圖之后,并不能直接利用第二語音識別結(jié)果來對第一語音識別結(jié)果進行糾錯,因為第二語音識別結(jié)果中不但包含糾錯信息,還包含其它噪聲信息,因此需要對有用的糾錯信息進行提取,去除無關(guān)信息,才能完成后續(xù)的糾錯處理。根據(jù)在對第二語音識別結(jié)果進行糾錯意圖識別時所采用的識別方式的不同,從第二語音識別結(jié)果中提取糾錯信息的方式也會不同。其中,若利用糾錯意圖模板確定出用戶具有糾錯意圖,那么可直接通過糾錯意圖模板的槽位信息來提取出糾錯信息。比如,第二語音識別結(jié)果為“我要的是單人旁的倒”,相匹配的糾錯意圖模板為“是[偏旁]的[字]”,那么提取出糾錯信息則為[偏旁:單人旁]、[字:倒]。若利用深度神經(jīng)網(wǎng)絡(luò)模型確定出用戶具有糾錯意圖,那么則可通過序列標(biāo)注模型,分別對第二語音識別結(jié)果中的每個字進行標(biāo)注,利用標(biāo)注為屬于糾錯信息的字組成糾錯信息。即利用序列標(biāo)注模型,對第二語音識別結(jié)果中的不同類別信息進行標(biāo)注,從而確定有用信息。不同于傳統(tǒng)的命名實體識別(ner,namedentityrecognition)序列標(biāo)注,對第二語音識別結(jié)果的標(biāo)注需要以字粒度進行,因此難度更大、精度要求更高。圖7為本發(fā)明所述序列標(biāo)注模型的框架示意圖,如圖7所示,可采用詞向量特征與統(tǒng)計特征相結(jié)合的方式來對第二語音識別結(jié)果中的每個字進行標(biāo)注,詞向量方面,實驗顯示,采用廣義回歸神經(jīng)網(wǎng)絡(luò)(grnn,generalregressionneuralnetwork)的效果更優(yōu),特征工程對每個字生成統(tǒng)計特征,每個字的統(tǒng)計特征與詞向量合并得到字特征,再通過全連接的神經(jīng)網(wǎng)絡(luò)進行標(biāo)注,對于每個字來說,其能夠體現(xiàn)糾錯信息或不能夠體現(xiàn)糾錯信息,即屬于糾錯信息或不屬于糾錯信息,利用能夠體現(xiàn)糾錯信息的各個字即可組成所需的糾錯信息。比如,“我要的是單人旁的倒”中的“單”字,其用于描述字的偏旁,因此能夠體現(xiàn)糾錯信息。3)糾錯資源匹配在獲取到糾錯信息之后,即可利用糾錯信息來與各糾錯資源進行匹配,以確定糾錯信息所描述的對象,即用戶通過描述想要找到的是哪個字。糾錯資源的種類很多,比如使用偏旁部首資源和拆字資源等,偏方部首資源即指(偏旁:字)的kv對,如(單人旁:倒),拆字資源即描述字的拆解信息及原字,如(人到:倒)。以下以拆字資源為例,說明如何根據(jù)糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。由于針對的是語音query,所以不能直接通過文字信息來索引資源,因為第二語音識別結(jié)果中也可能會出現(xiàn)錯誤,如將“人到:倒”識別為“人道:倒”或“人到:到”等,需要轉(zhuǎn)為對應(yīng)的拼音,以解決第二語音識別結(jié)果中的識別錯誤問題。另外,還會存在其它問題,比如,糾錯資源(日四又:曼),第二語音識別結(jié)果可能為“上面是四字下面又的那個曼”,提取到的糾錯信息為[四又:曼],因此需要計算糾錯信息與糾錯資源的相似度,獲取相似度最高的糾錯資源作為最終的匹配結(jié)果,但線性的相似度計算耗時太大,無法接受,因此本實施例中提出,可按照key的kgram集合來對糾錯資源進行倒排拉鏈,從而減少相似度計算量。為此,針對每個糾錯資源,可分別將該糾錯資源中的每個字轉(zhuǎn)為對應(yīng)的拼音,并根據(jù)該糾錯資源中的各個字及拼音,生成該糾錯資源的key,所述key可為kgramkey,進而可建立key與對應(yīng)的糾錯資源之間的倒排索引。這樣,在根據(jù)糾錯信息對各糾錯資源進行篩選時,可首先將糾錯信息中的每個字分別轉(zhuǎn)為對應(yīng)的拼音,之后,確定糾錯信息中的各個字是否組成一個key,如果是,則將這個key對應(yīng)的糾錯資源作為篩選出的糾錯資源,并確定糾錯信息中的各個字對應(yīng)的拼音是否組成一個key,如果是,則將這個key對應(yīng)的糾錯資源作為篩選出的糾錯資源。具體地,對于每個糾錯資源,可分別按照以下方式確定出該糾錯資源的key:針對該糾錯資源中的各個字,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,并針對該糾錯資源中的各個字對應(yīng)的拼音,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,i為正整數(shù),且2≤i≤n,n為該糾錯資源中包括的字數(shù);針對該糾錯資源中的各個字,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,并針對該糾錯資源中的各個字對應(yīng)的拼音,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,j為正整數(shù),且2≤j≤n-1。將各連續(xù)kgram集合以及各跳躍kgram集合中的元素分別作為該糾錯資源的key。舉例說明:假設(shè)糾錯資源為(日四又:曼);以連續(xù)2個term為最小粒度得到的連續(xù)kgram集合為{日四,四又,又曼};以連續(xù)3個term為最小粒度得到的連續(xù)kgram集合為{日四又,四又曼};以連續(xù)4個term為最小粒度得到的連續(xù)kgram集合為{日四又曼};以2個term為最小粒度得到的不連續(xù)的跳躍kgram集合為{日又,日曼,四曼};以3個term為最小粒度得到的不連續(xù)的跳躍kgram集合為{日又曼,日四曼};相應(yīng)地,對于糾錯資源的拼音(ri’si’you:man);以連續(xù)2個term為最小粒度得到的連續(xù)kgram集合為{ri,si,si’you,you’man};以連續(xù)3個term為最小粒度得到的連續(xù)kgram集合為{ri’si’you,si’you’man};以連續(xù)4個term為最小粒度得到的連續(xù)kgram集合為{ri’si’you’man};以2個term為最小粒度得到的不連續(xù)的跳躍kgram集合為{ri’you,ri’man,si’man};以3個term為最小粒度得到的不連續(xù)的跳躍kgram集合為{ri’you’man,ri’si’man};上述各連續(xù)kgram集合以及各跳躍kgram集合中的元素均為糾錯資源(日四又:曼)的key,通過任一key拉取的list中均將包含糾錯資源(日四又:曼),比如,“日四”是一個key,“四又曼”也是一個key,通過“日四”拉取的list中將包含糾錯資源(日四又:曼),同樣,通過“四又曼”拉取的list中也將包含糾錯資源(日四又:曼)。假設(shè)第二語音識別結(jié)果為“上面是四字下面又的那個曼”,提取到的糾錯信息為[四又:曼],那么根據(jù)該糾錯信息可組成兩個key,分別為“四又曼”和“si’you’man”,將“四又曼”和“si’you’man”這兩個key對應(yīng)的糾錯資源作為篩選出的糾錯資源,其中包含了糾錯資源(日四又:曼),也可能包含了其它糾錯資源。之后,可從篩選出的各糾錯資源中進一步選出與糾錯信息最為匹配的糾錯資源,并利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。具體地,針對篩選出的每個糾錯資源,可分別計算該糾錯資源中的各個字的拼音所組成的字符串與糾錯信息中的各個字的拼音所組成的字符串之間的帶權(quán)編輯距離,進而將計算出的帶權(quán)編輯距離最小的糾錯資源作為最為匹配的糾錯資源,利用最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。編輯距離,是指兩個字符串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù),許可的編輯操作包括將一個字符替換成另一個字符,增加(插入)一個字符,刪除一個字符。一般來說,編輯距離越小,兩個字符串的相似度越大。本實施例中,在計算編輯距離時,對于增加和刪除兩種操作,編輯距離均可與傳統(tǒng)的編輯距離度量方式相同,為1,而對于替換操作,可計算兩個音節(jié)之間的發(fā)音距離,發(fā)音距離越近,產(chǎn)生的編輯距離增加量越小。以上是以糾錯資源的種類為拆字資源為例,對如何根據(jù)糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯進行說明,對于其它種類,本發(fā)明所述方案同樣適用,只是具體實現(xiàn)上可能會有所不同。比如,對于偏旁部首資源,針對每個糾錯資源,可分別將其中的每個字轉(zhuǎn)為對應(yīng)的拼音,假設(shè)糾錯信息為(單人旁:倒),同樣地,可將糾錯信息中的每個字分別轉(zhuǎn)為對應(yīng)的拼音,并根據(jù)拼音,查找與糾錯信息完全匹配的糾錯資源,如果只有一個,該糾錯資源即為最為匹配的糾錯資源,如果有多個,可按照預(yù)定方式,比如使用頻率、上下文信息等進一步從中選出最為匹配的糾錯資源。另外,還可通過詞語或聲調(diào)等來進行糾錯。比如,用戶輸入的第一語音query為“李爍”,第一語音識別結(jié)果出現(xiàn)錯誤,識別為“李樹”,那么用戶可進一步輸入第二語音query“第二個字是閃爍的爍”,從而來對第一語音識別結(jié)果進行糾錯??傊?,采用上述實施例所述方案,可獲取用戶輸入的第二語音識別結(jié)果,并根據(jù)第二語音識別結(jié)果進行糾錯意圖識別,如果確定用戶具有糾錯意圖,則可從第二語音識別結(jié)果中提取出糾錯信息,并根據(jù)糾錯信息對各糾錯資源進行篩選,從而利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,對于用戶來說,可以像人與人之間對話時一樣,描述錯誤或強調(diào)正解,相應(yīng)地,可根據(jù)用戶的描述對語音識別結(jié)果進行修正,從而實現(xiàn)了對于語音識別結(jié)果的準(zhǔn)確糾錯,即提高了糾錯結(jié)果的準(zhǔn)確性,并且,用戶只需要通過語音的方式發(fā)出糾錯指令即可,無需進行手動輸入操作,從而對于用戶來說降低了糾錯難度。另外,采用上述實施例所述方案,可通過將糾錯信息等轉(zhuǎn)為拼音來進行糾錯資源的篩選,從而盡可能地確保了在第二語音識別結(jié)果出現(xiàn)錯誤時,仍能準(zhǔn)確地對第一語音識別結(jié)果進行糾錯。再有,采用上述實施例所述方案,可為糾錯資源通過kgram集合建立倒排索引,從而減少了相似度計算量,進而節(jié)省了計算資源。以上是關(guān)于方法實施例的介紹,以下通過裝置實施例,對本發(fā)明所述方案進行進一步說明。圖8為本發(fā)明所述基于人工智能的語音識別糾錯裝置實施例的組成結(jié)構(gòu)示意圖,如圖8所示,包括:糾錯意圖識別單元801、糾錯信息提取單元802以及糾錯資源匹配單元803。糾錯意圖識別單元801,用于獲取用戶輸入的第二語音query的第二語音識別結(jié)果,并根據(jù)第二語音識別結(jié)果進行糾錯意圖識別。糾錯信息提取單元802,用于當(dāng)糾錯意圖識別單元801識別出用戶具有糾錯意圖時,從第二語音識別結(jié)果中提取出糾錯信息。糾錯資源匹配單元803,用于根據(jù)糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,第一語音識別結(jié)果為在第二語音query之前輸入的第一語音query的語音識別結(jié)果。糾錯意圖識別單元801在接收到用戶輸入的第二語音query之后,可首先按照現(xiàn)有技術(shù)對其進行語音識別,從而得到第二語音識別結(jié)果。之后,糾錯意圖識別單元801可根據(jù)第二語音識別結(jié)果進行糾錯意圖識別,即確定用戶是否具有糾錯意圖,確定用戶具有糾錯意圖之后,才會進行后續(xù)的糾錯流程??紤]到不同的用戶可能會采用不同的表達方式,有的表達方式比較明確,可以比較容易地識別出用戶的糾錯意圖,而有的表達方式則比較復(fù)雜,識別起來比較困難,因此,本實施例中提供了兩種識別方式,即基于規(guī)則的糾錯意圖識別方式以及基于統(tǒng)計的糾錯意圖識別方式,兩種方式可結(jié)合使用。其中,基于規(guī)則的糾錯意圖識別方式可以是指預(yù)先生成m個糾錯意圖模板,m為正整數(shù),具體取值可根據(jù)實際需要而定,通常大于一,這樣,糾錯意圖識別單元801在獲取到第二語音識別結(jié)果之后,可確定其是否與m個糾錯意圖模板中的至少一個相匹配,如果是,則可確定用戶具有糾錯意圖。如果第二語音識別結(jié)果與任一糾錯意圖模板均不匹配,那么可進一步采用基于統(tǒng)計的糾錯意圖識別方式對第二語音識別結(jié)果進行識別。比如,糾錯意圖識別單元801可利用深度神經(jīng)網(wǎng)絡(luò)模型對第二語音識別結(jié)果進行意圖分類,分類結(jié)果包括具有糾錯意圖以及不具有糾錯意圖。深度神經(jīng)網(wǎng)絡(luò)模型的框架可如圖6所示。在確定用戶具有糾錯意圖之后,并不能直接利用第二語音識別結(jié)果來對第一語音識別結(jié)果進行糾錯,因為第二語音識別結(jié)果中不但包含糾錯信息,還包含其它噪聲信息,因此需要對有用的糾錯信息進行提取,去除無關(guān)信息,才能完成后續(xù)的糾錯處理。根據(jù)在對第二語音識別結(jié)果進行糾錯意圖識別時所采用的識別方式的不同,從第二語音識別結(jié)果中提取糾錯信息的方式也會不同。其中,若糾錯意圖識別單元801利用糾錯意圖模板確定出用戶具有糾錯意圖,那么糾錯信息提取單元802可通過糾錯意圖模板的槽位信息確定出糾錯信息。若糾錯意圖識別單元801利用深度神經(jīng)網(wǎng)絡(luò)模型確定出用戶具有糾錯意圖,那么糾錯信息提取單元802可通過序列標(biāo)注模型,分別對第二語音識別結(jié)果中的每個字進行標(biāo)注,利用標(biāo)注為屬于糾錯信息的字組成糾錯信息。序列標(biāo)注模型的框架可如圖7所示。在獲取到糾錯信息之后,即可利用糾錯信息來與各糾錯資源進行匹配,以確定糾錯信息所描述的對象,即用戶通過描述想要找到的是哪個字。糾錯資源的種類很多,比如使用偏旁部首資源和拆字資源等,偏方部首資源即指(偏旁:字)的kv對,如(單人旁:倒),拆字資源即描述字的拆解信息及原字,如(人到:倒)。以下以拆字資源為例,對糾錯資源匹配單元803的具體工作方式進行說明。相應(yīng)地,如圖8所示,本實施例所述裝置中還可進一步包括:預(yù)處理單元800。預(yù)處理單元800,用于當(dāng)糾錯資源的種類為拆字資源時,針對每個糾錯資源,分別將糾錯資源中的每個字轉(zhuǎn)為對應(yīng)的拼音,并根據(jù)糾錯資源中的各個字及拼音,生成糾錯資源的key;建立key與對應(yīng)的糾錯資源之間的倒排索引。糾錯資源匹配單元803可將糾錯信息中的每個字分別轉(zhuǎn)為對應(yīng)的拼音;確定糾錯信息中的各個字是否組成一個key,如果是,則將key對應(yīng)的糾錯資源作為篩選出的糾錯資源;確定糾錯信息中的各個字對應(yīng)的拼音是否組成一個key,如果是,則將key對應(yīng)的糾錯資源作為篩選出的糾錯資源。具體地,對于每個糾錯資源,預(yù)處理單元800可分別按照以下方式確定出該糾錯資源的key:針對糾錯資源中的各個字,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,并針對糾錯資源中的各個字對應(yīng)的拼音,分別以連續(xù)i個term為最小粒度得到連續(xù)kgram集合,i為正整數(shù),且2≤i≤n,n為糾錯資源中包括的字數(shù);針對糾錯資源中的各個字,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,并針對糾錯資源中的各個字對應(yīng)的拼音,分別以j個term為最小粒度得到不連續(xù)的跳躍kgram集合,j為正整數(shù),且2≤j≤n-1。將連續(xù)kgram集合以及跳躍kgram集合中的元素分別作為糾錯資源的key。之后,糾錯資源匹配單元803可從篩選出的各糾錯資源中進一步選出與糾錯信息最為匹配的糾錯資源,并利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。具體地,糾錯資源匹配單元803可針對篩選出的每個糾錯資源,分別計算糾錯資源中的各個字的拼音所組成的字符串與糾錯信息中的各個字的拼音所組成的字符串之間的帶權(quán)編輯距離;將計算出的帶權(quán)編輯距離最小的糾錯資源作為最為匹配的糾錯資源,利用最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯。其中,在計算編輯距離時,對于增加和刪除兩種操作,編輯距離均為1,對于替換操作,可計算兩個音節(jié)之間的發(fā)音距離,發(fā)音距離越近,產(chǎn)生的編輯距離增加量越小。圖8所示裝置實施例的具體工作流程請參照前述方法實施例中的相應(yīng)說明,不再贅述。圖9示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務(wù)器12的框圖。圖9顯示的計算機系統(tǒng)/服務(wù)器12僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。如圖9所示,計算機系統(tǒng)/服務(wù)器12以通用計算設(shè)備的形式表現(xiàn)。計算機系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個或者多個處理器(處理單元)16,存儲器28,連接不同系統(tǒng)組件(包括存儲器28和處理器16)的總線18??偩€18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(vesa)局域總線以及外圍組件互連(pci)總線。計算機系統(tǒng)/服務(wù)器12典型地包括多種計算機系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計算機系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。存儲器28可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質(zhì),例如隨機存取存儲器(ram)30和/或高速緩存存儲器32。計算機系統(tǒng)/服務(wù)器12可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖9未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖9中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。計算機系統(tǒng)/服務(wù)器12也可以與一個或多個外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計算機系統(tǒng)/服務(wù)器12能與一個或多個其它計算設(shè)備進行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進行。并且,計算機系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖9所示,網(wǎng)絡(luò)適配器20通過總線18與計算機系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計算機系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。處理器16通過運行存儲在存儲器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實現(xiàn)圖1所示實施例中的方法,即獲取用戶輸入的第二語音query的第二語音識別結(jié)果,根據(jù)第二語音識別結(jié)果進行糾錯意圖識別,若確定用戶具有糾錯意圖,則從第二語音識別結(jié)果中提取出糾錯信息,根據(jù)糾錯信息對各糾錯資源進行篩選,利用選出的最為匹配的糾錯資源對第一語音識別結(jié)果進行糾錯,第一語音識別結(jié)果為在第二語音query之前輸入的第一語音query的語音識別結(jié)果。具體實現(xiàn)請參照前述各實施例中的相關(guān)說明,不再贅述。本發(fā)明同時公開了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時將實現(xiàn)如圖1所示實施例中的方法??梢圆捎靡粋€或多個計算機可讀的介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。可以以一種或多種程序設(shè)計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設(shè)計語言—諸如”c”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法等,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。當(dāng)前第1頁12