自适应语义平台体系结构的制作方法

文档序号:6454096阅读:233来源:国知局

专利名称::自适应语义平台体系结构的制作方法自适应语义平台体系结构祖旦冃豕人类语言是丰富且复杂的,包括数百个词汇以及复杂的语法和上下文含义。作为示例,特定的陈述、问题、想法、意思等可用多种不同的方式表达。因此,人类语言的机器翻译是极其复杂的任务。至少由于这个原因,由人类输入所产生的结果或动作通常不能准确映射或对应于用户的意图。机器或软件应用程序和语言通常需要数据根据特定的格式或规则输入。期望与机器交互的人类有时由于严格的规则或不熟悉或缺乏对这样的规则的了解而受到挫败或不能有效地通信。向用户提供能与自动化系统有效通信而无需学习机器专用语言或语法的能力增加了系统的可用性。然而,当自动化系统和机器无法正确翻译用户输入时,可产生不期望的结果、不合需要的结果和/或根本不产生结果,用户可能很快就会感到挫败。自然语言输入对各种应用程序而言是有用的,包括人类与之交互的几乎每个软件应用程序。一般,在自然语言处理期间,自然语言输入被分成记号,并被映射到由软件应用程序提供的一个或多个动作。每一软件应用程序可具有唯一的一组动作,它们在本质上可能稍有限制。结果,软件开发者起草代码以翻译自然语言输入并将输入映射到每一应用程序的适当动作可能是耗时且重复性的。概述以下提供了本发明的简化概述以提供对本发明的某些方面的基本理解。本概述不是本发明的广泛概观。它并不旨在标识本发明的关键/重要的元素或描绘本发明的范围。其唯一目的是以简化的形式呈现本发明的一些概念,作为后面呈现的更加详细的描述的序言。此处所述并要求保护的本发明在其一个方面中包括可容易地用于在用户和机器系统之间启用自然交互的自适应共享基础架构。此外,本新颖的发明可提供基于用户输入产生正确的意图到动作映射的交互式技术。此外,本发明可提供可创作资产(例如,文档、动作)的新颖的机制。因此,可将可检索的"资产"分为两类"文档"是静态的资产,而"动作"是动态且可执行该动作的资产。创作机制可允许生成学习模型,使得系统可至少部分基于对用户输入的分析来推断用户意图。响应于此,系统可发现资产或基于推断的资产分组。而且,本发明可提供自然语言接口,它基于一个或多个用户输入、动作和/或状态来学习和/或适应。本质上,在一个方面中,本新颖的本发明可包括具有使意图与动作对准的能力且可从用户的行为中学习以随时间改进的基于统计的系统的体系结构。更具体地,该体系结构可涵盖覆盖以下内容的端对端系统资产的创作;确定用户意将意图映射到一个或一组资产;执行资产;获取反馈;以及从反馈中学习。在其他方面中,本新颖的意图到动作的系统可用来使人机之间的交互在各种情景中更自然,所述情景包括但不限于运行在服务器上的语音应用程序、运行在移动电话上的较小的应用程序、运行在个人计算机上的桌面应用程序或运行在因特网上的web服务。本体系结构可通过提供从创作到推理到反馈的通用的端对端基础架构来显著降低在应用程序中含有自然特征的成本。本体系结构是通用的,且可应用于各情形中,包括但不限于语音、桌面、移动和web应用程序。而且,该体系结构可提供这样做的简单的应用程序接口(API)。根据一方面,可能存在三个主要的流程(逻辑和数据)图。该体系结构支持三个列出的端对端流程,包括模型构造和管理流、用户交互流以及反馈和分析流。在其又一方面中,提供一个采用概率和/或基于统计的分析以推断用户希望自动执行的意图或动作的人工智能组件。为了实现前述及相关目的,在这里结合以下描述及附图来描述本发明的某些说明性方面。然而,这些方面仅指示了可采用本发明的原理的各种方法中的少数几种,且本发明旨在包括所有这样的方面及其等效方式。当结合附图考虑以下本发明的详细描述时,本发明的其它优点和新颖特征将变得显而易见。附图简述图1示出了根据本发明的一方面便于意图到动作交互的系统。图2示出了根据本发明的一方面便于基于用户输入确定任务的过程的示例性流程图。图3示出了根据本发明的一方面便于创作任务的过程的示例性流程图。图4示出了根据本发明的一方面的推理组件的框图。图5示出了根据本发明的一方面的创作/分析组件的框图。图6示出了根据本发明的一方面的便于维护资产信息的数据存储的框图。图7示出了根据本发明的自适应语义平台体系结构的替换框图。图8示出了根据本发明的一方面便于创作任务的示例性图形用户界面(GUI)任务向导。图9示出了根据本发明的一方面的示例性电话目录创作GUI。图IO示出了根据本发明的一方面便于自动创作网页相关任务的示例性文本提取器组件。图11示出了根据本发明的一方面生成显式反馈的示例性GUI表示。图12示出了根据本发明的一方面生成隐式反馈的示例性GUI表示。图13示出了可用于执行所公开的体系结构的计算机的框图。图14示出了根据本发明的示例性计算环境的示意性框图。详细描述现在参照附图描述本发明,其中相同的附图标记用于指代全文中相同的元素。在以下描述中,为说明起见,描绘了众多具体细节以提供对本发明的彻底理解。然而,显然,本发明可以在没有这些具体细节的情况下实现。在其它情况下,以框图形式示出了公知的结构和设备以便于描述本发明。如在本申请中所使用的,术语"组件"和"系统"旨在表示计算机相关的实体,它可以是硬件、硬件和软件的结合、软件、或者执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行代码、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,而组件可以位于一台计算机上/或分布在两台或更多的计算机之间。在此所用的术语"推断"或"推论"通常是指从经由事件和/或数据捕捉的一组观察结果中推断或推理系统、环境和/或用户的状态的过程。例如,推断可用于标识特定的上下文或动作,或可生成状态的概率分布。推断可以是概率性的—即,基于数据和事件的考虑来计算感兴趣的状态的概率分布。推断也可以指用于从一组事件和/或数据来合成更高级事件的技术。这样的推断导致从一组观察到的事件和/或储存的事件数据构造新的事件或动作,无论这些事件是否在时间上紧密相关,也无论事件和数据是来自一个还是若干个事件和数据源。尽管参考如屏幕截图的各个附图示出并描述了向用户显示信息的一些方式,但相关领域的技术人员可以认识到,可采用各种其他替换方案。术语"屏幕"、"网页"和"页面"在本文中一般可互换使用。页面或屏幕作为显示描述、作为图形用户界面或通过描绘屏幕(例如,无论是个人计算机、PDA、移动电话还是其他合适的设备)上的信息的其他方法被存储和/或传输,其中要显示在页面上的布局和信息或内容被存储在存储器、数据库或另一存储设施中。首先参考附图,图1示出了便于用户和机器之间的自然且直观交互的系统100。一般,系统100可包括推理组件102、创作/分析组件104和数据存储106。更具体地,系统100可从用户(或应用程序)接收输入查询,之后通过采用推理组件102来处理该査询。操作中,推理组件102可将输入解析成可被处理并翻译以便向用户呈现适当任务的一组记号。创作/分析组件104和数据存储106各自可用来响应于特定的用户输入建立并促进任务。在审阅之后的附图时可理解,输入查询可以是任何形式的,包括但不限于文本和语音等。以下将更详细地描述系统100的每一前述组件。尽管以下描述了特定的方面和示例,但可以理解不受限制的数目的输入以及任务可应用于本发明的新颖性。因此,这些替换方面将被包括在本公开及所附权利要求书的范围之内。如上所述,根据自然语言査询确定用户意图是计算机科学领域中最难的问题之一。例如,用户可搜索帮助文档、类似工作的样本、包含输入信息的网站或甚至将执行该动作的某些事情。假定用户试图找到的信息量实际上是无限的,本发明将可检索的"资产"或"任务"的类型归为两类"文档"和"动作"。因此,"文档"指的是静态的资产,而"动作"是动态且可执行特定动作的资产。可以理解,常规系统所提出但未解决的一个问题是以某种方式找到匹配用户"意图"的资产。据此,本系统100的体系结构可如基于统计的系统执行,该系统具有使意图与动作对准的能力且可从用户的行为中学习以随时间而改进并变得更加准确。作为示例并再次参考图1,用户可说出或键入表示他们想要做或定位的任何事物的输入査询。从而,在一个方面中,推理组件102可基于输入查询将指令分别映射到有用的文档或映射到可在用户机器上执行的动作。除动态地翻译输入査询以外,本框架或体系结构(例如系统ioo)可包括创作/分析组件104,它可允许创作或创建可处理任意输入的应用程序(例如,任务、动作)。而且,体系结构(系统100)可根据任意输入来确定用户偏好。可理解并领会,硬编码的系统是很难更新和维护的。硬编码系统要求每个可能的输入具有对特定的任务、动作、文档等的预定的映射。此外,当任意输入改变时,硬编码系统也必须被改变以便基于不断改变的输入范围构建。与传统的硬编码系统相比,本发明是要求非常少(如果有)手动调节的基于统计的系统。换言之,本发明可基于用户输入和结果自动构建,因此消除了人类干预和/或维护的任何需求。更具体地,系统100可利用大量可用数据,例如经由因特网可用或位于呼叫中心内的数据。可利用该大量数据通过探索用户输入到动作的映射来了解用户正在做什么。如在审阅以下附图之后将理解,本系统100可采用创作/分析组件104来实现新颖的基于反馈的系统。图2示出了根据本发明的一方面的处理用户输入的方法。尽管出于解释简明的目的,此处例如以流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,本发明不受动作的次序的限制,因为根据本发明,某些动作可以按不同次序和/或与此处所示并描述的其它动作同时发生。例如,本领域技术人员将会明白并理解,可以选择把方法表现为一系列相互关联的状态或事件,诸如以状态图的形式。而且,并非所有示出的动作都是实施根据本发明的方法所必需的。在202,可接收表示用户查询的输入査询。在一个方面中,输入査询可以是包括依据用户询问的搜索项的字母数字串。在另一方面中,输入査询可采取口头査询的形式。可理解,可采用任何输入方法而不背离本发明的范围。尽管输入的方法可能不同,但可理解本发明的一个新颖的特征是204处对输入査询的分析。因此,输入査询可被解析或分成记号(例如,搜索项)。在206可采用这些搜索项来根据输入査询确定相关任务。换言之,在204系统可分析输入查询,之后在206采用分析的结果来确定适当的任务。一旦任务被确定,在208可分析反馈以便于根据用户意图、历史等进一步自动化任务的采用。作为示例,可采用空位自动填充以便于通过对于所选任务预先填充输入框来动态地自动化推测用户的意图。一旦分析并适当实现反馈之后,在210可将任务呈现给用户。可以理解,呈现任务和编译反馈的过程可以是递归的过程,使得信息(例如,反馈)可被不断聚集、存储和利用,以便基于交互进行构建,从而增加系统的交互性和能力。现在转向图3,示出了根据本发明一个方面创作任务的方法。如将可被理解,图1中所示的体系结构可促进从创作任务到确定用户意图并最终将意图映射到特定资产或任务的过程。作为示例,资产可以是特定的文档、对特定主题的帮助文档或用户想要执行的动作(例如,打开电子邮件或预载特定字段)。据此,图3中所示的方法示出了一开始创作任务的示例性过程流程。在302,可确定任务的类型。例如,可开发关联于特定类型的动作(例如创建表)的任务。因此,在304生成任务的大体框架。一旦建立了框架,在306可将任务参数应用于框架。在一个更具体的示例中,假定任务是针对在文字处理文档中创建表。因此,参数可以是诸如行数、列数、列宽等因素。最后,一旦创作之后,在308可在存储中索引任务,使得任务可响应于用户询问在稍后日期时检索。最后,到达停止框。再回到图1所示的系统100体系结构,该系统能够提供一种体系结构,它不仅选择资产,而且根据用户的输入确定资产如何被执行。换言之,本发明能够控制如何实现动作以及本发明在何处将控制移交给目标系统。因此,该信息能够用于向系统提供反馈。可以理解,在本示例中反馈能够被宽松地定义为用户已经关于特定动作做了的的任何事情。在特定的示例中,可采用语音应用程序来翻译用于订航班的査询,其中目的地城市可被自动填入(例如,匹兹堡)。这种自动空位填充可基于任何准则,包括但不限于以往用户动作。继续以上示例,响应于指示订前往匹兹堡的航班的期望的用户査询,系统100可通过访问特定的因特网网站订航班来自动执行任务。据此推理组件102可用于将目的地城市字段自动填充为"匹兹堡"。此外,在反馈将结合相同或相似后续动作使用时,系统(经由创作/分析组件104)可记录该信息(例如,访问网站并填入目的地城市)。总而言之,系统可利用反馈来学习并变得更加先进并更易于对用户输入作出响应。如图1中所示,系统100的体系结构可涵盖包括以下的端对端系统资产的创作;确定用户意将意图映射到资产;资产的执行;获取反馈;以及从反馈中学习。可以理解,"意图到动作"是应用程序中的反复的主题。无论运行在服务器上的语音应用程序、运行在移动电话上的较小的应用程序、运行在个人计算机上的桌面应用程序还是运行在因特网上的web服务,用户持续示出想要与计算机更自然交互的期望——"意图到动作"可便于达成这一目标。常规上,不存在将意图转换成动作以及就此监视反馈的框架或系统。此处所示的新颖的系统100可通过提供从创作到推理到反馈的通用的端对端基础架构来显著降低在应用程序中含有自然特征的成本。系统100可由语音、桌面、移动和web应用程序使用,且可提供这样做的简单的应用程序编程接口(API)。有至少三个系统100体系结构所支持的主要流程(逻辑和数据)图。可参考系统100的新颖的组件描述每一流程。图4-6分别示出推理组件102、创作/分析组件104和数据存储组件106的详细框图。如可以理解的,这些组件可实现以下描述的三个不同的流程。首先,系统100可便于模型构造和管理流程。一般,这是关于创建和管理资产——任务、文档和分层结构(分类)的流程。更具体地,这是创建资产(例如,任务、文档)、创建帮助推理系统的注释、并入反馈数据以训练学习模型以及创建中间和运行时索引(倒排索引、属性存储)的部分。在操作中,创作/分析组件104和数据存储106可用来实现该流程。其次,系统100可便于用户交互流程。一般,这是关于用户与系统的交互的流程。更具体地,这是用选择(例如,语音、文本)和上下文(例如,代码或数据)的形式表达用户交互的地方。在操作中,系统对"资产空间"进行推理,将排序语义解答提供给应用程序空间,应用程序演示协助用户将其意图映射到具有最高可能"顾客满意度"的动作的支持用户界面元素(例如,对话、重申、确认、端资产、执行序列)。此外,该流程是在应用程序通过API集与系统接口并取回导致执行或枚举(基于资产类型)的数据结果集的地方。在操作中,推理组件102可用于促进该新颖的功能。第三,系统100可便于反馈和分析流程。这是关于聚集反馈,然后分析所聚集的反馈以创建更好的用户和模型构造流程,以设法改进开发和交互体验的流程。再一次,创作/分析组件104以及数据存储106可用来实现流程的该部分。现在参考图4,示出了推理组件102的示例性框图。如图所示,推理组件102可包括词汇处理组件402、统计任务搜索组件404、统计空位填充组件406、排序组件408和结果演示组件410。这些组件中的每一个都将参考其新颖的功能在以下描述。尽管推理组件102被示出,并包括每一这些不同的组件,但可理解可从推理组件中略去这些组件的任何子集,而不背离本发明的总体新颖的功能。在操作中,推理组件102可通过任务执行处理输入查询。以下是针对旅行相关输入查询的具体示例的讨论。尽管提供这些示例以对本发明添加上下文,但可以理解这些示例不旨在以任何方式限制本发明。相反,提供此处所述的示例以添加本发明的描述的全貌,且本领域的技术人员可以理解,存在要被包括在本公开及所附权利要求书的范围内的不限数目的附加示例。在示例中,输入査询可以是口头或键入的短语"我想从匹兹堡去西雅图"。例如,该短语可被输入到搜索引擎中。在接收输入之后,推理组件102可通过采用词汇处理组件402来处理输入。更具体地,词汇处理组件402可将查询解析成一组记号。换言之,词汇处理组件402可在输入之后执行断词过程。尽管这方面采用断词来解析输入,但可理解,可使用各种工具来分开输入的词语。在断词之后,词汇处理组件402可发现包括在输入查询内的指定的实体(例如,匹兹堡、西雅图)。指定的实体要被理解成对特定域具有特定含义的词语。作为进一步且更具体的示例,假定输入是"我想要在2006年11月13日从匹兹堡去西雅图",则系统也可将日期/时间输入识别为指定实体(例如,2006年11月13日)。可理解,指定示例可用于规范化用户特征。在以上示例中,所使用的数据格式可标识用户关于日期的偏好,之后确定査询的哪一区域是针对日期、城市等。一旦系统具有了来自断词的记号并具有了已识别的指定实体,系统就可采用统计任务搜索组件404。换言之,从给定査询和所识别的指定实体最有可能的所有可用的动作和文档,统计任务搜索组件404可用于发现最适当的一个或一组任务。为了达成该新颖的任务搜索,本发明可采用査询分类器、信息检索、内容分类器等。例如,今天,众多搜索引擎采用信息检索机制来返回和呈现关于搜索査询的结果。换言之,可以理解信息检索机制确定如何将特定的一组词语映射到特定的文档。然而,这些信息检索的常规使用是经调节的硬编码系统,而不是基于如统计任务搜索组件404所采用的新颖的统计自适应的方法。另外,统计任务搜索组件404可采用确定什么査询返回了什么结果的査询分类器。参考前述示例,查询分类器可发现査询中的词语"航班"最经常导致用户选择特定的网站。从而,査询分类器可"学习"词语"航班"与特定的一个或一组网站的名字相关联。因此,可调整来自信息检索系统的结果来基于该学习到的推理呈现不同的结果集或不同的排序结果集。另外,统计任务搜索组件404可采用可评估用户动作的历史并基于历史数据来确定用户偏好的上下文分类器。继续以上示例,参考该査询,上下文分类器可査看历史动作以例如确定当用户输入特定査询时,他们更有可能是查找航班而非旅馆。为此,上下文分类器还可协助基于所聚集的统计数据縮小用户偏好或意图。总而言之,统计任务搜索组件404可返回经由对用户输入査询的分析确定的动作和/或文档的列表。现在转向统计空位填充组件406,该组件可执行所需参数和/或信息准则的自动填充。再次参考航班示例,空位填充组件406可自动填充诸如航班时间、到达城巿、目的地等准则,它们均可基于或根据用户偏好或意图。总而言之,统计空位填充组件406可基于输入查询自动填充特定的空位。据此,统计空位填充组件406可包括类模型组件、标记模型组件等。尽管公开了特定的空位填充机制,但可以理解并领会,可结合本发明采用替换的空位填充机制。这些替换算法机制将被包括在本公开及所附权利要求书的范围之内。在操作中,系统可采用由统计任务搜索404标识的任务以便自动填充适当的空位。排序组件408可用于对所标识的任务排序。可以理解,任务可由各个源提供服务。例如,某些任务可源自一个网站,而其他任务可源自另一网站等等。从而,有可能适当地指出任务来源以便针对来自可用的最佳源的最佳任务而得到结果。从而,排序组件408可组合来自各个源的结果,之后向用户演示最佳结果。结果演示组件410可按照各种方式呈现结果(例如,任务)。作为示例,结果演示可在简单的搜索结果演示到语音激活的系统(例如,"按l订航班","按2查询航班状态")的范围之内变化。可以理解,演示可取决于多个变量,包括但不限于设备类型、形式(例如语音、文本)等。一旦用户选择了选项或链接之后,系统可进入任务执行阶段。如可理解的,任务执行和输入査询是在应用程序一边的。换言之,这些组件没有绑定至执行处理并确定可能的任务、空位填充等的后端进程。换言之,应用程序确定它偏好如何呈现任务以及它应如何被执行(例如,实现)。在任务执行内,用户可通过web表单、语音对话等。继续航班示例,系统IOO可提示用户输入或确认出发城市、到达城市等。图5和6分别示出了示例性创作/分析组件104和数据存储组件106。一般,创作/分析组件104可包括训练组件502和任务编辑器组件504。数据存储组件106可包括任务索引组件602、任务属性组件604、査询模型组件606和空位模型组件608以及其他信息。以下将参考图7,更详细地描述这些组件中的每一个以及各个子组件。转向图7,示出了系统100的替换体系结构图。更具体地,替换体系结构图示出各个子组件,包括推理、创作/分析和数据存储组件(102、104、106)。在操作中,系统IOO将反馈传递到系统中。该反馈的传递由从任务输出(例如,执行)到训练组件504的箭头示出。该箭头表示关于用户做了什么、査询是什么等的反馈。从而,该反馈可被传回系统以构建统计模型。如图7中所示,训练组件504可对空位模型608和查询模块606反馈,这可经由统计任务搜索和空位填充组件(404、406)的使用以更新任务搜索和空位填充框。如图所示,从任务示出到训练组件504(模型构建器)再到空位模型608和查询模型606可能存在反馈回路,该回路可分别与统计空位填充组件406和统计任务搜索组件404通信。该回路示出系统100通过构建更好的模型(606、608)如何响应于更多数据,以及如何来随时间构建信息。现在转向任务编辑器组件502、任务属性组件604和任务索引组件602的讨论,一开始在有数据之前,可实现创作以便告知什么域可以做或资产的范围是什么——这被称为创作。换言之,创作可被认为是对于域创作该上下文。再次参考航班示例,第一步可以是创作用户可以做什么。例如,任务编辑器组件502可用于生成允许用户订航班、检查航班状态、与顾客服务代理谈话、询问定价等的任务。这些项目中的每一个可被包括在任务列表内。另外,任务编辑器组件502可用于为这些任务中的每一个定义参数。作为示例,订航班可包括诸如目的地城市、到达城市、一天中的时间以及乘客数等参数。如所示,该信息可被存储在数据存储106中的任务属性604内。而且,也可将任务索引602存储在数据存储106内。该存储的信息可向系统100提供关于域以及用户可采用以映射到这些域的查询的类型的起始点。现在转向关于创作/分析组件104的简要的端对端走査。可以理解,提供该走査以提供本发明的全貌,而不旨在以任何方式限制本发明的范围。在操作中,创作/分析组件104,更具体地是任务编辑器组件502,可用于对于任何形式(例如,语音、图形用户界面(GUI)文本)创作任务。图8示出了根据本发明的创作方面的示例性GUI任务向导800。该任务向导可允许用户创建作为具有参数的资产的任务(例如,订航班)。如在示例性屏幕截图800中所示的,正创作"createtable(创建表)"任务。该"createtable"任务可使得能在文字处理应用程序中创建表,这将参考以下附图更详细描述。据此,参数可以是行数、列数等。在操作中,任务向导800可指导用户通过创建映射和任务(包括参数)的过程。基本上,本发明允许用户创建任务,且允许用户定义对于创建特定的任务系统如何响应于实际用户反馈。创作/分析组件104绑定至如何创建任务以及一旦演示了数据,系统关于模型如何响应。可以理解,对语音呼叫流程,采用不同的创作范例。换言之,创作引导至诸如"欢迎来到ABC航空公司"之类的语音对话。尽管本公开描述了针对处理输入査询以得到任务的过程(以及与之相关联的组件),但可以理解,开发可在本体系结构IOO中由开发员在应用程序空间内创作"任务"(以及空位关联)开始。据此,应用程序空间可以是web中心或桌面中心的,因为在一个方面中,系统IOO可经由XML表示任务。而且,从清单映射到代码的一种方法是应用程序代码域相关的(例如,web服务或CLR)。如图8中所示,任务可使用"Task(任务)"创作工具来创作。换言之,创作/分析组件104基本上可以是帮助用其空位和识别符来构造任务方案的工具。从而,这些任务可通过web或CLR或COM接口展示,使这些任务有可能与本机代码环境集成。现在参考图9,示出了示例性电话目录创作GUI。具体地,可将系统IOO设计成通过陈述"WelcometoConnect(欢迎来到连接中心)"来进行提示。接着,系统可提示输入用户希望联系的人的名字(firstname)。如果不可识别,则系统可提示用户拼写名字。如果仍不可用,则系统可提示另一描述性准则,诸如电子邮件别名。如图所示,可将系统编程为继续级联向下以提取信息,直到作出了肯定的匹配。语音呼叫流程。在为语音应用程序创作的情况中,用户可具有基于任务框架构建但演示一个不同的"视觉"流程形式的另一工具。这不同的"视觉"流程形式可被引导朝向支持对话流程、提示设计、语法生成以及混合和指向的进取。在该语音流程方面中,开发仍以端任务开始,但空位被演示为对话元素。对初始提示、有向空位对话、混合进取的支持、级联和错误提示设计可能存在适当的UI设计。另外,在要被绑回应用程序代码空间中的事件句柄的呼叫设计流程中,可能有绑定每一"状态"转移的能力。该关系向应用程序提供了主动"管理"文本输入以帮助合成的能力。另外,一旦管理了对话流程,就可能存在取输入并将其映射到语音格式(例如SRGS)的工具(例如,创作/分析组件104)。另外,该工具也可对于每一对话元素生成相关联的识别语法。该工具的一个新颖的特征在于,文本训练可被应用于该对话流程/提示设计工具,因为这两个空间都是对文本(或语音)进行训练的。在另一方面中且如图IO所示,创作/分析组件102可包括文本提取器组件1000。文本提取器组件102可便于分析网页,并在之后考虑用户输入关于该网站生成任务。在操作中,系统可用于指向网站并自动生成任务。作为示例,用户可前往ABC旅行网站,且文本提取器组件1000可将ABC旅行标识为任务。在该任务内,参数(例如,输入框)可被自动检测和配置。例如,目的地城市、到达城市等可被自动配置为输入框。如图10中所示,可以理解并领会,这些参数可例如使用爬寻器来自动发现。基本上,对于输入搜索査询并定义相关联任务的用户,本新颖的发明包括基本上跟随用户直到用户遇到表单并用匹配初始査询的信息来填写的系统(例如,浏览器插件)。基于该结果,创作/分析组件102可自动提交站点作为"新任务"。如上所述并如图10中所示,在后台中,可采用因特网爬寻器102来爬寻站点,并使用各种特征,诸如HTML标题、描述、关键字等提取"语义信息"(字段和字段值)。对于在数据存储106内注册的任务,创作/分析组件104可采用初始示例査询来训练"新任务"。任务提取器1000的一个用途在于从给定种子网站自动提取任务。此处,系统可将任务的定义限于启用表单的任务,例如具有表单作为其输入参数的任务。任务提取器组件1000的输出是写到任务存储(例如数据存储106)的任务对象(.TSK),该存储还可由创作/分析组件104(例如,任务向导)利用。由于任务对象要求关键字的各字段以及任务的描述,任务提取器1000中的最重要和困难的部分之一可能是发现关于任务的语义信息,即该任务对最终用户的功能。进一步地,任务提取器组件1000可定义当用户想要执行特定任务时他们会输入的描述。据此,该映射可按众多方式解决。在一个示例中,系统可从HTML表单及其上下文中发现信息。在另一方法中,系统可对数据存储106应用査询探测技术。给定种子网站,它事先被标识为包含常见任务,爬寻器1002可首先爬寻该种子网站下的网页,然后将其写入数据库(例如,数据存储106)。而且,出于对网页的链接可归纳网页上的任务的一些语义信息的理由,爬寻器1002可将不同网页之间的链接或映射记录在另一表中。表单过滤器1004和方案探测器1006可采用数据库中的网页信息作为输入。表单过滤器1004的一个功能是经由HTML解析器1008从HTML原始文本提取HTML表单。而且,如有可能,表单过滤器应过滤掉具有相同功能或指向同一动作(同一网站下的网页往往如此)的表单。该情形的简单的示例有可能存在具有GoogleTM搜索表单的众多页面,但是在我们的任务存储中仅需要单个任务对象。然而,该问题对于驻留在不同网站中的相同任务更为困难。表单过滤器1004可将经过滤的表单传递给HTML解析器1008,然后HTML解析器1008可提取表单的结构化信息,包括动作URI、方法、输入类型等。而且,HTML表单中INPUT(输入)的默认值可提供关于空位实体的信息。上下文语义提取器1010可捕捉除HTML标记以外的信息。可以理解,系统可捕捉空位级信息以及任务级信息两者。例如,正好出现在INPUT元素前方的词语很有可能为其带来空位级信息。另一方面,网页的标题或正好在表单之前或之后的词语可提供任务级信息。然而,在某种上下文情况中,仅提取信息不能示出良好的性能。在这种情况中,系统可使用网页上的所有数据作为更丰富的上下文,这同时可能带来某些不期望的噪声。可引入对同一网页上数据的加权重要性模型,以解决该噪声过滤/相关信息提取问题。重要性可取决于离表单的距离、或该词语的IDF等。方案探测器1006的一个特征是提供关于空位的实体的更多信息。通常难以仅通过爬寻网页来获得每一空位的实体,因为空位的值在网页中不存在。来自种子网站的日志可协助缓解该问题。可任选方案探测组件1006可自动生成査询并获取反馈或关于空位实体的更多描述。最后,对每一表单,任务对象生成器1012可从HTML解析器1008、上下文语义提取器1010和可任选方案探测器1006收集所有的任务信息,以创建可被存储在任务存储或数据存储106中的任务对象。..如上所述,用户输入可通过语音用户界面(VUI)或图形用户界面(GUI)(有时被称为自然用户界面(NUI))来促进。首先参考VUI方面,在一个方面中,用户可通过话筒(或PDA电话等)交互以在应用程序空间内实现创作任务(以及与此相关的空位关联)的启动。在操作中,应用程序可加载如在呼叫流程创作时确定的所识别和评估的模型。输入可通过与识别对象接口相关联的语音接口对象流过该系统。然后可从识别引擎将输入变为语音文本网格,从该引擎中选择了最有可能的网格翻译。这然后可供给到以下定义的NUI输入接口。然后由应用程序空间定义交互模型,且该模型由任务执行空间及其呼叫路由和对话流程实现管控。可操纵该实现和交互以用于反馈——隐式和显式两者。现在转向GUI创作示例,图11和12示出了创建表的走查的屏幕截图。图11示出了根据本发明的一方面关于创建表的显式反馈的示例。具体地,走査以创建2x3表开始。在操作中,用户键入"createtwobythreetable(创建2x3表)"作为输入查询。系统可采用词汇处理组件,例如图4的402,从而分析査询输入并将查询分成记号,"create(创建)""two(2)""by(x)""three(3)"和"table(表)"。从而,系统可使用指定实体机制来识别"two"和"three"是整数。接着,系统可通过采用例如图4的404的统计任务搜索组件来找到可用的最佳任务。例如,并如图ll中所示,系统可返回、创建表、创建表的内容等。此处,用户可点击打开插入表对话的"createatable"链接。如图所示,系统可基于空位填充结果(例如,图4的统计空位填充406)自动填充框。当用户通过按下"OK"来确认时,特定的动作可发回用户结合初始输入查询做的意图分组或"显式反馈"。在这种情况中,输入查询是"createtwobythreetable",列数为3而行数为2。作为结果,系统可学习"twobythree"映射到行x列。给定多个用户,系统可训练基于与之相关联的概率权重起作用的模型。在图11的方面中,用户可键入或点击帮助提供所需输入以导航或命令应用程序空间的GUI元素。可以理解,输入可经由任何合适的设备实现,包括但不限于鼠标点击(例如,选择/取消选择)或键盘输入(例如,控制键或文本输入)。在替换方面中并参考图12,如图所示,任务结果可使用可任选空位填充替换方式向用户演示。再一次,由应用程序找出结果像什么以及它演示什么信息。如图所示,可显示2x3含义的替换假设。在用户点击了选项之后,GUI元素可在行和列自动填入的情况下打开。而且,"隐式反馈"以按照意图分组的形式发回,该意图分组标识相比2列3行,用户更偏好3列2行。可以理解,隐式反馈不如图11的显式反馈确定,在图11中用户按下"OK"来确认自动空位填充。相反,在图12的各方面中,系统在呈现GUI对话元素的同时发送隐式反馈。换言之,反馈在用户审阅插入表对话框中的自动填充信息之前发送。根据替换方面,系统100可采用人工智能(AI)组件,人工智能(AI)组件促进根据本发明的一个或多个特征的自动化。本发明(例如,结合任务选择)可采用各种基于AI的方案来实现其各个方面。例如,可以经由自动分类器系统和过程来促进用于基于输入查询确定要选择哪一任务的过程。分类器是将输入属性矢量x=(xl,x2,x3,x4,x")映射到该输入属于一个类的置信度的函数,即/^:co"/^"ce(c/a^)。这一分类可采用基于概率和/或基于统计的分析(例如,分解成分析效用和成本)来预测或推断用户期望自动执行的动作。在数据库系统的情况中,例如属性可以是词语或短语或从词语得到的其他数据专用属性(例如,数据库表、键项的存在性),类可以是类别或感兴趣的领域(例如,优先级)。支持矢量机(SVM)是可釆用的分类器的一个示例。SVM通过找出可能输入空间中的超曲面来操作,其中超曲面试图将触发准则从非触发事件中分离出来。直观上,这使得分类对于接近但不等同于训练数据的测试数据正确。可采用其它定向和非定向模型分类方法,包括,例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型以及提供不同独立性模式的概率分类模型。此处所使用的分类也包括用于开发优先级模型的统计回归。如从本说明书中可以容易地理解,本发明可以使用显式训练(例如,经由一般训练数据)以及隐式训练(例如,经由观察用户行为、接收外来信息)的分类器。例如,SVM经由分类器构造器和特征选择模块内的学习或训练阶段配置。因此,分类器可用于自动学习和执行多个功能,包括但不限于根据预定准则确定何时映射到特定任务、选择哪一任务。现在参考图B,示出了可用于执行所公开的自适应语义平台体系结构的计算机的框图。为了向本发明的各个方面提供附加上下文,图13及以下讨论旨在提供其中可实现本发明各个方面的合适的计算环境1300的简要、一般描述。尽管以上本发明是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行描述的,但是本领域的技术人员将认识到,本发明也可结合其它程序模块和/或作为硬件和软件的组合来实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其中每一个都可操作上耦合到一个或多个相关联的设备。所示的本发明的各方面也可在分布式计算环境中实施,其中某些任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机访问且包括易失性和非易失性介质、可移动和不可移动介质的任何可用介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机访问的任一其它介质。通信介质通常以诸如载波或其它传输机制等己调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语"已调制数据信号"指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例,而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。以上的任何组合也应包括在计算机可读介质的范围之内。再次参考图13,用于实现本发明的各方面的示例性环境1300包括计算机1302,计算机1302包括处理单元1304、系统存储器1306和系统总线1308。系统总线1308把包括但不限于系统存储器1306的系统组件耦合到处理单元1304。处理单元1304可以是各种市场上可购买到的处理器中的任意一种。双微处理器和其它多处理器体系结构也可用作处理单元1304。系统总线1308可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。系统存储器1306包括只读存储器(ROM)1310和随机存取存储器(RAM)1312。基本输入/输出系统(BIOS)储存在诸如ROM、EPROM、EEPROM等非易失性存储器1310中,其中BIOS包含帮助诸如在启动期间在计算机1302内的元件之间传输信息的基本例程。RAM1312还可包括诸如静态RAM等高速RAM用于高速缓存数据。计算机1302还包括内部硬盘驱动器(HDD)1314(例如,EIDE、SATA),该内部硬盘驱动器1314还可被配置成在合适的机壳(未示出)中外部使用;磁软盘驱动器(FDD)1316(例如,从可移动磁盘1318中读取或向其写入);以及光盘驱动器1320(例如,从CD-ROM盘1322中读取,或从诸如DVD等高容量光学介质中读取或向其写入)。硬盘驱动器1314、磁盘驱动器1316和光盘驱动器B20可分别通过硬盘驱动器接口1324、磁盘驱动器接口1326和光盘驱动器接口1328连接到系统总线1308。用于外部驱动器实现的接口1324包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或两者。其它外部驱动器连接技术在本发明所考虑的范围之内。驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1302,驱动器和介质容纳适当的数字格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移动磁盘以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当理解,示例性操作环境中也可使用可由计算机读取的任何其它类型的介质,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含用于执行本发明的方法的计算机可执行指令。多个程序模块可储存在驱动器和RAM1312中,包括操作系统1330、一个或多个应用程序1332、其它程序模块1334和程序数据1336。所有或部分操作系统、应用程序、模块和/或数据也可被高速缓存在RAM1312中。可以理解,本发明可用各种市场上可购得的操作系统或操作系统的组合来实现。用户可以通过一个或多个有线/无线输入设备,例如键盘1338和诸如鼠标1340等定点设备将命令和信息输入到计算机1302中。其它输入设备(未示出)可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其它输入设备通常通过耦合到系统总线1308的输入设备接口1342连接到处理单元1304,但也可通过其它接口连接,如并行端口、正EE1394串行端口、游戏端口、USB端口、IR接口等等。监视器1344或其它类型的显示设备也经由接口,诸如视频适配器1346连接至系统总线1308。除了监视器1344之外,计算机通常包括诸如扬声器和打印机等的其它外围输出设备(未示出)。计算机1302可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远程计算机1348的逻辑连接在网络化环境中操作。远程计算机1348可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机1302描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备1350。所描绘的逻辑连接包括到局域网(LAN)1352和/或例如广域网(WAN)1354等更大的网络的有线/无线连接。这一LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。当在LAN网络环境中使用时,计算机1302通过有线和/或无线通信网络接口或适配器1356连接到局域网1352。适配器1356可以方便到LAN1352的有线或无线通信,并且还可包括其上设置的用于与无线适配器1356通信的无线接入点。当在WAN网络环境中使用时,计算机1302可包括调制解调器1358,或连接到WAN1354上的通信服务器,或具有用于通过WAN1354,诸如通过因特网建立通信的其它装置。或为内置或为外置的调制解调器1358以及有线或无线设备经由串行端口接口1342连接到系统总线1308。在网络化环境中,相对于计算机1302所描述的程序模块或其部分可以存储在远程存储器/存储设备1350中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。计算机1302可用于与操作上设置在无线通信中的任何无线设备或实体通信,这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如,公用电话亭、报亭、休息室),以及电话。这至少包括Wi-Fi和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi,或无线保真,允许从家里沙发、酒店房间的床上或工作的会议室连接到因特网而不需要线缆。Wi-Fi是一种类似蜂窝电话中使用的无线技术,它使得诸如计算机等设备能够在室内和室外,在基站范围内的任何地方发送和接收数据。Wi-Fi网络使用称为IEEE802.11(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用正EE802.3或以太网)。Wi-Fi网络在未许可的2.4和5GHz无线电波段内操作,例如以11Mbps(802.1la)或54Mbps(802.1b)数据速率操作,或者具有包含两个波段(双波段)的产品,因此该网络可提供类似于许多办公室中使用的基本10BaseT有线以太网的真实性能。现在参见图14,示出了根据本发明的示例性的计算环境1400的示意性框图。系统1400包括一个或多个客户机1402。(诸)客户机1402可以是硬件和/或软件(例如,线程、进程、计算设备)。客户机"02可例如通过本发明而容纳cookie和/或相关联的上下文信息。系统1400也包括一个或多个服务器1404。(诸)服务器1404也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1404可以例如通过使用本发明来容纳线程以执行变换。客户机1402和服务器1404之间的一种可能的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。数据分组可包括例如cookie和/或相关联的上下文信息。系统1400包括可以用来使客户机1402和服务器1404之间通信更容易的通信框架1406(例如,诸如因特网等全球通信网络)。通信可经由有线(包括光纤)和/或无线技术来促进。客户机1402操作上被连接到一个或多个可以用来存储对客户机1402本地的信息(例如,cookie和/或相关联的上下文信息)的客户机数据存储1408。类似地,服务器1404可被连接到一个或多个可以用来存储对服务器1404本地的信息的服务器存储1410。以上描述的包括本发明的示例。当然,出于描述本发明的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,本发明的许多进一步的组合和排列都是可能的。因此,本发明旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语"包括"而言,这一术语旨在以与术语"包含"在用作权利要求书中的过渡词时所解释的相似的方式是包含性的。权利要求1.一种便于人类和机器之间直观交互的系统,包括创作/分析组件(104),便于生成各自具有映射到输入准则的多个参数的多个资产;以及推理组件(102),统计上分析所述输入准则并至少部分基于所述输入准则来呈现资产。2.如权利要求1所述的系统,其特征在于,所述创作/分析组件(104)至少部分基于所述输入和所呈现的资产来聚集反馈。3.如权利要求2所述的系统,其特征在于,所述创作/分析组件(104)从所述反馈中学习,并至少部分基于所述反馈来推断用户意图。4.如权利要求3所述的系统,其特征在于,所述推理组件(102)至少部分基于对所述用户意图的分析来选择所述资产。5.如权利要求4所述的系统,其特征在于,所述资产是文档和动作的至少其中之一。6.如权利要求1所述的系统,其特征在于,所述创作/分析组件(104)包括任务编辑器组件(502),允许生成所述资产以及建立协助所述推理组件分析所述输入准则的多个注释;以及训练组件(504),包括反馈数据、训练学习模型并生成协助所述推理组件选择所述资产的索引。7.如权利要求6所述的系统,其特征在于,所述任务编辑器(502)包括基于对网页的分析自动生成所述资产的文本提取器(1000)。8.如权利要求7所述的系统,其特征在于,所述文本提取器(1000)包括爬寻器(1002),所述爬寻器分析所述网页并提取便于自动生成与所述网页相关联的资产的语义信息。9.如权利要求6所述的系统,其特征在于,所述索引包括任务索引(602)和任务属性(604)的至少其中之一。10.如权利要求7所述的系统,其特征在于,所述学习模型包括查询模型(606)和空位模型(608)的至少其中之一。11.如权利要求1所述的系统,其特征在于,还包括人工智能(AI)组件,它采用推断用户意图并至少部分基于所述用户意图来选择所述资产的基于统计的分析。12.—种对用户输入作出反应的计算机实现的方法,包括创作资产;关于所述用户输入确定用户意图;至少部分基于所述用户意图将所述资产映射到所述用户输入;执行所述资产;获取反馈;以及从所述反馈中学习。13.如权利要求12所述的计算机实现的方法,其特征在于,还包括呈现所述资产。14.如权利要求13所述的计算机实现的方法,其特征在于,所述创作资产的动作包括生成文档和动作的至少其中之一。15.如权利要求12所述的计算机实现的方法,其特征在于,所述创作资产的动作包括生成任务框架。16.如权利要求15所述的计算机实现的方法,其特征在于,所述创作资产的动作还包括将多个参数应用于所述任务框架。17.如权利要求15所述的计算机实现的方法,其特征在于,还包括为所述资产生成索引,所述索引将所述资产映射到所述用户输入的特征。18.—种便于基于统计的交互的计算机可执行系统,包括用于创作多个资产的装置;基于用户输入确定用户意图的装置;至少部分基于所述用户意图将所述多个资产的子集映射到所述用户输入的装置;19.如权利要求18所述的计算机可执行系统,其特征在于,还包括至少部分基于所述多个资产的子集来编译反馈的装置。20.如权利要求19所述的计算机可执行系统,其特征在于,还包括用于从所述反馈生成知识的装置;以及用于应用所述知识以将所述多个资产的子集映射到完全不同的用户输入全文摘要提供了可易用于在用户和机器系统之间启用自然交互的自适应共享基础架构。此外,本新颖的发明可提供基于用户输入产生正确的意图到动作映射的交互式技术。此外,本发明可提供可创作资产(例如,文档、动作)的新颖的机制。创作机制可允许生成学习模型,使得系统可至少部分基于对用户输入的分析来推断用户意图。响应于此,系统可发现资产或基于推断的资产分组。而且,本发明可提供自然语言接口,它基于一个或多个用户输入、动作和/或状态来学习和/或适应。文档编号G06F15/16GK101395600SQ200780007007公开日2009年3月25日申请日期2007年2月13日优先权日2006年2月28日发明者J·刘,J·高,Q·姚,S·卡塔利亚,W·D·拉姆瑟,Z·陈申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1