在自动化助理中接受话语时使用释义的制作方法

文档序号:17438209发布日期:2019-04-17 04:24阅读:150来源:国知局
在自动化助理中接受话语时使用释义的制作方法

一种系统可以包括自动化助理,自动化助理接收并且自动识别来自用户的语音,解码所识别的语音中的释义或者转换所识别的语音,基于解码器/转换器输出执行动作或任务,并且向用户提供响应。响应可以是文本或音频,并且可以被翻译为包括释义。可以处理自动识别的语音以确定语音中的分区,这些分区可以进而被处理以标识分区中的释义。

一种解码器可以处理输入的话语文本以标识要包括在片段或句子中的释义内容。解码器可以释义输入的话语以使得用一个或多个释义更新的话语更容易被解析器220解析。输入话语可以使用诸如训练句子或片段等触发短语来解析。

一种翻译器可以处理所生成的响应以使响应听起来更自然。翻译器可以基于与用户的对话的状态(包括显著性数据)用释义内容替换所生成的响应的内容。

在一些实例中,一种提供自动化助理的系统可以包括自动语音识别模块和释义解码器。自动语音识别模块可以存储在存储器中并且由处理器可执行,使得在被执行时,自动语音识别模块接收语音数据,识别语音中的语言的单词,并且基于所识别的单词来输出单词数据。释义解码器可以存储在存储器中并且由处理器可执行,使得在被执行时,释义解码器标识所识别的单词中的第一组一个或多个单词,选择与第一组单词相关联的释义,并且生成释义解码器输出,释义解码器输出包括与第一组单词和除了第一组单词之外的所识别的单词相关联的释义。释义可以基于与解析器相关联的触发短语来选择。

在一些实例中,一种提供自动化助理的系统可以包括自动语音识别模块和释义翻译器。生成器模块可以存储在存储器中并且由处理器可执行,使得在被执行时,该模块接收语音结构形式并且基于结构形式来渲染单词串。释义翻译器可以存储在存储器中并且由处理器可执行,使得在被执行时,翻译器标识单词串中的第一组单词,选择与第一组单词相关联的释义,并且生成释义翻译器输出,释义翻译器输出包括与第一组单词和除了第一组单词之外的所识别的单词相关联的释义。释义可以至少部分基于状态信息来选择。

附图说明

图1是使用释义的自动化助理的框图。

图2是使用释义的自动化助理的服务器侧实现的框图。

图3是用于提供使用释义的自动化助理的方法。

图4是表示香肠(sausage)网络的框图。

图5是通过解码器用释义替换语言输入的片段的方法。

图6是示出由解码器提供并且添加到话语的释义的流程图。

图7是用于通过翻译器用释义更新和输出的方法。

图8是示出由翻译器提供并且添加到所生成的输出的释义的流程图。

图9示出了用于实现本技术的计算环境。

具体实施方式

一种系统可以包括自动化助理,自动化助理接收并且自动识别来自用户的语音,将来自所识别的语音的文本解码为释义,基于解码器/转换器输出执行动作或任务,并且向用户提供响应。响应可以是文本或音频,并且可以被翻译为包括释义。可以处理自动识别的语音以确定语音中的分区,这些分区可以进而被处理以标识分区中的释义。

自然语言的用户具有很多方式来向听众交谈含义。给定一个句子,用户可以明智地要求具有相同“含义”的第二句子。在自动化助理应用中,用户用语音或文本通信,并且系统用语言(文本或语音)和/或动作(例如,查找票证的价格)进行响应。本系统的上下文是自动化助理。

释义可以用于修改用户的话语以更可能创建适当的代理响应(解码器实现),或者可以用于修改代理回复以对用户看起来更自然(翻译器实现)。在任何一种情况下,意图在于,所释义的话语具有与非释义的话语相同的含义:在第一种情况下,系统对用户请求的响应应当是对用户的原始话语的适当响应,并且在第二种情况下,系统向用户传递的信息应当包含与原始系统响应相同的信息。

一种解码器可以处理输入的话语文本以标识要包括在片段或句子中的释义内容。解码器可以释义输入话语以使得用一个或多个释义更新的话语更容易被解析器220解析。输入话语可以使用诸如训练句子或片段等触发短语来解析。

