首页> 中国专利> 自动语音识别系统中的快速词汇表外搜索

自动语音识别系统中的快速词汇表外搜索

摘要

本发明公开了一种自动语音识别系统中的快速词汇表外搜索的方法,包括以下步骤:在计算机系统上接收文本搜索查询,该查询包括一个或多个查询字;在计算机系统上为查询中的每一个查询字生成语音识别处理后的音频文件中的一个或多个锚字段,所述一个或多个锚字段识别包含查询字的可能位置;在计算机系统上后处理一个或多个锚字段,该后处理步骤包括:扩展所述一个或多个锚字段;将所述一个或多个锚字段分类;和合并所述一个或多个锚字段中重叠的总代吗;和使用约束语法对所述一个或多个查询字中的至少一个的实例在计算机系统上搜索后处理的一个或多个锚字段。

著录项

  • 公开/公告号CN105027196A

    专利类型发明专利

  • 公开/公告日2015-11-04

    原文格式PDF

  • 申请/专利权人 格林伊登美国控股有限责任公司;

    申请/专利号CN201380074067.3

  • 申请日2013-12-24

  • 分类号G10L15/18;G10L15/26;G10L15/28;G06F17/28;

  • 代理机构北京瑞恒信达知识产权代理事务所(普通合伙);

  • 代理人曹津燕

  • 地址 美国加利福尼亚州达利市

  • 入库时间 2023-12-18 11:47:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-11

    授权

    授权

  • 2015-12-02

    实质审查的生效 IPC(主分类):G10L15/18 申请日:20131224

    实质审查的生效

  • 2015-11-04

    公开

    公开

说明书

技术领域

本发明的多个方面涉及到语音处理、索引和搜索。更具体地,本发明的多 个方面涉及在自动语音识别(ASR)系统(例如,大词汇量连续语音识别(LVCSR) 系统或者类似的适当系统)中搜索包含至少一个词汇表外(OOV)字的短语。

背景技术

在很多情况下,大集合录制音频(音频信息)的用户很重视在音频中快速 搜索字或短语的能力。例如,在企业联络中心(例如,呼叫中心)中,可以搜 索并分析客户与客户服务代表(或代理)之间的记录谈话以识别客户满意度或 客户问题的倾向、监督各种支持代理的性能以及定位与特定问题相关的呼叫。 作为另一个示例,可搜索的讲课记录允许学生搜索并重放特定兴趣话题的讨论。 可搜索的语音信箱消息也允许用户快速找到包含特定字的语音消息。另一个示 例中,可搜索的复杂医疗程序(例如,外科手术)的记录可以用于定位涉及特 定装置的使用、手术中方法的选择以及多种并发症的过程的记录。

通常,自动语音识别(ASR)系统,特别是大词汇量连续语音识别(LVCSR) 转录引擎包括三个部分:一组语言模块(LM)、一组声学模块(AM)和解码器。 LM和AM通常通过向学习模块提供音频文件及其录音文本(例如,已知的、准确 的录音文本)进行训练。通常,LM为统计LM(SLM)。训练过程使用字典(或 “词汇表”),该字典将识别的书面语映射到子词序列(例如,因素或音节)。 在语音识别过程中,解码器分析音频片段(例如,音频文件)并且输出识别的 字序列。

可以通过使用LVCSR引擎处理每个音频文件来搜索音频文件集(例如,呼 叫中心的呼叫或者课堂上的一系列演讲)以生成文本抄本文件,在该文本抄本 文件中抄本中的每个写成的字(基本上)对应于音频文件中口述的字。该生成 的文本接着可以被传统的基于文本的搜索引擎(例如,Apache LuceneTM)编入 索引。然后,用户可以查询该生成的索引(例如,搜索索引数据库)以搜索抄 本。

通常,LVCSR引擎输出中的识别字是从ASR系统的字典(或“词汇表”)中 包含的字中选择的(例如,压缩成所述字)。不在该词汇表中(“词汇表外” 或“OOV”字)的字可能被识别为(例如,具有低可信度的)该词汇表中的字。 例如,如果字“Amarillo”不在词汇表中,“LVCSR”引擎可能会在输出中将该 字转录为“ambassador”。因此,当使用这种ASR系统时,终端用户都不可能 从该索引中搜索到不在该词汇表中的任何情况的字。

解决该问题的一个方案是将OOV字添加到该词典(即,将该字添加到词汇 表),并且生成新LM(可以是SLM或者约束语法),然后重新处理音频文件。 然而,因为需要重新处理音频语料库,所以这种方法将会增加生成搜索结果的 延迟。

在其它的ASR系统中,输出数据为子字水平识别数据,例如音频的语音抄 本,而不是LVCSR输出或者基于近似字的抄本。这种ASR系统通常不包括字词 汇表。相反,这些引擎提供了一种搜索任何字符序列的方法。这种情况下,通 过将搜索短语映射到语音序列并且在语音抄本索引中搜索给定的语音序列执行 搜索。通常认为这些引擎的准确性低于基于LVCSR的引擎,这是因为字的概念 并不是识别过程所固有的,而使用字(例如,字的含义)通常有助于提高语音 识别的准确性。

