首页> 中国专利> 用于生成带注释的自然语言短语的方法和装置

用于生成带注释的自然语言短语的方法和装置

摘要

一种装置接收包括至少一个带标签的对象的短语,并通过实例化短语中的每个带标签的对象来生成实例化的短语。装置通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。装置通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。装置通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表或基于自然语言短语的有序列表的自然语言短语的增强集合,来生成带注释的自然语言短语。

著录项

  • 公开/公告号CN113228027A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201980087093.7

  • 发明设计人 沈逸麟;A.雷;H.金;

    申请日2019-10-29

  • 分类号G06F40/166(20060101);G06F40/40(20060101);G06N20/00(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人邵亚丽

  • 地址 韩国京畿道

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本公开涉及生成自然语言短语,更具体地,涉及生成带注释的自然语言短语。

背景技术

电子设备(诸如智能电话或膝上型计算机)可以包括个人数字助理,该个人数字助理帮助设备的用户完成不同的任务,诸如设置闹钟、接收天气预报或查看新闻更新。个人数字助理可以使用自然语言理解(“natural language understanding,NLU”)引擎来理解由用户说出或以其他方式输入的短语。用户可以输入不同的短语,诸如“订购披萨”、“我在哪里可以买到玉米卷”或“递送韩国食物”,这些短语表达了用户寻找食物的意图。因此,自然语言理解引擎需要理解用户的意图,诸如寻找食物,以及意图细节,诸如“披萨”、“玉米卷”和“韩国食物”。

训练装置可以通过为每个用户意图使用大量自然语言短语并将标签添加到自然语言短语中的单词(诸如通过将“披萨”和“玉米卷”标记为“披萨(@食物)”和“玉米卷(@食物)”、将“大份”标记为“大份(@大小)、以及将“韩国”标记为“韩国(@国家)”)来训练自然语言理解引擎。如果训练装置可以使用自然语言短语诸如“订购披萨(@食物)”和“订购玉米卷(@食物)”来充分训练NLU引擎理解一种类型的短语,那么NLU引擎可能能够理解相同类型的后续短语,诸如将短语“订购韩国食物”理解为寻找食物的意图。

然而,训练装置通常依赖于针对每个用户意图的自然语言短语的手动输入和向意图细节添加标签的手动输入。这种人工输入非常昂贵,并且人类只能提供有限数量的自然语言短语和标签。例如,软件开发人员可能会输入订购披萨、玉米卷和韩国食物的短语,但忘记输入苹果的短语。因此,手动生成的自然语言短语可能不包括自然语言短语的许多变体。结果,在有限的人工生成的自然语言短语上训练的NLU引擎可能无法理解用户的意图和/或意图细节。

计算机可以生成自然语言短语。人类众包可以手动纠正或删除计算机生成的不自然或语法不正确的自然语言短语,并在计算机生成的自然语言短语中手动输入标签。虽然这种人类参与可以提高计算机生成的自然语言短语的自然性和语法正确性,但是这些计算机生成的自然语言短语仍然不能包括表达每个意图的自然语言短语的许多变体。此外,计算机生成的自然语言短语的使用是不可扩展的,这是由于人工纠正或删除不自然或语法不正确的计算机生成的自然语言短语以及人工在计算机生成的自然语言短语中输入标签的巨大劳动需求。

发明内容

技术问题

本公开的实施例提供了用于生成带注释的自然语言短语的方法和装置。

问题解决方案

在一个实施例中,一种装置生成带注释的自然语言短语。装置接收包括至少一个带标签的对象的短语,并通过实例化短语中的每个带标签的对象来生成实例化的短语。装置通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。装置通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。装置通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表来生成带注释的自然语言短语。

在另一个实施例中,一种方法生成带注释的自然语言短语。接收包括至少一个带标签的对象的短语,并且通过实例化短语中的每个带标签的对象来生成实例化的短语。自然语言短语的列表由每个实例化的短语的相应释义生成。自然语言短语的有序列表是通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成的。带注释的自然语言短语是通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表而生成的。

在又一实施例中,计算机程序产品包括计算机可读程序代码,该程序代码包括生成带注释的自然语言短语的指令。程序代码包括接收包括至少一个带标签的对象的短语并通过实例化短语中的每个带标签的对象来生成实例化的短语的指令。程序代码包括通过每个实例化的短语的相应释义来生成自然语言短语的列表的指令。程序代码包括通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表的指令。程序代码包括通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表来生成带注释的自然语言短语的指令。

例如,服务器从软件开发人员那里接收短语“寻找@食物”,并生成实例化的短语,诸如“寻找披萨”、“寻找玉米卷”和“寻找苹果”。服务器使用释义生成器来生成:1)自然语言短语的披萨列表(“订购披萨”、“哪家餐馆供应披萨”、“哪家商店出售披萨”等);2)自然语言短语的玉米卷列表(“订购玉米卷”、“哪家餐馆供应玉米卷”、“哪家商店出售玉米卷”等);以及3)自然语言短语的苹果列表(“订购苹果”、“哪家餐馆供应苹果”、“哪家商店出售苹果”等)。

服务器基于这些短语在自然语言模型的搜索中出现的频率来对这些列表进行排序,从而产生:1)有序的披萨列表:i)“订购披萨”,ii)“哪家餐馆供应披萨”,iii)“哪家商店出售披萨”等。;2)有序的玉米卷列表:i)“哪家餐馆供应玉米卷”,ii)“订购玉米卷”,iii)“哪家商店出售玉米卷”等;和3)有序的苹果列表:i)“什么商店打折出售苹果”,ii)“哪家商店出售苹果”,iii)“订购苹果”等。

服务器注释列表以产生:1)带注释的披萨列表:i)“订购披萨(@食物)”,ii)“哪家餐馆供应披萨(@食物)”,iii)“哪家商店出售披萨(@食物)”等;2)带注释的玉米卷列表:i)“哪家餐馆供应玉米卷(@食物),ii)“订购玉米卷(@食物)”,iii)“哪家商店出售玉米卷(@食物)”等;以及3)带注释的苹果列表:i)“什么商店打折出售苹果(@食物)”,ii)“哪家商店出售苹果(@食物)”,iii)“订购苹果(@食物)”等。

提供本概述部分仅仅是为了介绍某些概念,而不是为了识别所要求保护的主题的任何关键或必要特征。从附图和下面的详细描述中,本发明的许多其他特征和实施例将变得明显。

附图说明

附图显示了一个或多个实施例;然而,附图不应被理解为将本发明仅限制于所示的实施例。通过阅读以下详细描述并参考附图,各个方面和优点将变得明显,其中:

图1示出了根据实施例的用于生成带注释的自然语言短语的示例装置的框图;

图2示出了根据实施例的用于生成带注释的自然语言短语的示例用户接口的框架;

图3A和图3B示出了根据实施例的示例生成的短语的框图;

图4A和图4B示出了根据实施例的示例生成的短语的另一框图;

图5A、5B、5C、5D和5E示出了根据实施例的示例生成的短语的又一框图;

图6A和图6B示出了根据实施例的示例生成的短语的附加框图;

图7A、7B、7C和7D示出了根据实施例的示例生成的短语的又一附加框图;

图8A、8B和8C示出了根据实施例的示例生成的短语的另一框图;

图9是示出根据实施例的用于生成带注释的自然语言短语的方法的流程图;并且

图10是示出其中可以实施本主题的示例硬件设备的框图。

具体实施方式

以下描述是为了说明一个或多个实施例的一般原理,并不意味着限制本文要求保护的发明构思。此外,本文描述的特定特征可以在各种可能的组合和排列中的每一种中与其他描述的特征组合使用。除非本文中另有具体定义,否则所有术语都应给出最广泛的可能解释,包括说明书中暗示的含义以及本领域技术人员理解的和/或字典、论文等中定义的含义。

术语“短语”或“话语”通常指包括动词和至少一个名词的词。术语“动词”用来泛指用来描述动作、状态或事件的词。术语“对象”通常用来指代表概念的词或词组。术语“标签”通常是指附着在词或词组上的标签。术语“带标签的对象”或“占位符”通常用来指代表概念并被附着标签的词或词组。

术语“属性”通常用来指被认为是某物的特性的品质或特征。术语“选择”通常是指选择最好或最合适的东西的行为。术语“实例化”通常用来指抽象或模板的特定实现的创建,例如对象的类。术语“实例化短语”通常用来指词的抽象或模板的特定实现。术语“释义”通常用来指某人写的或说的东西的释义。

术语“列表”通常用于指连续书写或打印的多个项目。术语“有序列表”通常用于指以适当方式排列的连续书写或打印的多个项目。术语“合并列表”通常用于指连续书写或打印的多个项目,这些项目被组合形成单个实体。“发生”通常用来指某事发生的频率。术语“实例”或“填充词”通常用于指代概念的示例。

术语“自然语言短语”通常用来指通常用于人类交流的一组词。术语“带标签的自然语言短语”通常用来指用于交流的一组词,其中一个单词已经被代表被替换单词的带标签的单词替换。术语“增强集合”通常用来指许多属于或一起使用的同类事物,并且它们已经被共同改进。术语“带注释的自然语言短语”通常是指用于交流的一组单词,其中添加了解释性注释。术语“自然语言理解引擎”或“NLU”通常用来指所有的装置和软件,它们一起工作来分析文本,包括书面的和口头的,从数据中获得意义并对其做出适当的响应。术语“响应”通常用来指对某事的反应。

图1示出了根据实施例的用于生成带注释的自然语言短语的装置100的框图。如图1所示,装置100可以示出云计算环境,在该环境中,数据、应用、服务和其他资源通过共享数据中心存储和递送,并作为终端用户的单一访问点出现。装置100还可以代表任何其他类型的分布式计算机网络环境,其中服务器控制不同客户端用户的资源和服务的存储和分配。

在实施例中,装置100表示云计算装置,云计算装置包括第一客户端102、第二客户端104以及可以由托管公司(hosting company)提供的第一服务器106和第二服务器108。客户端102-104和服务器106–108经由网络110通信。尽管图1将第一客户端102描绘为智能电话102,并且将第二客户端104描绘为膝上型计算机104,但是客户端102-104中的每一个客户端都可以是任何类型的计算机。在实施例中,可以称为自然语言服务器106的第一服务器106包括组件112-138。虽然图1描绘了具有两个客户端102-104、两个服务器106-108和一个网络110的装置100,装置100可以包括任意数量的客户端102-104、任意数量的服务器106-108和/或任意数量的网络110。客户端102-104和服务器106-108可以各自基本上类似于图10所描绘及以下描述的装置1000。

装置组件112-138包括知识库构造器112、自然语言模型114、词根词汇表116、概念化器118、词根概念化器120、知识库122、语言生成器124、训练器126、个人数字助理128和NLU引擎130,其中每个装置组件可以被组合成更大的组件和/或被分成更小的组件。语言生成器124可以包括组织器132、实例化器134、释义生成器136和注释器138。图1描绘了完全驻留在自然语言服务器106上的装置组件112-138,但是装置组件112-138可以完全驻留在自然语言服务器106上、完全驻留在第二服务器108上、完全驻留在客户端102-104上、或者部分驻留在服务器106-108上和部分驻留在客户端102-104上的任意组合。例如,在自然语言服务器106使用组件112-138来训练个人数字助理128中的NLU引擎130之后,自然语言服务器106为智能电话102提供个人数字助理128的副本。

装置可以将知识库122构建为对象的源,该对象将被用于实例化开发人员输入的短语中的带标签的对象。自然语言服务器106可以响应于接收到短语而启动知识库122的构建。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“寻找@食物”。在自然语言服务器106接收到短语“寻找@食物”之后,知识库构造器112从短语中提取带标签的对象“@食物”,然后使用对象“食物”作为构建知识库122的基础。

知识库构造器112可以从自然语言模型114接收词汇表,识别词汇表中的词根,并将识别的词根存储在词根词汇表116中。例如,知识库构造器112从自然语言模型114接收词汇表单词“披萨”和“多个披萨”,识别词汇表单词“披萨”和“多个披萨”的词根“披萨”,并将识别的词根“披萨”存储在词根词汇表116中。自然语言模型114模型通常指基于例如在线文档训练的分布函数,该分布函数可能给定前一个(多个)单词,预测句子中的下一个单词,并且可以在诸如

知识库构造器112然后可以利用概念化器118来识别词根词汇表116中每个词根的概念列表,其中列表中的概念按照它们的概率顺序进行排序,并且随后将概念列表存储在词根概念化120中。例如,知识库构造器112利用概念化器118来基于“披萨”被识别为概念“食物”的最高概率、“披萨”被识别为概念“小吃”的第二高概率等识别词根词汇表116中词根“披萨”的概念列表:1)“食物”,2)“小吃”,3)“项目”,以及4)“菜”。继续该示例,知识库构造器112将概念列表:1)“食物”,2)“小吃”,3)“项目”,以及4)“菜”,作为词根“披萨”的相关对象存储在词根概念化120中。

知识库构造器112可以通过识别词根概念化120中的概念、识别与词根概念化120中的概念相关联的每个词根、然后将这些关联存储在知识库122中来构造知识库122。例如,知识库构造器112识别词根概念化120中的概念“食物”,并识别词根概念化120中与概念“食物”相关联的每个词根,诸如“披萨”、“玉米卷”、“苹果”等。继续该示例,知识库构造器112将词根“披萨”、“玉米卷”、“苹果”等作为概念“食物”的实例存储到知识库122中。

在实施例中,如果知识库构造器112仅针对特定的带标签的对象(诸如从短语“寻找@食物”中提取的带标签的对象“@食物”)来构造知识库122,则知识库122的构造可以在存储单个概念及其实例之后完成。可替代地,知识库构造器112可以通过识别词根概念化120中的另一个概念,识别与词根概念化120中的另一个概念相关联的每个词根,然后将这些其他关联存储在知识库122中,来继续构造知识库122。例如,知识库构造器112识别词根概念化120中的概念“大小”,并且识别词根概念化120中与概念“大小”相关联的每个词根,诸如“大”、“中”、“小”等。继续该示例,知识库构造器112将词根“小”、“中”、“大”等作为概念“大小”的实例存储到知识库122中。知识库122可以使用哈希表将概念映射到概念的实例,诸如使用哈希表将概念“食物”映射到概念“食物”的实例“披萨”、“玉米卷”和“苹果”。

在一些实施例中,知识库122已经为带标签的对象构建,自然语言服务器106可以为包括相同带标签的对象的其他短语重用相同的知识库122。例如,如果知识库122已经为短语“寻找@食物”中的带标签的对象“@食物”构建,则自然语言服务器106可以为短语“准备@食物”重用相同的知识库122。如果知识库122已经为带标签的对象的组合构建,自然语言服务器106可以将相同的知识库122重新用于包括一些或全部相同的带标签的对象的组合的其他短语。知识库构造器112可以在接收任何带标签的对象之前离线构造知识库122,预期使用词根列表作为带标签的对象的实例。

在一个实施例中,知识库构造器112可以识别概念之间的关系,并将这些关系作为对象-属性关系存储在知识库122中。例如,知识库构造器112确定概念“食物”具有诸如概念“大小”和概念“原料”的属性。知识库构造器112将概念“食物”作为对象标签存储在知识库122中,并且将概念“大小”和“原料”作为依附于对象标签“食物”的属性标签存储在知识库122中。作为示例,自然语言服务器106可以使用包括这种对象-属性对的公共可用信息框模板Q来构建或提供知识库122的各方面。

