自动语音识别系统中的广义短语的制作方法

文档序号:11891076阅读:350来源:国知局
自动语音识别系统中的广义短语的制作方法与工艺

本发明实施例的多个方面涉及对自动语音识别(ASR)系统的输出进行语音识别和分析的领域。更具体地,本发明实施例的多个方面涉及一种在ASR系统中定义术语的语义组、使用语义组定义广义短语、识别特定短语和使用广义短语对识别出的短语进行分类的计算机实现和辅助的系统和方法。



背景技术:

组织和个人通常记录和存储包含口头交谈的音频。例如,打给大型组织运营的呼叫中心(例如,由提供顾客支持或销售的代理充当员工的呼叫中心)的电话呼叫、医疗实践的音频日志(例如,外科医生叙述的外科手术的执行过程)、演讲记录、对执法和紧急调度服务的呼叫等等,都经常被记录下来以用于培训、保留记录或其它目的。

自动语音识别(ASR)系统可以用于处理和识别已记录的或实时口述的语言(语音)。



技术实现要素:

本发明实施例的多个方面涉及一种用于辅助用户在使用术语的广义语义组时增强对已记录的或实时的交互进行分类的短语的覆盖率的系统和方法。本发明的实施例还涉及用于自动生成术语的广义语义组和通过使用术语的广义语义组改进训练自动语音识别系统的效率的系统和方法。

与系统的顾客、客户或其他用户的交互的分析(或执行分析)通常用于识别这些用户行为的趋势和模式。例如,可以分析公司的销售呼叫中心中已记录或实时的口述交互(例如,电话交谈中的语音),以基于销售代理的效率(例如,提升销售尝试的成功频率)对呼叫分类,以识别顾客的抱怨或识别系统中的当前问题。

自动语音识别(ASR)系统可以用于处理这些记录的交谈或者实时的交谈,自动识别录制语音中特定的口述短语,并自动将记录的通话分类为基于特定短语的存在的分类。例如,包含短语“您有兴趣更新您当前的计划吗?”或“您对我们的保险提议感兴趣吗?”的交谈可以归类别到包含“提升销售尝试”的交谈中。根据一个实施例,与各种类别相关联的短语由用户(他可能具有设计这种分类的专长)生成,用户根据其知识和经验手动将短语输入系统。

将特定的短语映射到类别可能是很困难和乏味的任务,一部分是因为任何特定概念的表达方式可以多种多样。例如,打电话取消他或她的账户的顾客可以说“我想取消会员”、“我想取消账号”或“我想取消预订”。在这种情况下,单词“会员”、“账号”和“预订”具有相同的含义,但是进入系统中的却是三种不同的短语。此外,有些顾客可以使用单词“暂停”代替“取消”。

仍在一些其他的情况下,基于特定交互,在具有不同信息的环境中可以说出同样的短语。例如,短语“我的信用卡号码是”通常后跟十六个数字,这些数字根据交互的不同而不同。因此,本发明的实施例还涉及自动检测交互中相似位置和将许多不同的短语(例如,包含不同信用卡号码的短语)归纳到广义短语中,所述广义短语将被认为是与任何信用卡号码匹配。

因此,本发明的实施例涉及用于辅助用户创建广义短语(简洁地获得潜在短语的范围)并从而减少问题的范围和改善交互分类质量的系统和方法。

根据本发明的一个实施例,一种用于在分析系统中生成具有与供给短语相似含义的建议短语的方法包括以下步骤:在包括处理器和存储有指令的内存的计算机系统上接收供给短语,供给短语包括一个或多个术语;在所述计算机系统上识别短语中属于某个语义组的术语;使用供给短语和语义组生成建议短语;和返回建议短语。

语义组可以是形式语法。

形式语法可以被设置成匹配金额、日期、时间、电话号码、信用卡号码、社会保险号码、邮政编码和邮政编码中的一个。

建议短语可以相当于供给短语使用形式语法代替识别出的术语。

语义组可以包括多个术语。

识别出的术语可以用替换术语来替代,替换术语出自语义组的多个术语,替换术语不同于识别出的术语。

可以通过以下步骤生成语义组:计算由自动语音识别引擎生成的多个短语中的每一个之间的差异,短语中的每一个都包括多个术语;根据相似性对多个短语分组;识别短语之间存在差异的位置;和定义广义语义组,广义语义组包括在短语存在差异的位置处的术语。

识别出的术语可以被替换为包括多个术语的语义组。

识别出的术语可以被替换为语义组,建议短语可以作为训练数据提供给语音识别系统。

分析系统可以是语音分析系统。

根据本发明的一个实施例,系统包括:处理器;内存,所述内存中存储指令,当处理器执行指令时,使得处理器:接收供给短语,供给短语包括一个或多个术语;识别短语中属于语义组的术语;使用供给短语和语义组生成建议短语;和返回建议短语。

语义组可以是形式语法。

形式语法可以被设置成匹配金额、日期、时间、电话号码、信用卡号码、社会保险号码、邮政编码和邮政编码中的一个。

内存可以存储指令,以通过使用形式语法替换供给短语中识别出的术语来生成建议短语。

语义组可以包括多个术语。

内存可以存储指令,以使用源自语义组的多个术语的替换术语替换识别出的术语,替换术语与识别出的术语不相同。

内存可以存储指令,以使处理器通过以下步骤生成语义组:计算自动语音识别引擎生成的多个短语中的每一个之间的差异,短语中的每一个都包括多个术语;根据相似度对多个短语分组;识别短语之间存在差异的位置;和定义广义语义组,广义语义组包括短语之间存在差异的位置处的术语。

内存可以存储指令,以使处理器使用包括多个术语的语义组替换识别出的术语。

内存可以存储指令,以使处理器使用语义组替换识别出的术语,建议短语可以作为训练数据提供给语音识别系统。

处理器和内存可以是语音分析系统的组成部分。

附图说明

附图以及说明书一起说明了本发明的示例性实施例,并且附图及说明一起用于说明本发明的原理。

图1是显示根据本发明的一个实施例的用于管理广义短语和根据广义短语向供给短语提供建议或修改的系统的方框图;

图2是短语到主题或分类的映射的视图;