通常,自动语音识别的组合字和音素水平不能解决已知的基于语音的方法 的准确度问题,对于包括至少一个OOV字的查询,单纯基于语音的方法的准确 度限制仍然会持续。

发明内容

本发明实施例的多个方面涉及搜索口语语音内容给出的LVCSR输出的系统 和方法,其中搜索查询包括至少一个OOV字。

本发明的一个实施例涉及在语音文件语料库中快速处理词汇表外(OOV)查 询的语音文件检索的系统和方法,所述音频文件语料库由LVCSR(大词汇量连续 语音识别)或类似系统进行分析。“OOV查询”是由用户提供一个或多个字的搜 索短语,所述一个或多个字中的至少一个是OOV,其中这里所提到的词汇表(字 典)是该系统已经在其上做过训练的独特的字的列表。给定查询和LVCSR索引 结果,系统从查询中区分OOV和IV(词汇表内)字,为每个字生成锚(即,在 搜索查询中,音频中查询字的位置)的列表。这些锚的位置在修改后的识别阶 段中被重新处理以生成新的搜索事件。因为锚跨越整个语音文件的相对较小的 部分(并且,因此,跨越语音语料库中的相对较小的部分),因此该搜索相对 于重新处理整个语音文件语料库的传统方法快很多。

在本发明的一个实施例中,语音文件检索系统被用在联络中心(例如,呼 叫中心)的情形中。在这种情况中,客户向公司的联络中心发出呼叫,该联络 中心对该呼叫进行记录。基于LVCSR的ASR系统处理该呼叫以生成输出抄本, 并且为这些抄本编制索引。然后,诸如客户支持代理和监督者的用户可以在索 引的抄本中检索特定的关键字,例如所遇到的问题的类型、地名、产品名、错 误消息、错误代码等。

然而,本发明的实施例并不限于人与人之间的对话,而是可以应用于来自 任何资源的任何语音语料库,例如医嘱、电视节目、播客、学术演讲、记录显 示等等。

根据本发明的一个实施例,一种方法包括以下步骤:在计算机系统上接收 文本搜索查询,该查询包括一个或多个查询字;在计算机系统上在多个语音查 询处理的语音文件中为查询中的每个查询字生成一个或多个锚字段,该一个或 多个锚字段识别包含所述查询字的可能位置;在该计算机系统上后处理一个或 多个锚字段,该后处理包括:扩展所述一个或多个锚字段;对所述一个或多个 锚字段分类;和合并所述一个或多个锚字段中的重叠字段;和在计算机系统上 使用约束语法为上述一个或多个查询字中的至少一个的实例对一个或多个后处 理的锚字段执行语音识别。

音频文件可以由语音识别引擎处理,并且上述为查询中的每一个查询字生 成处理后的音频文件的一个或多个锚字段的步骤可以包括:判定该查询字是否 在语音识别引擎的学习模型的词汇表中;当该查询字在该词汇表中时,识别与 该查询字相对应的一个或多个高置信度锚字段;和当该查询字不在词汇表中时, 生成该查询字的一个或多个子字的搜索列表并且识别包含所述一个或多个子字 中的至少一个的一个或多个锚字段。

生成一个或多个锚字段的步骤可以进一步包括:收集语音文件中的低置信 度字,该低置信度字具有低于阀值的字置信度,识别与每个子字相对应的一个 或多个锚字段的步骤可以包括:当查询字不在词汇表中时,仅为该查询字的子 字搜索低置信度字。

约束语法可以包括查询中的一个或多个词汇表外的查询字,其中词汇表外 的查询字中的每一个都不在查询表中。

该搜索可以包括计算一个或多个事件置信级别,事件置信级别中的每一个 对应于一个或多个锚字段中的锚字段包含所述查询的一个或多个查询字中的特 定查询字的置信度。

该方法可以进一步包括从计算机系统中输出搜索结果,其中该结果包括音 频文件中的按照事件置信级别分类的一个或多个查询字的实例。

该方法可以进一步包括:在计算机系统上,将效用函数应用到一个或多个 锚字段中的每一个,以计算一个或多个相应的锚效用值;和在该计算机系统上 根据一个或多个锚效用值给所述一个或多个锚字段分类。

搜索一个或多个后处理的锚字段的步骤可以仅搜索具有所述一个或多个锚 效用值中的最佳锚效用值的一个或多个后处理锚字段。

扩展一个或多个锚字段的步骤可以包括:对于查询中的每个查询字:计算 查询中查询字前面的第一字符数和查询字后面的第二字符数;将第一字符数乘 以平均字符宽度以得到第一扩展数;和将第二字符数乘以平均字符宽度以得到 第二扩展数;和对于每个锚字段进行下述处理,其中每个锚字段由锚字、开始 时间和结束时间识别:开始时间减去第一扩展数和第一常量扩展宽度;和将结 束时间加上第二扩展数和第二常量扩展宽度。

根据本发明的另一个实施例,一种系统包括计算机系统,所述计算机系统 包括处理器、存储器和储存装置,该系统被配置为:接收文本搜索查询,该查 询包括一个或多个查询字;为该查询中的每个查询字生成多个语音识别处理的 音频文件中的一个或多个锚字段,该一个或多个锚字段识别包含查询字的可能 位置;后处理该一个或多个锚字段,该后处理过程包括:扩展该一个或多个锚 字段;对一个或多个锚字段分类;和合并该一个或多个锚字段中的重叠字段; 和,使用约束语法为上述一个或多个查询字中的至少一个的实例对一个或多个 后处理锚字段执行语音识别。