自然语言服务器106可以在接收到包括至少一个带标签的对象的短语之后开始生成带注释的自然语言短语。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“寻找@食物”,如图2中的用户接口的框200所示。

图2示出了根据实施例的用于生成带注释的自然语言短语的设备的示例用户接口屏幕的框架200。“用户说”窗口202识别开发人员可以在哪里输入短语,诸如“寻找食物”。开发人员可以输入带标签的短语“寻找@食物”。可替代地,开发人员可以输入不带标签的短语“寻找食物”。自然语言服务器106可以识别知识库122中的概念“食物”,然后将不带标签的短语“寻找食物”转换成带标签的短语“寻找@食物”。在开发人员的输入被接受之后,开发人员可以选择“释义”204来生成基于开发人员输入的短语的带注释的自然语言短语,诸如“在我家附近寻找一些披萨”206。

自然语言服务器106可以生成不完整句子的自然语言短语,而不是生成自然语言句子,因为当与个人数字助理128交互时,人更可能输入不完整句子短语,诸如“订购披萨”,而不是输入句子,诸如“我想订购披萨”。此外,如果NLU引擎130被充分训练以理解诸如“订购披萨”的不完整句子短语,那么NLU引擎130被充分训练以理解包括不完整句子短语的句子诸如“我想订购披萨”。由于这些原因,开发人员可以将完整的句子或不完整的句子短语输入到“用户说”窗口202中。

装置能够“冷启动(cold start)”生成带注释的自然语言短语。此功能是为没有自然语言专业知识的“冷启动”开发人员和缺少任何或许多自然语言短语的“冷启动”数据集而设计的。开发人员可以将许多不同类型的短语输入到“用户说”窗口202中,以训练NLU引擎130理解来自用户的许多不同短语。例如,开发人员可以输入“预订@航班”、“租赁@汽车”、“预订@酒店”和“寻找@食物”,以生成用于训练NLU引擎130的带注释的自然语言短语。随后,经过训练的NLU引擎130理解何时用户请求购买两张飞往旧金山的机票、在旧金山机场租车、在旧金山市中心预订酒店房间以及在离酒店不远的浪漫餐馆预订桌子。

可替代地,第三方开发人员可以将一些相关类型的短语输入到“用户说”窗口202中,以训练NLU引擎130理解来自用户的一些类型的短语。例如,披萨餐馆的第三方应用程序的第三方开发人员输入短语,以训练NLU引擎130理解何时一个人请求从披萨餐馆的菜单订购项目以便递送或外卖。

框架200可以是更大显示屏的一部分,该显示屏包括供用户输入命令以创建、检索、编辑和存储信息的区域(field)。因为框架200是样品,所以框架200在外观上可以有很大的不同。例如,图形图像的相对大小和地点对于本公开的实践来说并不重要。框架200可以由任何可视显示器描绘,但是它优选地由计算机屏幕描绘。框架200也可以作为报告输出,并以电子格式诸如PDF打印或保存。

框架200可以是个人计算机装置和/或网络的一部分,并且根据由网络和/或互联网接收的装置数据来操作。框架200可由用户导航。通常,用户可以使用触摸屏输入、语音命令或鼠标输入设备来点击框架200上的位置,以管理框架200上的图形图像。可替代地,用户可以使用方向指示器或其他输入设备,诸如键盘。由框架200描绘的图形图像是示例,因为框架200可以包括显著更多数量的图形图像。框架200还可以包括用户可以输入信息的区域。

带注释的自然语言短语的生成通过基于一个带标签的对象或多个带标签的对象生成短语开始。在装置生成自然语言短语的有序列表之后,装置可以被配置为注释自然语言短语的有序列表。可替代地,装置可以被配置为通过基于自然语言短语的有序列表生成自然语言短语的增强集合来继续,然后注释该自然语言短语的增强集合。

基于一个带标签的对象的自然语言短语的生成以及自然语言短语的增强集合的后续生成将在下面参考图3A-B进行描述。基于一个带标签的对象的自然语言短语的生成和这种自然语言短语的有序列表的注释将在下面参考图4A-B进行描述。基于一个带标签的属性的自然语言短语的生成以及这种自然语言短语的增强集合的后续生成将在下面参考图5A-E进行描述。基于一个带标签的属性的自然语言短语的生成和这种自然语言短语的有序列表的注释将在下面参考图6A-B进行描述。基于多个带标签的属性的自然语言短语的生成以及这种自然语言短语的增强集合的后续生成将在下面参考图7A-D进行描述。最后,基于多个带标签的属性的自然语言短语的生成和这种自然语言短语的有序列表的注释将在下面参考图8A-C进行描述。

生成自然语言短语(诸如图3A-B中描绘的自然语言短语)可以通过用单个带标签的对象的自然语言实例替换包括单个带标签的对象的短语来开始。装置通过实例化短语中的每个带标签的对象来生成实例化的短语。例如,实例化器134将短语“寻找@食物”302中的“食物”识别为知识库122中的概念,然后识别知识数据库122中“食物”的实例,包括“披萨”、“玉米卷”和“苹果”。继续该示例,实例化器134使用这些实例来实例化短语“寻找@食物”302,以生成实例化的短语,诸如“寻找披萨”304、“寻找玉米卷”306和“寻找苹果”308。

出于简化示例的目的,图3A仅描绘了三个实例化的短语,“寻找披萨”304、“寻找玉米卷”306和“寻找苹果”308,但是实例化器134可以生成任意数量的实例化短语。实例化器134可以限制带标签的对象的实例数量,诸如仅使用30个最常识别的“食物”的实例,这将因此将实例化的短语的数量限制为带标签的对象的实例数量,诸如30个实例化的短语。

在用带标签的对象的实例替换带标签的对象之后,短语的动词被动词的自然语言释义替换。在实例化的短语的生成之后,装置通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。例如,释义生成器136将“寻找披萨”304释义为自然语言披萨短语的列表:“订购披萨的递送”、“哪里有供应披萨的餐馆”、“什么商店打折出售披萨”……310。

在另一个示例中,释义生成器136将“寻找玉米卷”306释义为自然语言玉米卷短语的列表:“订购玉米卷的递送”、“哪里有供应玉米卷的餐馆”、“什么商店打折出售玉米卷,”……312。在又一示例中,释义生成器136将“寻找苹果”308释义为自然语言苹果短语列表:“订购苹果的递送”、“哪里有供应苹果的餐馆”、“什么商店打折出售苹果”……314。释义生成器136可以被实施为语言生成器124的内部组件,或者访问用于释义的外部源,诸如释义数据库(paraphrase database,PPDB)。

出于简化示例的目的,图3A仅描绘了单词“寻找”的三个实例化释义,“订购……的递送”、“提供……的餐馆在哪里”和“什么商店打折出售”。然而,释义生成器136可以生成任意数量的释义。释义生成器136可以限制释义的数量。例如,释义生成器136可以仅使用30个最常见的“寻找”的释义。这将因此将每个自然语言短语的列表中的自然语言短语的数量限制为每个自然语言短语的列表中30个自然语言短语。

计算每个自然语言短语的出现次数,使得高排序被分配给频繁出现的自然语言短语,并且低排序被分配给很少出现的自然语言短语。装置通过基于每个自然语言短语的出现次数对每个列表中的自然语言短语进行排序来生成自然语言短语的有序列表。例如,组织器132基于这些自然语言短语在自然语言模型114中出现的频率将自然语言披萨短语316的列表排序为:“1.订购披萨的递送”、“2.哪里有供应披萨的餐馆”、“3.哪家商店打折出售披萨”等。

自然语言模型114中的每个自然语言短语的出现次数可以是:1)作为简单的计数计算,例如当在互联网上搜索“订购披萨”时的160万个结果;2)作为条件概率序列计算;或者3)通过估计每个自然语言短语的真实世界使用的任何其他方法来计算。例如,“订购披萨(order a pizza)”的出现次数被计算为单词“order”在自然语言模型114中的概率,乘以给定单词“order”的单词“a”在自然语言模型114中的概率,乘以给定单词序列“order a”的单词“pizza”在自然语言模型114中的概率。条件概率的这种计算导致对可能正在向他们的个人数字助理128输入短语的每个人实际使用自然语言短语的频率的估计。出现次数多的短语对于训练NLU引擎130理解从用户输入的后续自然语言短语更有效,而没有出现或出现次数少的短语效率较低。

对于生成的自然语言短语j=(x

Pr(x

在另一个示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数将自然语言玉米卷短语列表318排序为“1.订购玉米卷的递送”、“2.哪里有供应玉米卷的餐馆”、“3.哪家商店打折出售玉米卷”等。在又一示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数将自然语言苹果短语320的列表排序为“1.哪家商店打折出售苹果”、“2.哪里有出售苹果的商店”、“3.订购苹果的递送”等。

释义“哪里有供应……的餐馆”是作为自然语言披萨短语排序列表316中被排序为第二最频繁出现的短语的短语的一部分,以及作为自然语言玉米卷短语排序列表318中被排序为最频繁出现的短语的短语的一部分。有序列表316和318中的这种高排序推断,由于其在自然语言模型114中的高出现率,释义“哪里有供应……的餐馆”在语法上是正确的。然而,自然语言苹果短语的有序列表320不同于有序列表316和318,因为不包括释义“哪里有供应……的餐馆”。自然语言苹果短语320的有序列表中缺少该释义并不推断短语“哪里有供应苹果的餐馆”在语法上是不正确的,尤其是因为该释义被其他有序列表316和318推断为在语法上是正确的。相反,在自然语言苹果短语320的有序列表中缺少这种释义推断出短语“哪里有供应苹果的餐馆”是不自然的短语,这是由于其不常见。自然语言模型114可能不包括将释义“哪里有供应……的餐馆”与实例“苹果”相结合的任何事件,因为人们不搜索供应苹果的餐馆。

通过基于每个自然语言短语在自然语言模型114中出现的频率对其进行排序,组织器132将不自然或语法不正确的自然语言短语排在每个列表的底部,因为不自然或语法不正确的自然语言短语在自然语言模型114中不经常出现。如果组织器132删除有序列表中排序低于阈值排序值的自然语言短语,诸如有序列表中第30个最频繁出现的短语之下的短语,则组织器132删除不频繁出现的任何不自然或语法不正确的自然语言短语。因此,组织器132消除了人类手动审查任何自然语言短语和手动删除任何不自然或语法不正确的自然语言短语的任何需要。

组织器132通过生成比人类生成的自然语言短语更自然、语法更正确的自然语言短语,使装置能够产生意想不到的结果。如果装置生成的自然语言短语几乎与人类生成的自然语言短语一样自然,语法也一样正确,那么这些装置生成的自然语言短语将会更有效地生成,因为消除对人类的任何需要:1)手动检查任何自然语言短语;2)手动删除任何不自然或语法不正确的自然语言短语;或者3)手动注释任何自然语言短语。然而,实验表明,机器生成的自然语言短语比人类生成的自然语言短语更自然,语法更正确。该实验要求一组人评估装置生成的自然语言短语和人类生成的自然语言短语的自然度和语法正确性,等级从1(不自然或语法错误)到5(自然或语法正确)。结果表明,装置生成的自然语言短语被评估为比人类生成的自然语言短语自然11%到16%,并且语法正确率比人类生成的自然语言短语高12%到16%。

例如,没有自然语言专业知识的人可以生成短语“哪里有供应苹果的餐馆”,并且没有自然语言专业知识的人可以认可该短语,因为审查员可能认为这样的短语是自然的和语法正确的。即使装置最初生成短语“哪里有供应苹果的餐馆”,组织器132也基于每个短语在自然语言模型114中出现的频率来对短语排序。尽管“哪里有供应……的餐馆”是动词“寻找”的常见释义,并且“苹果”是带标签的对象“@食物”的常见实例,但是“哪里有供应苹果的餐馆”这一短语并不经常出现,因为这种组合并不自然,因为人们不会搜索供应苹果的餐馆。因此,组织器132可以确定没有出现这种不自然的短语,从而导致有序列表中的低排名。这确保了这种不自然的短语被删除,而不在随后被注释的自然语言短语中。

在另一个示例中,没有自然语言专业知识的人可以生成短语“为递送订购披萨(order a pizza for the delivery)”,并且没有自然语言专业知识的人审查员可以认可该短语,因为审查员可能认为这样的短语是自然的和语法正确的。即使装置最初生成短语“为递送订购披萨”,组织器132也基于每个短语在自然语言模型114中出现的频率来对短语排序。因此,组织器132可以确定没有出现这种语法不正确的短语,从而导致有序列表中的低排名。这确保了这种语法不正确的短语被删除,而不在随后被注释的自然语言短语中。

当人类审查员确定删除或不删除自然语言短语时,人类审查员基于他或她对该短语的自然性和语法正确性的主观个人意见做出该决定。相反,当组织器132确定是否删除自然语言短语时,组织器132将其决定基于该短语在自然语言模型114中实际出现的频率,这是人类在这种情况下不使用的客观评估。因此,由人类审查员和组织器132进行的审查过程产生了意想不到的优越结果,其中装置生成比人类生成的自然语言短语更自然、语法更正确的自然语言短语。

如上所述,虽然出于简化示例的目的,图3A仅描绘了每个有序列表的三个最频繁出现的短语,但是每个有序列表可以包括任意数量的最频繁出现的短语。组织器132可以限制最频繁出现的短语的数量,例如,在每个自然语言短语的列表中仅限制30个最频繁出现的短语。

在自然语言短语生成的这一点上,可以对自然语言短语的有序列表进行注释,或者可以基于有序列表生成自然语言短语的增强集合,从而可以随后对增强集合进行注释。下面参考图4A进一步描述注释自然语言短语的有序列表。图3A-3B描绘了基于自然语言短语的有序列表的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。

生成自然语言短语的增强集合可以通过用单个带标签的对象替换有序列表中的单个带标签的对象的实例以使得自然语言短语的通用版本可以从不同的有序列表中合并来开始。装置通过使用短语中的每个带标签的对象来替换自然语言短语的有序列表中的每个带标签的对象的实例,来生成带标签的自然语言短语的有序列表。例如,实例化器134参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并使用带标签的对象“@食物”替换自然语言披萨短语的有序列表中的“披萨”的每个实例。这些替换创建了带标签的自然语言短语的有序列表322:“1.订购@食物的递送”、“2.哪里有供应@食物的餐馆”、“3.哪家商店打折出售@食物”等。

在另一个示例中,实例化器134参考实例化记录,确定带标签的对象“@食物”先前被替换为实例“玉米卷”,并且使用带标签的对象“@食物”来替换自然语言玉米卷短语的有序列表中的“玉米卷”的每个实例。这些替换创建了带标签的自然语言短语324:“1.哪里有供应@食物的餐馆”、“2.订购@食物的递送”、“3.哪家商店打折出售@食物”等。在又一示例中,实例化器134参考实例化记录,确定带标签的对象“@食物”先前被实例“苹果”替换,并使用带标签的对象“@食物”替换自然语言苹果短语的有序列表中的“苹果”的每个实例。这些替换创建了带标签的自然语言短语326:“1.哪家商店打折出售@食物”、“2.哪里有出售@食物的商店”、“3.订购@食物的递送”等。

