自動(dòng)語(yǔ)音識(shí)別系統(tǒng)中的快速詞匯表外搜索的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的多個(gè)方面涉及到語(yǔ)音處理、索引和搜索。更具體地,本發(fā)明的多個(gè)方面涉 及在自動(dòng)語(yǔ)音識(shí)別(ASR)系統(tǒng)(例如,大詞匯量連續(xù)語(yǔ)音識(shí)別(LVCSR)系統(tǒng)或者類似的適 當(dāng)系統(tǒng))中搜索包含至少一個(gè)詞匯表外(00V)字的短語(yǔ)。
【背景技術(shù)】
[0002] 在很多情況下,大集合錄制音頻(音頻信息)的用戶很重視在音頻中快速搜索字 或短語(yǔ)的能力。例如,在企業(yè)聯(lián)絡(luò)中心(例如,呼叫中心)中,可以搜索并分析客戶與客戶 服務(wù)代表(或代理)之間的記錄談話以識(shí)別客戶滿意度或客戶問題的傾向、監(jiān)督各種支持 代理的性能以及定位與特定問題相關(guān)的呼叫。作為另一個(gè)示例,可搜索的講課記錄允許學(xué) 生搜索并重放特定興趣話題的討論??伤阉鞯恼Z(yǔ)音信箱消息也允許用戶快速找到包含特定 字的語(yǔ)音消息。另一個(gè)示例中,可搜索的復(fù)雜醫(yī)療程序(例如,外科手術(shù))的記錄可以用于 定位涉及特定裝置的使用、手術(shù)中方法的選擇以及多種并發(fā)癥的過程的記錄。
[0003] 通常,自動(dòng)語(yǔ)音識(shí)別(ASR)系統(tǒng),特別是大詞匯量連續(xù)語(yǔ)音識(shí)別(LVCSR)轉(zhuǎn)錄引擎 包括三個(gè)部分:一組語(yǔ)言模塊(LM)、一組聲學(xué)模塊(AM)和解碼器。LM和AM通常通過向?qū)W 習(xí)模塊提供音頻文件及其錄音文本(例如,已知的、準(zhǔn)確的錄音文本)進(jìn)行訓(xùn)練。通常,LM 為統(tǒng)計(jì)LM(SLM)。訓(xùn)練過程使用字典(或"詞匯表"),該字典將識(shí)別的書面語(yǔ)映射到子詞序 列(例如,因素或音節(jié))。在語(yǔ)音識(shí)別過程中,解碼器分析音頻片段(例如,音頻文件)并且 輸出識(shí)別的字序列。
[0004] 可以通過使用LVCSR引擎處理每個(gè)音頻文件來搜索音頻文件集(例如,呼叫中心 的呼叫或者課堂上的一系列演講)以生成文本抄本文件,在該文本抄本文件中抄本中的每 個(gè)寫成的字(基本上)對(duì)應(yīng)于音頻文件中口述的字。該生成的文本接著可以被傳統(tǒng)的基 于文本的搜索引擎(例如,ApacheLucene?)編入索引。然后,用戶可以查詢?cè)撋傻乃饕?(例如,搜索索引數(shù)據(jù)庫(kù))以搜索抄本。
[0005] 通常,LVCSR引擎輸出中的識(shí)別字是從ASR系統(tǒng)的字典(或"詞匯表")中包含的 字中選擇的(例如,壓縮成所述字)。不在該詞匯表中("詞匯表外"或"00V"字)的字可 能被識(shí)別為(例如,具有低可信度的)該詞匯表中的字。例如,如果字"Amarillo"不在詞 匯表中,"LVCSR"引擎可能會(huì)在輸出中將該字轉(zhuǎn)錄為"ambassador"。因此,當(dāng)使用這種ASR 系統(tǒng)時(shí),終端用戶都不可能從該索引中搜索到不在該詞匯表中的任何情況的字。
[0006] 解決該問題的一個(gè)方案是將00V字添加到該詞典(即,將該字添加到詞匯表),并 且生成新LM(可以是SLM或者約束語(yǔ)法),然后重新處理音頻文件。然而,因?yàn)樾枰匦绿?理音頻語(yǔ)料庫(kù),所以這種方法將會(huì)增加生成搜索結(jié)果的延遲。
[0007] 在其它的ASR系統(tǒng)中,輸出數(shù)據(jù)為子字水平識(shí)別數(shù)據(jù),例如音頻的語(yǔ)音抄本,而不 是LVCSR輸出或者基于近似字的抄本。這種ASR系統(tǒng)通常不包括字詞匯表。相反,這些引 擎提供了一種搜索任何字符序列的方法。這種情況下,通過將搜索短語(yǔ)映射到語(yǔ)音序列并 且在語(yǔ)音抄本索引中搜索給定的語(yǔ)音序列執(zhí)行搜索。通常認(rèn)為這些引擎的準(zhǔn)確性低于基于 LVCSR的引擎,這是因?yàn)樽值母拍畈⒉皇亲R(shí)別過程所固有的,而使用字(例如,字的含義)通 常有助于提高語(yǔ)音識(shí)別的準(zhǔn)確性。
[0008] 通常,自動(dòng)語(yǔ)音識(shí)別的組合字和音素水平不能解決已知的基于語(yǔ)音的方法的準(zhǔn)確 度問題,對(duì)于包括至少一個(gè)00V字的查詢,單純基于語(yǔ)音的方法的準(zhǔn)確度限制仍然會(huì)持續(xù)。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明實(shí)施例的多個(gè)方面涉及搜索口語(yǔ)語(yǔ)音內(nèi)容給出的LVCSR輸出的系統(tǒng)和方 法,其中搜索查詢包括至少一個(gè)00V字。
[0010] 本發(fā)明的一個(gè)實(shí)施例涉及在語(yǔ)音文件語(yǔ)料庫(kù)中快速處理詞匯表外(00V)查詢的 語(yǔ)音文件檢索的系統(tǒng)和方法,所述音頻文件語(yǔ)料庫(kù)由LVCSR(大詞匯量連續(xù)語(yǔ)音識(shí)別)或類 似系統(tǒng)進(jìn)行分析。"00V查詢"是由用戶提供一個(gè)或多個(gè)字的搜索短語(yǔ),所述一個(gè)或多個(gè)字 中的至少一個(gè)是00V,其中這里所提到的詞匯表(字典)是該系統(tǒng)已經(jīng)在其上做過訓(xùn)練的獨(dú) 特的字的列表。給定查詢和LVCSR索引結(jié)果,系統(tǒng)從查詢中區(qū)分00V和IV(詞匯表內(nèi))字, 為每個(gè)字生成錨(即,在搜索查詢中,音頻中查詢字的位置)的列表。這些錨的位置在修改 后的識(shí)別階段中被重新處理以生成新的搜索事件。因?yàn)殄^跨越整個(gè)語(yǔ)音文件的相對(duì)較小的 部分(并且,因此,跨越語(yǔ)音語(yǔ)料庫(kù)中的相對(duì)較小的部分),因此該搜索相對(duì)于重新處理整 個(gè)語(yǔ)音文件語(yǔ)料庫(kù)的傳統(tǒng)方法快很多。
[0011] 在本發(fā)明的一個(gè)實(shí)施例中,語(yǔ)音文件檢索系統(tǒng)被用在聯(lián)絡(luò)中心(例如,呼叫中心) 的情形中。在這種情況中,客戶向公司的聯(lián)絡(luò)中心發(fā)出呼叫,該聯(lián)絡(luò)中心對(duì)該呼叫進(jìn)行記 錄?;贚VCSR的ASR系統(tǒng)處理該呼叫以生成輸出抄本,并且為這些抄本編制索引。然后, 諸如客戶支持代理和監(jiān)督者的用戶可以在索引的抄本中檢索特定的關(guān)鍵字,例如所遇到的 問題的類型、地名、產(chǎn)品名、錯(cuò)誤消息、錯(cuò)誤代碼等。
[0012] 然而,本發(fā)明的實(shí)施例并不限于人與人之間的對(duì)話,而是可以應(yīng)用于來自任何資 源的任何語(yǔ)音語(yǔ)料庫(kù),例如醫(yī)囑、電視節(jié)目、播客、學(xué)術(shù)演講、記錄顯示等等。
[0013] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,一種方法包括以下步驟:在計(jì)算機(jī)系統(tǒng)上接收文本搜 索查詢,該查詢包括一個(gè)或多個(gè)查詢字;在計(jì)算機(jī)系統(tǒng)上在多個(gè)語(yǔ)音查詢處理的語(yǔ)音文件 中為查詢中的每個(gè)查詢字生成一個(gè)或多個(gè)錨字段,該一個(gè)或多個(gè)錨字段識(shí)別包含所述查詢 字的可能位置;在該計(jì)算機(jī)系統(tǒng)上后處理一個(gè)或多個(gè)錨字段,該后處理包括:擴(kuò)展所述一 個(gè)或多個(gè)錨字段;對(duì)所述一個(gè)或多個(gè)錨字段分類;和合并所述一個(gè)或多個(gè)錨字段中的重疊 字段;和在計(jì)算機(jī)系統(tǒng)上使用約束語(yǔ)法為上述一個(gè)或多個(gè)查詢字中的至少一個(gè)的實(shí)例對(duì)一 個(gè)或多個(gè)后處理的錨字段執(zhí)行語(yǔ)音識(shí)別。
[0014] 音頻文件可以由語(yǔ)音識(shí)別引擎處理,并且上述為查詢中的每一個(gè)查詢字生成處理 后的音頻文件的一個(gè)或多個(gè)錨字段的步驟可以包括:判定該查詢字是否在語(yǔ)音識(shí)別引擎的 學(xué)習(xí)模型的詞匯表中;當(dāng)該查詢字在該詞匯表中時(shí),識(shí)別與該查詢字相對(duì)應(yīng)的一個(gè)或多個(gè) 高置信度錨字段;和當(dāng)該查詢字不在詞匯表中時(shí),生成該查詢字的一個(gè)或多個(gè)子字的搜索 列表并且識(shí)別包含所述一個(gè)或多個(gè)子字中的至少一個(gè)的一個(gè)或多個(gè)錨字段。
[0015] 生成一個(gè)或多個(gè)錨字段的步驟可以進(jìn)一步包括:收集語(yǔ)音文件中的低置信度字, 該低置信度字具有低于閥值的字置信度,識(shí)別與每個(gè)子字相對(duì)應(yīng)的一個(gè)或多個(gè)錨字段的步 驟可以包括:當(dāng)查詢字不在詞匯表中時(shí),僅為該查詢字的子字搜索低置信度字。
[0016] 約束語(yǔ)法可以包括查詢中的一個(gè)或多個(gè)詞匯表外的查詢字,其中詞匯表外的查詢 字中的每一個(gè)都不在查詢表中。
[0017] 該搜索可以包括計(jì)算一個(gè)或多個(gè)事件置信級(jí)別,事件置信級(jí)別中的每一個(gè)對(duì)應(yīng)于 一個(gè)或多個(gè)錨字段中的錨字段包含所述查詢的一個(gè)或多個(gè)查詢字中的特定查詢字的置信 度。
[0018] 該方法可以進(jìn)一步包括從計(jì)算機(jī)系統(tǒng)中輸出搜索結(jié)果,其中該結(jié)果包括音頻文件 中的按照事件置信級(jí)別分類的一個(gè)或多個(gè)查詢字的實(shí)例。
[0019] 該方法可以進(jìn)一步包括:在計(jì)算機(jī)系統(tǒng)上,將效用函數(shù)應(yīng)用到一個(gè)或多個(gè)錨字段 中的每一個(gè),以計(jì)算一個(gè)或多個(gè)相應(yīng)的錨效用值;和在該計(jì)算機(jī)系統(tǒng)上根據(jù)一個(gè)或多個(gè)錨 效用值給所述一個(gè)或多個(gè)錨字段分類。
[0020] 搜索一個(gè)或多個(gè)后處理的錨字段的步驟可以僅搜索具有所述一個(gè)或多個(gè)錨效用 值中的最佳錨效用值的一個(gè)或多個(gè)后處理錨字段。
[0021] 擴(kuò)展一個(gè)或多個(gè)錨字段的步驟可以包括:對(duì)于查詢中的每個(gè)查詢字:計(jì)算查詢中 查詢字前面的第一字符數(shù)和查詢字后面的第二字符數(shù);將第一字符數(shù)乘以平均字符寬度以 得到第一擴(kuò)展數(shù);和將第二字符數(shù)乘以平均字符寬度以得到第二擴(kuò)展數(shù);和對(duì)于每個(gè)錨字 段進(jìn)行下述處理,其中每個(gè)錨字段由錨字、開始時(shí)間和結(jié)束時(shí)間識(shí)別:開始時(shí)間減去第一擴(kuò) 展數(shù)和第一常量擴(kuò)展寬度;和將結(jié)束時(shí)間加上第二擴(kuò)展數(shù)和第二常量擴(kuò)展寬度。
[0022] 根據(jù)本發(fā)明的另一個(gè)實(shí)施例,一種系統(tǒng)包括計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括處 理器、存儲(chǔ)器和儲(chǔ)存裝置,該系統(tǒng)被配置為:接收文本搜索查詢,該查詢包括一個(gè)或多個(gè)查 詢字;為該查詢中的每個(gè)查詢字生成多個(gè)語(yǔ)音識(shí)別處理的音頻文件中的一個(gè)或多個(gè)錨字 段,該一個(gè)或多個(gè)錨字段識(shí)別包含查詢字的可能位置;后處理該一個(gè)或多個(gè)錨字段,該后處 理過程包括:擴(kuò)展該一個(gè)或多個(gè)錨字段;對(duì)一個(gè)或多個(gè)錨字段分類;和合并該一個(gè)或多個(gè) 錨字段中的重疊字段;和,使用約束語(yǔ)法為上述一個(gè)或多個(gè)查詢字中的至少一個(gè)的實(shí)例對(duì) 一個(gè)或多個(gè)后處理錨字段執(zhí)行語(yǔ)音識(shí)別。
[0023] 該系統(tǒng)還可以進(jìn)一步被配置為使用語(yǔ)音識(shí)別引擎處理音頻文件,其中該系統(tǒng)可以 進(jìn)一步被配置成為該查詢中的每個(gè)查詢字生成被處理的音頻文件的一個(gè)或多個(gè)錨字段,該 生成過程通過以下處理來實(shí)現(xiàn):判定該查詢字是否在語(yǔ)音識(shí)別引擎的學(xué)習(xí)模型的詞匯表 中;若該查詢字在詞匯表中,識(shí)別對(duì)應(yīng)于該查詢字的一個(gè)或多個(gè)高置信度錨字段;和,當(dāng)該 查詢字不在詞匯表中,生成查詢字的一個(gè)或多個(gè)子字的搜索列表并且識(shí)別對(duì)應(yīng)于一個(gè)或多 個(gè)子字中的每一個(gè)的一個(gè)或多個(gè)錨字段。
[0024] 該系統(tǒng)可以進(jìn)一步被配置為收集音頻文件中的低置信度字,該低置信度字具有低 于閥值的字置信度,并且其中識(shí)別對(duì)應(yīng)于每個(gè)子字的一個(gè)或多個(gè)錨字段的步驟可以包括當(dāng) 查詢字不在詞匯表內(nèi)時(shí)僅為該查詢字的子字搜索低置信度字。
[0025] 約束語(yǔ)法可以包括查詢的一個(gè)或多個(gè)詞匯表外查詢字,其中該詞匯表外查詢字中 的每一個(gè)都不在詞匯表中。
[0026] 該系統(tǒng)可以