自动语音识别系统中的快速词汇表外搜索的制作方法_4

文档序号:9308669阅读:来源:国知局
这些字不在 索引中所以也不会在搜索中找到。
[0083] 根据本发明实施例的多个方面,由具有相关联的开始时间、结束时间和字置信度 的一组字构成的LVCSR文本输出用于在要再处理的音频中找到00V字的可能位置,以确定 这些位置是否包含所搜索的00V字。换句话说,本发明的实施例中生成一组锚字段用于在 其中进行搜索。
[0084] 图10是显示根据本发明一个实施例的处理搜索查询的方法的流程图。在步骤210 中,系统从用户(例如,参见图2)接收查询Q作为搜索短语。该查询Q可以包括词汇表中 的一些字(IV字)和不在词汇表中的字(00V字)。
[0085] 在步骤220中,为查询Q中的字生成成组的锚字段(A),其中每个锚字段识别出音 频文件集合中的与该查询中的字相对应的位置。根据本发明一个实施例的生成锚字段的方 法将在下文中参照图11做更详细的描述。
[0086] 参照图11,给定接收到的查询Q和LVCSR文本输出(之前当音频被开始处理时生 成的),该系统为查询Q中的每一个字生成锚字段(A)。该组锚在步骤222中被初始化为空 集(J- 0 )。然后,在步骤224中,对查询Q中的每个字Wl,在步骤226中,在LVCSR词汇表 (或词典)VWCSR中查询字wi以确定w1是00V字还是IV字。在步骤228中,如果w1是IV字, 则搜索LVCSR文本输出找到足够确定的匹配项,例如,高于给定字置信度阀值。该字的位置 依照开始和结束时间被保存为锚AIV,其中AIV是一组锚{a,每个锚a]为包括字wi、开始时 间s.j和结束时间e』的3元组(a』=(w;,s.j,e.),所以AIV={(w;,s.j,e.) })。
[0087] 如果WlS〇OV字,在步骤230中生成字^的子字单元列表。该子字单元可以是例 如语素、音节、音素或者音素的序列。步骤234中,在LVCSR输出文本中搜索^的每一个子 字以生成一组词汇表外锚A_。在一些实施例中,在步骤232中,对LVCSR输出文本的搜索 仅限于具有低置信度(例如,字置信度低于给定阀值或者在两个给定阀值之间)的字。
[0088] 在一个实施例中,搜索LVCSR文本输出是在预处理索引上执行的,例如空闲文本 索引。IV字可以在字级别索引上搜索,00V字可以在子字级别索引上搜索。不失一般性地, 在一个实施例中,子字索引是LVCSR文本输出的音素抄本的索引。在另一个实施例中,如果 子字为单字字符(例如,而不是音素),则00V字可以在相同的字级别自由文本索引中搜索。
[0089] 例如,如果要搜索的00V字是"Honda"并且子字索引是LVCSR文本输出的音素抄 本索引,那么将在音素抄本中搜索"Honda"的音素(/h/Q/n/,/Q/n/d/,/n/d/@)。
[0090] 另一方面,如果子字索引是字级别自由文本索引,那么可以在该自由文本索引中 搜索字符串" hon "、" ond "和" nda "。
[0091] 在步骤236中,所有找到的位置(A_或者A IV)都被添加到锚A的列表中 (A - A U Aoov U A IV) 〇
[0092] 然后在步骤238中检查查询Q以确定是否存在更多的查询字Wl待处理。如果有, 该过程返回到步骤224以使用下一个字^重复该过程。如果所有的字都已经处理过,则锚 A的累积集合在步骤239中返回。
[0093] 锚字段的后处理
[0094] 再次参照图10,生成一组锚字段A后,锚字段在步骤240中进行后处理以扩展锚字 段,在步骤260中对锚字段进行分类,并且在步骤270中合并重叠的锚字段。步骤240中对 锚字段的扩展步骤将参照图12和13做更详细的描述。该列表中的每个锚代表音频中的一 个小字段。因为锚字段通常为单个字或子字的长度,所以所述小字段通常非常小以至于难 以包含整个短语(例如,搜索查询的整个搜索短语)。因此,在音频字段上运行音频识别之 前扩展每个音频字段。
[0095]因此,每个锚字段的左边和右边(开始和结束)的边界a]= (w,,S],e])被扩展,以 便提高锚字段包含完整待搜索短语的可能性。为了计算左边(开始时间)的扩展,将查询 中在该锚的字之前的字符数1^乘以语言的平均口语字符宽度y (例如,字典中字的平均字 符宽度)。在特定实施例中,计算呼叫者的平均字符宽度,或者另一个最佳的已知值可以被 计算或者从存储器中查询。然后将常量const添加到动态计算的扩展值。
[0096] 同样地,右边的扩展的计算是通过将到锚的右侧的字符数民乘以y并且添加常 量 constr。在一些实施例中,consti: const r。
[0097]简单来说,对于每个锚字段a]= (w,,S],e]),8]与e,的值被扩展,使得扩展字段为 (w" s厂(QX y )-Cl, ej+Ghar^X y )+cr),其中cr和c丨分别为右边和左边的常量。
[0098] 参照图13,步骤242中,对查询Q中的每个字Wl,在步骤244中计算 Wl的左侧和右 侧的字符数(LjPRi)。步骤246中,字符数[^和^中的每一个乘以平均字符宽度y (例如 根据所有音频数据的分析或基于当前发音者的数据样本进行计算)以得到扩展数量expu 和expM,在步骤248中,该扩展数量进一步通过常量值constjP const ^扩展。在步骤250 中,检查查询Q以判定是否还有其它的字K要处理。如果判定为有,则对剩余字重复步骤 244、246和248的过程。如果判定为没有,则该过程进行到步骤252。
[0099] 步骤252中,对于锚A的每个锚aj (其中,aj = (w j,sj,eJ),开始时间sj在步骤 254中通过相对于Wj的左侧扩展数exp u变换(减少),结束时间e 在步骤256中通过相 对于Wj的右侧扩展数exp y变换(增加),使得扩展后的锚a」的形式为(w y Sfexpu efe xpy)。步骤258中,检查一组锚A以判定是否还有更多的锚&]等待进行后处理。如果判定 为有,则对剩余的锚重复步骤254和256的过程。如果判定为没有,则扩展后的锚被返回到 步骤259。
[0100] 再次参照图10,扩展后的锚A存储为步骤260中的新的开始时间,并且在步骤270 中合并重叠的锚(即,具有新的开始时间的锚开始于前一个锚的新的结束时间)。
[0101] 音频的再处理
[0102] 在步骤280中,对于上述一组扩展后的锚A中的每个锚字段aj,在锚字段上音频识 别以产生搜索事件。该识别处理可以使用例如美国专利7, 487, 094 "System and method of call classification with context modeling based on composite words"中描述的 识别技术。可选地,该处理可以由可以判定一个或多个查询字是否在音频中的锚的位置被 提到的其它合适的短语识别技术完成。上述方法可以扩展为通过在音频中单独或同时(例 如,同步)搜索每个项而完成对多个项执行识别功能。
[0103] 该识别过程使用字或短语(例如,查询Q中的搜索项)与音频字段(例如,锚字 段),返回表示所提供的音频字段包含所提供的字或短语的置信度的事件置信等级。这样, 搜索扩展后的锚A中的每个锚字段以判定这些字段是否包含查询Q中的字或短语。同样地, 因为例如在音频集的缩减部分中搜索包括查询字的缩减组的字(称为"约束语法(例如, 仅搜索先前锚字段),因此搜索时间能够缩短。参看美国第7, 487, 094号专利"System and method of call classification with context modeling based on composite words',, 了解有关约束语法的其它详细信息。
[0104] 然后为每个事件(例如,每个可能的匹配项)计算事件置信度,具有高于特定阀值 的事件置信度的事件被认为是命中点(即,包含所搜索的查询项的音频中的位置),这些搜 索结果在步骤290中返回。显示搜索结果时,搜索结果可以按照它们的事件置信度进行分 类,具有最高相似度的匹配项首先显示。
[0105] 图10、11、12和13中的上述过程可以说明如下:
[0106] 1.A -伞
[0107] 2?对于查询◎ 中的每一个字w
[0108] A.如果w G VwesR,则从LVCSR中收集具有高字置信度(字置信度高于预定阀值) 的字,生成一组锚AIV= {(WhS^ei)}
[0109] B.如果w 则从LVCSR中收集具有低字置信度(字置信度在两个预定阀 值之间)的字:
[0110] ?通过采用W的子字创建搜索列表
[0111] ?从LVCSR索引中的列表中搜索每个项,生成一组锚A_
[0112] C.AW-AIVUA_
[0113] D.A -A U Aw
[0114] 3?对每个锚,a;= (w ;,Si, e;),扩展其两侧的边界:
[0115] A.在查询Q中找到字Wl的相对位置,从该字的每一侧计算字符数。将它们分别记 为LjPRi。
[0116] B.Si-s厂(1^*y+(301181^),e;-ei+(RiXy+constr),其中y是平均字符宽度。
[0117] 4.根据开始时间对所述锚进行分类并且合并重叠的锚。
[0118] 5.对于所述锚中的每一个锚字段
[0119] A?使用约束语法搜索所述字段。
[0120] 多次移动搜索窗直到超出搜索范围。
[0121] B.为所述事件计算事件置信度并与阀值进行比较。
[0122] 在
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1