虽然出于简化示例的目的,图3A仅描绘了每个有序列表的三个最频繁出现的短语,每个有序列表可以包括任意数量的带标签的自然语言短语。如果组织器132限制最频繁出现的短语的数量,诸如在每个列表中仅使用30个最频繁出现的短语,则每个有序列表中带标签的自然语言短语的数量可以被限制为相同的数量。

一旦自然语言短语的有序列表被转换成带标签的自然语言短语,这些匹配的带标签的自然语言短语中的一些被从不同的有序列表中合并。装置通过合并彼此匹配的对应的带标签的自然语言短语来生成带标签的自然语言短语的合并列表。例如,组织器132将来自有序列表322的“1.订购@食物的递送”与来自有序列表324的“2.订购@食物的递送”和有序列表326的“3.订购@食物的递送”合并以产生合并的带标签的自然语言短语“订购@食物的递送”。

在另一个示例中,组织器132将来自有序列表322的“2.哪里有供应@食物的餐馆”与来自有序列表324的“1.哪里有供应@食物的餐馆”合并,以产生合并的带标签的自然语言短语“哪里有供应@食物的餐馆”。

在又一个示例中,组织器132将来自有序列表322的“3.哪家商店打折出售@食物”与来自有序列表324的“3.哪家商店打折出售@食物”和有序列表326的“1.哪家商店打折出售@食物”合并以产生合并的带标签的自然语言短语“哪家商店打折出售@食物”。

组织器132可以使用模糊匹配来匹配不完全匹配的带标签的自然语言短语,诸如在带标签的自然语言短语“哪家商店打折出售(has a sale on)@食物”和带标签的自然语言短语“哪家商店打折出售(has sales on)@食物”之间的模糊匹配。所得的带标签的自然语言短语328的合并列表是“订购@食物的递送”、“哪里有供应@食物的餐馆”、“哪家商店打折出售(has a sale on)@食物”、“哪里有出售@食物的商店”。虽然出于简化示例的目的,图3A仅描绘了合并列表的四个带标签的自然语言短语,但是合并列表可以包括任意数量的带标签的自然语言短语。

基于带标签的自然语言短语出现的频率,带标签的自然语言短语在带标签的自然语言短语的合并列表中被排序。装置通过基于每个对应的自然语言短语的出现次数对带标签的自然语言短语的合并列表进行排序来生成带标签的自然语言短语的有序列表。例如,在自然语言模型122中,组织器132统计29次“订购披萨的递送”,13次“订购玉米卷的递送”,以及3次“订购苹果的递送”,使得对于合并短语“订购@食物的递送”,总计数为45。

在另一个示例中,组织器132统计自然语言模型122中17次出现的“哪里有供应披萨的餐馆”和23次出现的“哪里有供应玉米卷的餐馆”,使得对于合并的短语“哪里有供应@食物的餐馆”,总计数为40。"

在又一个示例中,组织器132统计自然语言模型122中7次出现的“哪家商店打折出售披萨”、5次“哪家商店打折出售玉米卷”和19次“哪家商店打折出售苹果”,使得对于合并短语“哪家商店打折出售@食物”,总计数是33。在另一个示例中,组织器132统计自然语言模型122中11次出现的“哪里有出售苹果的商店”,使得对于合并的短语“哪里有出售@食物的商店”,总计数是11。

所得带标签的自然语言短语330的有序列表是“1.订购@食物的递送”(基于45次计数)、“2.哪里有供应@食物的餐馆”(基于40次计数)、“3.哪家商店打折出售@食物”(基于30次计数)、“4.哪里有出售@食物的商店”(基于11次计数)等。尽管为了简化示例的目的,前面的示例基于表示自然语言短语出现的整数来对带标签的自然语言短语进行排序,但是自然语言短语的出现次数可以由任何类型的值(诸如小数和分数)来表示。

例如,每个带标签的自然语言短语的排序可以基于来自组合所有其对应的自然语言短语的出现次数的累积分数。对于每个带标签的自然语言短语,分数计算如下:

其中m是对应于相同带标签的自然语言短语的自然语言短语的数量,并且p

带标签的自然语言短语的有序列表被实例化以生成将被注释的自然语言短语的增强集合。装置通过实例化带标签的自然语言短语的有序列表中的每个带标签的对象来生成自然语言短语的增强集合。例如,实例化器134将列表330中的“1.订购@食物的递送”实例化为“订购披萨的递送”、“订购玉米卷的递送”和“订购苹果的递送”。

在另一个示例中,实例化器134将列表330中的“2.哪里有供应@食物的餐馆”实例化为“哪里有供应披萨的餐馆”、“哪里有供应玉米卷的餐馆”和“哪里有供应苹果的餐馆”。

在又一示例中,实例化器134将列表330中的“3.哪家商店打折出售@食物”实例化为“哪家商店打折出售披萨”、“哪家商店打折出售玉米卷”以及“哪家商店打折出售苹果”。在另一个示例中,实例化器134将列表330中的“3.哪家有出售@食物的商店”实例化为“哪里有出售披萨的商店”、“哪里有出售玉米卷的商店”和“哪里有出售苹果的商店”。所得自然语言短语的增强集合332在图3B中描述。虽然出于简化示例的目的,图3B仅描绘了增强型集合中的12个自然语言短语,但是增强型集合可以包括任意数量的自然语言短语。

可替代地,装置通过插入带标签的自然语言短语的有序列表的每个带标签的对象的实例来生成带注释的自然语言短语。例如,实例化器134通过参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并在“@食物”之前插入实例“披萨”以创建“订购披萨@食物的递送”,来修改列表330中的“1.订购@食物的递送”。

在另一个示例中,实例化器134通过参考实例化记录,确定带标签的对象“@食物”先前被实例“玉米卷”替换,并在“@食物”之前插入实例“玉米卷”以创建“订购玉米卷@食物的递送”,来修改列表330中的“1.订购@食物的递送”。

在又一示例中,实例化器134通过参考实例化记录,确定带标签的对象“@食物”先前被实例“苹果”替换,并在“@食物”之前插入实例“苹果”以创建“订购苹果@食物的递送”,来修改列表330中的“1.订购@食物的递送”。

自然语言短语的增强集合被注释用于训练NLU引擎130。装置通过使用短语中的每个带标签的对象来注释基于自然语言短语的有序列表的自然语言短语的增强集合来生成带注释的自然语言短语。

在实施例中,注释器138参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并使用带标签的对象“@食物”来注释自然语言短语的增强集合中的“披萨”,从而创建带注释的自然语言短语“订购披萨(@食物)的递送”。因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。所得带注释的自然语言短语334在图3B中描绘。虽然出于简化示例的目的,图3B仅描绘了自然语言短语的增强集合中的12个带注释的自然语言短语,但是自然语言短语的增强集合可以包括任意数量的带注释的自然语言短语。

在注释自然语言短语中每个带标签的对象的实例之后,自然语言短语中的被释义的动词可选地用被释义的动词进行注释。可替代地,不同的过程用动词的自然语言释义替换短语中的动词,这发生在不同的时间。装置可以使用短语中的动词来注释基于自然语言短语的有序列表的自然语言短语的增强集合。

在一个实施例中,注释器138参考释义记录,确定动词“寻找”先前被替换为实例“订购……的递送”,并使用带标签的动词“@寻找”来注释自然语言短语的增强集合中的“订购……的递送”,从而创建带注释的自然语言短语“

虽然这个示例描述了在带注释的自然语言短语中嵌入带标签的单词,诸如

带注释的自然语言短语可用于训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语336来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续这个示例,一个人使用智能电话102并说出短语“订购披萨的递送”。NLU引擎130理解该短语,这有助于个人数字助理128追问该人细节,诸如披萨大小和配料、制作披萨的餐馆以及递送时间和地点。个人数字助理128正确地完成了该人的披萨递送订单,因为训练器126使用带注释的自然语言短语336来训练NLU引擎130。

虽然该示例描述了经由说话与用户通信,但是用户输入可以不基于口语,并且用户输入可以经由多种形式(诸如经由真实或虚拟键盘或者类似的替换的键入文本、触摸和鼠标手势、语音以及上述的组合)中的任何一种来提供。

图3A-B描绘了基于自然语言短语的有序列表的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。相比之下,图4A描绘了自然语言短语的有序列表和自然语言的有序列表的注释。因此,图4A中描述的短语402-426类似于图3A中描绘的短语302-326。

自然语言短语的生成(诸如图4A-B中描绘的自然语言短语)可以从用单个带标签的对象的自然语言实例替换短语的单个带标签的对象开始。装置通过实例化短语中的每个带标签的对象来生成实例化的短语。例如,实例化器134将短语“寻找@食物”402中的“食物”识别为知识库122中的概念,然后识别知识数据库122中“食物”的实例,包括“披萨”、“玉米卷”和“苹果”。继续该示例,实例化器134使用这些实例来实例化短语“寻找@食物”402,以生成实例化的短语,诸如“寻找披萨”404、“寻找玉米卷”406和“寻找苹果”408。

在生成实例化的短语之后,装置通过实例化的短语的每个实例化的短语的对应释义生成自然语言短语的列表。例如,释义生成器136将“寻找披萨”404释义为自然语言披萨短语410的列表:“订购披萨的递送”、“哪里有供应披萨的餐馆”、“哪家商店打折出售披萨”等。

在另一个示例中,释义生成器136将“寻找玉米卷”406释义为自然语言玉米卷短语412的列表:“订购玉米卷的递送”、“哪里有供应玉米卷的餐馆”、“哪家商店打折出售玉米卷”等。

在又一示例中,释义生成器136将“寻找苹果”408释义为自然语言苹果短语414的列表:“订购苹果的递送”、“哪里有供应苹果的餐馆”、“哪家商店打折出售苹果”等。

装置通过基于每个自然语言短语的出现次数对自然语言短语的每个列表中的自然语言短语进行排序来生成自然语言短语的有序列表。在一个示例中,组织器132基于这些自然语言短语在自然语言模型114中出现的频率将自然语言披萨短语的列表416排序为:“1.订购披萨的递送”、“2.哪里有供应披萨的餐馆”、“3.哪家商店打折出售披萨”等。

在另一个示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数将自然语言玉米卷短语的列表418排序为“1.哪里有供应玉米卷的餐馆”、“2.订购玉米卷的递送”、“3.哪家商店打折出售玉米卷”等。

在又一示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数将自然语言苹果短语的列表420排序为“1.哪家商店打折出售苹果”、“2.哪里有出售苹果的商店”、“3.订购苹果的递送”等。

此时,在自然语言短语的生成中,自然语言短语的有序列表可以被注释。可替代地,可以基于自然语言短语的有序列表生成自然语言短语的增强集合,从而自然语言短语的增强集合可以被注释。上面参考图3A-B描述了基于自然语言短语的有序列表生成自然语言短语的增强集合并注释该自然语言短语的增强集合。下面参考图4A直接描述了注释自然语言短语的有序列表。

自然语言短语的有序列表可以被注释用于训练NLU引擎130。装置可以通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表来生成带注释的自然语言短语。例如,注释器138参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并使用带标签的对象“@食物”来注释自然语言短语的有序列表中的“披萨”的每个实例。这导致了带注释的自然语言短语“订购披萨(@食物)的递送”。因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。所得带注释的自然语言短语的列表422、424和426在图4A中描绘。虽然出于简化示例的目的,图4A在三个带注释的自然语言短语的列表的每一个中仅描绘了四个带注释的自然语言短语,但是任何数量的带注释的自然语言短语的列表可以包括任何数量的带注释的自然语言短语。

在注释自然语言短语中每个带标签的对象的实例之后,自然语言短语中的被释义的动词可选地用被释义的动词进行注释。可替代地,不同的过程用动词的自然语言释义来替换短语的动词,这发生在不同的时间。装置可以使用短语中的动词来注释自然语言短语的有序列表。例如,注释器138参考释义记录,确定动词“寻找”先前被替换为实例“订购……的递送”,并使用带标签的动词“@寻找”来注释自然语言短语的有序列表中的“订购……的递送”。这导致了带注释的自然语言短语“

带注释的自然语言短语可以用于有效地训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语428-432来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购披萨的递送”,NLU引擎130理解该短语,这有助于个人数字助理128追问该人细节诸如披萨大小和配料、制作披萨的餐馆以及递送时间和地点。个人数字助理128正确地完成了该人的披萨递送订单,因为训练器126使用带注释的自然语言短语428-432来训练NLU引擎130。

图4B描绘了图4A中描绘的带注释的自然语言短语422、424和426和图3B中描绘的带注释的自然语言短语334的比较。由于组织器132基于合并有序列表322、324和326,然后对合并的列表328进行排序来生成带注释的自然语言短语334,所以带注释的自然语言短语334是有序列表322、324和326的适当加权的组合。例如,大多数有序列表322、324和326没有将“订购……的递送”列为动词“寻找”的最频繁出现的释义,但是带注释的自然语言短语334将“订购……的递送”列为动词“寻找”的最频繁出现的释义。由于“订购……的递送”是短语“寻找@食物”的动词“寻找”的最频繁出现的释义,所以带注释的自然语言短语334将最高的顺序分配给该释义“订购……的递送”,这将导致有效地关于动词“寻找”的最频繁出现的释义训练NLU引擎130。相比之下,从有序列表416、418和420中生成的大多数带注释的自然语言短语422、424和426没有将最高顺序分配给释义“订购……的递送”。这将导致较低效率地关于动词“寻找”的最频繁出现的释义训练NLU引擎130。

此外,由于带注释的自然语言短语422、424和426的列表指示释义“订购……的递送”不经常与“苹果”组合,所以对带注释的自然语言短语422、424和426的列表的训练将不会导致有效地关于自然语言短语“订购苹果的递送”训练NLU引擎130。然而,NLU引擎130关于短语的动词的最频繁出现的释义和短语的带标签的对象的最频繁出现的实例被最有效地训练,即使动词的特定释义没有与带标签的对象的特定实例一起频繁出现。例如,使用“订购苹果的递送”来训练NLU引擎130是有效的,因为这样的训练使得NLU引擎130能够理解频繁出现的释义“订购……的递送”,并且分别理解频繁出现的实例“苹果”。结果,NLU引擎130可以理解释义和实例的组合,甚至对于不经常出现的组合也是如此。因此,使用带注释的自然语言短语334而不是使用带注释的自然语言短语422、424和426对于训练NLU引擎130更有效。

带注释的自然语言短语的有序列表的快速生成以生成带注释的自然语言短语422、424和426的短语比生成增强短语更有效,增强短语基于自然语言短语的有序列表生成自然语言短语的增强集合,然后注释自然语言短语的增强集合以生成带注释的自然语言短语334。如上所述,在生成自然语言短语的有序列表416、418和420之后,短语的快速生成不使用任何带标签的对象来替换带标签的对象的任何实例来生成带标签的自然语言短语的列表,并且也不合并任何带标签的自然语言短语来生成任何合并的带标签的自然语言短语的列表。

此外,短语的快速生成不对任何已带标签的自然语言短语的合并列表进行排序以生成已带标签的自然语言短语的任何有序列表,也不使用任何已带标签的对象的实例来实例化已带标签的自然语言短语的任何有序列表以生成任何自然语言短语的增强集合。因此,带注释的自然语言短语的快速生成比基于生成自然语言短语的增强集合生成带注释的自然语言短语更有效生成短语。然而,如上所述,使用基于生成自然语言短语的增强集合的带注释的自然语言短语334的生成来训练NLU引擎130比使用带注释的自然语言短语422、424和426的快速生成更有效。