该系统还可以进一步被配置为使用语音识别引擎处理音频文件,其中该系 统可以进一步被配置成为该查询中的每个查询字生成被处理的音频文件的一个 或多个锚字段,该生成过程通过以下处理来实现:判定该查询字是否在语音识 别引擎的学习模型的词汇表中;若该查询字在词汇表中,识别对应于该查询字 的一个或多个高置信度锚字段;和,当该查询字不在词汇表中,生成查询字的 一个或多个子字的搜索列表并且识别对应于一个或多个子字中的每一个的一个 或多个锚字段。

该系统可以进一步被配置为收集音频文件中的低置信度字,该低置信度字 具有低于阀值的字置信度,并且其中识别对应于每个子字的一个或多个锚字段 的步骤可以包括当查询字不在词汇表内时仅为该查询字的子字搜索低置信度 字。

约束语法可以包括查询的一个或多个词汇表外查询字,其中该词汇表外查 询字中的每一个都不在词汇表中。

该系统可以进一步被配置为通过计算一个或多个事件置信等级来搜索一个 或多个后处理锚字段,事件置信等级中的每一个对应于一个或多个锚字段的锚 字段包含所述查询中的一个或多个查询字中的特定查询字的置信度。

该系统可以进一步被配置为搜索结果,其中该结果包括音频文件中的按照 事件置信等级分类的查询字的实例。

该系统可以进一步被配置为:将效用函数应用于一个或多个锚字段中的每 一个,以计算一个或多个相应的锚效用值;和根据该一个或多个效用值对该一 个或多个锚字段分类。

该系统可以被配置为仅通过搜索具有一个或多个锚效用值中的最佳锚效用 值的一个或多个锚字段来搜索一个或多个后处理锚字段。

该系统可以进一步被配置为扩展所述一个或多个锚字段,所述扩展通过以 下处理实现:对于该查询中的每个查询字:计算查询中查询字前面的第一字符 数和查询字后面的第二字符数;将该第一字符数乘以平均字符宽度以得到第一 扩展数;和将第二字符数乘以平均字符宽度以得到第二扩展数;和,对于每个 锚字段进行以下处理,其中每个锚字段由锚字、开始时间和结束时间识别:从 开始时间中减去第一扩展数和第一常量扩展宽度;和将第二扩展数和第二常量 扩展宽度加到结束时间。

根据本发明的另一个实施例,一种系统包括:用于接收文本搜索查询的装 置,该查询包括一个或多个查询字;用于为查询中的每个查询字生成在多个语 音识别处理的音频文件中识别可能位置的一个或多个锚字段的装置,该识别可 能位置的一个或多个锚字段包含查询字;用于后处理一个或多个锚字段的装置, 包括:用于扩展一个或多个锚字段的装置;用于为一个或多个锚字段分类的装 置;和用于将一个或多个锚字段中的重叠字段合并的装置;和,用于使用约束 语法为一个或多个查询字中的至少一个的实例搜索后处理的一个或多个锚字段 的装置。

附图说明

附图与说明书一起说明了本发明的示例性实施例,并且结合上述描述说 明本发明的原理。在附图中:

图1是根据本发明一个示例性实施例的支持被配置为向客户服务代理提 供可搜索抄本的访问的联络中心的系统的示意框图;

图2是根据本发明一个实施例的用于搜索音频文件集的用户界面的屏幕 截图;

图3是根据本发明另一个实施例的用于搜索音频文件集的用户界面的屏 幕截图;

图4是根据本发明实施例的请求准许执行词汇表外搜索的用户界面的屏 幕截图;

图5是根据本发明的一个实施例的用于搜索音频文件集和显示结果集的 用户界面的屏幕截图;

图6是显示根据本发明一个实施例的用于集成语音分析服务器与联络中 心呼叫处理系统的逻辑连接的示意框图;

图7是显示根据本发明一个实施例的用于集成语音分析服务器与联络中 心呼叫处理系统的逻辑连接的更详细的示意框图;

图8是显示根据本发明一个实施例的用于集成语音分析服务器与联络中 心呼叫处理系统的逻辑连接的更详细的示意框图;

图9是显示根据本发明一个实施例的用于集成语音分析服务器与联络中 心呼叫处理系统的逻辑连接的更详细的示意框图;

图10是显示根据本发明一个实施例的处理搜索查询的方法的流程图;

图11是显示根据本发明一个实施例的为搜索查询中的字生成锚字段的方 法的流程图;

图12是显示根据本发明一个实施例的扩展锚字段的边界的方法的示意 图;以及

图13是显示根据本发明一个实施例的扩展锚字段的边界的方法的流程 图。

具体实施方式

在下面的详细描述中,通过说明仅示出并描述了本发明的特定示例性实施 例。正如本领域技术人员所能理解的,本发明可以呈现为多种不同的形式而不 应该限于这里所呈现的实施例。整个说明书中,相同的附图标记表示相同的元 件。