图3是显示根据本发明的一个实施例的类别作为不确定的有限自动机(NFA)的视图,该类别包含六个不同短语而且没有分组;

图4是显示根据本发明的一个实施例的在图3中作为包含同样六个短语但分组的NFA的类别的视图;

图5是显示根据本发明的一个实施例的对短语一起分组来生成广义短语的方法的流程图;

图6是显示根据本发明的一个实施例的用于识别基于供给短语增加的附加短语的方法的流程图;

图7A是显示根据本发明的一个实施例的匹配用美元和美分表达的金额的语法的视图;

图7B是显示根据本发明的一个实施例的匹配包含金额的短语的语法的视图;

图7C是显示根据本发明的一个实施例的广义语义组的视图,其中广义语义组显示为NFA;

图7D是显示根据本发明的一个实施例的广义短语组的视图,其中术语被替换为广义语义组;

图7E是显示根据本发明的一个实施例的用于使用广义语法替换短语中特定术语的方法的流程图;

图8是显示用于分析ASR输出的短语以生成规则的方法的流程图;

图9A是显示用户界面的屏幕截图,其中类别中的短语没有分组;

图9B是显示根据本发明的一个实施例的短语已分组的用户界面的屏幕截图;

图10A是显示根据本发明的一个实施例的系统的用户界面的屏幕截图,表明可以基于用户增加短语“我要问个和我的账号有关的问题”来将附加短语加入到当前分类中;

图10B是显示根据本发明的一个实施例的系统的用户界面的屏幕截图,表明可以基于用户增加短语“这个服务的价格是the price of this service is four ninety five”来将完整的同义词规则加入到当前分类中;

图10C是显示根据本发明的一个实施例的系统的用户界面的屏幕截图,标示出了示例性通配符分组;

图11是根据本发明的一个示例性实施例的支持被配置为提供对已记录的音频会话进行访问的呼叫中心的系统的示意性方框图;

图12A是根据本发明的一个实施例的计算设备的方框图;

图12B是根据本发明的一个实施例的计算设备的方框图;

图12C是根据本发明的一个实施例的计算设备的方框图;

图12D是根据本发明的一个实施例的计算设备的方框图;以及

图12E是根据本发明的一个实施例的包括多个计算设备的网络环境的方框图。

具体实施方式

在下面的详细说明中,通过举例说明的方式,仅仅显示和说明了本发明特定的示例性实施例。本领域的技术人员应该了解,本发明可以采用许多不同的形式实施,而不应该被解释为受限于在此所述的实施例。相同的附图标记在说明书通篇之中表示相同的元件。

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

本发明的一些实施例会在呼叫中心的环境下说明。然而,本发明的实施例不限于此,也可以在包括搜索录音记录在内的其他情况下使用,例如基于计算机的教育系统、语音消息系统、医疗副本或任何来源的语音资料下使用。

为了对记录集进行分类和自动检测模式,通常可以对已经由自动语音识别系统处理过的语音记录集进行分析。例如,如果主叫的人说“我的订单在哪里?”或者“我还没有收到该货物,”,那么这一呼叫被分类为属于“我的东西在哪里?”这一主题。

将特定短语映射到类别是很困难和乏味的任务,一部分是因为任何特定概念的表达方式都多种多样。例如,顾客打电话要取消他或她的账户,可以说“我想取消会员”、“我想取消账号”或“我想取消预订”。在这种情况下,单词“会员”、“账号”和“预订”具有相同的含义,但是进入系统中的却是三种不同的短语。此外,有些顾客可能使用单词“暂停”代替“取消”。为了列出各种同义词组合,另外的变化可能需要在类别中添加追加3条或更多的短语。

通常,自动语音识别系统,特别是大词汇量连续语音识别(LVCSR)抄录引擎,包括三个主要部分:语言模型(LM)、声学模型(AM)和解码器。LM和AM是通过提供音频文件和它们的抄本(例如,由人来准备的抄本)到学习模块来训练的。通常来说,LM是统计LM(SLM)。

通常,使用对给定语言和AM感兴趣的域的环境将系统用于对LM进行预训练。在实践中,这可以通过抄录(手动)足够大量的音频记录(例如,呼叫中心环境下的电话通话)和将会话的文本表示用作用于训练LM的输入来完成。因此,训练好的LM包括与在已训练的域中特定短语出现的频率相关的信息。例如,在销售呼叫中心域中训练好的LM可能表明与产品特征、产品之间的对比、账单地址以及订单状态信息的描述相关联的短语会频繁在该域中出现。相反,这样的域也可能表明短语与棒球队的最近表现有关。

在语言模型已经训练后,语言模型可以用来识别语音。音频话语作为解码器的输入,所述解码器输出一系列识别出来的字。通过对记录的音频的每一部分都这样操作(例如,呼叫中心中存储为音频文件的每个呼叫),应用程序可以通过有效的方式对输出编制索引,使得终端用户能够快速搜索文本索引(LVCSR索引)。在一个实施例中,基于LVCSR的索引本质上允许即席(ad-hoc)搜索而不需要进行任何预定义。

然而,一些ASR系统,例如基于短语的识别器(PR),在预先给出感兴趣查询的一部分时,能在查准率和查全率方面提供更高的精确度,例如,参见:美国专利第7,487,094号“System and method of call classification with context modeling based on composite words”,该申请的全部公开内容在此并入本文作为参考;以及2013年5月2日在美国专利及商标局申请的美国专利申请第13/886,205号“Fast out-of-vocabulary search in automatic speech recognition systems”,该申请的全部公开内容在此并入本文作为参考。在这样的系统中,短语(也称作“查询”或者“术语”)是预定义的。预定义的短语也可以按不同主题或者类别分组,使得在根据记录(例如,音频通话或者其它交互)是否含有特定预定义短语而进行处理之后可以对该记录进行分类。

在很多场景中,预定义是针对特定的领域或者客户定制ASR的过程的一部分。例如,所述过程可以包括一个人聆听语音短语,然后手动选择重要的短语添加到系统配置中。在选择添加到系统配置中的短语的过程中,可以通过一个或多个短语定义类别,其中类别中短语的检测表明包含该短语的会话与相关联的类别有关,从而允许顾客对他们的数据进行分析。