带注释的自然语言短语的生成可以基于一个带标签的对象或多个带标签的对象,并且带注释的自然语言短语的生成可以基于短语的快速生成或增强短语的生成。基于一个带标签的对象的增强短语的生成在上面参考图3A-B进行了描述。基于一个带标签的对象的短语的快速生成也在上面参考图4A-B进行了描述。下面参考图5A-E描述基于一个带标签的属性的增强短语的生成。基于一个带标签的属性的短语的快速生成将在下面参考图6A-B进一步描述。

图5A-5E中描述的短语502-536类似于图3A-B中描述的短语302-336,除了短语502-536基于多个带标签的对象,而短语302-336基于单个带标签的对象。自然语言服务器106在接收到包括至少一个带标签的对象的短语后,开始生成带注释的自然语言短语。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“寻找@食物”501。

装置可以将对象识别为短语中任何带标签的对象的属性,而不是基于开发人员输入的单个带标签的对象开始自然语言短语的生成。在实施例中,实例化器134从短语“寻找@食物”501中提取带标签的对象“@食物”,确定“食物”是知识库122中的对象或概念,然后确定知识库122将对象或概念“大小”识别为对象或概念“食物”的属性。

已经将对象识别为带标签的对象的属性,装置可以将对象作为带标签的对象插入短语。在一个实施例中,实例化器134将对象“大小”作为附加的带标签的对象“@大小”插入短语“寻找@食物”501,以创建扩展短语的第一排列“寻找@大小@食物”502和扩展短语的第二排列“寻找@食物@大小”。出于简化示例的目的,这个实施例没有在图5A中描述。实例化器134通过在短语中的带标签的对象之前和之后插入附加的带标签的对象来创建两种排列。

在更复杂的示例中,实例化器134确定知识库122将对象“大小”、“原料”、“供应商”、“递送时间”和“递送地点”识别为对象“食物”的属性。实例化器134然后将对象“大小”、“原料”、“供应商”、“递送时间”和“递送地点”作为附加的带标签的对象“@大小”、“@原料”、“@供应商”、“@递送时间”和“@递送地点”插入短语“寻找@食物”501中,以创建扩展短语的720排列“寻找@食物@大小@原料@供应商@递送时间@递送地点”。

开发人员可能不希望基于如此大量的属性插入到扩展短语中来生成自然语言短语,因为开发人员相信人们可能更可能最初指定少于所有可能的属性。例如,大多数人可能更愿意说“订购披萨的递送”,并被追问披萨的大小、配料和递送细节,而不是说“下午6:00从附近的PizzaMax订购大份意大利香肠披萨递送到我家”。因此,装置可以输出被识别为带标签的对象的属性的对象,接收对至少一个被识别对象的选择,然后将任何被选择的对象作为附加的带标签的对象插入短语。例如,实例化器134通知开发人员,知识库122将对象“大小”、“原料”、“供应商”、“递送时间”和“递送地点”识别为对象“食物”的属性,接收开发人员对对象“大小”的选择,然后将对象“大小”作为附加的带标签的对象“@大小”插入短语“寻找@食物”501中,以创建扩展短语的第一排列“寻找@大小@食物”502和扩展短语的第二排列“寻找@食物@大小”。

当选择多个识别的对象时,排列的数量可能相对较大,并且不是每个排列都可以产生自然的自然语言短语。例如,如果开发人员为带标签的对象“@食物”选择了属性“大小”和“原料”,那么排列的数量是六个:1)“寻找@食物@大小@原料”,2)“寻找@食物@原料@大小”,3)“寻找@大小@食物@原料”,4)“寻找@原料@食物@大小”,5)“寻找@大小@原料@食物”,6)“寻找@原料@大小@食物”。

如果接收到对多个识别的对象的选择,则装置可以基于每个单独选择的对象输出带标签的对象的排列。例如,实例化器134接收开发人员对对象“大小”和对象“原料”的选择,输出扩展短语的第一排列“寻找@大小@食物”502、扩展短语的第二排列“寻找@食物@大小”、扩展短语的第三排列“寻找@原料@食物”和扩展短语的第四排列“寻找@食物@原料”。这些排列中的每一个排列都只包括一个属性,而不是所有选择的属性。

在基于每个单独选择的对象输出带标签的对象的排列之后,装置可以基于每个单独选择的对象接收任何选择的排列。例如,实例化器134接收开发人员对扩展短语的第一排列“寻找@大小@食物”502、扩展短语的第三排列“寻找@原料@食物”和扩展短语的第四排列“寻找@食物@原料”的选择。在这个示例中,开发人员没有选择扩展短语的第二排列“寻找@食物@大小”,因为开发人员认为这样的排列将导致生成不自然的短语,诸如“订购作为大份的披萨的递送(order delivery of a pizza that is large)”,而不是更自然的短语“订购大份披萨的递送(order delivery of a large pizza)”。

如果接收对多个排列的选择,装置可以基于每个选择的单独属性排列输出组合属性排列。例如,实例化器134接收开发人员对单个属性排列“寻找@大小@食物”502、“寻找@原料@食物”和“寻找@食物@原料”的选择,并输出第一组合属性排列“寻找@大小@原料@食物”、第二组合属性排列“寻找@原料@大小@食物”和第三组合属性排列“寻找@大小@食物@原料”。

在输出组合属性排列之后,装置可以接收任何选择的组合属性排列。例如,实例化器134接收开发人员对第一组合属性排列“寻找@大小@原料@食物”和第三组合属性排列“寻找@大小@食物@原料”的选择。在本示例中,开发人员没有选择第二组合属性排列“寻找@原料@大小@食物”,因为开发人员认为这样的排列会导致生成不自然的短语,诸如“订购意大利香肠大份披萨的递送(order delivery of a pepperoni large pizza)”,而不是更自然的短语“订购大份意大利香肠披萨的递送(order delivery of a large pepperonipizza)”和“订购带意大利香肠的大份披萨的递送(order delivery of a large pizzawith pepperoni)”。

尽管该示例描述了组合两个选定属性的选定排列的迭代排列过程,但是迭代排列过程可以继续迭代以组合任意数量的选定属性的选定排列。例如,开发人员可以选择带标签的对象“@食物”的属性“大小”、“原料”和“供应商”,并且实例化器134接收开发人员对先前组合的属性排列“寻找@大小@原料@食物”和“寻找@大小@食物@原料”的选择,并且还接收开发人员对排列“寻找@食物@供应商”的选择。实例化器134然后输出第一个新的组合属性排列“寻找@大小@原料@食物@供应商”,第二个新的组合属性排列“寻找@大小@食物@原料@供应商”,以及第三个新的组合属性排列“寻找@大小@食物@供应商@原料”。在接收到开发人员对新的组合属性排列的选择之后,实例化器134迭代地重复生成组合属性排列的过程,直到所有开发人员选择的属性都被插入到扩展短语中。

除了选择消除被识别的对象作为附加的带标签的对象插入短语之外,开发人员还可以选择实例化器134没有识别为短语中带标签的对象的属性的任何补充对象作为补充的带标签的对象插入短语。此外,开发人员可以选择阻止带标签的对象的任何实例实例化带标签的对象,并且还可以选择添加用于实例化带标签的对象的补充实例。

开发人员可能有其他原因来选择将带标签的对象的哪些属性插入短语。例如,如果实例化器134通知开发人员,知识库122将对象“大小”、“原料”、“供应商”、“递送时间”、“递送地点”、“预订地点”、“预订时间”和“预订人数”识别为对象“食物”的属性,则开发人员可以意识到递送属性与预订属性不兼容。因此,开发人员可以选择递送属性或预订属性来扩展短语。

开发人员还可以输入包括多个带标签的对象的短语。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“寻找@大小@食物”502。虽然出于简化的目的,所生成的短语504-536基于包括两个带标签的对象的短语,但是装置可以基于包括任意数量的带标签的对象的短语来生成短语504-536。

生成自然语言短语(诸如图5A-E中描述的自然语言短语)可以从用多个带标签的对象的自然语言实例替换短语的多个带标签的对象开始。装置通过实例化短语中的每个带标签的对象来生成实例化的短语。

在一个实施例中,实例化器134将短语“寻找@大小@食物”502中的“大小”和“食物”识别为知识库122中的概念,然后在知识数据库122中识别“大小”的实例和“食物”的实例,包括“大”、“中”、“小”、“披萨”、“玉米卷”和“苹果”。继续该示例,实例化器134使用这些实例来实例化短语“寻找@大小@食物”502,以生成实例化的短语,诸如“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”504、“寻找大份玉米卷”、“寻找中份玉米卷”、“寻找小份玉米卷”506以及“寻找大份苹果”、“寻找中份苹果”、“寻找小份苹果”508。

在实施例中,实例化器134使用这些实例来实例化短语“寻找@食物@大小”以生成实例化的短语,诸如“寻找披萨大份”、“寻找披萨中份”、“寻找披萨小份”、“寻找玉米卷大份”、“寻找玉米卷中份”、“寻找玉米卷小份”以及“寻找苹果大”、“寻找苹果中等”、“寻找苹果小”。在多属性示例中,实例化器134使用“大小”和“原料”的实例来实例化短语“寻找@大小@食物@原料”和“寻找@大小@原料@食物”以生成实例化的短语,诸如“寻找大份意大利香肠披萨”、“寻找中份培根披萨”、“寻找小份意大利香肠披萨”、“寻找带培根的大份披萨(find large pizza with bacon)”、“寻找带意大利香肠的中份披萨(find medium pizzawith pepperoni)”和“寻找带培根的小份披萨(find small pizza with bacon)”。

如果多个带标签的对象共享相同的实例,则实例化器134不使用这些共享的实例来实例化这些带标签的对象中的任何一个。例如,如果短语是“寻找@食物@原料”,并且实例化器134将“香肠”识别为对象“食物”的频繁出现的实例,将“香肠”识别为对象“原料”(对于食物“披萨”)的频繁出现的实例,则实例化器134不使用实例“香肠”来实例化带标签的对象“@食物”或带标签的对象“@原料”。尽管实例“香肠”将不被用来生成用于训练NLU引擎130的带注释的自然语言短语,但是在NLU引擎130被充分训练之后,NLU引擎130将能够访问词汇表单词“香肠”,并且因此能够理解用户说的“订购熏香肠的递送”和“订购带有意大利香肠和香肠的披萨的递送”。

出于简化示例的目的,图5A仅描绘了九个实例化的短语,“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”504、“寻找大份玉米卷”、“寻找中份玉米卷”、“寻找小份玉米卷”506以及“寻找大份苹果”、“寻找中份苹果”、“寻找小份苹果”508,但是实例化器134可以生成任意数量的实例化短语。实例化器134可以限制实例的数量,诸如仅使用“原料”的30个最常识别的实例和“食物”的30个最常识别的实例,这将因此将实例化的短语的数量限制为这些实例的组合的数量,诸如900个实例化的短语。

在用多个带标签的对象的实例替换短语的多个带标签的对象之后,短语的动词可以用动词的自然语言释义来替换。在实例化的短语的生成之后,装置通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。

例如,释义生成器136将“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”504释义为自然语言披萨短语510的列表:“订购大份披萨的递送”、“订购中份披萨的递送”、“订购小份披萨的递送”、“哪里有供应大份披萨的餐馆”、“哪里有供应中份披萨的餐馆”、“哪里有供应小份披萨的餐馆”等。

在另一个示例中,释义生成器136通过使用食物和大小之间的连接词“作为(thatis)”,将“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”释义为自然语言披萨短语的列表,其包括“订购作为大份的披萨的递送”、“订购作为中份的披萨的递送”、“订购作为小份的披萨的递送”。释义生成器136可以使用其他连接词来在语法上连接带标签的对象的实例,诸如“订购

在其他示例中,释义生成器136将“寻找大份玉米卷”、“寻找中份玉米卷”、“寻找小份玉米卷”506释义为自然语言玉米卷短语列表512,并将“寻找大份苹果”、“寻找中份苹果”、“寻找小份苹果”508释义为自然语言苹果短语列表514。在多属性示例中,释义生成器136将“寻找大份意大利香肠披萨”释义为“订购大份意大利香肠披萨的递送”、“哪里有供应大份意大利香肠披萨的餐馆”、“哪家商店打折出售大份意大利香肠披萨”等。

出于简化示例的目的,图5A仅描述了三个实例化的释义,“订购……的递送”、“哪里有餐馆供应”和“哪家商店打折出售”,作为单词“寻找”的释义。然而,释义生成器136可以生成任意数量的释义。释义生成器136可以限制释义的数量,诸如仅使用“寻找”的30个最常见的释义。因此,这将把自然语言短语的每个列表中的数量限制为释义的数量,即,30个自然语言短语。

计算每个自然语言短语的出现次数,使得高排序被分配给频繁出现的自然语言短语,并且低排序被分配给很少出现的自然语言短语。装置通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。例如,组织器132基于这些自然语言短语在自然语言模型114中出现的频率,将自然语言披萨短语516的列表排序为:“1.订购大份披萨的递送”,“2.订购中份披萨的递送”,“3.哪里有供应大份披萨的餐馆”,“4.订购小份披萨的递送”,“5.哪里有供应中份披萨的餐馆”,“6.哪家商店打折出售大份披萨”等。在其他示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数来对自然语言玉米卷短语列表518和自然语言苹果短语列表520进行排序。类似地,组织器132可以基于自然语言模型114中每个自然语言短语的出现次数来对多属性披萨短语的列表进行排序。

扩展短语的第一排列“寻找@大小@食物”的释义导致频繁出现的自然语言短语,诸如“1.订购大份披萨的递送”,“2.订购中份披萨的递送”,“3.订购小份披萨的递送”。相比之下,扩展短语的第二排列“寻找@食物@大小”的释义导致了很少出现的自然语言短语,诸如“订购作为大份的披萨的递送”,“订购作为中份的披萨的递送”,“订购作为小份的披萨的递送”。因此,当释义生成器136将短语的任何排列释义成在自然语言模型114中很少出现的不合语法或不自然的短语时,组织器132在有序列表中将这些短语排序得非常低,从而导致使用这些不经常出现的短语的低优先级或无优先级。因此,组织器132消除了人类手动审查任何自然语言短语和手动删除由短语的不自然或语法不正确排列生成的任何不自然或语法不正确的自然语言短语的任何需要。

虽然出于简化示例的目的,图5A仅描绘了每个有序列表9个最频繁出现的短语,但是每个有序列表可以包括任意数量的最频繁出现的短语。组织器132可以限制最频繁出现的短语的数量,诸如在每个列表中仅使用30个最频繁出现的短语。

在生成自然语言短语的这一点上,可以对自然语言短语的有序列表进行注释,或者可以基于自然语言短语的有序列表生成自然语言短语的增强集合,从而可以随后对该增强集合进行注释。对自然语言短语的有序列表进行注释将在下面参考图6A-B进一步描述。图5B-E描绘了基于自然语言短语的有序列表生成的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。

生成自然语言短语的增强集合可以通过用多个带标签的对象替换有序列表中的多个带标签的对象的实例来开始,使得自然语言短语的通用版本可以从不同的有序列表中合并。装置通过使用短语中的每个带标签的对象来替换自然语言短语的有序列表中的每个带标签的对象的实例,来生成带标签的自然语言短语的有序列表。

