基于机器学习的自动任务分类的制作方法

文档序号:9620884阅读:440来源:国知局
基于机器学习的自动任务分类的制作方法
【专利说明】
[0001] 相关申请
[0002] 本申请要求2013年11月27日提交的美国临时专利申请61/909, 992的权益,将 该临时申请的全部内容并入本文中。
技术领域
[0003] 本公开大体上涉及个人助理应用,并且更具体地,涉及基于机器学习的用户请求 的处理。
【背景技术】
[0004] 已经开发了各种个人助理软件应用,它们通过执行相应任务而响应用户的文本或 自然语言请求。例如,由智能手机用户访问的个人助理应用可以查找电话号码并且拨打电 话,搜索餐馆,起草和发送电子邮件,制定日历项等等。在这方面,特定用户可能通常以与其 他用户不同的措辞来表达给定任务的请求。这种差异在人工交互方面是固有的。由于这种 差异,传统的个人助理软件应用在正确地执行用户的期望请求方面容易出错。此外,最终的 应用趋向于临时性的并且因此难以应用于不同的语言。
[0005] 因此,在本领域内存在对于独立于语言的改进系统的需求,其在分类和执行用户 所需的任务方面具有更好的精确度。

【发明内容】

[0006] 为了提供针对任务分类和执行的更高精确度,提供了利用机器学习算法进行任务 分类的系统和方法。针对用户如何表达多个任务类别中的请求,从各种用户生成训练数据 库。通过调查足够多的用户,单个用户如何表达给定的期望任务的自然变化可以被恰当 地采样。例如,针对呼叫特定方(例如,其母亲)的任务,一个用户可以将其表达为"呼叫 妈",而另一用户可能将其表达为"请呼叫妈"或者"呼叫母亲"。例如,可以通过众包(crowd sourcing)生成相对大的训练数据库以表征给定的任务被不同用户表达的方式的这些变 化。最终的训练数据库可以包含数以千计的用户针对请求多个任务类别中的特定任务的响 应。由于已知用户期望特定的任务的先验,最终的用户请求对于其分类是明确的。因此,训 练数据库可以具有各种用户请求的大量实例,其全部都被组织到其适当的任务类别中。
[0007] 随后,可以通过各种机器学习算法利用这种高质量训练数据库。例如,每个数据库 用户请求可以被转换成特征向量或者其他数学表示。因此,训练数据库将会包括对于每个 任务类别的各种特征向量,每个特征向量对应于给定的训练数据库用户的请求。每个特征 向量的维数取决于期望的复杂度。例如,给定用户的请求中的每个独一的词(或词组)可以 对应于特征向量维度。每个特征向量维度的权重可以取决于相应的词或词组在相应的用户 的请求中出现了多少次。可选地,权重可以是二进制的,从而加权仅仅取决于给定的词或词 组是否在用户请求中出现。然后,最终的特征向量可以用于训练机器学习算法,例如支持向 量机,以确定每个任务的各种用户请求是如何在特征向量空间中集群的任务分类器模型。
[0008] 由于在对于各种任务的人工生成的请求的高质量训练数据库上进行这种先验机 器学习以形成任务分类器模型,额外用户请求就可以根据任务分类器模型被稳健地实时分 类。换言之,接收的用户请求可以被轻易地转换成文本(在自然语言输入的情况下),并且 相应的文本根据预先确定的任务分类器模型被转换成特征向量并被分类成任务类别中的 预测任务类别。这个过程不仅增加了任务分类的精确度,还是不依赖于语言的:仅仅需要收 集其他语言的训练数据库以扩展该过程,从而适应相应语言的用户请求。
[0009] 为了增加任务执行的精确度,可以基于预测任务的标识来进一步处理用户的请 求,从而确定其具体查询(如果有的话)。在这方面,每个任务类别可以与各种查询类别相 关。例如,假设用户请求已经被分类成"餐厅搜索"任务类别。这种任务分类可以与各种 查询分类相关,例如"餐厅类型"(例如意大利餐或中餐)和"餐厅位置"(例如,帕罗奥多 (Palo Alto))。给定用户请求中的查询分类的实例化在本文中被表示为"查询"。例如,"在 Palo Alto找一家好的意大利餐厅"的用户请求可以被处理以提取烹饪查询(意大利)和 位置查询(Palo Alto)。为了增加查询提取的精确度,可以开发查询类别和相应的可能查询 的词典。例如,词典可以包括对于位置查询类别中的每个可能位置的条目。然后,查询提取 可以包括识别用户的请求中匹配的词典条目,其随后被轻易地与词典中的相应查询分类相 关联。
[0010] 任务执行模块可以通过调用适当的应用编程接口(API)来使用预测任务和任何 相关的查询。例如,利用提供餐厅搜索服务的外部搜索提供商(例如"Yelp"),可以最佳地 执行餐厅搜索任务。另一方面,如果预测任务是呼叫发起,则相关的查询将通过用于用户的 便携式设备中的蜂窝电话功能的API被传输。
[0011] 通过下述详细说明,可以更好地理解本文公开的系统和方法的其他特征和优势。
【附图说明】
[0012] 图1是根据本公开实施方式的用于执行用户请求的系统的框图。
[0013] 图2示出了在用户请求的任务分类之后的从用户请求的查询提取。
[0014] 图3是图1的系统中的任务分类模块的更详细的框图。
[0015] 图4示出了用于创建图3的任务分类模块所使用的任务分类器模块的模块。
[0016] 图5是图1的系统中的查询提取模块的更详细的框图。
[0017] 图6是图1的系统中的任务执行模块的更详细的框图。
[0018] 图7示出了根据本公开实施方式的配置成执行用户请求的计算机系统。
[0019] 通过参阅下文的详细说明将最佳地理解本发明的实施方式及其优势。应该意识 到,类似的附图标记用于标识一个或多个附图中的类似元件。
【具体实施方式】
[0020] 下文列出的详细说明连同附图旨在描述各种配置,并且不意图代表可以实施本文 描述的构思的仅有配置。为了提供对各种概念的透彻理解,详细说明包括具体细节。然而, 本领域技术人员显而易见的是,这些构思可以在没有这些具体细节的情况下实施。在一些 例子中,为了避免模糊这些构思,公知的结构和部件以框图形式示出。
[0021] 为了提供用于通过个人助理应用执行用户请求的更大准确性,通过机器学习算 法在先前记录的针对一组任务的用户请求的训练数据库上训练任务分类器。例如,众包 (crowd sourcing)可以用于生成训练数据库,其包括人工生成的对于众多任务的请求。在 这方面,特定用户可能通常以与其他用户不同的措辞来表达给定任务的请求。这种差异在 人工交互方面是固有的。由于这种差异,传统的个人助理软件应用经常在正确地执行用户 的期望请求方面容易出错。随着时间的推移,这些传统的个人助理应用可以通过用户的校 正而从其错误中学习,从而执行适当的任务。但是这种随着时间的学习可能对于用户来说 颇为沮丧,从而使得用户放弃使用个人助理应用,而不是花费校正与执行用户意图相关的 不可避免的错误所需的时间。
[0022] 鲜明对比之下,本文公开的系统和方法使用在训练数据库上训练的任务分类器以 预测用户请求的相应任务,从而用户不需要克服训练障碍来实现准确的结果。此外,识别的 任务可以随后被利用于从用户请求提取查询和相应的查询类别或分类。如本文所使用的, 与从用户请求提取查询相关的术语"查询"指给定任务的特定参数。基于任务,这些参数可 以被组织为分类。例如,餐厅搜索通常会识别用户期望的烹饪类型以及期望地点。烹饪类 型和期望位置均包括查询分类。"查询"随后会包括每个查询分类的具体实例。例如,"在 Palo Alto查找意大利餐厅"的用户请求将具有对于烹饪类别"意大利"查询以及对于期望 位置"Palo Alto"的查询。注意到,通过响应于预测的任务而执行,这种查询提取的精度被 大大提高。对于查询提取,每个任务类别可以与可能的查询以及其相应的查询类别的词典 相关联。一旦用户请求被分类成特定的预测任务,就可以将用户请求与对于该任务的相应 词典比较,以识别任何查询和相应的查询分类的匹配。
[0023] 任务执行模块可以随后利用预测的任务以及相应查询的识别来执行用户的请求。 例如,任务执行模块可以使用预测的任务来将查询发送
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1