图1是显示根据本发明的一个实施例的用于管理广义短语和根据广义语义组向供给短语提供建议或修改的系统100的方框图。根据本发明实施例的系统100包括类别定义器110、存储多个语义组120的内存、终端用户的用户界面150和管理员用户界面140。

管理员130可以使用管理员用户界面140定义术语的语义分组,下面将详细说明。管理员用户界面(UI)140可以通过本领域普通技术人员所理解的各种方式实现。例如,在本发明的一个实施例中,管理员UI 140通过基于浏览器的应用程序实现,该应用程序通过显示在管理员130使用的网页浏览器中的网页向用户展现表格、按钮和控件并通过HTTP POST和GET操作从网页浏览器接收请求。当然,本发明的实施例不限于此。例如,管理员UI还可以被实现为应用程序设计接口(API),所述应用程序设计接口被设置成与运行在个人计算机、平板电脑、智能手机或其它终端用户计算设备上的专用应用程序通信。在另一个可选例中,管理员UI可以通过直接连接到系统100的输入设备(例如,键盘和鼠标)直接从管理员接收指令和请求。

语义组定义器120包括被配置为存储多个术语到语义概念的映射的内存,下面会进行更详细的说明。在本发明的一些实施例中,语义组定义器120还被配置用于分析存储在ASR输出44b中的数据,以根据自动语音识别系统的输出自动生成语义组,下面会进行更详细的说明。通过自动语音识别引擎44a处理存储在音频记录存储器42中的音频记录生成ASR输出44b。ASR引擎44a还可以用于实时分析语音(例如,打入呼叫中心的电话通话时对该呼叫进行分析)。

系统100还包括终端用户的UI 150,UI 150被配置用于接收终端用户160的输入,以便基于一个或多个短语来定义类别。用户输入可以包括例如类别名称(例如,“顾客不满意”)和要被插入到类别中的短语(例如,“我很难过”)。类别定义器110被配置为接收该用户输入、分析输入的短语,可以向终端用户UI 150返回建议,以显示给终端用户160。所述建议可以基于存储在语义组定义器120中的语义组。根据本发明不同实施例的建议和用于生成建议的方法会在下面进行更详细的说明。

在本发明的一些实施例中,终端用户UI 150和管理员UI 140可以是同一个,终端用户160可以执行上述的通过管理员UI 140执行的操作(例如,定义语义组)。

自动语音识别引擎44a和ASR输出数据库44b可以由声音分析模块44组成。ASR引擎44a被配置为处理存储在音频记录存储服务器42中的记录的音频(例如,存储为例如PCM、WAV、AIFF、MP3、FLAC、OGG Vorbis等格式的数字音频文件),以识别存储在记录的音频中的口语单词(例如谈话)。在一些实施例中,ASR引擎44a被配置为执行实时音频分析。识别的数据存储在ASR输出数据库44b中。

如图2所示,在一个实施例中,每个主题都被定义为联合短语。例如,短语“我很难过”、“这很可笑”和“那个顾客服务太差了”可以被映射到类别“顾客不满意”。同样地,短语“我有个关于账单的问题”、“为什么我要付费”和“你多收费了”可以映射到类别“账单问题”。为了增加定义在主题中的短语的覆盖率,可以在短语中特定术语(例如,一个单词或一组单词)处使用广义语义组,或者用广义语义组来代替它。

本发明的实施例涉及允许用户将相似单词一起分组到广义语义组(或通配符语法)和在不同的环境中使用广义语义组的系统和方法。根据本发明的一个实施例,管理员可以通过提供两个或更多的术语来定义语义组,这些术语可以具有相同或等同的语义含义。例如,单词“membership”、“account”和“subscription”可以一起被分组到称为“membership_synonyms”(<membership_synonyms>={membership,account,subscription})的广义语义组。另外一个示例,单词“cancel”和“suspend”可以一起被分组到“cancel_synonyms”广义语义组(<cancel_synonyms>={cancel,suspend})。图3是显示作为包含六个不同短语而且没有分组的不确定的有限自动机(NFA)的类别的视图。图4是显示根据本发明的一个实施例的图3中显示的类别作为包含同样六个短语但分了组的NFA的视图。图3中所示的六个短语可以一起分组,表示为“I want to<cancel_synonyms>my<membership_synonyms>”,其中语义组<cancel_synonyms>和<membership_synonyms>已经替代了初始短语中相应的单词。

在一个实施例中,可以在哈希表中存储语义组,其中组名用作关键字,组中术语作为值存储在链表中。在有些实施例中,使用双向映射,其中术语也映射到语义组,以允许容易地确定出短语中的哪些术语属于一组。

图5是显示根据本发明的一个实施例的用于将短语一起分组来生成广义短语的方法的流程图。例如,如果在操作502中,向类别定义器110提供图2所示的六个短语,则在操作504中,类别定义器110识别短语之间的差异(例如,使用Adler等人在“EXCITEMENT-Multilingual Knowledge Acquisition-Cycle I.NICE Systems(2012年12月10日)”中记载的编辑距离算法,其全部公开内容在此并入本文作为参考),然后识别单词“cancel”和“suspend”都属于语义组“cancel_synonyms”。类别定义器110还可以识别单词“membership,”、“account,”和“subscription”属于语义组“membership_synonyms”。识别出属于同一个语义组的单词的位置后,在操作506中,类别定义器110引用相应语义组代替每一个识别出的术语实例(例如,“suspend”被“<cancel_synonyms>”代替)。在操作508中,比较改后的短语,移除重复的短语,生成的广义短语在操作510中返回。根据一个实施例,假定这些单词共有上文引用所描述的同样语境时,那么同义词自动会被检测出来。例如,如果系统检测“I want to cancel my account”和“I want to terminate my account”(在一个实施例中,至少有一个次数的阈值),然后系统会下结论为“cancel”和“terminate”是同义词。可以根据例如同义词组“<WORD>_Synonyms”中的第一个单词为组命名,或者在组“<MOST_FREQUENT_WORD>_Synonyms>”中基于引用文本中最常出现的单词而不是所有单词为组命名。