例如,实例化器134参考实例化记录,确定带标签的对象“@大小”先前被实例“大份”替换,确定带标签的对象“@食物”先前被实例“披萨”替换,使用带标签的对象“@大小”替换自然语言披萨短语的有序列表中的”大份”的每个实例,并且使用带标签的对象“@食物”替换自然语言披萨短语的有序列表中的“披萨”的每个实例。这些替换创建了带标签的自然语言短语的有序列表522:“1.订购@大小@食物的递送”,“2.订购@大小@食物的递送”,“3.哪里有供应@大小@食物的餐馆”,“4.订购@大小@食物的递送”,“5.哪里有供应@大小@食物的餐馆”,“6.哪家商店打折出售@大小@食物”,“7.哪里有供应@大小@食物的餐馆”,“8.哪家商店打折出售@大小@食物”,“9.哪家商店打折出售@大小@食物”等。在其他示例中,实例化器134创建带标签的自然语言短语的有序列表524和带标签的自然语言短语的有序列表526。类似地,实例化器134可以创建带标签的多属性短语的有序列表。

虽然出于简化示例的目的,对于每个带标签的自然语言短语的有序列表,图5B仅描绘了九个带标签的自然语言短语,但是每个带标签的自然语言短语的有序列表可以包括任意数量的带标签的自然语言短语。如果组织器132限制每个带标签的自然语言短语的有序列表中最频繁出现的短语的数量,诸如在每个有序列表中仅使用30个最频繁出现的短语,则每个带标签的自然语言短语的有序列表中的带标签的自然语言短语的数量将被限制为相同的数量。

一旦自然语言短语的有序列表被转换成带标签的自然语言短语,这些匹配的带标签的自然语言短语中的一些被从不同的有序列表中合并。装置通过合并彼此匹配的对应的带标签的自然语言短语来生成带标签的自然语言短语的合并列表。

例如,组织器132将来自有序列表522的“1.订购@大小@食物的递送”,“2.订购@大小@食物的递送”,“4.订购@大小@食物的递送”和来自有序列表524的“4.订购@大小@食物的递送”,“5.订购@大小@食物的递送”,“6.订购@大小@食物的递送”和以及来自有序列表526的“8.订购@大小@食物的递送”,“9.订购@大小@食物的递送”合并,以产生合并的带标签的自然语言短语“订购@大小@食物的递送”。"

在其他示例中,组织器132产生合并的带标签的自然语言短语“哪里有供应@大小@食物的餐馆”,以及合并的带标签的自然语言短语“哪家商店打折出售@大小@食物。所得带标签的自然语言短语528的合并列表是“订购@大小@食物的递送”,“哪里有供应@大小@食物的餐馆”,“哪家商店打折出售@大小@食物”,“哪里有出售@大小@食物的商店”等。

虽然出于简化示例的目的,图5B仅描绘了带标签的自然语言短语的合并列表中的4个带标签的自然语言短语,但是带标签的自然语言短语的合并列表可以包括任意数量的带标签的自然语言短语。类似地,所得带标签的自然语言短语的合并列表可以包括多个属性。

基于他们的自然语言短语出现的频率,带标签的自然语言短语在带标签的自然语言短语的合并列表中被排序。装置通过基于每个对应的自然语言短语的出现次数对带标签的自然语言短语的合并列表进行排序来生成带标签的自然语言短语的有序列表。例如,组织器132计数29次“订购大份披萨的递送”的出现、23次“订购中份披萨的递送”的出现、19次“订购小份披萨的递送”的出现、17次“订购大份玉米卷的递送”的出现、13次“订购小份玉米卷的递送”的出现和11次“订购中份玉米卷的订单递送”的出现。继续该示例,组织器132在自然语言模型122中统计7次“订购小份苹果的递送”的出现、5次“订购大份苹果的递送”的出现和3次“订购中份苹果的递送”的出现,使得对于合并短语“订购@大小@食物的递送”,总计数为127。"

在其他示例中,组织器132为合并短语“哪里有供应@大小@食物的餐馆”计算了计数总数113,为合并短语“哪家商店打折出售@大小@食物”计算了计数总数109,为合并短语“哪里有出售@大小@食物的商店”计算了计数总数31。所得带标签的自然语言短语530的有序列表是“1.订购@大小@食物的递送”(基于127次的计数),“2.哪里有供应@大小@食物的餐馆”(根据113家计算),“3.哪家商店打折出售@大小@食物”(根据109家商店计算),“4.哪里有出售@大小@食物的商店”(基于31家的计数)等。

虽然出于简化示例的目的,图5B仅描绘了带标签的自然语言短语的有序列表中的4个带标签的自然语言短语,但是带标签的自然语言短语的有序列表可以包括任意数量的带标签的自然语言短语。类似地,组织器132可以生成包括多个属性的带标签的自然语言短语的有序列表。

带标签的自然语言短语的有序列表被实例化以生成将被注释的自然语言短语的增强集合。装置通过实例化带标签的自然语言短语的有序列表中的每个带标签的对象来生成自然语言短语的增强集合。例如,实例化器134将列表530中的“1.订购@大小@食物的递送”实例化为“订购大份披萨的递送”、“订购中份披萨的递送”、“订购小份披萨的递送”、“订购大份玉米卷的递送”、“订购中份玉米卷的递送”、“订购小份玉米卷的递送”、“订购大份苹果的递送”、“订购中份玉米卷的递送”和“订购小份玉米卷的递送”。

在其他示例中,实例化器134实例化列表530中的“2.哪家商店打折出售@大小@食物”、“3.哪里有供应@大小@食物的餐馆”和“4.哪里有出售@大小@食物的商店”。所得自然语言短语的增强集合532在图5C中示出。虽然出于简化示例的目的,图5C仅描绘了自然语言短语的增强集合中的36个自然语言短语,但是自然语言短语的增强集合可以包括任意数量的自然语言短语。类似地,实例化器134可以实例化每个都包括多个属性的带标签的自然语言短语,以生成每个都包括多个属性的自然语言短语的增强集合。

自然语言短语的增强集合可以被注释用于训练NLU引擎130。装置可以通过使用短语中的每个带标签的对象来注释基于自然语言短语的有序列表的自然语言短语的增强集合,来生成带注释的自然语言短语。例如,注释器138参考实例化记录,确定带标签的对象“@大小”先前被替换为实例“大份”,确定带标签的对象“@食物”先前被替换为实例“披萨”,并且在自然语言短语的增强集合中使用带标签的对象“@大小”来注释“大份”,并且使用带标签的对象“@食物”来注释“披萨”,从而创建带注释的自然语言短语“订购大份(@大小)披萨(@食物)的递送”。因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。在图5D中描绘了所得带注释的自然语言短语的增强集合534。

虽然出于简化示例的目的,图5D仅描绘了自然语言短语的增强集合中的36个带注释的自然语言短语,但是自然语言短语的增强集合可以包括任意数量的带注释的自然语言短语。类似地,增强集合中的带注释的自然语言短语的每个带注释的自然语言短语可以包括多个属性。

在注释自然语言短语中每个带标签的对象的实例之后,自然语言短语中的被释义的动词可选地用被释义的动词进行注释。可替代地,不同的过程用动词的自然语言释义来替换短语的动词,这发生在不同的时间。装置可以使用短语中的动词来注释基于自然语言短语的有序列表的自然语言短语的增强集合。例如,注释器138参考释义记录,确定动词“寻找”先前被替换为实例“订购……的递送”,并使用带标签的动词“@寻找”来注释自然语言短语的增强集合中的“订购……的递送”,从而创建带注释的自然语言短语“

因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。图5E中描绘了所得带注释的自然语言短语536。虽然出于简化示例的目的,图5E仅描绘了自然语言短语的增强集合中的36个带注释的自然语言短语,但是自然语言短语的增强集合可以包括任意数量的带注释的自然语言短语。类似地,增强集合中的带注释的自然语言短语的每个带注释的自然语言短语可以包括多个属性。

带注释的自然语言短语可用于训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语536来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购大份披萨的递送”,NLU引擎130理解该短语。这有助于个人数字助理128追问该人诸如披萨配料、制作披萨的餐馆以及递送时间和地点的细节。个人数字助理128正确地完成了用户的披萨递送订单,因为训练器126使用带注释的自然语言短语536来训练NLU引擎130。

图5A-E描绘了基于自然语言短语的有序列表的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。相比之下,图6A-B描绘了自然语言短语的有序列表和自然语言短语的有序列表的注释。因此,图6A-B中描绘的短语602-626基本上类似于图5A-B中描述的短语502-526。

自然语言短语(诸如图6A-B中描述的自然语言短语)的生成可以通过用多个带标签的对象的自然语言实例替换短语的多个带标签的对象开始。装置通过短语中每个带标签的对象的对应实例化来生成实例化的短语。例如,实例化器134将短语“寻找@大小@食物”602中的“大小”和“食物”识别为知识库122中的概念,然后在知识数据库122中识别“大小”的实例和“食物”的实例,包括“大份”、“中份”、“小份”、“披萨”、“玉米卷”和“苹果”。继续该示例,实例化器134使用这些实例来实例化短语“寻找@大小@食物”602,以生成实例化的短语,诸如“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”604、“寻找大份玉米卷”、“寻找中份玉米卷”、“寻找小份玉米卷”606以及“寻找大份苹果”、“寻找中份苹果”、“寻找小份苹果”608。

在生成实例化的短语之后,装置通过实例化的短语的每个实例化的短语的对应释义生成自然语言短语的列表。例如,释义生成器136将“寻找大份披萨”、“寻找中份披萨”、“寻找小份披萨”604释义为自然语言披萨短语列表:“订购大份披萨的递送”、“订购中份披萨的递送”、“订购小份披萨的递送”、“哪里有供应大份披萨的餐馆”、“哪里有供应中份披萨的餐馆”、“哪里有供应小份披萨的餐馆”……610。在其他示例中,释义生成器136将“寻找大份玉米卷”、“寻找中份玉米卷”、“寻找小份玉米卷”606释义为自然语言玉米卷短语列表612,并将“寻找大份苹果”、“寻找中份苹果”、“寻找小份苹果”608释义为自然语言苹果短语列表614。在多属性示例中,释义生成器136将“寻找大份意大利香肠披萨”释义为“订购大份意大利香肠披萨的递送”、“哪里有供应大份意大利香肠披萨的餐馆”、“什么商店打折出售大份意大利香肠披萨”等。

装置通过基于每个自然语言短语的出现次数对每个自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。例如,组织器132基于这些自然语言短语在自然语言模型114中出现的频率,将自然语言披萨短语616的列表排序为:“1.订购大份披萨的递送”、“2.订购中份披萨的递送”、“3.哪里有供应大份披萨的餐馆”、“4.订购小份披萨的递送”、“5.哪里有供应中份披萨的餐馆”、“6.哪家商店打折出售中份披萨”等。在其他示例中,组织器132基于自然语言模型114中每个自然语言短语的出现次数来对自然语言玉米卷短语列表618和自然语言苹果短语列表620进行排序。类似地,组织器132可以基于自然语言模型114中每个自然语言短语的出现次数来对多属性披萨短语的列表进行排序。

在生成自然语言短语的这一点上,可以对自然语言短语的有序列表进行注释,或者可以基于自然语言短语的有序列表生成自然语言短语的增强集合,从而可以对增强集合进行注释。上面参考图5A-E描述了生成基于自然语言短语的有序列表的自然语言短语的增强集合并注释该自然语言短语的增强集合。对自然语言短语的有序列表进行注释将在下面参考图6A-B直接描述。

自然语言短语的有序列表可以被注释用于训练NLU引擎130。装置可以通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表来生成带注释的自然语言短语。例如,注释器138参考实例化记录,确定带标签的对象“@大小”先前被实例“大份”替换,并且带标签的对象“@食物”先前被实例“披萨”替换,并且使用带标签的对象“@大小”来注释自然语言短语的有序列表中的”大份”的每个实例,并且使用带标签的对象“@食物”来注释自然语言短语的有序列表中的“披萨”的每个实例。注释创建了带注释的自然语言短语“订购大份(@大小)披萨(@食物)的递送”。类似地,注释可以创建每个都包括多个属性的带注释的自然语言短语。

因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。所得带注释的自然语言短语的列表622、624和626在图6B中示出。虽然出于简化示例的目的,图6B在三个带注释的自然语言短语的列表的每一个中仅描绘了十二个带注释的自然语言短语,但是任何数量的带注释的自然语言短语的列表可以包括任何数量的带注释的自然语言短语。

在注释自然语言短语中每个带标签的对象的实例之后,自然语言短语中的被释义的动词可选地用被释义的动词进行注释。可替代地,不同的过程用动词的自然语言释义来替换短语的动词,这发生在不同的时间。装置可以使用短语中的动词来注释自然语言短语的有序列表。例如,注释器138参考释义记录,确定动词“寻找”先前被替换为实例“订购……的递送”,并使用带标签的动词“@寻找”来注释自然语言短语的有序列表中的“订购……的递送”,从而创建带注释的自然语言短语“

因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。所得带注释的自然语言短语628、630和632在图6B中描绘。虽然出于简化示例的目的,图6B在三个带注释的自然语言短语的列表的每一个中仅描绘了十二个带注释的自然语言短语,但是任何数量的带注释的自然语言短语的列表可以包括任何数量的带注释的自然语言短语。

带注释的自然语言短语可以用于有效地训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语628-632来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购大份披萨的递送”,NLU引擎130理解该短语,这帮助个人数字助理128追问该人诸如披萨配料、制作披萨的餐馆以及递送时间和地点的细节。个人数字助理128正确地完成了该人的披萨递送订单,因为训练器126使用带注释的自然语言短语628-632来训练NLU引擎130。

图7A-D中描绘的短语702-744类似于图5A-E中描绘的短语502–536,除了短语720-744基于多个属性,而短语502-536基于单个属性。自然语言服务器106可以在接收到自然语言短语之后开始生成带注释的自然语言短语。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“订购披萨”702。

装置可以识别自然语言短语中的对象,并且识别自然语言短语中的所识别的对象的任何属性。例如,自然语言服务器106将自然语言短语“订购披萨”中的“披萨”识别为知识库122中的对象或概念“食物”,然后确定知识库122将对象或概念“大小”和对象或概念“原料”识别为对象或概念“食物”的属性。虽然这个简化的示例描述了自然语言服务器106只识别在自然语言短语“订购披萨”中识别的对象“食物”的两个属性“大小”和“原料”,但是自然语言服务器106可以识别任意数量的这样的属性,诸如对象“大小”、“原料”、“供应商”、“递送时间”和“递送地点”,作为对象(诸如对象“食物”)的属性。

已经识别了对象的属性之后,装置可以将每个属性作为带标签的属性插入自然语言短语中的对象之前和之后。例如,自然语言服务器106将对象“大小”作为带标签的对象“@大小”插入短语“订购披萨”702,以创建扩展短语的第一扩展“订购@大小披萨”704和扩展短语的第二扩展“订购披萨@大小”706。在另一个示例中,自然语言服务器106将对象“原料”作为带标签的对象“@原料”插入短语“订购披萨”702,以创建扩展短语的第三扩展“订购@原料披萨”708和扩展短语的第四扩展“订购披萨@原料”710。自然语言服务器106通过在自然语言短语中识别的对象之前和之后插入每个带标签的属性来创建扩展。这些扩展中的每一个都只包括一个属性,而不是所有识别的属性。