如本文所述,本发明的多种应用和方面可以以软件、固件、硬件及其组合 实现。当实现为软件时,该软件可以在通用计算装置上运行,例如服务器、台 式计算机、平板电脑、智能手机或者个人数字助理。这种通用计算机包括通用 处理器和存储器。

本发明的一些实施例将以联络中心为背景进行说明。然而,本发明的实施 例并不限于此而是还可以在其它涉及搜索记录的音频的条件下使用,例如基于 计算机的教育系统、语音消息系统、医疗转录或者从任意资源获得的任意语音 语料库。

图1是根据本发明一个示例性实施例的支持被配置为向客户服务代理提供 客户可用性信息的联络中心102的系统的示意性框图。联络中心102可以是公 司或企业内部设施,以执行与该企业的可用产品和服务相关的销售和服务的功 能的方式服务于该企业。另一方面,联络中心102可以是第三方服务供应商。 联络中心102可以被托管在专用于该企业或者第三方服务供应商的设备中,和/ 或托管在远程计算环境中,例如具有用于支持多个企业的多个联络中心的基础 设施的私人或公共云环境。

根据一个示例性实施例,联络中心102包括通过电话或其它通信机构能够 传送服务的资源(例如,人员、计算机和通信设备)。这种服务可以根据联络 中心的类型变化,而且可以是客户服务帮助台、紧急响应、电话营销、订单接 受以及类似服务。

希望从联络中心102接收服务的客户、潜在客户或者其他终端用户(统称 为客户)可以通过他们的终端用户装置10a-10c(统称为10)向联络中心102 发起入站呼叫。每个终端用户装置10都可以是本领域传统的通信装置,例如电 话、无线电话、智能电话、个人计算机、电子平板和/或类似装置。操作终端用 户装置10的用户可以发起、管理并响应电话呼叫、电子邮件、聊天、文本消息、 网页浏览会话和其它多媒体业务。

根据正在使用的装置类型,终端用户装置10发出和接收的入站和出站呼叫 可以遍历电话、蜂窝系统和/或数据通信网络14。例如,通信网络14可以包括 私人或公共交换电话网络(PATN)、局域网(LAN)、专用广域网(WAN)和/或 公共广域网,例如因特网。通信网络14还可以包括包含码分多址(CDMA)网络 的无线载波网、全球移动通信系统(GSM)网和/或本领域常规的任何3G或4G 网络。

根据一个示例性实施例,联络中心102包括连接到通信网络14的交换/媒 体网关12,用于接收并传送终端用户与联络中心102之间的呼叫。交换/媒体网 关12可以包括配置为用作中心内代理级别路由的中心交换机的电话交换机。就 此而言,交换机12可以包括自动呼叫分配器、专用交换分机(PBX)、基于IP 的软件交换机和/或配置为接收来源于因特网的呼叫和/或来源于电话网络的呼 叫的任意其它交换机。根据本发明的一个示例性实施例,该交换机连接到呼叫 服务器18,该呼叫服务器18可以例如作为所述交换机与联络中心102的路由、 监测和其它呼叫控制系统的其余部分之间的适配器或接口。

联络中心102还可以包括多媒体/社交媒体服务器,用于执行与终端用户装 置10和/或网络服务器32的除语音交互之外的媒体交互。该媒体交互可以与例 如电子邮件、语音邮件(通过电子邮件发送的语音邮件)、聊天、视频、文本 消息、网页、社交媒体、屏幕共享及类似交互相关。网络服务器32可以包括例 如用于多种已知社交网站的社交网站主机,终端用户通过社交网站主机可以订 阅例如脸书、微博及类似社交网站。网站服务器还可以向联络中心102支持的 企业提供网页。终端用户可以浏览该网页并获得与该企业的产品和服务相关的 信息。该网页还可以提供通过例如网页聊天、语音呼叫、电子邮件、网络实时 通信(WebRTC)及类似方式与联络中心102联系的机制。

根据本发明的一个示例性实施例,交换机连接到交互式语音应答(IVR)服 务器34。IVR服务器34例如被配置有用于根据客户的需求询问客户的IVR脚本。 例如,如果呼叫者希望知道账户余额,银行联络中心可以通过IVR脚本告诉呼 叫者“按1”。如果是这种情况,通过与IVR持续的交互,客户可以完成该服务 而不需要与代理对话。

如果该呼叫被路由至代理,则该呼叫被传送至呼叫服务器18,呼叫服务器 18与路由服务器20交互以找到合适的代理来处理该呼叫。呼叫服务器18可以 配置为处理PSTN呼叫、VoIP呼叫及类似呼叫。例如,呼叫服务器18可以包括 用于处理SIP呼叫的会话发起协议(SIP)服务器。

在一个示例中,从代理正在被定位直到该代理变得可用时,呼叫服务器可 以将该呼叫放置在例如呼叫队列中。该呼叫队列可以通过本领域常规的任意数 据结构(例如,链表、阵列和/或类似数据结构)实现。该数据结构可以保持在 例如呼叫服务器18提供的缓冲存储器中。