根据另一个实施例,可以如上所述,由人定义和修改类别。例如,用户可以决定单词“cancel”是同义词组呼叫<CANCEL_SYNONYMS>的一部分,然后编辑该组以向组中增加单词“suspend”。

在本发明的另一个实施例中,根据已定义的广义语义组向用户提供附加短语的建议。图6是流程图,显示根据本发明一个实施例的用于根据供给短语识别要增加的附加短语的方法。例如,在一个上述的“membership_synonyms”组已存在的语境中,定义“account inquiries”类别的用户可以提供短语“I would like to ask a question about my account”作为映射到这个类别的短语。根据本发明的一个实施例,在操作602中,类别定义器110接收短语,在操作604中遍历短语中的术语以识别出属于语义组的术语。在这个示例中,类别定义器110将识别出属于“membership_synonyms”组的单词“account”。在操作606中,类别定义器110生成新短语,新短语使用匹配的语义组的其它成员代替识别出的术语。这里,类别定义器110生成短语“I would like to ask a question about my membership”和“I would like to ask a question about my subscription”,这是因为“membership”和“subscript ion”是“membership_synonyms”组中的其它术语。然后,在操作608中,新生成的短语作为建议返回。

在本发明的一个实施例中,语义组可以包括为了包括不同的方式表达如日期、时间和金额等概念而定义的组。例如,语义组可以被定义为一个语法(或“形式语法”,例如参见图7A中用美元和美分定义金额的形式语法的示例)。当这么用的时候,通配符可以有效增加供给短语的覆盖率。例如,如上所述,通过使用语法[currency](或通配符)来匹配任何金额的短语“the price of this service is[currency]”,而不是提供短语“the price of the service is four ninety five”,具有不同价格或价格变化的各种服务可以被识别和用来对交互分类。

根据本发明的一个实施例,[货币]组是被设计成在说话时匹配各种金额(或美元)的表达方式的语法,而且可以在其中嵌入更多语法。图7A是显示根据本发明的一个实施例的通用货币形式语法结构的视图。根据一个实施例,为了识别从0到$1,000的美元,语法[货币]包括并行语法,其中一个分支包含[数字](其中为了检测数值,数字可以通过合并语法定义数值),后跟单词“美元”,第二分支识别数字,后跟短语“美元和”,后面再跟着另一个0-99的数字和单词“美分”。然而,本发明的实施例不限于此,可以对这样的语法做出很多其它的改变或添加,以增加可以被检测为货币的输入的范围。在一个实施例中,在语法[货币]中使用的语法[数字]也包含了在说话时在书写时不易见到的各种数值表达方式。例如,语法[数字]可以识别表达为“two thousand two hundred”、“twenty two hundred”或者“two point two kay”的数字2,200。另外,像下面描述的,可以为各种其它通用概念生成类似定义的语法。

本发明的实施例可以包括很多已定义的语法,例如字母和数字的字母数字序列、信用卡到期日、信用卡号、货币、日期、数字序列、数字、电话号码、社保号码、时间、年代和邮政编码。另外,可以使用广义的“通配符”语法来匹配短语中的任何“洞”。表1列出根据本发明的一个实施例的几个示例语法。

表1

在短语中使用这样的通配符的实施例中,短语中整个语法都被实例化了,而不只是初始特定术语被实例化,这样广义语法可以用于匹配任何检测到的包含短语其余部分的会话。图7B显示了合并了图7B中所示的数值语法的短语“the total for your order is[number]”。

图7C是显示根据本发明一个实施例的广义语义组的视图,其中语义组被显示为NFA。这里,图7C显示了匹配术语“supervisor”或“manager”的“supervisor-manager”组。

图7D是显示根据本发明的一个实施例的广义短语组的视图,其中术语被广义语义组代替。这里,图7C所示的“supervisor-manager”组出现在短语的末端,这样广义组就会匹配短语“I would like to speak to your supervisor”和短语“I would like to speak to your manager”。

虽然语义组在这里被显示和说明为不确定的有限自动机,但本发明的实施例不限于此,可以使用其它技术,例如正则表达式,定义语义组。

图7E是显示根据本发明的一个实施例的使用广义语法替换短语中特定术语的方法的流程图。在操作702中,类别定义器110接收短语。在操作704中,识别出短语中匹配已定义语法的术语或术语组。在操作706中,使用已定义的语法替换匹配的术语。在操作708中,如果有多个短语,那么移除任何重复的短语,在操作710中返回剩余的广义短语。

图8是根据本发明的一个实施例的用户界面的屏幕截图,显示了使用语法对识别出的短语进行的替换。

根据本发明一个实施例,识别的短语具有与它们被发现的可能性相对应的先验概率。这样,当使用组(或“通配符”)对短语分组时,新的广义短语的先验概率是发现初始短语的先验概率之和。例如,如果“suspend”具有先验概率A,“terminal”具有先验概率B,那么广义短语(<“terminal”“suspend”>)的合并先验概率具有先验概率A+B。

在本发明的另一个实施例中,规则匹配算法自动检测两个或更多个短语是相似的,生成合并这些短语的规则,将相似短语合并到广义短语中。根据本发明的一个实施例,使用动态规划的匹配算法可以用于匹配两个短语,识别短语存在差异的位置,从而能够自动生成对不同单词进行分组的新规则(例如,上面示例中的“manager”和“suspend”),这些规则可以被建议发给用户以用于编辑(例如,增加或移除不应该在规则中的术语)、确认或拒绝。

图8是显示用于分析ASR输入的短语以生成规则的方法的流程图。在操作802中,语义组定义器120接收短语,其中该短语是自动语音识别引擎的输入。然后在操作804中,语义组定义器120计算供给短语中的每对短语之间的编辑距离。在操作806中,短语一起根据相似度进行分组,在操作808中识别出短语之间存在差异的位置。然后在操作810中,语义组定义器120在相似短语之间存在差异的位置处抽取术语,生成包含这些差异的新组。在一个实施例中,可以编辑误报(例如,反义词),而不是由用户自动生成的同义词。