在创建和输出基于每个单独的识别的属性的自然语言短语的扩展之后,装置可以基于每个单独的识别的属性接收任何选择的扩展。例如,实例化器134接收开发人员对扩展短语的第一扩展“订购@大小披萨”704、扩展短语的第三扩展“订购@原料披萨”708以及扩展短语的第四扩展“订购披萨@原料”710的选择。在这个示例中,开发人员没有选择扩展短语的第二扩展“订购披萨@大小”706,因为开发人员认为这样的扩展将导致生成不自然的短语,诸如“订购作为大份披萨的递送(order delivery of a pizza that is large)”,而不是更自然的短语“订购大份披萨的递送(order delivery of a large pizza)”。在另一个示例中,实例化器134接收开发人员对扩展短语的所有扩展704-710的选择。在又一示例中,实例化器134自动接收扩展短语的所有扩展704-710。

自然语言短语(诸如图7A-D中描述的自然语言短语)的生成可以通过用带标签的属性的自然语言实例替换短语的带标签的属性开始。装置通过实例化自然语言短语中的带标签的属性来生成实例化的短语。例如,实例化器134将短语“订购@大小披萨”704中的“大小”识别为知识库122中的概念,然后识别知识库122中的“大小”的实例,包括“大份”、“中份”和“小份”。继续该示例,实例化器134使用这些实例来实例化短语“订购@大小披萨”704,以生成实例化的短语,诸如“订购大份披萨”、“订购中份披萨”、“订购小份披萨”712。在另一个示例中,实例化器134使用这些实例来实例化短语“订购披萨@大小”706,以生成实例化的短语,诸如“订购作为大份的披萨”、“订购作为中份的披萨”、“订购作为小份的披萨”714。在又一个示例中,实例化器134使用这些实例和“……大小的(of a…size)”连接词来实例化短语“订购披萨@大小”706,以生成实例化的短语,诸如“订购大份大小的披萨(order apizza of a large size)”、“订购中份大小的披萨(order a pizza of a medium size)”和“订购小份大小的披萨(order a pizza of a small size)”。实例化器134可以使用连接词来在语法上连接带标签的属性的实例,诸如通过使用在“披萨”和大小属性之间的连接词“作为(that is)”。连接词是使用自然语言模型114生成的。

在又一个示例中。实例化器134将短语“订购@原料披萨”708中的“原料”识别为知识库122中的概念,然后识别知识数据库122中“原料”的实例,包括“意大利香肠”、“培根”和“蘑菇”。继续该示例,实例化器134使用这些实例来实例化短语“订购@原料披萨”708,以生成实例化的短语,诸如“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”716。在附加示例中,实例化器134使用这些实例来实例化短语“订购披萨@原料”710,以生成实例化的短语,诸如“订购带有意大利香肠的披萨”、“订购带有培根的披萨”、“订购带有蘑菇的披萨”718。实例化器134可以使用连接词来在语法上连接带标签的属性的实例,例如通过在“披萨”和原料属性之间使用连接词“带有(with)”。

出于简化示例的目的,图7A仅描绘了12个实例化的短语,但是实例化器134可以生成任意数量的实例化短语。实例化器134可以限制实例的数量,诸如仅使用“原料”的30个最常识别的实例和“大小”的30个最常识别的实例,这将因此将实例化的短语的数量限制为这些实例的组合的数量,诸如900个实例化的短语。

在用带标签的属性的实例替换短语的带标签的属性之后,通过组合实例化短语来创建组合的实例化的短语。在实例化的短语的生成之后,装置组合实例化的短语。例如,自然语言服务器106将实例化的短语“订购大份披萨”、“订购中份披萨”、“订购小份披萨”712与“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”716和“订购带有意大利香肠的披萨”、“订购带有培根的披萨”、“订购带有蘑菇的披萨”718组合起来,以创建组合的实例化的短语720。在这个示例中,组合的实例化的短语720包括“订购大份意大利香肠披萨”和“订购作为小份的带有蘑菇的披萨”。出于简化示例的目的,图7A仅描绘了三十六个组合的实例化的短语,但是自然语言服务器106可以生成任意数量的组合的实例化的短语。

已经组合实例化的短语后,短语的动词可以用动词的自然语言释义来代替。在实例化的短语的组合之后,装置通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。例如,释义生成器136将组合的实例化短语720“订购大份意大利香肠披萨”等释义为自然语言短语的列表722:“订购大份意大利香肠披萨的递送”等、自然语言短语的列表724:“哪家餐馆供应大份意大利香肠披萨”等以及自然语言短语的列表726:“哪家商店出售大份意大利香肠披萨”等。在另一个示例中,释义生成器136将实例化的短语“在家附近寻找披萨餐馆”释义为“在家附近获取披萨餐馆”、“家附近哪里有披萨餐馆”(哪里/哪家/何时/为什么/谁释义)和“我想要家附近的披萨餐馆”(以“我”开头的短语)。释义生成器136的目标是增加谓词的种类,谓词是短语的前缀。

出于简化示例的目的,图7B仅描绘了三个实例化的释义,722“订购……的递送”,724“哪家餐馆供应”,以及726“哪家商店出售”作为单词“订购”的释义。然而,释义生成器136可以生成任意数量的释义。释义生成器136可以限制释义的数量,诸如仅使用“订购”的30个最常见的释义。

计算每个自然语言短语的出现次数,使得高排序被分配给频繁出现的自然语言短语,并且低排序被分配给很少出现的自然语言短语。装置通过基于每个自然语言短语的出现次数对自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。例如,组织器132基于这些自然语言短语在自然语言模型114中出现的频率,将自然语言“订购披萨”短语728的列表排序为:“1.订购大份意大利香肠披萨的递送”、“2.哪家餐馆供应中份带有蘑菇的披萨”、“3.哪家商店出售大份意大利香肠披萨”、“4.订购中份意大利香肠披萨的递送”、“5.哪家餐馆供应大份意大利香肠披萨”、“6.订购大份带有培根的披萨”等。

组合的扩展短语的释义导致频繁出现的自然语言短语,例如“1.订购大份意大利香肠披萨的递送”,以及很少出现的自然语言短语,诸如“订购作为小份的带有蘑菇的披萨”。因此,当释义生成器136将扩展短语的任何组合释义成在自然语言模型114中很少出现的不合语法或不自然的短语时,组织器132在有序列表中将这些短语排序得非常低,从而导致使用这些不经常出现的短语的低优先级或无优先级。因此,组织器132消除了人类手动审查任何自然语言短语和手动删除从不自然或语法不正确的扩展短语的组合生成的任何不自然或语法不正确的自然语言短语的任何需要。

在基于自然语言短语生成有序列表之后,装置基于另一自然语言短语生成另一有序列表。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“订购玉米卷”730。然后,自然语言服务器106可以重复生成自然语言“订购披萨”短语的有序列表728的相同过程,以生成自然语言“订购玉米卷”短语的有序列表732。

在替代示例中,自然语言服务器106将自然语言短语“订购披萨”702中的“披萨”识别为知识库122中的对象或概念“食物”的实例,然后确定知识库122将“玉米卷”识别为对象或概念“食物”的另一个实例。对于该替代示例,自然语言服务器106可以重复生成自然语言“订购披萨”短语728的有序列表的相同过程,以生成自然语言“订购玉米卷”短语732的有序列表,或者自然语言服务器106可以输出短语“订购玉米卷”730作为开发人员请求生成相应的有序列表732的建议。

虽然出于简化示例的目的,图7C对于两个有序列表中每一个仅描绘了6个最频繁出现的短语,但是任何数量的有序列表可以包括任何数量的最频繁出现的短语。组织器132可以限制最频繁出现的短语的数量,诸如在每个列表中仅使用30个最频繁出现的短语。

在生成自然语言短语的这一点上,可以对自然语言短语的有序列表进行注释,或者可以基于自然语言短语的有序列表生成自然语言短语的增强集合,从而可以随后对该增强集合进行注释。对自然语言短语的有序列表进行注释将在下面参考图8A-C进一步描述。图7C-D描绘了基于自然语言短语的有序列表生成的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。

生成自然语言短语的增强集合可以通过用多个带标签的对象替换有序列表中的多个带标签的对象的实例来开始,使得自然语言短语的通用版本可以从不同的有序列表中合并。装置通过使用短语中的每个带标签的对象来替换自然语言短语的有序列表中的每个带标签的对象的实例,来生成带标签的自然语言短语的有序列表。

例如,实例化器134参考实例化记录,确定带标签的属性“@大小”先前被替换为实例“大份”,确定带标签的属性“@原料”先前被替换为实例“意大利香肠”,确定“披萨”是对象“食物”的实例,使用带标签的属性“@大小”替换”大份”的每个实例,使用带标签的属性“@原料”替换“意大利香肠”的每个实例,以及使用带标签的对象“@食物”替换自然语言“订购披萨”短语728的有序列表中的“披萨”的每个实例。这些替换创建了带标签的自然语言短语的有序列表734:“1.订购@大小@原料@食物的递送”、“2.哪家餐馆供应@大小带有@原料的@食物”、“3.哪家商店出售@大小@原料@食物”、“4.订购@大小@原料@食物的递送”、“5.哪家餐馆供应@大小@原料@食物”、“6.订购@大小带有@原料的@食物的递送”等。在另一个示例中,实例化器134创建带标签的自然语言短语的有序列表736。

虽然出于简化示例的目的,图7C对于两个有序列表中的每一个描绘了6个带标签的自然语言短语,但是任意数量的带标签的自然语言短语的有序列表可以包括任意数量的带标签的自然语言短语。如果组织器132限制每个带标签的自然语言短语的有序列表中最频繁出现的短语的数量,诸如在每个有序列表中仅使用30个最频繁出现的短语,则每个带标签的自然语言短语的有序列表中的带标签的自然语言短语的数量将被限制为相同的数量。

一旦自然语言短语的有序列表被转换成带标签的自然语言短语,匹配的带标签的自然语言短语从不同的有序列表中被合并。装置通过合并彼此匹配的对应的带标签的自然语言短语来生成带标签的自然语言短语的合并列表。例如,组织器132合并来自有序列表734的“1.订购@大小@原料@食物的递送”、和“4.订购@大小@原料@食物的递送”以及来自有序列表736的“1.订购@大小@原料@食物的递送”、“4.订购@大小@原料@食物的递送”,以产生合并的带标签的自然语言短语“订购@大小@原料@食物的递送”。

在其他示例中,组织器132产生合并的带标签的自然语言短语“哪家餐馆供应@大小@原料@食物”,合并的带标签的自然语言短语“订购@大小带有@原料的@食物的递送”,以及合并的带标签的自然语言短语“哪家商店出售@大小@原料@食物”。所得带标签的自然语言短语的合并列表738是“订购@大小@原料@食物的递送”、“哪家餐馆供应@大小@原料@食物”、“订购@大小带有@原料的@食物的递送”、“哪家商店出售@大小带有@原料的@食物”、“哪家餐馆供应@大小带有@原料的@食物”等。虽然出于简化示例的目的,图7C仅描绘了带标签的自然语言短语的合并列表中五个带标签的自然语言短语,但是带标签的自然语言短语的合并列表可以包括任意数量的带标签的自然语言短语。

基于他们的自然语言短语出现的频率,带标签的自然语言短语在带标签的自然语言短语的合并列表中被排序。装置通过基于每个对应的自然语言短语的出现次数对带标签的自然语言短语的合并列表进行排序来生成带标签的自然语言短语的有序列表。例如,组织器132计数29次“订购大份意大利香肠披萨的递送”的出现、23次“订购大份牛肉玉米卷的递送”的出现、19次“订购中份意大利香肠披萨的递送”的出现和17次“订购中份牛肉玉米卷的递送”的出现,使得合并的短语“订购@大小@原料@食物的递送”的总计数为88。

在其他示例中,组织器132计算合并的短语“哪家餐馆供应@大小@原料@食物”的计数总数为65,合并的短语“订购@大小带有@原料的@食物的递送”的计数总数为43,合并的短语“哪家商店出售@大小@原料@食物”的计数总数为45,合并的短语“哪家餐馆供应@大小带有@原料的@食物”的计数总数为21。所得带标签的自然语言短语的有序列表740是“1.订购@大小@原料@食物的递送”(基于88次计数)、“2.哪家餐馆供应@大小@原料@食物”(基于65次计数)、“3.哪家商店出售@大小@原料@食物”(基于45次计数)、“4.订购@大小带有@原料的@食物的递送”(基于43次计数)、“5.哪家餐馆供应@大小带有@原料的@食物”(基于21次计数)等。虽然出于简化示例的目的,图7B仅描绘了带标签的自然语言短语的有序列表中五个带标签的自然语言短语,但是带标签的自然语言短语的有序列表可以包括任意数量的带标签的自然语言短语。

带标签的自然语言短语的有序列表被实例化以生成将被注释的自然语言短语的增强集合。装置通过实例化带标签的自然语言短语的有序列表中的每个带标签的对象来生成自然语言短语的增强集合。例如,实例化器134将列表740中的“1.订购@大小@原料@食物的递送”示例化为“订购大份意大利香肠披萨的递送”、“订购大份培根披萨的递送”、“订购中份意大利香肠披萨的递送”、“订购中份培根披萨的递送”、“订购小份意大利香肠披萨的递送”、“订购小份培根披萨的递送”、“订购大份牛肉玉米卷的递送”、“订购大份鸡肉玉米卷的递送”、“订购中份牛肉玉米卷的递送”、“订购中份鸡肉玉米卷的递送”、“订购小份牛肉玉米卷的递送”和“订购小份鸡肉玉米卷的递送”等742。

在其他示例中,实例化器134实例化列表740中的“2.哪家餐馆供应@大小@原料@食物”、“3.哪家商店出售@大小@原料@食物”、“4.订购@大小带有@原料的@食物的递送”、“5.哪家餐馆供应@大小带有@原料的@食物”。虽然出于简化示例的目的,图7D仅描绘了自然语言短语的增强集合742中12个自然语言短语,但是自然语言短语的增强集合可以包括任意数量的自然语言短语。

自然语言短语的增强集合可以被注释用于训练NLU引擎130。装置可以通过使用短语中的每个带标签的对象来注释基于自然语言短语的有序列表的自然语言短语的增强集合来生成带注释的自然语言短语。例如,注释器138参考实例化记录,确定带标签的属性“@大小”先前被替换为实例“大份”,确定带标签的属性“@原料”先前被替换为实例“意大利香肠”,确定“披萨”是对象“食物”的实例,并在自然语言短语的增强集合中使用带标签的属性“@大小”来注释“大份”,使用带标签的对象“@原料”来注释“意大利香肠”,以及使用带标签的对象“@食物”来注释“披萨”,从而创建带注释的自然语言短语“订购大份(@大小)意大利香肠(@原料)披萨(@食物)的递送”。因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。在图7D中描绘了所得带注释的自然语言短语的增强集合744。虽然出于简化示例的目的,图7D仅描绘了自然语言短语的增强集合中的12个带注释的自然语言短语,但是自然语言短语的增强集合可以包括任意数量的带注释的自然语言短语。