一旦合适的代理可以用来处理呼叫,该呼叫被从呼叫队列中移除并转发至 相应的代理装置38a-38c(统称为38)。收集的关于呼叫者的信息和/或呼叫者 的历史信息也可以提供到该代理装置,以辅助代理更好地服务该呼叫。就此而 言,每个代理装置38可以包括适用于普通电话呼叫、VoIP呼叫和类似呼叫的电 话。代理装置38还可以包括计算机,所述计算机用于与联络中心102的一个或 多个服务器通信并执行与联络中心操作相关联的数据处理,并且用于通过多种 通信机制,例如聊天、即时消息传递、语音呼叫和类似机制与客户相连接。

选择路由入站呼叫的适当代理可以根据例如路由服务器20使用的路由策 略,进一步地可以根据与代理能力、技能及其它由例如统计服务器22提供的路 由参数相关的信息。

多媒体/社交媒体服务器24还可以被配置为向终端用户提供用于下载到终 端用户装置10上的移动应用程序。该移动应用程序可以向用户提供可配置的设 置,所述设置指示例如用户是可用、不可用还是可用性未知,以便于联络中心 代理联系。多媒体/社交媒体服务器24可以监测状态设置,并且每当状态信息 变化时发送更新到聚合模块。

联络中心102还可以包括报告服务器28,报告服务器28被配置为从统计服 务器22聚合的数据生成报告。这些报告可以包括近实时报告或者有关资源状况 的历史报告,例如平均等待时间、放弃率、代理占用及类似信息。该报告可以 自动生成或者响应于来自请求者(例如,代理/管理员、联络中心应用程序和/ 或类似请求者)的特定请求生成。

根据本发明的一个示例性实施例,路由服务器20被增强以用于管理分配到 代理的后台/离线活动的功能。这些活动可以包括例如回复电子邮件、回复信件、 参加培训研讨会或者任何其它不需要与客户实时通信的活动。一旦分配给代理, 活动可以被推送到该代理或者可以作为要由该代理完成的任务显示在该代理的 工作框26a-26c(统称为26)中。代理的工作框可以用本领域常用的任何数据 结构实现,例如链表、阵列和/或类似数据结构。工作框可以保持在例如每个代 理装置38的缓冲存储器中。

根据本发明的一个示例性实施例,联络中心102还包括一个或多个大容量 存储装置30,所述大容量存储装置用于存储与代理数据(例如,代理配置文件、 日程安排等)、客户数据(例如,客户配置文件)、交互数据(例如,每个客 户交互的细节,包括交互原因、配置数据、保持时间、处理时间,等等)及类 似数据相关的不同的数据库。根据一个实施例,一些数据(例如,客户配置文 件数据)可以由第三方数据库提供,例如第三方客户关系管理(CRM)数据库。 该大容量存储装置可以采用本领域常用的硬盘或者磁盘阵列的形式。

根据本发明的一个实施例,联络中心102还包括用于记录通过联络中心102 管理的呼叫的音频的呼叫记录服务器40、用于存储所记录的音频的呼叫记录存 储服务器42、配置为处理并分析从联络中心102收集的音频的语音分析服务器 44以及用于提供所分析的音频的索引的语音索引数据库46。

图1的多种服务器中的每一个可以包括一个或多个处理器,所述处理器执 行计算机程序指令并且与其他系统部件进行交互以执行在此所描述的各种功 能。该计算机程序指令存储在存储器中,该存储器使用标准存储装置实现,例 如随机存取存储器(RAM)。该计算机程序指令还可以存储在其它非易失性计算 机可读介质中,例如CD-ROM、闪存驱动器或类似介质。另外,尽管每个服务器 的功能被描述为由特定的服务器提供,但是本领域技术人员应当理解,在不背 离本发明实施例的保护范围的条件下,各种服务器的功能可以结合或集成到单 个服务器中,或者特定服务器的功能可以分配给一个或多个其它服务器。

参照图2,搜索窗格110包括用于提供一个或多个关键字以便搜索的搜索查 询输入框112和用于发动搜索的“搜索”按钮114。该搜索窗格110还可以包括 其它参数以根据元数据,例如数据范围、类型、主题和其它针对用户界面所操 作的特定环境的元数据,进行进一步的精确搜索。例如,在搜索记录在呼叫中 心内的呼叫记录的情况中,该搜索窗格还可以允许根据代理标识符和呼叫特性 (例如,呼叫长度、一天中的时间、呼叫部门、呼叫者位置,等等)进行搜索。 输入一组参数后,用户可以点击“搜索”按钮114以将请求发送到语音分析服 务器44,语音分析服务器44通过搜索语音索引数据库46来处理该请求。

图2中所示的用户界面还包括结果窗格120,所述结果窗格显示符合搜索窗 格110中的搜索标准的音频记录122的列表。该结果窗格可以包括“文本”列 124,所述“文本”列显示符合在搜索窗格110的搜索查询输入框112中输入的 文本搜索查询的音频的部分抄本的一部分。

参照图3,根据一个实施例,还可以设置快速搜索输入框130以搜索语音索 引数据库46。

图4是根据一个实施例的对话框的屏幕截图,其中因为查询包括一个或多 个词汇表外项目,因此该对话框提示用户选择是否执行词汇表外搜索。

图5是根据一个实施例的搜索界面的屏幕截图,其中该搜索界面显示了符 合搜索短语的多个音频记录。

