一種信息查詢方法和系統(tǒng)的制作方法
【專利摘要】本申請?zhí)峁┝艘环N信息查詢方法和系統(tǒng),其中,所述方法包括:將輸入的語音信號識別成文字符號輸出,得到待查詢字符串;將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板;其中,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板;從知識庫中查詢得到所述第一模板對應的應答信息;通過語音和/或文字輸出所述應答信息。通過本申請解決了傳統(tǒng)基于模板匹配的搜索方法隨著系統(tǒng)模板數(shù)量和樣式的增加,處理邏輯越來越復雜,搜索效率降低的問題。
【專利說明】一種信息查詢方法和系統(tǒng)
【技術領域】
[0001]本申請涉及信息【技術領域】,特別是涉及一種信息查詢方法和系統(tǒng)。
【背景技術】
[0002]近年來,隨著自然語言處理技術的發(fā)展,智能問答系統(tǒng)受到了極大的關注,從聊天軟件‘小黃雞’的風靡,到流行于各大網(wǎng)絡平臺的應答機器人,智能問答系統(tǒng)在眾多領域得到應用。一個優(yōu)質的問答系統(tǒng)解決客戶常見的問題,降低人工開銷,并能提供24小時無間斷服務。
[0003]然而,大多數(shù)問答系統(tǒng)都是以文本鍵入的形式作為問答系統(tǒng)的輸入,繁瑣費時,特別是在移動終端(如手機)等無鍵盤設備上,或對于老年人、殘疾人等操作困難人群,文本輸入變得異常困難。
[0004]因此,基于語音輸入的問答系統(tǒng)應運而生。雖然,基于語音的智能問答系統(tǒng)具有快捷、方便、適用設備和人群廣泛的優(yōu)點。然而,將語音作為輸入方式也帶來了新的問題:
[0005]語音輸入的方便性帶來更大的隨意性,因此,相應的系統(tǒng)模板的數(shù)量和樣式需要隨著這種隨意性的增加而增加。傳統(tǒng)基于模板匹配的搜索方法隨著系統(tǒng)模板數(shù)量和樣式的增加,處理邏輯越來越復雜,搜索效率降低,需要消耗大量時間進行匹配,增加了用戶等待時間,用戶體驗較差,同時也增加了設備和系統(tǒng)的處理負擔。
【發(fā)明內容】
[0006]本申請?zhí)峁┝艘环N信息查詢方法和系統(tǒng),以解決傳統(tǒng)基于模板匹配的搜索方法搜索效率降低、耗時久的問題,以及由此帶來的設備和系統(tǒng)處理負擔重的問題。
[0007]本申請公開了一種信息查詢方法,包括:
[0008]將輸入的語音信號識別成文字符號輸出,得到待查詢字符串;
[0009]將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板;其中,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板;
[0010]從知識庫中查詢得到所述第一模板對應的應答信息;
[0011]通過語音和/或文字輸出所述應答信息。
[0012]可選地,所述多個模板通過以下方式按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板:
[0013]采集多個樣本數(shù)據(jù),將所述多個樣本數(shù)據(jù)以字為單位進行數(shù)據(jù)拆分;
[0014]按照所述多個樣本數(shù)據(jù)各自的語義順序,將拆分后得到的字按圖結構形式排列,得到所述多個模板;其中,所述多個模板的數(shù)據(jù)結構為圖結構;
[0015]按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板。
[0016]可選地,所述按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板,包括:
[0017]按照圖結構的可共享子結構模式,分別將滿足上下文無關文法的多個模板中的相同字和/或不同字進行共享合并,得到所述一個或多個壓縮模板;其中,所述壓縮模板的數(shù)據(jù)結構為有向圖壓縮;
[0018]其中,
[0019]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字相同時,以共享形式合并相同字;
[0020]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字不同時,以分裂形式保留不同字。
[0021]可選地,所述將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板,包括:
[0022]將所述待查詢字符串以字為單位進行數(shù)據(jù)拆分,并將拆分后得到的字按圖結構形式進行排列;
[0023]分別獲取排列后的待查詢字符串對應的待查詢集合,和,所述多個壓縮模板對應的多個壓縮模板集合;
[0024]分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑;
[0025]從所述多個壓縮模板集合下獲取一條與所述待查詢集合之間匹配路徑最小的路徑;
[0026]將獲取的最小的路徑指示的模板確定為所述第一模板。
[0027]可選地,所述分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑,包括:
[0028]定義一個Token,所述Token對應集合v(i, j, h, s),其中,i, j分別為所述集合V在集合I和集合J中的狀態(tài);h為所述集合ν在集合I和集合J中經(jīng)過的歷史路徑,s為所述歷史路徑的匹配距離;其中,所述集合I為壓縮模板對應的集合,所述集合J為所述待查詢字符串對應的集合;
[0029]在所述集合I和所述集合J的每一個狀態(tài)中加入一條自動循環(huán)邊;
[0030]對加入循環(huán)邊后的集合I和集合J進行圖擴展搜索,得到累積搜索歷史和匹配距離;并,獲取距離度量;
[0031]對所述累積搜索歷史、匹配距離和所述距離度量求和,得到所述匹配路徑。
[0032]可選地,所述距離度量包括:D(wl,w2),其中,D(wl,w2)用于指示字wl和字w2之間的距離度量;
[0033]所述獲取距離度量,包括:使用以下公式獲取距離度量:
[0034]D(wl.,vv2) = minr Σι< M(xrk, yt-k);
[0035]其中,所述χ為字wl的音素串;所述y為字w2的音素串;r為χ和y的對齊方式;X ,和yrfc為基于所述對齊方式r的X和y的第k個音素;M( Xrk, Yrk )表示基于所述對齊萬式r的χ和y的第k個音素的混淆矩陣;
[0036]其中所述對齊方式包括:所述音素串X和所述音素串y首尾對齊。
[0037]相應地,本申請還公開了一種信息查詢系統(tǒng),包括:
[0038]語音識別模塊,用于將輸入的語音信號識別成文字符號輸出,得到待查詢字符串;
[0039]模板匹配模塊,用于將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板;其中,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板;
[0040]答案生成模塊,用于從知識庫中查詢得到所述第一模板對應的應答信息;
[0041]輸出模塊,用于通過語音和/或文字輸出所述應答信息。
[0042]可選地,所述多個模板通過以下模塊按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板:
[0043]采集模塊,用于采集多個樣本數(shù)據(jù),將所述多個樣本數(shù)據(jù)以字為單位進行數(shù)據(jù)拆分;
[0044]排列模塊,用于按照所述多個樣本數(shù)據(jù)各自的語義順序,將拆分后得到的字按圖結構形式排列,得到所述多個模板;其中,所述多個模板的數(shù)據(jù)結構為圖結構;
[0045]模板獲取模塊,用于按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板。
[0046]可選地,所述模板獲取模塊,具體用于按照圖結構的可共享子結構模式,分別將滿足上下文無關文法的多個模板中的相同字和/或不同字進行共享合并,得到所述一個或多個壓縮模板;其中,所述壓縮模板的數(shù)據(jù)結構為有向圖壓縮;
[0047]其中,
[0048]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字相同時,以共享形式合并相同字;
[0049]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字不同時,以分裂形式保留不同字。
[0050]可選地,所述模板匹配模塊,包括:
[0051]數(shù)據(jù)拆分模塊,用于將所述待查詢字符串以字為單位進行數(shù)據(jù)拆分,并將拆分后得到的字按圖結構形式進行排列;
[0052]集合獲取模塊,用于分別獲取排列后的待查詢字符串對應的待查詢集合,和,所述多個壓縮模板對應的多個壓縮模板集合;
[0053]計算模塊,用于分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑;
[0054]路徑獲取模塊,用于從所述多個壓縮模板集合下獲取一條與所述待查詢集合之間匹配路徑最小的路徑;
[0055]確定模塊,用于將獲取的最小的路徑指示的模板確定為所述第一模板。
[0056]與現(xiàn)有技術相比,本申請包括以下優(yōu)點:
[0057]首先,本申請實施例中基于語音輸入的信息查詢方法和系統(tǒng),通過將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板。由于模板集下的多個模板按照有向圖壓縮進行共享重構,進而使大量不同的模板壓縮合并成數(shù)量較少的一個或多個壓縮模板,簡化了搜索匹配時的邏輯運算處理過程,有效地提高了搜索效率,簡化了搜索算法,解決大規(guī)模模板搜索過程的低效性和復雜性。同時,降低了設備和系統(tǒng)的處理負擔。
[0058]進一步地,用戶以口述的形式輸入問題,經(jīng)過語音識別,模板匹配,把匹配結果傳給知識庫,從知識庫中查詢得到相應的應答信息輸出,減少了用戶的操作,提高了用戶體驗,拓廣了用戶人群。
[0059]當然,實施本申請的任一產(chǎn)品不一定需要同時達到以上所述的所有優(yōu)點。
【專利附圖】
【附圖說明】
[0060]圖1是本申請實施例一中一種信息查詢方法的步驟流程圖;
[0061]圖2是本申請實施例二中一種信息查詢方法的步驟流程圖;
[0062]圖3是圖2所示實施例中模板I基于字的FST結構的示意圖;
[0063]圖4是圖2所示實施例中模板2基于字的FST結構的示意圖;
[0064]圖5是圖2所示實施例中模板3基于字的FST結構的示意圖;
[0065]圖6是圖2所示實施例中模板1、模板2和模板3基于字共享合并后的壓縮模板的FST結構的示意圖;
[0066]圖7是本申請實施例三中一種信息查詢方法的步驟流程圖;
[0067]圖8是圖7所示實施例中的一種智能語音問答系統(tǒng)的系統(tǒng)架構示意圖;
[0068]圖9是本申請實施例四中一種信息查詢系統(tǒng)的結構框圖;
[0069]圖10是本申請實施例五中一種信息查詢系統(tǒng)的結構框圖。
【具體實施方式】
[0070]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0071]實施例一
[0072]參照圖1,示出了本申請實施例一中一種信息查詢方法的步驟流程圖。在本申請中,所述信息查詢方法,包括:
[0073]步驟102,將輸入的語音信號識別成文字符號輸出,得到待查詢字符串。
[0074]在本實施例中,通過前端處理(Front End Processing, FE)、搜索和解碼(Searchand Decoding)將輸入的語音信號識別成文字符號輸出。在對廣播新聞或者電話、會議錄音等語料處理時,還需要做相應的前端預處理工作,如:將長語音切分成語音片斷輸入,語音/非語音判別,寬窄帶判別,男女聲判別和音樂片斷剔除等。
[0075]其中,
[0076]在前端處理過程中,基本任務是對語音特征的提取和歸一化處理。常用的特征有MFCC(Mel Frequency Cepstrum Coefficient,梅爾頻率倒譜系數(shù))特征和 PLP (PerceptualLinear Predictive,感知線性預測系數(shù))特征。在特征提取基礎上,通常需要進行一定的歸一化,如:均值歸一化處理,降低信道影響;方差歸一化處理,降低加性噪聲影響。通過前端處理,提高了聲學模型(Acoustic Mode I, AM)的精度,和聲學模型對聲道、說話人、加性噪聲等因素的魯棒性。
[0077]在搜索和解碼過程中,可以利用訓練好的聲學模型、語言模型(LanguageModel, LM),以及聯(lián)系這兩個模型的發(fā)音詞典(Lexicon),將語音信號識別成文字符號輸出。
[0078]步驟104,將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板。
[0079]較佳地,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板。其中,所述多個模板的數(shù)據(jù)結構可以是圖結構(也即,F(xiàn)ST結構;其中,F(xiàn)ST,F(xiàn)inite State Transducer,有限狀態(tài)轉移機)。在本實施例中,可以根據(jù)FST結構,將多個模板按照有向圖壓縮進行共享合并(也即,基于FST結構進行FST結構的壓縮共享),得到一個或多個壓縮模板,所述壓縮模板可以包含多個模板。由于,所述壓縮模板是基于對FST結構的數(shù)據(jù)進行壓縮得到的數(shù)據(jù),故,所述壓縮模板的數(shù)據(jù)結構也可以是FST結構。
[0080]在本實施例中,F(xiàn)ST是對有限狀態(tài)自動機(Finite State Machine, FSM)的擴展,可以用來精簡表不一個有限狀態(tài)轉移過程。其中,一個FST可以表不為一個有向圖(A,R),其中A為點集合,R為邊集合。R中的每個邊則又可以表示為一個五元組(S,e,w,t,C),其中s和e分別為該邊的初始和到達狀態(tài),w和t分別為輸入元素和輸出元素,c為該邊的權值。FST可以用來表達上下文無關文法(Context-Free Grammar, CFG,上下文無關文法),因此所有符合上下文無關文法的模板都可以表達為一個FST。
[0081]步驟106,從知識庫中查詢得到所述第一模板對應的應答信息。
[0082]步驟108,通過語音和/或文字輸出所述應答信息。
[0083]綜上所述,本實施例所述的信息查詢方法,通過將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板。由于模板集下的多個模板按照有向圖壓縮進行共享重構,進而使大量不同的模板壓縮合并成數(shù)量較少的一個或多個壓縮模板,簡化了搜索匹配時的邏輯運算處理過程,有效地提高了搜索效率,簡化了搜索算法,解決大規(guī)模模板搜索過程的低效性和復雜性。同時,降低了設備和系統(tǒng)的處理負擔。
[0084]進一步地,用戶以口述的形式輸入問題,經(jīng)過語音識別,模板匹配,把匹配結果傳給知識庫,從知識庫中查詢得到相應的應答信息輸出,減少了用戶的操作,提高了用戶體驗,拓廣了用戶人群。
[0085]實施例二
[0086]參照圖2,示出了本申請實施例二中一種信息查詢方法的步驟流程圖。在本實施例中,用于實現(xiàn)所述信息查詢方法的可以是一個終端設備/裝置。
[0087]本實施例的所述信息查詢方法,包括:
[0088]步驟202,終端將輸入的語音信號識別成文字符號輸出,得到待查詢字符串。
[0089]在本實施例中,所述終端既可也接收語音信息的輸入,將語音信息對應的語音信號識別成文字符號輸出;也可以直接地接收文本信息的輸入。
[0090]步驟204,終端設備將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板。
[0091]較佳地,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板。
[0092]下面結合圖3、圖4、圖5和圖6對一種基于字的壓縮模板的生成獲取流程進行說明。其中,圖3是本實施例中模板I基于字的FST結構的示意圖;圖4是本實施例中模板2基于字的FST結構的示意圖;圖5是本實施例中模板3基于字的FST結構的示意圖;圖6是本實施例中模板1、模板2和模板3基于字共享合并后的壓縮模板的FST結構的示意圖。這里需要說明的是,在圖3(或圖4、或圖5)中的數(shù)字“0、1、2、3、4、5、6”分別表示FST結構中的一個節(jié)點,同時,也表示模板3對應的集合下的每一個狀態(tài)。
[0093]其中,模板1、模板2和模板3之間滿足上下文無關文法
[0094]〈模板I>:=請問魯迅生日
[0095]<模板2>:=請問楊過生日
[0096]<模板3>:=請問誰過生日
[0097]較佳地,所述多個模板可以通過以下方式,按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板:
[0098]首先,終端設備采集多個樣本數(shù)據(jù),將所述多個樣本數(shù)據(jù)以字為單位進行數(shù)據(jù)拆分。
[0099]終端采集獲取模板1、模板2和模板3,并將模板1、模板2和模板3按以字為單位進行拆分。其中,模板I按字拆分為:請-問-魯-迅-生-日;模板2按字拆分為:請-問-楊-過-生-日;模板3按字劃分為:請-問-誰-過-生-日。
[0100]然后,終端設備按照所述多個樣本數(shù)據(jù)各自的語義順序,將拆分后得到的字按圖結構形式排列,得到所述多個模板。其中,所述多個模板的數(shù)據(jù)結構為圖結構。
[0101]較佳地,所述圖結構即為FST結構。按字拆分后的模板1、模板2和模板3按照原有的語義順序以圖結構形式進行排列,即分別得到如圖3、圖4和圖5所示的FST結構的模板。
[0102]最后,終端設備按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板。
[0103]其中,終端設備按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并可以是指:如,在圖3、圖4和圖5中,分別對序號O處的“請、請、請”進行合并,序號I處的“問、問、問”進行合并,序號2處的“魯、楊、誰”進行合并。其它位置處的合并方式可以參照上述序號0、1、2處的合并方式。
[0104]在本實施例中,終端設備按照圖結構的可共享子結構模式,分別將滿足上下文無關文法的多個模板中的相同字和/或不同字進行共享合并,得到所述一個或多個壓縮模板。其中,所述壓縮模板的數(shù)據(jù)結構為有向圖壓縮。較佳地,所述有向圖壓縮可以是FST結構。其中,
[0105]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字相同時,以共享形式合并相同字;
[0106]當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字不同時,以分裂形式保留不同字。
[0107]例如,參照圖3、圖4和圖5,終端按照模板1、模板2和模板3對應的FST結構由左向右(這里的“左”“右”是參照圖示所指)的順序,依次將滿足上下文無關文法的模板1、模板2和模板3基于字進行共享合并,得到所述一個壓縮模板。S卩,將相同字(如,請、問、過、生、日等字的共享)進行共享合并;將不同字以決策樹分裂形式進行保留(如,誰、楊和魯三個字的分裂成三個分支進行保留)。進而得到如圖6所示的一個基于字合并后的FST結構的壓縮模板。
[0108]由此可見,在本實施例中,通過基于字的FST合并,可以將多個滿足上下文無關文法的模板結合起來,形成一個大的FST,并通過確定化和最小化,使得模板可共享的部分充分共享,從而大大節(jié)約空間和計算開銷。有效提高了模板匹配的空間和時間效率,進一步地,本實施例實現(xiàn)的是基于字的FST共享方法。在漢語中雖然詞可以無限增長,但漢字集是相對封閉的(字的數(shù)量在很長一段時間內基本是保持不變的),也就是說,即使有新詞增力口,在本實施例中,任何新增加的新詞都可以拆分為現(xiàn)有的多個漢字,進而實現(xiàn)模板的共享合并。基于字的FST共享方法不僅可以擺脫對分詞系統(tǒng)的依賴,簡化了對未登錄新詞的處理,而且可以實現(xiàn)模板的進一步共享,從而進一步壓縮了搜索空間。
[0109]這里需要說明的是,在對模板進行結構重構時,也可以以詞為單位進行共享合并重構。然而,相對于新字而言,新詞的增加速度非???,因此,若采用基于詞進行FST結構重構,則使得在模板匹配過程中,匹配搜索方法將受限于分詞系統(tǒng),極大限制了模板的共享,繼而產(chǎn)生效率問題。在本實施例中,采用基于字進行FST結構重構,可以有效增加路徑共享,減小FST的體積,進而提高了搜索匹配效率。
[0110]在本實施例中,上述步驟204具體可以包括如下子步驟:
[0111]子步驟2042,終端設備將所述待查詢字符串以字為單位進行數(shù)據(jù)拆分,并將拆分后得到的字按圖結構形式進行排列。
[0112]子步驟2044,終端設備分別獲取排列后的待查詢字符串對應的待查詢集合,和,所述多個壓縮模板對應的多個壓縮模板集合。
[0113]子步驟2046,終端設備分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑。
[0114]較佳地,終端設備在計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑時,可以按照如下流程計算:
[0115]第一步,終端設備定義一個Token,所述Token對應集合v(i, j,h, s),其中,i, j分別為所述集合V在集合I和集合J中的狀態(tài);h為所述集合V在集合I和集合J中經(jīng)過的歷史路徑,s為所述歷史路徑的匹配距離。其中,所述集合I為壓縮模板對應的集合,所述集合J為所述待查詢字符串對應的集合。
[0116]在本實施例中,所述Token可以是一個存儲搜索狀態(tài)的數(shù)據(jù)結構,如,在Token中可以存儲歷史匹配路徑和歷史匹配距離等數(shù)據(jù)信息。
[0117]第二步,終端設備在所述集合I和所述集合J的每一個狀態(tài)中加入一條自動循環(huán)邊。
[0118]在本實施例中,圖3所示的模板I對應的集合可以用集合I表示,也即,圖3所示的“0、1、2、3、4、5、6”可以對應集合I中的各個狀態(tài)。同理,也可以用“0、1、2、3、4、5、6”對應表示集合J中的各個狀態(tài)。
[0119]第三步,終端設備對加入循環(huán)邊后的集合I和集合J進行圖擴展搜索,得到累積搜索歷史和匹配距離;并,獲取距離度量。
[0120]在本實施例中,距離度量D(wl,w2)描述了字(或詞)wl和字(或詞)w2之間的距離度量。在傳統(tǒng)精確匹配算法中,D(wl,w2)定義如下:
fOw I == tv 2
[0121]d^iv2) = [ COWl ^ ιλ/2
[0122]其中,當兩個字(如,字wl和字w2)或兩個詞(如,詞wl和詞w2)完全相同時,即,wl = = w2時,則確定字wl和字w2 (或,詞wl和詞w2)之間的距離度量D的值為O。當字wl和字w2不同(或,詞wl和詞w2中有任意一個字不同)時,即,wl古w2時,則確定字wl和字w2(或,詞wl和詞w2)之間的距離度量的值為無窮大。
[0123]采用傳統(tǒng)的精準匹配算法,只有當兩個字完全相同時才能匹配成功,當兩個字不同時則會匹配失敗。當輸入信息是文件信息時,采用傳統(tǒng)的精準匹配算法進行匹配,得到的模板準備度較聞。但是,當輸入?目息是語首?目息時,在語首?目號識別成文本彳目息的過程中,由于受口音、噪聲等各種因素的影響,識別結果經(jīng)常會出現(xiàn)一些隨機錯誤,采用傳統(tǒng)的精準匹配算法(完全精準算法)很難在FST模板中匹配成功。如“請問誰過生日”這句話很可能被語音識別系統(tǒng)識別成“請問誰的生日”,雖然絕大部分字識別正確,但一個“過”字的不匹配導致整個搜索失敗。語音識別中這種小錯誤幾乎每句都有,使得傳統(tǒng)FST搜索方法幾乎無法得到結果。
[0124]在本實施例中,在搜索過程中允許搜索串和模板之間存在一定程度的不匹配,特別是在計算匹配測度的時候考慮匹配對之間的發(fā)音相似性。故,較佳地,可以將距離度量D定義為編輯距離,具體定義如下:
{Owl == w2
csIVI Φ w2; wl,w2 Ψ < eps >
Cdwl ——< eps >, w2 Ψ < eps >
clwI Φ < eps > W2 == < eps >
[0126]其中cs、cd、ci可以分別表示在字wl和字w2 (或,詞wl和詞w2)發(fā)生替換錯誤、刪除錯誤和插入錯誤時對應的距離度量的值。其中,所述距離度量的值可以根據(jù)實際情況確定,如,設置為1、或2或其它滿足實際應用場景的分值。同時,為了使算法簡單,引入了一種輸入為空(〈印s>)的邊,從而使對不同錯誤的處理統(tǒng)一于距離度量D的計算中。
[0127]以字wl和字w2為例,
[0128]當字wl和字w2相同時,即,wl = = w2時,則字wl和字w2之間的距離度量D的值為O。
[0129]當字wl和字w2不同,且,字wl和字w2均不為空時,即,wl Φ w2, wl, w2 Φ <eps>時,則確定字wl和字《2之間發(fā)生替換錯誤,其中,cs表示字wl和字《2發(fā)生替換錯誤時,度量距離D的值。
[0130]當字wl為空,字w2不為空時,即,wl = = <eps>, w2 Φ <eps>時,則確定字wl和字w2之間發(fā)生刪除錯誤,其中,Cd表示字wl和字《2發(fā)生刪除錯誤時,度量距離D的值。
[0131]當字wl不為空,字w2為空時,即,wl古<eps>, w2 = = <eps>時,則確定字wl和字w2之間發(fā)生插入錯誤,其中,ci表示字wl和字《2發(fā)生插入錯誤時,度量距離D的值。
[0132]由此可見,在本實施例中通過較自由的距離度量D的計算方法,提高模板匹配的準確度。例如,我們可以將 TF-1DF(Term Frequency -1nverse Document Frequency, 一種用于資訊檢索與資訊探勘的加權技術)引入到D的計算中,對那些重要的領域相關字給以更高的權重;或依據(jù)語法分析的結果,對主體字加大計算權重,使得匹配過程更關注于關鍵字(或詞)的匹配與否。特別重要的是,這些權重可以附加在FST的邊權重上,從而不必對搜索過程做任何改變。在本實施例中,利用D的靈活性,針對語音輸入中的特殊錯誤模式進行有效補償。本實施例在FST搜索過程中引入模糊匹配,允許一定的插入、刪除和替換錯誤,并引入聲音混淆矩陣來對匹配錯誤進行權重重估,從而解決了語音問答系統(tǒng)的容錯問題?;诎l(fā)音相似性的模糊搜索方法,不僅可以增強系統(tǒng)的容錯性,而且可以針對語音識別的特殊錯誤模式進行補償,從而有利于對用戶輸入的有效理解,進而提高整個系統(tǒng)的性能。
[0133]第四步,終端設備對所述累積搜索歷史、匹配距離和所述距離度量求和,得到所述匹配路徑。
[0134]在本實施例中,F(xiàn)ST模糊匹配算法目的是找到一條I和J間差異最小的匹配路徑。其基本思路是將全局路徑匹配任務分解為部分路徑匹配任務,部分匹配的結果保存在一個稱為Token的數(shù)據(jù)結構中,通過Token在I和J兩個FST中進行擴展和路徑匹配。這一擴展和匹配直到某一 Token到達兩個FST的終結狀態(tài),這一 Token所記錄的匹配路徑即為最佳匹配結果。
[0135]子步驟2048,終端設備從所述多個壓縮模板集合下獲取一條與所述待查詢集合之間匹配路徑最小的路徑。
[0136]子步驟20410,終端設備將獲取的最小的路徑指示的模板確定為所述第一模板。
[0137]步驟206,終端設備從知識庫中查詢得到所述第一模板對應的應答信息。
[0138]步驟208,終端設備通過語音和/或文字輸出所述應答信息。
[0139]綜上所述,本實施例所述的信息查詢方法,通過將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板。由于模板集下的多個模板按照有向圖壓縮進行共享重構,進而使大量不同的模板壓縮合并成數(shù)量較少的一個或多個壓縮模板,簡化了搜索匹配時的邏輯運算處理過程,有效地提高了搜索效率,簡化了搜索算法,解決大規(guī)模模板搜索過程的低效性和復雜性。同時,降低了設備和系統(tǒng)的處理負擔。
[0140]進一步地,用戶以口述的形式輸入問題,經(jīng)過語音識別,模板匹配,把匹配結果傳給知識庫,從知識庫中查詢得到相應的應答信息輸出,減少了用戶的操作,提高了用戶體驗,拓廣了用戶人群。
[0141]實施例三
[0142]結合上述實施例,下面以一個基于漢字有限狀態(tài)轉移機模糊匹配的智能語音問答系統(tǒng)的實例來對本實施例中一種信息查詢方法的步驟流程進行詳細說明。
[0143]在本實施例中,參照圖7,示出了本申請實施例三中一種信息查詢方法的步驟流程圖。所述信息查詢方法,具體包括:
[0144]步驟702,語音問答系統(tǒng)建立基于字的FST的共享模板集,得到系統(tǒng)模板庫。
[0145]在本實施例中,用于實現(xiàn)本實施例的信息查詢方法的可以是一個智能語音問答系統(tǒng)。參照圖8,示出了本申請實施例三中一種智能語音問答系統(tǒng)的系統(tǒng)架構示意圖。
[0146]較佳地,用于實現(xiàn)本實施例所述的信息查詢方法的語音問答系統(tǒng)800可以包括:語音識別子系統(tǒng)802和問答子系統(tǒng)804。進一步地,所述問答子系統(tǒng)804中可以包括:模板匹配模塊8042和答案生成模塊8044 ;更進一步地,所述問答子系統(tǒng)804中還可以包括:系統(tǒng)模板庫8046和知識庫8048。用戶以口述的形式將問題作為輸入傳給語音識別子系統(tǒng)802,語音識別子系統(tǒng)802將語音輸入轉換為文本后傳給問答子系統(tǒng)804。問答子系統(tǒng)804得到這些文本輸入后,模板匹配模塊8042與系統(tǒng)模板庫8046中的模板進行匹配,得到最接近的匹配模板,進而答案生成模塊8044通過搜索知識庫8048得到問題的相應答案,并輸出答案。
[0147]在本實施例中,所述語音問答系統(tǒng)在進行自動問答過程之前,需要建立基于字的FST的共享模板集,即系統(tǒng)模板庫。
[0148]較佳地,可以將多個樣本模板轉換成FST結構的FST模板。然后,按照上下文無關文法,將轉換后的多個FST模板劃分為多個組。分別對每組中的滿足上下文無關無法的多個FST模板以字為單位進行拆分共享。其中,若同一位置處的字相同,則多個FST模板共享所述相同字;若同一位置處的字不同,則以決策樹分裂的形式,將多個不同字進行合并壓縮。經(jīng)過相同字的共享和/或不同字的合并,得到一個包含所有滿足上下文無關文法的、共享后的FST模板,即基于字的FST的共享模板為共享模板。每一組可以但不僅限于對應一個共享模板,將多組對應的多個共享模板作為系統(tǒng)模板庫中的數(shù)據(jù)進行存儲,即得到共享模板集。
[0149]步驟704,語音問答系統(tǒng)接收用戶的語音輸入,并將輸入的語音信號識別成文字信號輸出。
[0150]在本實施例中,所述語音問答系統(tǒng)下的語音識別子系統(tǒng)將輸入的語音信號識別成文字信號輸出;其中,輸出的文字信號為待查詢字符串。
[0151]步驟706,語音問答系統(tǒng)將所述待查詢字符串與系統(tǒng)模板庫中的共享模板集進行模糊匹配,得到匹配模板。
[0152]在本實施例中,可以采用FST模糊匹配算法對所述待查詢字符串和系統(tǒng)模板庫中的共享模板集進行模糊匹配。較佳地,語音問答系統(tǒng)下的問答子系統(tǒng)將模板集定義為I ;將待查詢字串也轉成FST結構,并定義為J。FST模糊匹配算法目的是找到一條I和J間差異最小的匹配路徑。其基本思路是將全局路徑匹配任務分解為部分路徑匹配任務,部分匹配的結果保存在一個稱為Token的數(shù)據(jù)結構中,通過Token在I和J兩個FST中進行擴展和路徑匹配。這一擴展和匹配直到某一 Token到達兩個FST的終結狀態(tài),這一 Token所記錄的匹配路徑即為最佳匹配結果。
[0153]其中,語音問答系統(tǒng)在將所述待查詢字符串與系統(tǒng)模板庫中的共享模板集進行模糊匹配時,采用的FST模糊匹配算法具體可以如下:
[0154]定義:
[0155]T:當前活躍的Token列表
[0156]T.top (n):Token列表T中匹配距離最低的前η個Token集合
[0157]merge (T):對T中Token進行合并,當多個Token的狀態(tài)對(i, j)相同時,保留匹配距離最小的Token
[0158]prune (T):對T中的Token進行剪枝
[0159]M.S:FST M中初始狀態(tài)集合
[0160]M.E:FST M中終止狀態(tài)集合
[0161]E(m, Μ):在FST M中對狀態(tài)m的邊擴展列表
[0162]st (m, e, M):在FST M中對狀態(tài)m通過邊e所到達的狀態(tài)
[0163]e.w:邊e包含的輸入字符
[0164]e.c:邊e的權重值c
[0165]eh (h, (el, e2)):對歷史 h 加入邊對(el, e2)
[0166]D (wl, w2):表示兩個漢字wl和w2之間的距離度量
[0167]<eps>:零輸入字符
[0168]算法:
[0169]初始化:
[0170](I)對I和J每一個狀態(tài)加入自循環(huán)邊,其輸入和輸出字符為<eps>
[0171](2) for each (i e 1.S&&j e J.S):
[0172]T = TU v(i, j, {},0)}
[0173]搜索過程:
[0174]
【權利要求】
1.一種信息查詢方法,其特征在于,包括: 將輸入的語音信號識別成文字符號輸出,得到待查詢字符串; 將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板;其中,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板; 從知識庫中查詢得到所述第一模板對應的應答信息; 通過語音和/或文字輸出所述應答信息。
2.如權利要求1所述的方法,其特征在于,所述多個模板通過以下方式按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板: 采集多個樣本數(shù)據(jù),將所述多個樣本數(shù)據(jù)以字為單位進行數(shù)據(jù)拆分; 按照所述多個樣本數(shù)據(jù)各自的語義順序,將拆分后得到的字按圖結構形式排列,得到所述多個模板;其中,所述多個模板的數(shù)據(jù)結構為圖結構; 按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板。
3.如權利要求2所述的方法,其特征在于,所述按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板,包括: 按照圖結構的可共享子結構模式,分別將滿足上下文無關文法的多個模板中的相同字和/或不同字進行共享合并,得到所述一個或多個壓縮模板;其中,所述壓縮模板的數(shù)據(jù)結構為有向圖壓縮; 其中, 當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字相同時,以共享形式合并相同字; 當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字不同時,以分裂形式保留不同字。
4.如權利要求1所述的方法,其特征在于,所述將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板,包括: 將所述待查詢字符串以字為單位進行數(shù)據(jù)拆分,并將拆分后得到的字按圖結構形式進行排列; 分別獲取排列后的待查詢字符串對應的待查詢集合,和,所述多個壓縮模板對應的多個壓縮模板集合; 分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑; 從所述多個壓縮模板集合下獲取一條與所述待查詢集合之間匹配路徑最小的路徑; 將獲取的最小的路徑指示的模板確定為所述第一模板。
5.如權利要求4所述的方法,其特征在于,所述分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑,包括: 定義一個Token,所述Token對應集合v(i, j, h, s),其中,i, j分別為所述集合ν在集合I和集合J中的狀態(tài);h為所述集合ν在集合I和集合J中經(jīng)過的歷史路徑,s為所述歷史路徑的匹配距離;其中,所述集合I為壓縮模板對應的集合,所述集合J為所述待查詢字符串對應的集合; 在所述集合I和所述集合J的每一個狀態(tài)中加入一條自動循環(huán)邊; 對加入循環(huán)邊后的集合I和集合J進行圖擴展搜索,得到累積搜索歷史和匹配距離;并,獲取距離度量; 對所述累積搜索歷史、匹配距離和所述距離度量求和,得到所述匹配路徑。
6.如權利要求5所述的方法,其特征在于,所述距離度量包括:D(wl,w2),其中,D(wl,w2)用于指示字wl和字《2之間的距離度量; 所述獲取距離度量,包括:使用以下公式獲取距離度量:
D(wl, w2) = minr Σι( M(xrk, y,-k); 其中,所述χ為字wl的音素串;所述y為字w2的音素串;r為χ和y的對齊方式-’xrk和y k為基于所述對齊方式!■的χ和y的第k個音素;M( Xrk,yric )表示基于所述對齊方式r的χ和y的第k個音素的混淆矩陣; 其中所述對齊方式包括:所述音素串X和所述音素串I首尾對齊。
7.一種信息查詢系統(tǒng),其特征在于,包括:語音識別模塊,用于將輸入的語音信號識別成文字符號輸出,得到待查詢字符串;模板匹配模塊,用于將所述待查詢字符串按照設定匹配規(guī)則分別與模板集下的多個壓縮模板進行匹配,得到與所述待查詢字符串相匹配的壓縮模板中的第一模板;其中,所述模板集下包括多個模板,所述多個模板按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板; 答案生成模塊,用于從知識庫中查詢得到所述第一模板對應的應答信息; 輸出模塊,用于通過語音和/或文字輸出所述應答信息。
8.如權利要求7所述的系統(tǒng),其特征在于,所述多個模板通過以下模塊按照有向圖壓縮進行共享合并,得到一個或多個壓縮模板: 采集模塊,用于采集多個樣本數(shù)據(jù),將所述多個樣本數(shù)據(jù)以字為單位進行數(shù)據(jù)拆分; 排列模塊,用于按照所述多個樣本數(shù)據(jù)各自的語義順序,將拆分后得到的字按圖結構形式排列,得到所述多個模板;其中,所述多個模板的數(shù)據(jù)結構為圖結構; 模板獲取模塊,用于按照圖結構的可共享子結構模式,分別對滿足上下文無關文法的多個模板進行共享合并,得到所述一個或多個壓縮模板。
9.如權利要求8所述的系統(tǒng),其特征在于, 所述模板獲取模塊,具體用于按照圖結構的可共享子結構模式,分別將滿足上下文無關文法的多個模板中的相同字和/或不同字進行共享合并,得到所述一個或多個壓縮模板;其中,所述壓縮模板的數(shù)據(jù)結構為有向圖壓縮; 其中, 當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字相同時,以共享形式合并相同字; 當所述滿足上下文無關文法的多個模板,在各自對應的圖結構的相同位置處的字不同時,以分裂形式保留不同字。
10.如權利要求7所述的系統(tǒng),其特征在于,所述模板匹配模塊,包括: 數(shù)據(jù)拆分模塊,用于將所述待查詢字符串以字為單位進行數(shù)據(jù)拆分,并將拆分后得到的字按圖結構形式進行排列; 集合獲取模塊,用于分別獲取排列后的待查詢字符串對應的待查詢集合,和,所述多個壓縮模板對應的多個壓縮模板集合; 計算模塊,用于分別計算所述待查詢集合與所述多個壓縮模板集合之間的匹配路徑;路徑獲取模塊,用于從所述多個壓縮模板集合下獲取一條與所述待查詢集合之間匹配路徑最小的路徑; 確定模塊,用于將獲取的最小的路徑指示的模板確定為所述第一模板。
【文檔編號】G06F17/30GK104199825SQ201410352847
【公開日】2014年12月10日 申請日期:2014年7月23日 優(yōu)先權日:2014年7月23日
【發(fā)明者】王東, 王曉曦, 趙芳, 劉榮, 游世學 申請人:清華大學, 北京中科匯聯(lián)信息技術有限公司