一种翻译器可以处理所生成的响应以使响应听起来更自然。翻译器可以基于与用户的对话的状态(包括显著性数据)用释义内容替换所生成的响应的内容。

图1是实现使用释义来接受话语的自动化助理的系统的框图。图1的系统100包括客户端110、移动设备120、计算设备130、网络140、网络服务器150、应用服务器160和数据存储170。客户端110、移动设备120和计算设备130通过网络140与网络服务器150通信。网络140可以包括专用网络、公共网络、因特网和内联网、wan、lan、蜂窝网络或适合于在图1的计算设备之间传输数据的某种其他网络。

客户端110包括应用112。应用112可以提供自动语音识别、释义解码、转换和/或翻译、释义翻译、分区、自动化助理以及本文中讨论的其他功能。应用112可以实现为一个或多个应用、对象、模块或其他软件。应用112可以通过图1的服务器架构或直接(图1中未示出)与应用服务器160和数据存储170通信以访问大量数据。

移动设备120可以包括移动应用122。移动应用可以提供自动语音识别、释义解码、转换和/或翻译、释义翻译、分区、自动化助理以及本文中讨论的其他功能。移动应用122可以实现为一个或多个应用、对象、模块或其他软件。

计算设备130可以包括网络浏览器132。网络浏览器可以接收一个或多个内容页面、脚本代码以及当加载到网络浏览器中时提供自动语音识别、释义解码、转换和/或翻译、释义翻译、分区、自动化助理和本文中讨论的其他功能的其他代码。

网络服务器150可以经由网络140从应用112、移动应用122和网络浏览器132接收请求和数据。请求可以由特定应用或浏览器应用发起。网络服务器150可以处理请求和数据,传输响应,或者向应用服务器160传输请求和数据或其他内容。

应用服务器160包括应用162。应用服务器可以接收数据,包括从应用112和122以及浏览器132接收的数据请求,处理数据,以及向网络服务器150传输响应。在一些实现中,响应是由网络服务器152转发到最初发送请求的计算机或应用。应用的服务器160还可以与数据存储170通信。例如,可以从数据存储170访问数据以供应用使用以提供自动语音识别、释义解码、转换和/或翻译、释义翻译、分区、自动化助理和本文中讨论的其他功能。应用服务器160包括应用162,除了全部或部分地在应用服务器160上实现之外,应用162可以与应用112类似地操作。

框200包括网络服务器150、应用服务器160和数据存储170,并且可以用于实现利用释义的自动化助理。在一些实例中,框200可以包括用于处理输入话语以使话语更容易解析的释义模块。在一些实例中,框200可以包括用于处理所生成的输出以便使其对用户更自然的释义模块。参考图2更详细地讨论框200。

图2是利用释义的自动化助理的服务器侧部分的框图。图2的系统200包括自动语音识别(asr)模块210、解析器220、输入释义模块(解码器)230、计算模块240、生成器250、状态管理器260、输出释义模块(翻译器)270和文本到语音(tts)模块280。每个模块可以如箭头所示进行通信,并且可以另外与可以在或没有在图2中示出的其他模块、机器或系统通信。

自动语音识别模块210可以从客户端110、移动设备120或计算设备130之一接收音频内容,诸如通过麦克风接收的内容,并且可以处理音频内容以标识语音。语音可以被提供给解码器230以及解析器220。

解析器220可以将用户话语解释为意图。在一些实例中,解析器220可以产生对由asr210接收和识别的话语的一组候选响应。解析器220可以使用从状态管理器260接收的当前对话状态来生成一个或多个计划,例如通过创建一个或多个卡。在一些实例中,解析器220可以使用来自状态管理器260的表达来选择和填充模板以创建卡并且将卡传递到计算模块240。

解码器230可以将所接收的话语解码为更容易由解析器220解析的等效语言。例如,解码器230可以将话语解码为等效训练句子、交易片段或可以由解析器220容易地解析的其他内容。等效语言由解码器230提供给解析器220。

计算模块240可以检查从解析器220接收的候选响应,诸如计划。计算模块可以对它们进行排序,改变它们,也可以向它们添加。在一些实例中,计算模块240可以向候选响应添加“不做任何事情”动作。计算模块可以决定执行哪个计划,诸如通过机器学习或某种其他方法。一旦计算模块确定执行哪个计划,计算模块240就可以与一个或多个第三方服务292、294或296通信以执行计划。在一些实例中,执行计划可以涉及通过第三方服务发送电子邮件,通过第三方服务发送文本消息,访问来自第三方服务的信息,诸如航班信息、旅馆信息或其他数据。在一些实例中,标识计划和执行计划可以涉及由生成器250生成响应而不访问来自第三方服务的内容。