图6是显示根据本发明一个实施例的用于集成语音分析服务器与联络中心 呼叫处理系统的逻辑连接的示意框图。还参照图1,通过呼叫服务器(例如,SIP 服务器)16处理的呼叫被呼叫记录服务器40所记录,呼叫记录服务器40将该 呼叫存储在呼叫记录存储服务器42中。在本发明的多个实施例中,呼叫记录存 储服务器42可以是本地磁盘、专用文件服务器或者基于云的数据存储服务器(例 如,S3)。使用呼叫记录服务器记录的呼叫还可以由语音分析服务器 44处理。呼叫记录服务器40可以为可以根据例如IETF RFC 6341中所述的系统、 或者由例如SIP服务器提供的系统来操作的会话发起协议(SIP)记 录服务器。

参照图7,根据一个实施例,所记录的呼叫信息是由媒体服务器24直接提 供到语音分析服务器44。为了提供更高质量的分析,在语音分析服务器44中实 现的语音分析引擎通常从呼叫中接收音频而未做进一步编码(例如,未做进一 步压缩)。在本实施例中,媒体服务器24创建音频数据的两个副本:1)第一 个副本被存储在呼叫记录存储服务器42中以用于重放和存档的目的。音频数据 的该副本应当进行压缩以节约存储空间,从而可以在多种不同环境中读取。例 如,音频可以以MPEG-音频层3(MP3)格式存储,使得任何HTML 5浏览器都可 以重放该音频而不需要其它插件。2)音频的第二个副本(非压缩或无损压缩) 可以被发送到语音分析服务器44,不执行任何转码,例如,如果需要文件存储 位置则以诸如WAV音频文件格式的脉冲编码调制(PCM)格式存储。第二个副本 可以安全地发送到语音分析服务器44而不需要对源文件进行加密,然而,存储 在磁盘的第一个副本可能需要依照公共秘钥基础设施(PKI)加密以符合支付卡 行业数据安全标准(PCI-DSS)的要求。媒体服务器24也可以向语音分析服务 器44提供与呼叫相关的额外元数据。

在本发明的其它实施例中,媒体服务器24仅将所记录的音频存储到呼叫记 录存储服务器42中而不将第二副本直接发送到语音分析服务器。

当语音分析服务器44接收到该音频数据时,所述语音分析服务器将对音频 数据执行语音分析(例如,生成抄本和/或LVCSR输出)并为该结果生成索引。 语音分析服务器将与呼叫记录相关的元数据和索引存储在语音索引数据库46 中,并且用户可以使用搜索用户界面(例如,参见图2)在语音索引数据库46 中搜索和/或查询音频。当请求重放特定的记录时,(例如,通过呼叫记录API) 从呼叫记录存储服务器42中检索被请求的音频。

参照图8,根据本发明的另一个实施例,除了呼叫记录存储服务器42以外, 呼叫记录部件可以设计为可由上述部署携带。例如,呼叫记录存储服务器42可 以直接将记录的呼叫存储在云(例如,S3)中,或者使用本地基于文 件的呼叫记录托管之前的呼叫记录。

在具有上述部署用于呼叫记录的一些实施例中,用于访问呼叫记录的用户 界面为例如如图2所示的搜索用户界面。在其它实施例中,用于处理呼叫记录 和分析的用户界面被集成为整体呼叫管理用户界面的一部分。

参照图9,根据本发明的另一个实施例,语音分析集成的云部署类似于具有 严格呼叫记录控制的前述部署。当语音分析服务器44接收到用于执行语音分析 的呼叫记录时,由语音分析服务器44写入的音频文件被加密,同时仅有语音分 析服务器44知道私钥。