另外,本发明的实施例可以用于说明,句子的一部分已经被包含在通配符语法中,这样用户可以选择使用语法而不是这部分句子。在这个实施例中,当每个新的短语输入到用户界面中时,都要匹配现有的通配符语法(例如,使用动态规划来提高性能)。这种算法允许在短语的开头和结尾插入,这样当短语只有部分匹配时,在新短语中存在、但不在现有语法中的单词不会妨碍匹配。表2显示输入短语和语法之间的匹配过程的输出。

表2

根据本发明的一个实施例,通配符语法可以用于在自动语音识别系统(例如,大词汇量连续语音识别(LVCSR)引擎)的训练期间代替短语。通常,训练这样的系统涉及提供语言中存在的大单词序列集合(称为“n-grams”或“ngrams”),以便训练引擎如何通用地呈现特定序列。一个缺点是必须收集大量的训练材料来尽可能多地覆盖语言。因此,通过在训练数据中使用广义短语代替特定短语,可以增加训练材料的有效量。

例如,如果训练数据包括短语“your flight is on the twelfth of October”和“your flight is on the fourth of June”,那么日期可以被日期语法代替,底层引擎可以在短语“your flight is one the[date]”上进行训练。这样,广义训练材料可以用于识别日期。插入这些语法改变了单一的示例,仅覆盖通用语句中单一日期,通用语句覆盖了所有可能的日期。

例如参见Brown等人的文章“Class-based n-gram models of natural language”18Journal of Computational Linguistics 4 467-79(1992),该文章披露的全部内容在这里并入本文作为参考,来讨论将通配符数据作为特定分类语言模型。

因而,本发明的实施例可以改进短语的覆盖范围,并且可以帮助用户定义覆盖全面的类别。

图9A是显示了其中短语还没有分组的类别的用户界面的屏幕截图,其中用户界面显示了六个不同的短语(与图2所示的视图进行比较)。图9B是显示用户界面的屏幕截图,其中短语被分组,“<cancel>”代替“cancel_synonyms”,“<membership>”代替“membership_synonyms”(与图3所示的视图进行比较)。

图10A是一个用户界面的屏幕截图,显示了表明可以根据用户增加的短语“i would like to ask a question about my account”向当前类别添加附加短语的系统。在这个示例中,系统提出单词“account”已经出现在语义组(或“通配符语法”)“membership_synonyms”中,并提议根据已知的同义词自动增加更多短语。

图10B是一个用户界面的屏幕截图,显示了表明可以根据用户添加的短语“the price of this service is four ninety five”将全部同义词规则添加到当前类别的系统。这里,单词“four ninety five”被检测为可能的货币,系统可以建议用货币语法代替这些单词。这样,在处理因交互到交互而使得短语的元素不同时,广义短语就起作用了。

图10C是一个用户界面的屏幕截图,显示了根据本发明一个实施例的在检测到一个术语作为语法被语义组代替后的系统。这里,语法[currency]和[date]分别具有之前输入的替换术语,例如“$19.99”和“July 3rd,2013”。

本发明的实施例可以应用到基于自动语音识别系统的大词汇量连续语音识别(LVCSR)和短语识别(PR)自动语音识别(ASR)系统。

本发明的实施例可以应用在各种不同的涉及记录的音频对话的领域中,包括:电台访谈记录;空中和海上交通通信;执法、火灾和紧急通信等。根据本发明的一个实施例,在呼叫中心中实现呼叫预测系统,其中代理引导与客户、顾客和其他个人的电话和其它语音通信。

图11是根据本发明的一个示例性实施例的支持被配置成向顾客服务代理提供顾客可用性信息的呼叫中心的系统的示意性方框图。呼叫中心可以是在室内的为企业服务的行业或公司,执行与通过企业可获得的产品和服务相关的销售和服务的功能。另一方面,呼叫中心可以是第三方服务提供者。呼叫中心可以置于企业或第三方提供者专用的设备中,和/或置于远程计算环境中,例如私有云环境或公有云环境且基础设施用于支持多个企业的多个呼叫中心。

根据一个示例性实施例,呼叫中心包括资源(例如,人员、计算机和电信设备),以便能够通过电话或其它通信机制传送服务。这种服务可以根据呼叫中心类型而不同,范围可以从顾客服务到服务台、紧急响应、电话销售、订单受理和类似的服务。

需要从呼叫中心接受服务的顾客、潜在的顾客或其他终端用户(统称为顾客)可以通过他们的终端用户设备10a-10c(统称为10)初始化到呼叫中心的入站呼叫。终端用户设备10中的每一个都可以是本领域常用的通信设备,例如电话、无线电话、智能电话、个人计算机、电子平板和/或类似设备。操作终端用户设备10的用户可以初始化、管理和响应电话呼叫、电子邮件、聊天、文字消息、网页-浏览会话和其它多媒体事务。

到终端用户设备10的和从终端用户设备10出的入站呼叫和出站呼叫可以根据正在使用的设备类型穿过电话、蜂窝和/或数据通信网络14。例如,通信网络14可以包括私有或公共交换电话网络(PSTN)、局域网(LAN)、私有广域网(WAN)和/或公共广域网,例如互联网。通信网络14也可以包括无线载波网络,包括码分多址(CDMA)网络、全球移动通信系统(GSM)网络和/或本领域传统的任何3G或4G网络。

根据一个示例性实施例,呼叫中心包括连接到通信网络14的交换/媒体网关12,用以接收和传送终端用户和呼叫中心之间的呼叫。交换/媒体网关12可以包括电话交换机,所述电话交换机被设置为用作用于在中心内为代理层级进行路由的中心交换机。从这点上来说,交换机12可以包括自动呼叫分配器、专用分组交换机(PBX)、基于IP的软件交换机和/或其它任何配置为接收源自互联网的呼叫和/或源自电话网络的呼叫的交换机。根据本发明的一个示例性实施例,交换机连接到呼叫服务器18,举例来说,该呼叫服务器可以作为交换机与呼叫中心的路由、监控和其它呼叫处理部件的剩余部分之间的适配器或接口。