带注释的自然语言短语可用于训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语744来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购大份意大利香肠披萨的递送”,NLU引擎130理解该短语。这有助于个人数字助理128向该人追问细节,诸如制作披萨的餐馆以及递送时间和地点。个人数字助理128正确地完成了用户的披萨递送订单,因为训练器126使用带注释的自然语言短语744来训练NLU引擎130。

图7A-D描绘了基于自然语言短语的有序列表的自然语言短语的增强集合,以及自然语言短语的增强集合的注释。相比之下,图8A-C描绘了自然语言短语的有序列表和自然语言短语的有序列表的注释。因此,图8A-C中描绘的短语802-832基本上类似于图7A-C中描述的短语702-732。

自然语言服务器106在接收到自然语言短语后开始生成带注释的自然语言短语。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“订购披萨”802。

在已经接收到由开发人员输入的自然语言短语之后,装置可以识别自然语言短语中的对象,并且识别自然语言短语中的所识别的对象的任何属性。例如,自然语言服务器106将自然语言短语“订购披萨”中的“披萨”识别为知识库122中的对象或概念“食物”,然后确定知识库122将对象或概念“大小”和对象或概念“原料”识别为对象或概念“食物”的属性。

在识别了对象的属性之后,装置可以将每个属性作为带标签的对象插入自然语言短语。例如,自然语言服务器106将对象“大小”作为带标签的对象“@大小”插入短语“订购披萨”802,以创建扩展短语的第一排列“订购@大小披萨”804和扩展短语的第二排列“订购披萨@大小”806。在另一个示例中,自然语言服务器106将对象“原料”作为带标签的对象“@原料”插入短语“订购披萨”802,以创建扩展短语的第三排列“订购@原料披萨”808和扩展短语的第四排列“订购披萨@原料”810。

在创建和输出基于每个单独的识别的属性的自然语言短语的排列之后,装置可以基于每个单独的识别的属性接收任何选择的排列。例如,实例化器134接收开发人员对扩展短语的第一排列“订购@大小披萨”804、扩展短语的第三排列“订购@原料披萨”808和扩展短语的第四排列“订购披萨@原料”810的选择。在这个示例中,开发人员没有选择扩展短语的第二排列“订购披萨@大小”806,因为开发人员认为这样的排列将导致生成不自然的短语,诸如“订购作为大份披萨的递送”,而不是更自然的短语“订购大份披萨的递送”。在另一个示例中,实例化器134接收开发人员对扩展短语的所有排列804-810的选择。在又一示例中,实例化器134自动接收扩展短语的所有排列804-810。

生成自然语言短语(诸如图8A-C中描述的自然语言短语)可以通过用带标签的属性的自然语言实例替换短语的带标签的属性开始。装置通过实例化自然语言短语中的带标签的属性来生成实例化的短语。在实施例中,实例化器134将短语“订购@大小披萨”804中的“大小”识别为知识库122中的概念,然后识别知识库122中的“大小”的实例,包括“大份”、“中份”和“小份”。继续该示例,实例化器134使用这些实例来实例化短语“订购@大小披萨”804,以生成实例化的短语,诸如“订购大份披萨”、“订购中份披萨”、“订购小份披萨”812。在另一个示例中,实例化器134使用这些实例来实例化短语“订购披萨@大小”806,以生成实例化的短语,诸如“订购作为大份的披萨”、“订购作为中份的披萨”、“订购作为小份的披萨”814。实例化器134可以使用连接词来在语法上连接带标签的属性的实例,诸如通过使用在“披萨”和大小属性之间的连接词“作为(that is)”。

在又一示例中,实例化器134将短语“订购@原料披萨”808中的“原料”识别为知识库122中的概念,然后识别知识数据库122中的“原料”的实例,包括“意大利香肠”、“培根”和“蘑菇”。继续该示例,实例化器134使用这些实例来实例化短语“订购@原料披萨”808,以生成实例化的短语,诸如“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”816。在另一个示例中,实例化器134使用这些实例来实例化短语“订购披萨@原料”810,以生成实例化的短语,诸如“订购带有意大利香肠的披萨”、“订购带有培根的披萨”、“订购带有蘑菇的披萨”818。实例化器134可以使用连接词来在语法上连接带标签的属性的实例,例如通过在“披萨”和原料属性之间使用连接词“带有(with)”。

在用带标签的属性的实例替换短语的带标签的属性之后,实例化的短语的排列被组合。在实例化的短语的生成之后,装置组合实例化的短语的排列。例如,自然语言服务器106将实例化的短语的排列“订购大份披萨”、“订购中份披萨”、“订购小份披萨”812与“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”816以及“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”818组合起来,以创建组合的实例化的短语的排列820。在这个示例中,组合的实例化的短语的排列820包括“订购大份意大利香肠披萨”和“订购作为小份的带有蘑菇的披萨”。

组合实例化的短语的排列后,短语的动词可以用动词的自然语言释义替换。在实例化的短语的排列的组合之后,装置通过实例化的短语的每个实例化的短语的对应释义生成自然语言短语的列表。例如,释义生成器136将组合的实例化短语的排列820“订购大份意大利香肠披萨”等释义为自然语言短语的列表822:“订购大份意大利香肠披萨的递送”,自然语言短语的列表824:“哪家餐馆供应大份意大利香肠披萨”,以及自然语言短语的列表826:“哪家商店出售大份意大利香肠披萨”等。

计算每个自然语言短语的出现次数,使得高排序被分配给频繁出现的自然语言短语,并且低排序被分配给很少出现的自然语言短语。装置通过基于每个自然语言短语的出现次数对自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。例如,组织器132基于这些自然语言短语在自然语言模型114中出现的频率将自然语言“订购披萨”短语828的列表排序为:“1.订购大份意大利香肠披萨”、“2.哪家餐馆供应中份带有蘑菇的披萨”、“3.哪家商店出售大份意大利香肠披萨”、“4.订购中份意大利香肠披萨”、“5.哪家餐馆供应大份意大利香肠披萨”、“6.订购大份带有培根的披萨”等。

组合的扩展短语的排列的释义导致频繁出现的自然语言短语,例如“1.订购大份意大利香肠披萨”,以及很少出现的自然语言短语,诸如“订购作为小份的带有蘑菇的披萨”。因此,当释义生成器136将扩展短语的任何排列释义成在自然语言模型114中很少出现的不合语法或不自然的短语时,组织器132在有序列表中将这些短语排序得非常低,从而导致使用这些不经常出现的短语的低优先级或无优先级。因此,组织器132消除了人类手动审查任何自然语言短语和手动删除从不自然或语法不正确的扩展短语的排列生成的任何不自然或语法不正确的自然语言短语的任何需要。

在基于自然语言短语生成有序列表之后,装置基于另一自然语言短语生成另一有序列表。例如,自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“订购玉米卷”830。然后,自然语言服务器106可以重复生成自然语言“订购披萨”短语的有序列表828的相同过程,以生成自然语言“订购玉米卷”短语的有序列表832。

在替代示例中,自然语言服务器106将自然语言短语“订购披萨”802中的“披萨”识别为知识库122中的对象或概念“食物”的实例,然后确定知识库122将“玉米卷”识别为对象或概念“食物”的另一个实例。对于该替代示例,自然语言服务器106可以重复生成自然语言“订购披萨”短语828的有序列表的相同过程,以生成自然语言“订购玉米卷”短语832的有序列表,或者自然语言服务器106可以输出短语“订购玉米卷”830作为开发人员请求生成相应的有序列表832的建议。

在生成自然语言短语的这一点上,可以对自然语言短语的有序列表进行注释,或者可以基于自然语言短语的有序列表生成自然语言短语的增强集合,从而可以对增强集合进行注释。上面参考图7A-D描述了基于自然语言短语的有序列表生成自然语言短语的增强集合并注释该自然语言短语的增强集合。对自然语言短语的有序列表进行注释将在下面参考图8A-C直接描述。

自然语言短语的有序列表可以被注释用于训练NLU引擎130。装置可以通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表来生成带注释的自然语言短语。例如,注释器138参考实例化记录,确定带标签的属性“@大小”先前被替换为实例“大份”,带标签的属性“@原料”先前被替换为实例“意大利香肠”,并且对象“披萨”是对象或概念“食物”的实例,并且使用带标签的属性“@大小”来注释自然语言短语的有序列表中的“大份”的每个实例,使用带标签的属性“@原料”来注释自然语言短语的有序列表中的“意大利香肠”的每个实例,以及使用带标签的对象“@食物”来注释自然语言短语的有序列表中的“披萨”的每个实例。注释创建了带注释的自然语言短语“订购大份(@大小)意大利香肠(@原料)披萨(@食物)的递送”。

因此,注释器138消除了人类手动审查任何自然语言短语和手动注释任何自然语言短语的任何需要。所得带注释的自然语言短语的列表834和836在图8C中示出。虽然出于简化示例的目的,图8C对于两个带注释的自然语言短语的列表的每一个仅描绘了六个带注释的自然语言短语,但是任何数量的带注释的自然语言短语的列表可以包括任何数量的带注释的自然语言短语。

带注释的自然语言短语可以用于有效地训练NLU引擎130。装置可以使用带注释的自然语言短语来训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。例如,训练器126使用带注释的自然语言短语834和836来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购大份意大利香肠披萨的递送”,NLU引擎130理解该短语,这帮助个人数字助理128追问该人诸如制作披萨的餐馆以及递送时间和地点的细节。个人数字助理128正确地完成了该人的披萨递送订单,因为训练器126使用带注释的自然语言短语834和836来训练NLU引擎130。

图9是示出根据实施例的用于生成带注释的自然语言短语的方法的流程图。流程图900示出了方法动作,该方法动作被示为图1的客户端102-104和/或服务器106-108中和/或之间涉及的特定步骤的流程图块。

在框902,接收包括至少一个带标签的对象的短语。装置启动带注释的自然语言短语的生成。在实施例中,这可以包括自然语言服务器106接收由开发人员经由膝上型计算机104的用户接口输入的短语“寻找@食物”。在另一个示例中,在从开发人员接收到“订购披萨”之后,自然语言服务器106将“披萨”识别为一种类型的食物,并生成带标签的短语“订购@食物”。

在接收到短语之后,在框904,可选地将对象识别为短语中任何带标签的对象的属性。装置可以识别用于扩展短语的属性。例如,并且非限制性的,这可以包括实例化器134从短语“寻找@食物”中提取带标签的对象“@食物”,确定“食物”是知识库122中的对象,然后确定知识库122将对象“大小”识别为对象“食物”的属性。

在框906,在将对象识别为带标签的对象的属性之后,可选地将该对象作为带标签的对象插入短语中。装置可以用带标签的对象的任何属性来扩展短语。作为示例而非限制,这可以包括实例化器134将对象“大小”作为附加带标签的对象“@大小”插入短语“寻找@食物”中,以创建扩展短语“寻找@大小@食物”。

在框908,通过实例化短语中的每个带标签的对象来生成实例化的短语。装置用带标签的对象的自然语言实例替换每个带标签的对象。在实施例中,这可以包括实例化器134将短语“寻找食物”302中的“食物”识别为知识库122中的概念,然后识别知识数据库122中的“食物”的实例,包括“披萨”、“玉米卷”和“苹果”。继续该示例,实例化器134使用这些实例来实例化短语“寻找@食物”302,以生成实例化的短语,诸如“寻找披萨”304、“寻找玉米卷”306和“寻找苹果”308。在另一个示例中,实例化器134将短语“订购@大小披萨”704中的“大小”识别为知识库122中的概念,然后识别知识数据库122中“大小”的实例,包括“大份”、“中份”和“小份”。继续该示例,实例化器134使用这些实例来实例化短语“订购@大小披萨”704,以生成实例化的短语,诸如“订购大份披萨”、“订购中份披萨”、“订购小份披萨”712。

在框910,响应于接收到开发人员输入的自然语言短语,可选地识别自然语言短语中的对象和自然语言短语中所识别的对象的任何属性。装置可以识别开发人员的自然语言短语中的对象的属性。例如,而非限制性的,这可以包括自然语言服务器106将从开发人员接收的自然语言短语“订购披萨”中的“披萨”识别为知识库122中的对象或概念“食物”,然后确定知识库122将对象或概念“大小”和对象或概念“原料”识别为对象或概念“食物”的属性。

在框912,已经识别了对象的属性,自然语言短语的扩展可选地通过在自然语言短语中的对象之前和之后插入每个属性作为带标签的对象来创建。装置基于所识别的属性创建自然语言短语的扩展。作为示例而非限制,这可以包括自然语言服务器106将对象“大小”作为带标签的对象“@大小”插入短语“订购披萨”802,以创建扩展短语的第一扩展“订购@大小披萨”804和扩展短语的第二扩展“订购披萨@大小”806。在另一个示例中,自然语言服务器106将对象“原料”作为带标签的对象“@原料”插入短语“订购披萨”802,以创建扩展短语的第三扩展“订购@原料披萨”808和扩展短语的第四扩展“订购披萨@原料”810。

在框914,可选地通过将与第一属性相关联的实例化的短语的排列与与第二属性相关联的实例化的短语的排列进行组合来创建组合的实例化的短语。装置使用每个属性来组合实例化的短语的排列。例如,而非限制性的,这可以包括自然语言服务器106将实例化的短语的扩展“订购大份披萨”、“订购中份披萨”、“订购小份披萨”812与“订购意大利香肠披萨”、“订购培根披萨”、“订购蘑菇披萨”816和“订购带有意大利香肠的披萨”、“订购带有培根的披萨”、“订购带有蘑菇的披萨”818组合,以创建组合的实例化的短语的排列820。在这个示例中,组合的实例化短语的排列820包括“订购大份意大利香肠披萨”和“订购作为小份的带有蘑菇的披萨”。

在生成了实例化的短语之后,在框916,通过实例化的短语的每个实例化的短语的对应释义来生成自然语言短语的列表。装置用动词的自然语言释义来代替短语的动词。作为示例而非限制,这可以包括释义生成器136将“寻找披萨”304释义为自然语言披萨短语列表:“订购披萨的递送”、“哪里有供应披萨的餐馆”、“什么商店打折出售披萨”……310。在另一个示例中,释义生成器136将组合的实例化的短语720“订购大份意大利香肠披萨”等释义为自然语言短语的列表722:“订购大份意大利香肠披萨的递送”等、自然语言短语的列表724:“哪家餐馆供应大份意大利香肠披萨”等、以及自然语言短语的列表726:“哪家商店出售大份意大利香肠披萨”等。

在框918,基于每个自然语言短语的出现次数,通过对每个生成的自然语言短语的列表中的自然语言短语进行排序来生成自然语言短语的有序列表。装置计算每个自然语言短语的出现次数,使得高排序被分配给频繁出现的自然语言短语,并且低排序被分配给很少出现的自然语言短语。在实施例中,这可以包括组织器132基于这些自然语言短语在自然语言模型114中出现的频率将自然语言披萨短语列表排序为:“1.订购披萨的递送”、“2.哪里有供应披萨的餐馆”、“3.什么商店打折出售披萨”……316。在另一个示例中,组织器132基于这些自然语言短语在自然语言模型114中出现的频率将自然语言“订购披萨”短语728的列表排序为:“1.订购大份意大利香肠披萨”、“2.哪家餐馆供应中份带有蘑菇的披萨”、“3.哪家商店出售大份意大利香肠披萨”、“4.订购中份意大利香肠披萨”、“5.哪家餐馆供应大份意大利香肠披萨”、“6.订购大份带有培根的披萨”等。