当音频分析服务器44接收到新的音频片段时,语音分析服务器执行音频数 据的标准LVCSR分析。该数据的LVCSR分析产生LVCSR文本输出,该LVCSR文 本输出同时包括音频的抄本和文本输出中每个字的置信级。为简单起见,LVCSR 输出通常被表示为一组4元组:字、开始时间、结束时间和字置信度:LVCSR={(wj, sj,ej,cj}。LVCSR系统的词汇表中的字通常被识别为具有高置信度,对应于OOV 字的说出的字被错误地识别为与词汇表中与其最接近的匹配字,并且通常具有 低的字置信度。

LVCSR引擎的词汇表是出现在抄本文件中的用于训练与其相关联的语言模 型的一组独特的字。该词汇表是最大的理论字组,所述理论字组可以由LVCSR 引擎使用它的相关语言模型识别。该词汇表可以在这里表示为VLM。在实践中, 不是所有VLM中的字都会在LVCSR输出中出现,这是因为在其它原因中,它们中 的大部分具有较低的先验概率,因为真正的口语词汇不像LM的词汇那么大,或 者因为识别质量不高。

在一个实施例中,使用LVCSR输出词汇VLVCSR,而不在其中的字被作为OOV 处理。那么,VLVCSRVLM.

LVCSR输出被存储在语音索引数据库46中,语音索引数据库46中的字的索 引也随着LVCSR输出而更新。字的索引包括到音频文件的参考(例如,URI), 所述音频文件包含具有指示音频文件中字开始的时间的时间戳的被识别的字 (例如,该索引可以从字wj映射到一个或多个音频文件{(音频_URIk,时间戳 k)})。

在使用LVCSR引擎索引的音频文件集合中搜索字w通常意味着要找到以字w 为第一个元素的所有4元组。然而,OOV字不能由LVCSR引擎正确地识别,而且 因为这些字不在索引中所以也不会在搜索中找到。

根据本发明实施例的多个方面,由具有相关联的开始时间、结束时间和字 置信度的一组字构成的LVCSR文本输出用于在要再处理的音频中找到OOV字的 可能位置,以确定这些位置是否包含所搜索的OOV字。换句话说,本发明的实 施例中生成一组锚字段用于在其中进行搜索。

图10是显示根据本发明一个实施例的处理搜索查询的方法的流程图。在步 骤210中,系统从用户(例如,参见图2)接收查询Q作为搜索短语。该查询Q 可以包括词汇表中的一些字(IV字)和不在词汇表中的字(OOV字)。

在步骤220中,为查询Q中的字生成成组的锚字段(A),其中每个锚字段 识别出音频文件集合中的与该查询中的字相对应的位置。根据本发明一个实施 例的生成锚字段的方法将在下文中参照图11做更详细的描述。

参照图11,给定接收到的查询Q和LVCSR文本输出(之前当音频被开始处 理时生成的),该系统为查询Q中的每一个字生成锚字段(A)。该组锚在步骤 222中被初始化为空集然后,在步骤224中,对查询Q中的每个字wi, 在步骤226中,在LVCSR词汇表(或词典)VLVCSR中查询字wi以确定wi是OOV字 还是IV字。在步骤228中,如果wi是IV字,则搜索LVCSR文本输出找到足够 确定的匹配项,例如,高于给定字置信度阀值。该字的位置依照开始和结束时 间被保存为锚AIV,其中AIV是一组锚{aj},每个锚aj为包括字wi、开始时间sj 和结束时间ej的3元组(aj=(wi,sj,ej),所以AIV={(wi,sj,ej)})。

如果wi为OOV字,在步骤230中生成字wi的子字单元列表。该子字单元可 以是例如语素、音节、音素或者音素的序列。步骤234中,在LVCSR输出文本 中搜索wi的每一个子字以生成一组词汇表外锚AOOV。在一些实施例中,在步骤232 中,对LVCSR输出文本的搜索仅限于具有低置信度(例如,字置信度低于给定 阀值或者在两个给定阀值之间)的字。

在一个实施例中,搜索LVCSR文本输出是在预处理索引上执行的,例如空 闲文本索引。IV字可以在字级别索引上搜索,OOV字可以在子字级别索引上搜 索。不失一般性地,在一个实施例中,子字索引是LVCSR文本输出的音素抄本 的索引。在另一个实施例中,如果子字为单字字符(例如,而不是音素),则 OOV字可以在相同的字级别自由文本索引中搜索。

例如,如果要搜索的OOV字是“Honda”并且子字索引是LVCSR文本输出的 音素抄本索引,那么将在音素抄本中搜索“Honda”的音素(/h/Q/n/,/Q/n/d/, /n/d/@)。

另一方面,如果子字索引是字级别自由文本索引,那么可以在该自由文本 索引中搜索字符串“hon”、“ond”和“nda”。

在步骤236中,所有找到的位置(AOOV或者AIV)都被添加到锚A的列表中(A← A∪AOOV∪AIV)。

然后在步骤238中检查查询Q以确定是否存在更多的查询字wi待处理。如 果有,该过程返回到步骤224以使用下一个字wi重复该过程。如果所有的字都 已经处理过,则锚A的累积集合在步骤239中返回。

锚字段的后处理

再次参照图10,生成一组锚字段A后,锚字段在步骤240中进行后处理以 扩展锚字段,在步骤260中对锚字段进行分类,并且在步骤270中合并重叠的 锚字段。步骤240中对锚字段的扩展步骤将参照图12和13做更详细的描述。 该列表中的每个锚代表音频中的一个小字段。因为锚字段通常为单个字或子字 的长度,所以所述小字段通常非常小以至于难以包含整个短语(例如,搜索查 询的整个搜索短语)。因此,在音频字段上运行音频识别之前扩展每个音频字 段。

因此,每个锚字段的左边和右边(开始和结束)的边界aj=(wj,sj,ej)被扩 展,以便提高锚字段包含完整待搜索短语的可能性。为了计算左边(开始时间) 的扩展,将查询中在该锚的字之前的字符数Li乘以语言的平均口语字符宽度μ (例如,字典中字的平均字符宽度)。在特定实施例中,计算呼叫者的平均字 符宽度,或者另一个最佳的已知值可以被计算或者从存储器中查询。然后将常 量constl添加到动态计算的扩展值。

同样地,右边的扩展的计算是通过将到锚的右侧的字符数Ri乘以μ并且添 加常量constr。在一些实施例中,constl=constr

简单来说,对于每个锚字段aj=(wj,sj,ej),sj与ej的值被扩展,使得扩展 字段为(wj,sj-(Li×μ)-cl,ej+(charr,i×μ)+cr),其中cr和cl分别为右边和左 边的常量。

参照图13,步骤242中,对查询Q中的每个字wi,在步骤244中计算wi的左 侧和右侧的字符数(Li和Ri)。步骤246中,字符数Li和Ri中的每一个乘以平均 字符宽度μ(例如根据所有音频数据的分析或基于当前发音者的数据样本进行 计算)以得到扩展数量expl,i和expr,i,在步骤248中,该扩展数量进一步通过 常量值constl和constr扩展。在步骤250中,检查查询Q以判定是否还有其它 的字wi要处理。如果判定为有,则对剩余字重复步骤244、246和248的过程。 如果判定为没有,则该过程进行到步骤252。

步骤252中,对于锚A的每个锚aj(其中,aj=(wj,sj,ej)),开始时间sj在步骤254中通过相对于wj的左侧扩展数expl,j变换(减少),结束时间ej在步 骤256中通过相对于wj的右侧扩展数expr,j变换(增加),使得扩展后的锚aj 的形式为(wj,sj-expl,j,ej+expr,j)。步骤258中,检查一组锚A以判定是否还有 更多的锚aj等待进行后处理。如果判定为有,则对剩余的锚重复步骤254和256 的过程。如果判定为没有,则扩展后的锚被返回到步骤259。

再次参照图10,扩展后的锚A存储为步骤260中的新的开始时间,并且在 步骤270中合并重叠的锚(即,具有新的开始时间的锚开始于前一个锚的新的 结束时间)。

音频的再处理

在步骤280中,对于上述一组扩展后的锚A中的每个锚字段aj,在锚字段 上音频识别以产生搜索事件。该识别处理可以使用例如美国专利7,487,094 “System and method of call classification with context modeling based  on composite words”中描述的识别技术。可选地,该处理可以由可以判定一 个或多个查询字是否在音频中的锚的位置被提到的其它合适的短语识别技术完 成。上述方法可以扩展为通过在音频中单独或同时(例如,同步)搜索每个项 而完成对多个项执行识别功能。

该识别过程使用字或短语(例如,查询Q中的搜索项)与音频字段(例如, 锚字段),返回表示所提供的音频字段包含所提供的字或短语的置信度的事件 置信等级。这样,搜索扩展后的锚A中的每个锚字段以判定这些字段是否包含 查询Q中的字或短语。同样地,因为例如在音频集的缩减部分中搜索包括查询 字的缩减组的字(称为“约束语法”)(例如,仅搜索先前锚字段),因此搜 索时间能够缩短。参看美国第7,487,094号专利“System and method of call  classification with context modeling based on composite words”,了解 有关约束语法的其它详细信息。

然后为每个事件(例如,每个可能的匹配项)计算事件置信度,具有高于 特定阀值的事件置信度的事件被认为是命中点(即,包含所搜索的查询项的音 频中的位置),这些搜索结果在步骤290中返回。显示搜索结果时,搜索结果 可以按照它们的事件置信度进行分类,具有最高相似度的匹配项首先显示。

图10、11、12和13中的上述过程可以说明如下:

1.A←φ

2.对于查询中的每一个字w

A.如果w∈VLVCSR,则从LVCSR中收集具有高字置信度(字置信度高于预 定阀值)的字,生成一组锚AIV={(wi,si,ei)}

B.如果则从LVCSR中收集具有低字置信度(字置信度在两个 预定阀值之间)的字:

·通过采用w的子字创建搜索列表

·从LVCSR索引中的列表中搜索每个项,生成一组锚AOOV

C.Aw←AIV∪AOOV

D.A←A∪Aw

3.对每个锚,ai=(wi,si,ei),扩展其两侧的边界:

A.在查询Q中找到字wi的相对位置,从该字的每一侧计算字符数。将 它们分别记为Li和Ri

B.si←si-(Li*μ+constl),ei←ei+(Ri×μ+constr),其中μ是平均字 符宽度。

4.根据开始时间对所述锚进行分类并且合并重叠的锚。

5.对于所述锚中的每一个锚字段

A.使用约束语法搜索所述字段。

多次移动搜索窗直到超出搜索范围。

B.为所述事件计算事件置信度并与阀值进行比较。

在本发明的一个实施例中,该系统可以接受仅包含词汇表内(IV)字的短 语作为搜索查询。在这种情况下,该搜索的最终识别精度相对于典型的基于 LVCSR索引的搜索将可以得到改善。

在本发明的另一个实施例中,所得到的锚组按照效用函数分类,以便从效 用更高的锚开始搜索。通过仅搜索分类表的前k个锚,该搜索可以用于为搜索 提供时间约束。

本发明的实施例可以实现为方法或系统。计算机装置或系统包括例如微处 理器、存储器、网络通信装置和可用于以自动或半自动方式执行上述过程的大 容量存储装置。换言之,上述过程可以编码为可由计算机执行的代码并且由该 计算机装置或系统处理。

还应当从上述说明中了解到,本文中所描述的各种结构和功能可以被结合 到多种设备中。在一些实施例中,诸如处理器、控制器和/或逻辑的硬件部件可 以用于实现所述的部件或电路。在一些实施例中,在一个或多个处理装置上执 行的诸如软件或固件的代码可以用于实现一个或多个所述的操作或部件。

尽管结合多个示例性实施例对本发明进行了描述,但是应当理解本发明并 不限于上述公开的实施例,相反,本发明意在覆盖多种修改和包括在所附权利 要求的精神和范围内的等效结构以及等效形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号