呼叫中心还可以包括多媒体/社交媒体服务器,所述多媒体/社交媒体服务器用于与终端用户设备10和/或网页服务器32进行媒体交互,而不是语音交互。例如,媒体交互可以和电子邮件、语音邮件(通过电子邮件传递的语音邮件)、聊天、视频、文本消息、网页、社交媒体、屏幕共享等相关。网页服务器32可以包括例如用于各种公知的社交交互站点的社交交互站点主机,终端用户可以在所述社交交互站点上进行订阅,例如Facebook、Twitter或类似站点。网页服务器还可以为呼叫中心支持的企业提供网页。终端用户可以浏览网页,获得关于企业的产品和服务的信息。网页还可以提供用于例如通过网页聊天、语音呼叫、电子邮件、网页实时通信(WebRTC)或类似方式联络呼叫中心的机制。

根据本发明的一个示例性实施例,交换机连接到交互式媒体应答(IMR)服务器34,该服务器也可以被称为自助系统、虚拟助手或类似。IMR服务器34可以与交互式语音应答(IVR)服务器相似,除了IMR服务器不限于语音而是可以覆盖包括语音的各种媒体信道之外。然而,以语音为示例,IMR服务器可以配置有用于查询主叫顾客需求的IMR脚本。例如,通过IMR脚本,银行的呼叫中心可以告诉呼叫者,如果他们希望得到账号余额则“按1”。在这种情况下,通过连续地和IMR的交互,顾客可以在不需要和代理通话的情况下完成服务。IMR服务器34还可以问开放性的问题,例如,“还有什么可以帮您的吗?”,顾客可以讲话,或者可以另外输入联络呼叫中心的原因。顾客的应答然后可以被路由服务器20使用,以将呼叫路由到合适的呼叫中心资源。

如果呼叫被路由到代理,那么该呼叫被转发到呼叫服务器18,所述呼叫服务器与路由服务器20交互以用于寻找合适的处理呼叫的代理。呼叫服务器18可以配置用于处理PSTN呼叫、VoIP呼叫和类似呼叫。例如,呼叫服务器18可以包括用于处理SIP呼叫的初始会话协议(SIP)服务器。根据一些示例性实施例,呼叫服务器18可以例如抽取有关顾客交互的数据,例如呼叫者的电话号码,常常被当作自动号码识别(ANI)号码,或者顾客的互联网协议(IP)地址或电子邮件地址。

在一些实施例中,路由服务器20可以查询顾客数据库,所述数据库存储关于现有客户的信息,例如联络信息、服务等级协议(SLA)需求、之前顾客联络的属性以及呼叫中心解决任何客户问题所采取的动作以及类似信息。数据库可以由本领域常用的任何数据库管理系统管理,例如Oracle、IBM DB2、Microsoft SQL server、Microsoft Access、PostgreSQL、MySQL、FoxPro和SQLite,可以存储在大容量存储设备30中。路由服务器20可以通过ANI或IMR 34收集并通过呼叫服务器18转送到路由服务器的其它任何信息从顾客数据库中查询顾客信息。

一旦有合适的代理可以处理呼叫,就在呼叫者和识别出的代理的代理设备38a-38c(统称为38)之间建立连接。收集的有关呼叫者的信息和/或呼叫者的历史信息也可以提供给代理设备,以用于帮助代理更好地为呼叫服务。在这点上,每个代理设备38都可以包括适用于常规电话呼叫、VoIP呼叫和类似呼叫的电话。代理设备38还可以包括计算机,所述计算机用于与呼叫中心的一个或多个服务器通信,执行与呼叫中心操作相关联的数据处理,并通过语音和其它多媒体通信机制与顾客接洽。

可以例如根据路由服务器20采用的路由策略选择合适的代理对入站呼叫进行路由,进一步的,还可以根据与代理的可用性、技能和例如统计服务器22提供的其它路由参数有关的信息进行选择。

呼叫中心还可以包括报表服务器28,所述报表服务器被配置为从统计服务器22聚集的数据中生成报表。这种报表可以包括关于资源状态(例如,平均等待时间、放弃率、代理机会和类似状态)的近实时报表或历史报表。报表可以自动生成或者响应来自请求者的具体请求而生成(例如,代理/管理员、呼叫中心应用程序和/或类似请求)。

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

根据本发明的一个示例性实施例,(多个)大容量存储设备30可以存储与代理数据(例如,代理配置、进度表等)、顾客数据(例如,顾客配置)、交互数据(例如,每个与顾客交互的细节,包括交互的原因、倾向数据、等待时间、处理时间等)以及类似数据相关的一个或多个数据库。根据一个实施例,有些数据(例如,顾客配置数据)可以由第三方数据库提供,例如第三方客户关系管理(CRM)数据库。大容量存储设备可以采用本领域熟知的硬盘或磁盘阵列的形式。

根据本发明的一个实施例,呼叫中心102还可以包括:呼叫记录服务器40,所述呼叫记录服务器用于记录通过呼叫中心102进行的通话音频;用于存储记录的音频的音频记录存储服务器42(在呼叫中心的环境中也称为呼叫记录存储服务器);语音分析服务器44,所述语音分析服务器被配置为处理和分析从呼叫中心102收集的数字音频形式的音频;用于提供已分析音频的索引的语音索引数据库46;和参考抄本(或真实抄本)数据库48,所述数据库用于存储和提供记录的通话的抄本集合,其中所述抄本根据准确率生成或校对和改正(例如,通过人手动审核或抄写)。

语音分析服务器44可以连接到(或者可以包括)类别定义服务器100,所述类别定义服务器包括语义组定义器120、类别定义器110、用于设置语义组110的管理员用户界面140和用于接收短语、类别定义以及返回建议和/或广义短语的终端用户的用户界面150。

图11的各种服务器每一个都可以包括一个或多个处理器,所述处理器执行计算机程序指令并与其它系统部件交互以执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存使用标准内存设备(例如,随机存取存储器(RAM))来实现。计算机程序指令还可以存储在其它非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似的介质。另外,虽然每一个服务器的功能都像描述的那样由特定服务器提供,但本领域的技术人员应该了解在不脱离本发明实施例的保护范围的情况下,各种服务器的功能可以合并或集成于单个服务器中,或者一个特定服务器的功能可以分布在一个或多个其它服务器上。