在框920,可选地通过使用短语中的每个带标签的对象来替换自然语言短语的有序列表中的每个带标签的对象的实例,来生成带标签的自然语言短语的有序列表。装置可以用相应的带标签的对象替换有序列表中每个带标签的对象的实例,以使得可以从不同的有序列表中合并自然语言短语的通用版本。例如,而非限制性的,这可以包括实例化器134参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并使用带标签的对象“@食物”替换自然语言披萨短语的有序列表中的“披萨”的每个实例。这些替换创建了带标签的自然语言短语322的有序列表:“1.订购@食物的递送”、“2.哪里有供应@食物的餐馆”、“3.什么商店打折出售@食物等。在另一个示例中,实例化器134参考实例化记录,确定带标签的属性“@大小”先前被实例“大份”替换,确定带标签的属性“@原料”先前被实例“意大利香肠”替换,确定“披萨”是对象“食物”的实例,使用带标签的属性“@大小”替换”大份”的每个实例,使用带标签的属性“@原料”替换“意大利香肠”的每个实例,以及使用带标签的对象“@食物”替换自然语言“订购披萨”短语728的有序列表中“披萨”的每个实例。继续另一个示例,替换创建带标签的自然语言短语的有序列表734:“1.订购@大小@原料@食物的递送”、“2.哪家餐馆供应@大小带有@原料的@食物”、“3.哪家商店出售@大小@原料@食物”、“4.订购@大小@原料@食物的递送”、“5.哪家餐馆供应@大小@原料@食物”、“6.订购@大小带有@原料@食物的递送”等。

在框922,可选地通过合并彼此匹配的对应的带标签的自然语言短语来生成带标签的自然语言短语的合并列表。装置可以合并来自不同有序列表的匹配的这些带标签的自然语言短语中的一些。作为示例而非限制,这可以包括组织器132将来自有序列表322的“1.订购@食物的递送”和来自有序列表342的“2.订购@食物的递送”以及来自有序列表326的“3.订购@食物的递送”合并,以产生合并的带标签的自然语言短语“订购@食物的递送”。在另一个示例中,组织器132将来自有序列表734的“1.订购@大小@原料@食物的递送”和“4.订购@大小@原料@食物的递送”与来自有序列表736的“1.订购@大小@原料@食物的递送”和“4.订购@大小@原料@食物的递送”合并,以产生合并的带标签的自然语言短语“订购@大小@原料@食物的递送”

在框924,可选地通过基于每个对应的自然语言短语的出现次数对带标签的自然语言短语的合并列表进行排序来生成带标签的自然语言短语的有序列表。装置可以基于带标签的自然语言短语出现的频率,在带标签的自然语言短语的合并列表中对带标签的自然语言短语进行排序。在实施例中,这可以包括组织器132在自然语言模型122中计数29次“订购披萨的递送”的出现、13次“订购玉米卷的递送”的出现和3次“订购苹果的递送”的出现,使得对于合并短语“订购@食物的递送”,总计数为45。所得带标签的自然语言短语的有序列表330的有序列表为“1.订购@食物的递送”(基于45次计数)、“2.哪里有供应@食物的餐馆”(基于40次计数)、“3.什么商店打折出售@食物”(基于33次计数)、“4.哪家商店出售@食物”(基于11次计数)等。在另一个示例中,组织器132计数29次“订购大份香肠披萨的递送”的出现、23次“订购大份牛肉玉米卷的递送”的出现、19次“订购中份香肠披萨的递送”的出现和17次“订购中份牛肉玉米卷的递送”的出现,使得合并短语“订购@大小@原料@食物的递送”的总计数为88。

在框926,可选地通过对带标签的自然语言短语的有序列表中的每个带标签的对象的实例化来生成自然语言短语的增强集合。装置可以实例化带标签的自然语言短语的有序列表,以生成要被注释的自然语言短语的增强集合。例如,而非限制性的,这可以包括实例化器134将列表330中的“1.订购@食物的递送”实例化为“订购披萨的递送”、“订购玉米卷的递送”和“订购苹果的递送”。在另一个示例中,实例化器134将列表740中的“1.订购@大小@原料@食物的递送”实例化为“订购大份意大利香肠披萨的递送”、“订购大份培根披萨的递送”、“订购中份意大利香肠披萨的递送”、“订购中份培根披萨的递送”、“订购小份意大利香肠披萨的递送”、“订购小份培根披萨的递送”、“订购大份牛肉玉米卷的递送”、“订购大份鸡肉玉米卷的递送”、“订购中份牛肉玉米卷的递送”、“订购中份鸡肉玉米卷的递送”、“订购小份牛肉玉米卷的递送”和“订购小份鸡肉玉米卷的递送”等742。

在框928,通过使用短语中的每个带标签的对象来注释自然语言短语的有序列表或基于自然语言短语的有序列表的自然语言短语的增强集合,来生成带注释的自然语言短语。装置注释自然语言短语以训练NLU引擎130。作为示例而非限制,这可以包括注释器138参考实例化记录,确定带标签的对象“@食物”先前被实例“披萨”替换,并使用带标签的对象“@食物”来注释自然语言短语的增强集合中的“披萨”,从而创建带注释的自然语言短语“订购披萨(@食物)的递送”。在另一个示例中,注释器138参考实例化记录,确定带标签的属性“@大小”先前被替换为实例“大份”,确定带标签的属性“@原料”先前被替换为实例“意大利香肠”,确定“披萨”是对象“食物”的实例,并在自然语言短语的增强集合中使用带标签的属性“@大小”来注释“大份”,使用带标签的对象“@原料”来注释“意大利香肠”,使用带标签的对象“@食物”来注释“披萨”,从而创建带注释的自然语言短语“订购大份(@大小)意大利香肠(@原料)披萨(@食物)的递送”。

在框930,带注释的自然语言短语可选地用于训练NLU引擎以理解来自用户的自然语言短语,从而实现响应。装置可以使用带注释的自然语言短语来训练NLU引擎130。在实施例中,这可以包括训练器126使用带注释的自然语言短语336来训练NLU引擎130,以及自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购披萨的递送”,NLU引擎130理解该短语,这帮助个人数字助理128追问该人诸如披萨大小和配料、制作披萨的餐馆以及递送时间和地点的细节。在另一个示例中,训练器126使用带注释的自然语言短语744来训练NLU引擎130,并且自然语言服务器106向智能电话102提供个人数字助理128的副本。继续该示例,一个人使用智能电话102并说出短语“订购大份意大利香肠披萨的递送”,NLU引擎130理解该短语。这有助于个人数字助理128向该人追问细节,诸如制作披萨的餐馆以及递送时间和地点。

虽然图9描绘了以特定顺序出现的框902-930,但是框902-930可以以另一顺序出现。在其他实现中,框902-930中的每一个也可以与其他框结合执行,和/或一些框可以被分成框的不同集合。

将描述可以实施本主题的示例性硬件设备。本领域普通技术人员将会理解,图10中所示的元件可以根据装置的实施而变化。参考图10,用于实施本文公开的主题的示例性装置包括硬件设备1000,包括处理单元1002、存储器1004、存储1006、数据输入模块1008、显示适配器1010、通信接口1012和将元件1004-1012耦合到处理单元1002的总线1014。

总线1014可以包括任何类型的总线架构。示例包括存储器总线、外围总线、本地总线等。处理单元1002是指令执行机器、装置或设备,并且可以包括微处理器、数字信号处理器、图形处理单元、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)等。处理单元1002可以被配置为执行存储在存储器1004和/或存储1006中和/或经由数据输入模块1008接收的程序指令。

存储器1004可以包括只读存储器(read only memory,ROM)1016和随机存取存储器(random access memory,RAM)1018。存储器1004可以被配置成在装置1000的操作期间存储程序指令和数据。在各种实施例中,存储器1004可以包括各种存储器技术(诸如静态随机存取存储器(static random access memory,SRAM)或动态RAM(dynamic RAM,DRAM),例如包括诸如双数据速率同步DRAM(dual data rate synchronous DRAM,DDR SDRAM)、纠错码同步DRAM(error correcting code synchronous DRAM,ECC SDRAM)或RAMBUS DRAM(RDRAM)的变体)中的任何一种。存储器1004还可以包括非易失性存储器技术,诸如非易失性闪存(nonvolatile flash RAM,NVRAM)或ROM。在一些实施例中,预期存储器1004可以包括诸如前述的技术,以及未具体提及的其他技术的组合。当该主题在计算机装置中实施时,基本输入/输出装置(basic input/output apparatus,BIOS)1020存储在ROM 1016中,该基本输入/输出装置包含诸如在启动期间帮助在计算机装置内的元件之间传送信息的基本例程。

存储1006可以包括用于从闪存读取和向闪存写入的闪存数据存储设备、用于从硬盘读取和向硬盘写入的硬盘驱动器、用于从可移动磁盘读取或向可移动磁盘写入的磁盘驱动器、和/或用于从可移动光盘读取或向可移动光盘写入的光盘驱动器,诸如CD ROM、DVD或其他光学介质。驱动器及其相关联的计算机可读介质为硬件设备1000提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。

注意,本文描述的方法可以在存储在计算机可读介质中的可执行指令中实现,以供指令执行机器、装置或设备(诸如基于计算机或包含处理器的机器、装置或设备)使用或与其结合使用。本领域技术人员将理解,对于一些实施例,可以使用可以存储计算机可访问的数据的其他类型的计算机可读介质,诸如盒式磁带、闪存卡、数字视盘、伯努利盒式磁带、RAM、ROM等也可以在示例性操作环境中使用。如本文所使用的,“计算机可读介质”可以包括任何合适的介质中的一种或多种,该任何合适的介质中的一种或多种用于以电、磁、光和电磁格式中的一种或多种格式存储计算机程序的可执行指令,以使得指令执行机器、装置、装置或设备可以从计算机可读介质读取(或获取)指令,并执行用于执行所描述的方法的指令。传统示例性计算机可读介质的非穷举列表包括:便携式计算机磁盘;RAM;ROM;可擦除可编程只读存储器(erasable programmable read only memory,EPROM或闪存);光学存储设备,包括便携式光盘(compact disc,CD)、便携式数字视频光盘(digital video disc,DVD)、高清数字视频光盘(high definition DVD,HD-DVD

多个程序模块(包括操作装置1022、一个或多个应用程序1024、程序数据1026和其他程序模块1028)可以存储在存储1006、ROM 1016或RAM 1018上。用户可以通过数据输入模块1008向硬件设备1000输入命令和信息。数据输入模块1008可以包括诸如键盘、触摸屏、定点设备等机制。其他外部输入设备(未示出)通过外部数据输入接口1030连接到硬件设备1000。作为示例而非限制,外部输入设备可以包括麦克风、操纵杆、游戏板、圆盘式卫星天线、扫描仪等。在一些实施例中,外部输入设备可以包括视频或音频输入设备,诸如摄像机、静态相机等。数据输入模块1008可以被配置成从设备1000的一个或多个用户接收输入,并且经由总线1014将这样的输入传递到处理单元1002和/或存储器1004。

显示器1032也经由显示器适配器1010连接到总线1014。显示器1032可以被配置为向一个或多个用户显示装置1000的输出。在一些实施例中,给定设备(诸如触摸屏)例如可以用作数据输入模块1008和显示器1032两者。外部显示装置也可以经由外部显示接口1034连接到总线1014。其他外围输出装置(未示出)(诸如扬声器和打印机)可以连接到硬件设备1000。

硬件设备1000可以使用经由通信接口1012到一个或多个远程节点(未示出)的逻辑连接在网络化环境中操作。远程节点可以是另一台计算机、服务器、路由器、对等设备或其他公共网络节点,并且通常包括上面相对于硬件设备1000描述的许多或所有元件。通信接口1012可以与无线网络和/或有线网络连接。无线网络的示例包括例如蓝牙网络、无线个人区域网、无线802.11局域网(local area network,LAN)和/或无线电话网络(例如,蜂窝、PCS或GSM网络)。有线网络的示例包括例如LAN、光纤网络、有线个人区域网、电话网络和/或广域网(wide area network,WAN)。这种网络环境在内部网、互联网、办公室、企业范围的计算机网络等中是常见的。在一些实施例中,通信接口1012可以包括被配置为支持存储器1004和其他装置之间的直接存储器访问(direct memory access,DMA)传输的逻辑。

在网络化环境中,相对于硬件设备1000描述的程序模块或其部分可以存储在远程存储设备(诸如服务器上)中。应当理解,可以使用在硬件设备1000和其他装置之间建立通信链路的其他硬件和/或软件。

应当理解,图10中所示的硬件设备1000的布置仅仅是一种可能的实施方式,其它的布置也是可能的。还应当理解,由权利要求书定义的、下面描述的以及在各种框图中示出的各种装置组件(和部件)代表被配置为执行本文描述的功能的逻辑组件。例如,这些装置组件(和部件)中的一个或多个可以全部或部分地由硬件设备1000的布置中示出的至少一些组件来实现。

此外,虽然这些组件中的至少一个至少部分地被实施为电子硬件组件,并且因此构成机器,但是其他组件可以以软件、硬件或者软件和硬件的组合来实施。更具体地,由权利要求定义的至少一个组件至少部分地实施为电子硬件组件,诸如指令执行机器(例如,基于处理器或包含处理器的机器)和/或专用电路或电路(例如,互连以执行特定功能的离散逻辑门),诸如图10所示的那些。

其他组件可以用软件、硬件或软件和硬件的组合来实施。此外,这些其他组件中的一些或全部可以组合,一些可以一起省略,并且可以添加附加组件,同时仍然实现本文描述的功能。因此,本文描述的主题可以以许多不同的变体来具体实现,并且所有这些变体都被认为在所要求保护的范围内。

在以上描述中,除非另有说明,主题是参考由一个或多个设备执行的操作的动作和符号表示来描述的。因此,应当理解,这些有时被称为计算机执行的动作和操作包括处理单元对结构化形式的数据的操纵。这种操作转换数据或将其保持在计算机的存储装置中的位置,以本领域技术人员熟知的方式重新配置或以其他方式改变设备的操作。维护数据的数据结构是存储器的物理位置,数据结构具有由数据格式定义的特定属性。然而,尽管在上下文中描述了主题,但这并不意味着是限制性的,因为本领域技术人员将理解,下文描述的各种动作和操作也可以在硬件中实施。

为了便于理解上述主题,根据动作的序列描述了许多方面。由权利要求定义的这些方面中的至少一个由电子硬件组件来执行。例如,将会认识到,各种动作可以由专用电路或电路、由一个或多个处理器执行的程序指令或者由两者的组合来执行。本文对任何动作的序列的描述并不意味着必须遵循为执行该序列而描述的特定顺序。本文描述的所有方法可以以任何合适的顺序执行,除非本文另有说明或者上下文明显矛盾。

虽然已经通过示例并根据具体实施例描述了一个或多个实施方式,但是应当理解,一个或多个实施方式不限于所公开的实施例。相反,它旨在覆盖对本领域技术人员来说显而易见的各种修改和类似布置。因此,所附权利要求的范围应该符合最广泛的解释,以便包含所有这样的修改和类似的布置。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号