状态管理器260允许系统在他或她使用代词或通用名词短语来引用实体时推断用户表示什么对象。状态管理器可以跟踪“显著性”——即,跟踪交互的焦点、意图和历史。显著性信息可用于此处描述的释义操作系统,但自动化助理的其他内部工作不可观察。

生成器250可以从计算模块240接收结构化逻辑响应。结构化逻辑响应可以作为对要执行的候选响应的选择的结果而生成。当接收到时,生成器250可以从逻辑形式生成自然语言响应以渲染串。生成自然语言响应可以包括从键值对渲染串,以及利用从计算模块240传递的信息的静默信息。一旦生成串,就将它们提供给翻译器270。

翻译器270将输出串变换为对用户来说更自然的语言串。翻译器270可以利用来自状态管理器260的状态信息来生成要并入输出串中的释义。然后,生成器250的输出由文本到语音模块280转换为语音。

关于框200的模块(包括解析器、用于管理显著性信息的状态管理器、生成器和用于实现对话管理的其他模块)的其他细节在于2016年11月10日提交的题目为“interactionassistant(交互助理)”的美国专利申请号15/348,226('226申请)中有所描述,该申请要求于2015年11月12日提交的题为“attentivecommunicationassistant(细心的通信助理)”的美国临时专利申请62/254,438的优先权权益,其公开内容通过引用并入本文。

在操作自动化辅助系统中,无论助理是真实的还是自动机,给定句子(或短语或单词)集合及这些句子(或短语或单词)的来自助理的相关动作,可以发现释义作为输入话语的集群,这些输入话语从系统中产生相同反应。标识可以被定义为系统对具有相同输出的输入话语做出反应,定义为相同话语、相同输出话语和动作、或相同话语、动作和显著性,这取决于系统使用的环境。为了与现有技术保持一致,也可以通过单独地或多重地用同义词替换单词或短语来从任何系统输入话语创建释义。(这些替换也可以包括用适当的非惯用表达替换习语,例如用“die(死亡)”替换“kickthebucket(一命呜呼)”。)对于任何特定系统输出,可以通过用作释义标识符或解码器的语言模型来分析数据中提到的或通过同义词替换而创建的释义。该模型可以是一组替换规则或语法或神经网络,无论是ann、卷积网络、lstm网络(具有内部存储器)还是某种其他分类模型。该模型也可以是有限状态转换器,其可以接受属于具有相同含义的一类话语的所有或大多数同义词。

在使用中,假定存在允许标识同义词的模型,则该模型所接受的所有话语可以用被选择为对于自动化助理来说是最容易分析的单个建立的话语来替换,或者用自动化助理分配最高置信度的话语来替换,或者用通过某种替代优化标准而选择的话语来替换。这样的模型将接受不在原始训练材料集中的话语或文本串,从而扩展了对原始观察到的集合之外的释义查询的接受。(这是语言模型的一般特性)。可以认为该模型将释义“解码”成单个规范代表,并且在下面将其称为解码器。

释义的第二用途是将自动化助理的输出话语修改为更少公式化和更自然。自动化助理可以响应于用户查询而创建很多替代但等同的话语,并且具有高概率的那些话语的集合可以被合理地假定为彼此的释义。类似地,刺激来自用户的相同响应的自动化助理的那些话语可以被认为是潜在释义。如前所述,在任一组话语中,单个或多个同义词的替换可以扩展同义话语的集合。(无论助理是自动机还是人,这都有效)。

给定释义的自动化助理回复的集合,可以构建语言生成器,该语言生成器具有从每个其他释义回复生成释义回复中的任何一个的高概率。无论是神经网络、hmm还是基于语法,这种模型在馈送同义话语之一时都会过度生成回复。(过度生成的话语是由模型创建但在训练数据中不存在的那些话语)。然后可以使用这些过度生成的回复来代替原始创建的话语,从而提供更自然的感觉/听觉助理。从自动化助理话语生成释义的该模型可以被认为是机器翻译模型。在下面将其称为“翻译”模型。

在自动辅助系统中,无论助理实际上是机器还是代表机器的人,可以通过分析自动化助理的使用,将助理输出与用户输入相关联来收集用于形成释义的数据。在来自'226申请的自动化助理中,自动化助理被训练为适当地对几乎所有观察到的话语进行操作。该训练针对在训练时间已知的话语收集对系统进行优化。虽然已知话语的一些释义可能导致系统采取适当的动作,但这种优化并未明确包括可能的释义。

在替代实施例中,通过语音识别器来分析用户的话语,并且然后将用户的话语显示为晶格或香肠网络。这里描述了香肠网络实现,尽管可以用晶格创建类似的实现。

图4是表示香肠网络的框图。在香肠网络中(参见图4),表示用户的话语的可能单词每次形成可能单词的有向图,但具有单词结尾在共同时间发生的约束。也就是说,在时间上表示单词,使得在“连结”点之间存在整数个单词,如图中可见。因此,在香肠晶格的连结点处对语音信号分区将确保整个单词被包含在分区中。

在该替代实施例中,香肠网络(或类似地是最佳假定的单词)被收集到那些单词的所有分区中,使得分区被限制为原始话语中的一个或多个连续的时间段。然后,通过语义解析引擎对这些分区或这些分区的组合进行操作。语义解析器标识用户意图和由用户提供的信息,并且然后将该信息传递给自动化助理中的“卡”以进行进一步处理。因此,语义解析器可能会发现,用户想要预订航班,或者他正在响应于对更多信息的请求(离开城市?),或者他正在澄清错误标识的约束(你的意思是迈阿密吗?),或者对话的其他一些元素。

释义生成器可以在自动化助理的输入处以两种不同的方式进行操作。

a.它可以提供替代话语,每个话语可以被分区并且传递给语义解析器。在这种情况下,对改变后的单词或短语进行操作,就像话语是原始话语一样,并且各种替代表示依次循环,直到语义解析器找到一个或多个可操作的替代方案。

b.释义引擎(提供单词的同义词或其他相关联的词汇替换)可以对原始话语分析的分区进行操作。在这种情况下,分区的替代表示可以与原始表示结合使用以便一起提交给解析器以进行适当的动作。

在一个实施例中,语言模型可以从新话语预测观察到的训练话语,创建转换器,该转换器将对句子与来自自动化助理的每个训练句子之间的关联进行评分。该转换器可以包括用于训练语言模型以在运行转换器之前进行检查的句子列表,从而捕获由用户发出的实际上在语言模型训练集中的句子。在运行转换器之前检查这个列表可以最小化计算。如果转换器运行,它将产生相对于每个原始训练句子的与用户的话语相关的得分——最高得分句子然后可以被输入到助理,而不是用户的话语的实际转录本。

与自动化助理交互。

在使用自动化助理时,用户发出短语或键入要由助理进行操作的消息。该短语被传递给(多个)解码器,并且如果话语被接受,则解码器的输出被输入到自动化助理。解码器将产生可解析的句子(它被训练以产生原始输入句子,其全部或大部分是可解析的),并且如果输入句子是原始训练集的一部分,则它将被解码为未改变的。然后经解码的句子被提交给助理以便进行操作。因此,解码器撤消用户的任何释义创建,以允许系统在原始设计和优化的范围内工作。如果任何释义模型都不接受句子,则话语本身被输入到自动化助理。

当自动化助理创建要返回给用户的消息时,它可以可选地创建释义以返回,而不是系统生成的回复。可以使用用户满意度的度量来调节该翻译系统的参数,以减轻很多自动化助理的机械角色,并且提供更吸引人的对话伴侣。

从输入释义到训练输入句子的转换可以被认为是将话语从难以解析的句子改变为易于解析的句子的转换器(该特性通过原始自动化助理的学习和设计而得到加强)。

转换器有很多可能的设计,诸如以下参考文献中描述的那些:

(参考文献:2014年6月23日至25日的美国马里兰州巴尔的摩的计算语言学协会第52届年会论文集的第1415-1425页的jonathanberant、percyliang的“semanticparsingviaparaphrasing(经由释义的语义解析)”)(参考文献:acl2016的elliepavlick和chriscallison-burch的“simpleppdb:aparaphrasedatabaseforsimplification(简单ppdb:针对简单化的释义数据库)”http://www.seas.upenn.edu/~epaylick/papers/simple-ppdb.pdf)

1.简单解码器。这个转换器接受每个输入话语并且依次或组合地用作为助理词典的一部分的同义词替换每个单词。概率被分配给每个释义逆,可能作为改变的单词的数目或输入和输出短语的某个其他特征的函数。然后将每个得到的句子提交给助理的解析器以进行操作,可能按概率顺序。该过程在第一次成功的高概率解析时终止。当然,也可以使用更复杂的逐单词替换方案,基于每次替换的概率,或者通过关于用户的一些个性化信息或助理的任务的情况。(避免反驳最初的假定,即不查看自动助理的“盒内部”,因为解析输入的概率与系统输出有关;还有其他解决方案能够评估部分解析,并且这些将违反最初的假定,但可能会以一些复杂性为代价发现表现更好的解决方案)。

2.可以使用原始训练句子作为目标并且使用用户的释义句子作为输入来构建短语解码器。短语解码器可以使用词典、词性标记的部分、标点符号或其他标记来帮助对可能的翻译进行评分。(这种翻译在从2006年开始并且一直持续到今天的gale项目期间得到了darpa的广泛支持)。由systran和加拿大研究委员会开发了一个英语到英语的系统,其通过源自外语的短语翻译句子创建了流利的英语句子,但是这种语言内翻译系统的基本元素得到了证明)。其他类似的翻译系统已经由ibm和bbn设计和处理(这里的参考文献)。短语解码器输出可以限于自动化助理系统的原始训练话语集。

3.可以构建神经网络模型,其接受释义话语作为输入,并且产生一个或多个(概率排序的)原始话语作为输出。神经网络可以浅或深,是否使用循环,并且包括或不包括长短期记忆元素。在任何情况下,预期该释义系统的性能是网络设计、可用训练数据和训练者的计算资源的函数。

(参考文献:2015年9月17日至21日的葡萄牙里斯本的2015年自然语言处理中的经验方法会议论文集的第379-389页的alexanderm.rush、summitchopra、jasonweston的“aneuralattentionmodelforsentencesummarization(句子摘要的神经注意模型)”)

4.通过简单地创建由助理系统看到的话语列表,结合系统的语言和动作响应,可以构建“辅助”系统。(这基本上是带有手写规则的机器人)。虽然神经网络系统对于大量数据更易于管理,但该列表将允许系统被设计用于有限的域。另外,单独地或与上述其他三个系统之一结合使用这样的列表将允许人类调节系统,并且将允许系统能力快速扩展到新的话语和新的动作。它还允许对系统故障进行交互式审查,并且为已知的输入话语轻松插入已更正的操作。

5.释义转换器可以被设计为一般神经网络,其中输入是语音或文本串的转录,并且输出是合理释义的任何集合(诸如上面列出的4个模型的那些)或任何其他输出模型。这些输出可能包含手动生成的以及自动生成的释义。该一般释义转换器可以是简单神经网络、深度网络、卷积网络、lstm网络或任何其他多层概率模型。可以使用标准训练程序来调节模型的参数以最大化自动化助理的性能。

6.释义转换器不需要为输入提供明确的释义,但可以在“记分员”或“重新分配”模式下操作,其中它同时接受输入短语和输出释义并且为该对指定得分以表明两者是释义的可能性。在其他用途中,在解析期间,系统可以使用它来将已知的“触发短语”与输入话语进行比较以隐含地确定短语是否是可接受的释义。

7.释义转换器可以具有“校准”或“嵌入”步骤,其中它对整个输入话语、当前对话状态或两者执行计算以给予系统有条件地评分或产生短语的能力。例如,系统可以使用对话上下文来了解“它在芝加哥是什么样的?”中的短语“它是什么样的”表示用户正在询问天气,或者询问房地产价格,或有关旅游的问题或其他问题。

无论哪个释义转换器与自动化助理结合使用,系统的输出可以是确定性的(一个最好的)或概率性的。然而,特别是在释义是概率的情况下,可以使用标准机器学习技术来调节这些释义的概率。也就是说,可以学习通过在呈现输入时收集有关系统性能的数据来调节分配给与特定输入相关联的每个释义的概率,包括通过事后分析提供的校正输入,并且然后可以调节与转换器输出相关联的概率以最小化自动化助理的系统误差。

尽管用于优化系统的方法可能不同,但是同样可以设计用于修改系统输出的翻译器系统。

在用同义词替换单词的翻译器模块中,可以假定用户将发现那些可接受的话语。然而,在某些情况下,同义词将具有干扰原始含义的替代含义,并且可以分析系统的失败以最小化在未来系统中对那些特定的同义词或短语的使用。

可以使用短语翻译方法从自动化助理创建替代话语/消息。与上面提到的同义词替换系统一样,短语翻译器有时会创建具有意外含义的话语,并且必须通过主动质量控制活动或通过分析系统的使用并且注意在未来的实例化中要修复的错误来修剪这些话语。

并且,如上所述,可以使用具有选择算法的简单列表来提供自动化助理的输出的可变性。选择可以通过概率来偏置,该概率是随机分配的,或者通过分析系统性能而创建的一些效率标准来选择。

增加具有释义能力的输入系统将使得自动化助理比标准对话系统更符合习惯,更易于维护,并且更易于设计和构建。

图3是用于提供使用释义的自动化助理的方法。在步骤310,从自动语音识别模块210接收语言输入。语言输入可以由解码器230和解析器220接收。输入由asr210从用户从远程设备接收的音频来生成。

在步骤320,通过解码器模块230用释义替换语言输入的片段。可以替换片段,或者在一些实例中可以替换整个句子,以便使语言输入更容易被解析器220解析。下面参考图5的方法更详细地讨论通过解码器模块230用释义替换语言输入的片段。

在步骤330,通过解析器220解析所接收的片段或句子并且用释义从解析的语言输入来创建动作。解析片段并且从输入创建动作可以导致显示为晶格或香肠网络。图4中示出了示例性香肠网络图形。

可以在可以由计算模块340创建的结构化输出中执行动作。计算模块可以接收和检查候选响应,诸如与由解析器220创建的卡相关联的计划。候选响应可以被排序,改变,以及可以添加到由计算模块240创建的附加卡。然后,计算模块例如通过机器学习方法来决定要执行哪个计划或卡。然后相应计划被提供给生成器250。

在步骤350,由生成器250创建串输出。生成器250接收逻辑形式,逻辑形式可以由键值对组成。生成器250可以从逻辑形式生成自然响应。在一些实例中,当显著性信息包括在与用户的对话期间跟踪的销售实体时,生成器250可以从状态管理器260访问显著性信息。自然语言响应可以是提供给输出释义模块(翻译器)270的串的形式。

在步骤360,通过翻译器模块270用释义来更新输出。更新输出可以包括修改输出,写入响应,移除话语的片段的冗余部分,以及其他更新。关于图7讨论关于通过释义模块更新输出的更多细节。

在用一个或多个释义更新输出之后,在步骤370,将已更新的输出提供给用户。向用户提供输出包括将经修改的输出传输到诸如客户端110、移动设备120或计算设备134等远程机器,将要提供的输出话语传送给用户。

图5是通过解码器用释义替换语言输入的片段的方法。图5的方法提供了图3的方法的步骤320的更多细节。在步骤510,解码器从自动语音识别器模块接收所识别的语音片段。解码器可以在步骤520从解析器接收触发短语。触发短语可以从诸如图2的方法的数据库222等解析器220可访问的数据库中检索。

在步骤530,解码器将触发短语与语音片段进行比较。在步骤540,确定语音片段是否与一个或多个触发短语相匹配。将语音片段与触发短语进行比较,使得如果语音片段匹配可以包括用于训练解析器的训练句子的触发短语,则可以容易地解析话语并且不进行任何改变。因此,如果语音片段与触发短语相匹配,则在步骤550,在话语中不包括释义。如果语音片段与释义不匹配,则解码器230在步骤560确定特定片段与每个触发短语的关联的得分。

然后在步骤570确定触发短语的得分是否满足阈值。如果不满足阈值,则在话语中不包括释义,因为触发短语不足够匹配片段。如果触发短语确实满足阈值,则解码器可以在步骤590针对满足阈值的得分向解析器提供每个触发短语的上下文。

图6是示出由解码器提供并且添加到话语的释义的流程图。该流程图以从用户接收的话语610开始。话语是音频内容“价格是什么?”。话语由自动语音识别模块210接收,转换为文本,并且然后提供给输入释义模块(解码器)230。解码器230可以将文本与触发短语进行比较,诸如用于训练解析器220的训练句子。如果存在精确匹配,则不向文本添加任何释义。如果没有精确匹配,则对每个训练句子及其与输入话语的关联或关系进行评分,并且选择最高得分的触发短语或训练句子并且将其提供给解析器220。在图6的示例中,输入话语的片段“什么是”被替换为释义“查找”。

图7是用于通过翻译器用释义来更新输出的方法。图7的方法提供了图3的方法的步骤360的更多细节。在步骤710,翻译器从生成器接收文本块。在步骤720,翻译器还从状态管理器接收状态信息。然后在步骤730,翻译器可以基于状态信息和文本块来在数据库中查询释义内容。然后,在步骤740,翻译器用释义内容来更新文本块。

图8是示出由翻译器提供并且添加到所生成的输出的释义的流程图。该流程图从生成器生成输出“好的,我将预订与在pdt的下午5点之后并且在pdt的下午7点之前的第一航段的出发时间相匹配的航班”来开始。然后将输出提供给输出释义模块270“翻译器”,“翻译器”然后将其释义成内容的部分以输出。

图9是用于实现本技术的计算机系统900的框图。图9的系统900可以在客户端610、移动设备620、计算设备630、网络服务器650、应用服务器660和数据存储670等的上下文中实现。

图9的计算系统900包括一个或多个处理器910和存储器920。主存储器920部分地存储由处理器910执行的指令和数据。主存储器910可以在操作时存储可执行代码。图9的系统900还包括大容量存储设备930、(多个)便携式存储介质驱动器940、输出设备950、用户输入设备960、图形显示器970和外围设备980。

图9中所示的组件被描绘为经由单个总线990连接。然而,组件可以通过一个或多个数据传输装置连接。例如,处理器单元910和主存储器920可以经由本地微处理器总线连接,并且大容量存储设备930、(多个)外围设备980、便携式或远程存储设备940和显示系统970可以经由一个或多个输入/输出(i/o)总线连接。

可以用磁盘驱动器或光盘驱动器实现的大容量存储设备930是用于存储供处理器单元910使用的数据和指令的非易失性存储设备。大容量存储设备930可以存储用于实现本发明的实施例的系统软件,以用于将该软件加载到主存储器620中。

便携式存储设备940与便携式非易失性存储介质(诸如光盘、数字视频盘、磁盘、闪存等)一起操作以向图9的计算机系统900输入数据和代码以及从其输出数据和代码。用于实现本发明的实施例的系统软件可以存储在这样的便携式介质上,并且经由便携式存储设备940输入到计算机系统900。

输入设备960提供用户界面的一部分。输入设备960可以包括用于输入字母数字和其他信息的字母数字小键盘(诸如键盘)或者指示设备(诸如鼠标、轨迹球、指示笔或光标方向键)。另外,如图9所示的系统900包括输出设备950。合适的输出设备的示例包括扬声器、打印机、网络接口和显示器。

显示系统970可以包括液晶显示器(lcd)、led显示器、触摸显示器或其他合适的显示设备。显示系统970接收文本和图形信息,并且处理该信息以输出到显示设备。显示系统可以通过触摸显示器接收输入并且传输所接收的输入以进行存储或进一步处理。

外围设备980可以包括任何类型的计算机支持设备以向计算机系统添加附加功能。例如,(多个)外围设备980可以包括调制解调器或路由器。

包含在图9的计算机系统900中的组件可以包括个人计算机、手持计算设备、平板计算机、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机还可以包括不同的总线配置、联网平台、多处理器平台等。可以使用各种操作系统,包括unix、linux、windows、appleos或ios、android和其他合适的操作系统,包括移动版本。

当实现诸如智能电话或平板计算机等移动设备或者无线地通信的任何其他计算设备时,图9的计算机系统900可以包括一个或多个天线、无线电和用于经由无线信号进行通信的其他电路,诸如例如,使用wi-fi、蜂窝或其他无线信号的通信。

虽然本专利文件包含很多细节,但这些细节不应当被解释为对任何发明或可以要求保护的内容的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变化。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求这样的操作以所示的特定顺序或按顺序执行,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这种分离。

仅描述了少数实现和示例,并且可以基于本专利文件中描述和示出的内容来做出其他实现、增强和变化。

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