在各种实施例中,术语交互通常用于指使用任何通信信道的实时或非实时交互,通信信道包括但不限于电话呼叫(PSTN或VoIP呼叫)、电子邮件、语音邮件(基于电子邮件的语音邮件)、视频、聊天、屏幕共享、文本消息、社交媒体消息、网页实时通信(WebRTC呼叫)和类似通信信道。

图11的各种服务器可以在现场位于与呼叫中心代理相同的物理位置,或者可以位于地理位置不同的非现场(或在云端),例如在通过网络(例如互联网)连接到呼叫中心的远程数据中心。另外,一些服务器可以位于非现场时,其它的服务器可以位于呼叫中心现场,或者在现场和非现场可以都提供具有冗余功能的服务器,以提供更大的容错能力。在本发明的一些实施例中,位于非现场的服务器提供的功能可以通过虚拟专网(VPN)访问和提供,就好像这种服务器是现场的一样,或者可以使用软件即服务(SaaS)通过互联网使用各种协议来提供功能,例如通过使用编码的扩展标记语言(XML)或JavaScript对象标记(JSON)交换数据。

呼叫中心中的各种服务器中的每一个都可以是进程或线程,该进程或线程运行在一个或多个计算设备500(例如,图12A、图12B)中的一个或多个处理器上,执行计算机程序指令和与其它系统组件交互以用于执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存在计算设备中可以使用标准内存设备来实现,例如随机存取存储器(RAM)。计算机程序指令也可以存储在其它非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似介质。另外,本领域的技术人员应该了解到计算设备可以通过固件(例如,应用程序专用的集成电路)、硬件、或者软件、固件和硬件的组合来实现。本领域的技术人员也应该知道,在不脱离本发明的示例性实施例的保护范围的情况下,各种计算设备的功能可以组合或集成在单个的计算设备中,或者特定计算设备的功能可以分布在一个或多个其它计算设备上。服务器可以是软件模块,所述软件模块也可以简称为模块。呼叫中心中的模块组可以包括服务器和其它模块。

前述图中的各种服务器、控制器、交换机和/或网关中的每一个都可以是进程或线程,该进程或线程运行在一个或多个计算设备1500(例如,图12A、图12B)中的一个或多个处理器上,执行计算机程序指令和与其它系统组件交互以用于执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存在计算设备中可以使用标准内存设备来实现,例如随机存取内存(RAM)。计算机程序指令也可以存储在其它非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似介质。另外,本领域的技术人员应该了解到计算设备可以通过固件(例如,应用程序专用的集成电路)、硬件、或者软件、固件和硬件的组合来实现。本领域的技术人员也应该知道,在不脱离本发明的示例性实施例的保护范围的情况下,各种计算设备的功能可以组合或集成在单个的计算设备中,或者特定计算设备的功能可以分布在一个或多个其它计算设备上。服务器可以是软件模块,所述软件模块也可以简称为模块。呼叫中心中的模块组可以包括服务器和其它模块。

图12A和图12B描绘了本发明的示例性实施例中可以采用的计算设备1500的方框图。每个计算设备1500都包括中央处理单元1521和主内存单元1522。如图12A中所示,计算设备1500还可以包括存储设备1528、可移除介质接口1516、网络接口1518、输入/输出(I/O)控制器1523、一个或多个显示设备1530c、键盘1530a和指向装置1530b,例如鼠标。存储设备1528可以包括但不限于用于操作系统和软件的存储器。如图12B所示,每个计算设备1500还可以包括附加的可选元件,例如内存端口1503、桥接器1570、一个或多个附加的输入/输出设备1530d、1530e和与中央处理单元1521通信的缓存1540。输入/输出设备1530a、1530b、1530d和1530e在此可以共同使用附图标记1530来表示。

中央处理单元1521是响应和处理从主内存单元1522取来的指令的任何逻辑电路。例如,这可以在集成电路中实现,形式为微处理器、微控制器或者图形处理单元(GPU),或者在现场可编程门阵列(FPGA)或应用程序专用的集成电路(ASIC)中实现。主内存单元1522可以是能够存储数据并允许中央处理单元1521直接访问任何存储位置的一个或多个内存芯片。如图12A所示,中央处理单元1521通过系统总线1550与主内存1522通信。如图12B所示,中央处理单元1521还可以通过内存端口1503直接与主内存1522通信。

图12B显示了一个实施例,其中中央处理单元1521通过二级总线直接与缓存1540通信,二级总线有时也被称为后端总线。在其它实施例中,中央处理单元1521使用系统总线1550与缓存1540通信。缓存1540通常具有比主内存1522更快的响应时间。如图12A所示,中央处理单元1521通过局部系统总线1550与各种I/O设备1530通信。各种总线都可以用作局部系统总线1550,包括视频电子标准协会(VESA)局部总线(VLB)、工业标准结构(ISA)总线、扩展工业标准结构(EISA)总线、微信道体系结构(MCA)总线、外围组件互联(PCI)总线、PCI扩展(PCI-X)总线、快速PCI总线或网络用户总线(NuBus)。对于I/O设备是显示设备1530c的实施例,中央处理单元1521可以通过高级图形端口(AGP)与显示设备1530c通信。图12B显示了计算机1500的一个实施例,其中中央处理单元1521直接与I/O设备1530e通信。图12B还示出了一个实施例,其中局部总线和直接通信被混合:中央处理单元1521使用局部系统总线1550与I/O设备1530d通信,同时也直接和I/O设备1530e通信。

计算设备1500中可以存在各种各样的I/O设备1530。输入设备包括一个或多个键盘1530a、鼠标、触控板、轨迹球、扩音器和画板。输出设备包括视频显示设备1530c、扬声器和打印机。如图12A中所示,I/O控制器1523可以控制I/O设备。I/O控制器可以控制一个或多个I/O设备,例如键盘1530a和指向装置1530b,例如鼠标或光笔。

再参照图12A,计算设备1500可以支持一个或多个可移除介质接口1516,例如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB端口、安全数字或COMPACT FLASHTM内存卡端口、或者适于从只读介质读数据或从读写介质读写数据的其它任何设备。I/O设备1530可以是系统总线1550和可移除介质接口1516之间的桥接器。

例如,可移除介质接口1516可以用于安装软件和程序。计算设备1500可以还包括存储设备1528,例如一个或多个硬盘驱动器或硬盘驱动器阵列,用于存储操作系统和其它相关软件并用于存储应用软件程序。可选地,可移除介质接口1516还可以用作存储设备。例如,操作系统和软件可以由可启动介质(例如,可启动CD)运行。

在一些实施例中,计算设备1500可以包括多个显示设备1530c或连接到多个显示设备1530c,这些显示设备每一个可以是相同或不同的类型和/或形式。因此,I/O设备1530和/或I/O控制器1523中的任何一个可以包括任何类型和/或形式的合适的硬件、软件或者硬件和软件的组合,以通过计算设备1500支持、实现或提供到多个显示设备1530c的连接和所述多个显示设备的使用。例如,计算设备1500可以包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库,以接合、通信、连接或用其它方式使用显示设备1530c。在一个实施例中,视频适配器可以包括多个连接器,以连接到多个显示设备1530c。在其它实施例中,计算设备1500可以包括多个视频适配器,每个视频适配器连接到显示设备1530c中的一个或多个。在一些实施例中,计算设备1500的操作系统的任何部分都可以被配置用于使用多个显示设备1530c。在其它实施例中,显示设备1530c中的一个或多个可以由通过网络例如连接到计算设备1500的一个或多个其它计算设备提供。这些实施例可以包括设计和构造成使用另外的计算设备的显示设备作为用于计算设备1500的第二显示设备1530c的任何类型的软件。本领域的技术人员应该知道和领会不同的方法和实施例,其中计算设备1500可以配置为具有多个显示设备1530c。

图12A和12B所示类型的计算设备1500可以在操作系统的控制下操作,所述操作系统控制任务计划和系统资源的访问。计算设备1500可以运行任何操作系统、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统或者能够运行在计算设备上和执行此处所述的操作的任何其它操作系统。

计算设备1500可以是任何工作站、桌面计算机、膝上型电脑或笔记本电脑、服务器机器、掌上电脑、移动电话或其它便携式通信设备、媒体播放设备、游戏系统、移动计算设备或任何其它类型和/或形式的能够通信并具有足够的处理器能力和内存容量来执行这里所描述的操作的计算设备、电信设备或媒体设备。在一些实施例中,计算设备1500可以具有与该设备相容的不同的处理器、操作系统和输入设备。

在其它实施例中,计算设备1500是移动设备,例如启用Java的蜂窝电话或个人数字助手(PDA)、智能手机、数字音频播放器或便携式媒体播放器。在一些实施例中,计算设备1500包括设备的组合,例如与数字音频播放器或便携式媒体播放器相组合的移动电话。

如图12C所示,中央处理单元1521可以包括多个处理器P1、P2、P3、P4,并且可以提供用于同时执行指令或者同时在多于一个的数据块上执行一个指令的功能。在一些实施例中,计算设备1500可以包括具有单核或多核的并行处理器。在这些实施例中的一个中,计算设备1500是共享内存的并行设备,具有多个处理器和/或多个处理器核,从而能像访问单个的全局地址空间那样访问所有可用的内存。在这些实施例中的另一个中,计算设备1500是具有多个处理器的分布式内存并行设备,其中每个处理器只能访问本地内存。在这些实施例中的另一个实施例中,计算设备1500既有一些共享的内存,又有一些只可以被特定处理器或处理器的子集访问的内存。还是在这些实施例中的另外一个中,中央处理单元1521包括多核微处理器,该微处理器将两个或更多个独立的处理器组合成单个封装体,例如单个集成电路(IC)。在图12D所示的一个示例性实施例中,计算设备1500包括至少一个中央处理单元1521和至少一个图形处理单元1521′。

在一些实施例中,中央处理单元1521提供单个指令、多数据(SIMD)功能,例如同时在多条数据上执行单个指令。在其它的实施例中,中央处理单元1521中的多个处理器可以提供在多条数据上同时执行多个指令(MIMD)的功能。还是在这些实施例中,在单个设备中,中央处理单元1521可以使用任意组合的SIMD核和MIMD核。

计算设备可以是通过网络连接的多个机器中的一个,或者可以包括多个这样连接的机器。图12E显示一个例示性的网络环境。该网络环境包括通过一个或多个网络1504与一个或多个远程机器1506a、1506b、1506c(通常也称为(多个)服务器机器1506或(多个)远程机器1506)通信的一个或多个本地机器1502a、1502b(通常也称为(多个)本地机器1502、(多个)客户端1502、(多个)客户端节点1502、(多个)客户端机器1502、(多个)客户端计算机1502、(多个)客户端设备1502、(多个)端点1502或(多个)端点节点1502)。在一些实施例中,本地机器1502具有能力用作寻求访问服务器机器提供的资源的客户端节点和为其它客户端1502a、1502b提供对托管资源的访问的服务器机器。虽然图12E中只显示两个客户端1502和三个服务器机器1506,但通常每一个可以具有任意数量。网络1504可以是例如为诸如公司互联网的私人网络的局域网(LAN)、城域网(MAN)或者例如为互联网或其它公共网络的广域网(WAN)或它们的组合。

计算设备1500可以包括网络接口1518,以通过各种连接与网络1504连接,所述各种连接包括但不限于标准电话线、局域网(LAN)或广域网(WAN)链接、宽带连接、无线连接或上述中的任何一个或全部的组合。可以使用各种通信协议建立连接。在一个实施例中,计算设备1500与其它计算设备1500通过任何类型和/或形式的网关或隧道协议通信,例如安全套接层(SSL)或传输层安全(TLS)。网络接口1518可以包括内置的网络适配器,例如网络接口卡,适用于将计算设备1500连接到能够通信和执行此处描述的操作的任何类型的网络。I/O设备1530可以是系统总线1550和外部通信总线之间的桥接器。

虽然本发明已经通过特定示例性实施例进行了描述,但是应该理解本发明并不限于已公开的实施例,相反,本发明意在覆盖包括在所附权利要求及其等效形式的精神和保护范围内的各种变形和等效设置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1