首页> 中国专利> 在输入理解系统中保护私有信息

在输入理解系统中保护私有信息

摘要

本公开的例子包括在本地平台处捕捉输入并将捕捉到的输入传输给与本地平台分离的服务平台。接收服务平台响应于捕捉到的输入生成的至少一个被部分评估的策略。本地平台通过将本地平台私有的信息应用于被部分评估的策略来完成被部分评估的策略。本地平台基于完成被部分评估的策略,来确定用于对捕捉到的输入进行响应的最终动作。

著录项

  • 公开/公告号CN107111725A

    专利类型发明专利

  • 公开/公告日2017-08-29

    原文格式PDF

  • 申请/专利权人 微软技术许可有限责任公司;

    申请/专利号CN201680005335.X

  • 发明设计人 O·Z·克汉;R·萨里卡亚;

    申请日2016-01-06

  • 分类号G06F21/62(20130101);G06F17/30(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国华盛顿州

  • 入库时间 2023-06-19 03:13:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    授权

    授权

  • 2017-09-22

    实质审查的生效 IPC(主分类):G06F21/62 申请日:20160106

    实质审查的生效

  • 2017-08-29

    公开

    公开

说明书

背景技术

输入理解系统利用关于用户的个人数据的信息和上下文来咨询包含关于各种实体的信息的知识源。这改善了输入理解系统解释用户查询的能力以及改善了响应用户查询的决策。结果,可以将用户的私有信息发送到驻留在该信息原始所存储在的客户端的外部的服务。因此,存在关于如下的挑战:保持用户私有信息的机密性,同时利用知识存储库来增加输入理解系统的健壮性。这是关于本申请所指向的一般技术环境的。

发明内容

本公开的例子包括在本地平台处捕捉输入并将捕捉到的输入发送到与本地平台分离的服务平台。接收服务平台响应于捕捉到的输入生成的至少一个被部分评估的策略。本地平台通过将对本地平台私有的信息应用到被部分评估的策略来完成被部分评估的策略。本地平台基于完成被部分评估的策略来确定用于响应于捕捉到的输入的最终动作。

提供该“发明内容”是为了以简化形式引入在下文具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。例子的额外方面、特征和/或优点将在后续描述中被部分阐述,并且根据描述将部分地是明显的,或者可以通过本公开的实施而被获悉。

附图说明

参考以下附图描述非限制性和非排他性例子。

图1示出了用于输入评估和响应的示例性系统的概图。

图2示出了用于语音输入评估和响应的示例性例子的概图。

图3示出了本地部件处理的示例性方法。

图4示出了由输入理解服务部件处理的示例性方法。

图5是示出可以实施本公开的各方面的计算设备的例子的框图。

图6A和6B是可以实施本公开的各方面的移动计算设备的简化框图。

图7是可以实施本公开的各方面的分布式计算系统的简化框图。

具体实施方式

本公开的例子保持用户私有信息的机密性,而不放弃使用利用在面向服务架构下可用的丰富的知识源的更健壮模型的优点。引入分布式和延时策略评估机制,其中在本地平台的部件处进行正确选项/动作的最终确定。这允许输入理解系统利用机密的客户端信息,而不要求将私有信息运输到对话理解服务平台。因此,不会损害用户/客户端的私有信息。

例如,输入理解服务利用可用信息工作,并使用可用信息来部分地评估策略。策略是用于对输入进行响应的一个或多个动作。可用信息可以包括不被视为客户端(例如,用户或服务)私有的任何数据。限制本地平台外部的输入理解服务平台访问被视为敏感的(因此对本地平台是私有的)信息的值。输入理解服务平台替代地将生成简化模型并将其传输到本地平台,其中简化模型是基于输入理解服务平台可用的数据制定的响应,可以在本地平台处对该响应进行评估而不要求大量的计算资源。

在至少一个例子中,本地平台可以插入与本地平台私有的信息相关的值,并基于由输入理解服务平台传输的简化模型和本地平台可用的私有信息来进行关于最终动作的确定。可以由输入理解服务平台向本地平台提供用于完成策略的评估的指令。在一些例子中,输入理解服务平台确定客户端的私有信息(其对输入理解服务部件不可用)不会对所选动作导致任何改变。在该例子中,输入理解服务平台可以包括向本地平台指示对于策略模型不需要进一步计算的指令。输入理解服务平台传输其关于如何对输入进行响应的当前判断(belief),从而推迟对客户端私有或敏感的信息的可用性的决定。有权访问输入理解服务平台的关于进一步动作的判断及其自己的私有信息的本地平台,能够容易地确定对输入的最佳响应,而不需要与输入理解服务平台进一步通信。

基于本公开实现了多个技术优点,包括减少网络带宽使用以及输入理解系统的部件之间交互的延时,增加输入理解处理的效率和准确性,增加数据传输安全性,改善处理安全性,以及改善用户交互性能等其它多个技术优点。本文描述的例子提供了额外的益处,包括:建立保持私有信息的机密性和私密性的敏感输入理解系统,通过不将敏感/个人信息输送到服务平台(例如,服务器)而在(用户或服务的客户端的)本地平台上保持用户的隐私敏感信息,利用任何服务侧知识在输入理解服务平台上部分地评估策略,以及允许在本地部件上终止策略选择,而不要求散列/混淆私有和/或敏感信息以用于传回到本地平台外部的输入理解服务平台。

图1示出了用于输入评估和响应的示例性系统100的概图。系统100是相互依赖的部件的组合,所述部件交互以形成集成的整体用于执行输入理解和处理。系统100的部件可以是硬件部件或实现于系统100的硬件部件上的软件。系统100的每个部件可以包括一个或多个系统部件。在一些例子中,系统100可以是具有处理器(例如,处理设备)的设备上的运行软件部件的应用或服务。例如,输入理解应用或服务可以在处理设备上运行,所述处理设备例如是计算机、移动电话、平板计算机、游戏控制台、电子设备等,其中系统的部件可以在处理设备上执行。在其它例子中,系统100的部件可以跨多个设备分散。例如,可以从网络中的其它设备(例如,服务器设备和/或数据存储)处理或访问在客户端设备上录入的输入和信息。请参考图5-7以获得可以作为系统100的一部分而被包括的硬件的额外例子。

作为一个例子,系统100包括例如本地平台102和服务平台104的部件,每个具有一个或多个额外部件。平台(例如,本地平台102和服务平台104)是系统100的用于处理输入、分析输入、确定响应策略以及将响应策略传递给输入提供方的部件的集合。在例子中,本地平台102和服务平台104可以包括硬件部件(操作系统(OS))、在硬件部件上运行的软件部件(例如,应用、应用程序接口、虚拟机)、运行时库中的任意一个。在一个例子中,本地平台102和服务平台104提供用于软件部件运行、服从操作的约束集、以及利用系统100的资源或设施的环境。在至少一个例子中,本地平台102和服务平台104的每个部件可以是在一个或多个处理设备上运行的软件。本地平台102和服务平台104还可以包括例如数据存储/存储器/存储库的部件,例如在图1中示出且在下文描述的知识存储库126。

在示例性输入理解系统中,本地平台102和服务平台104并行操作,例如其中,本地平台102为本地平台本地的(例如,存储于本地部件中的)数据服务,并且服务平台104与关于与本地平台102分离的部件(例如,网络部件)的数据相关联。然而,系统100不限于这种例子。诸如系统100的系统的规模可以变化,并且包括比图1中描述的更多或更少的部件。系统100的部件(例如本地平台102和服务平台104)之间的对接通过系统100的网络连接部件和/或系统100外部的资源发生。在一个例子中,可以通过分布式环境(例如,云计算环境)连接系统100的部件。

本地平台102与服务平台104对接以提供对接收到的输入的响应。例如,本地平台104管理客户端(例如,用户或服务)本地的数据(包括私有或敏感信息),而不访问额外的知识资源。服务平台104管理额外的知识资源来增加检查接收到的输入的健壮性,而不访问在本地平台102上维持的私有或敏感信息。然而,本领域的技术人员将认识到在本地平台102和服务平台104的每个上维持的信息可能在不同例子中有所变化。

系统100的部件与处理设备的OS对接,以允许输入理解和处理,包括用于录入输入和接收响应的用户界面(UI)。例如,系统100可以从本地部件102和输入服务部件104中的一个或多个处的客户端(例如,用户或服务)接收输入。输入接收部件提供用户录入输入并使得系统100捕捉且处理输入并返回响应的接口。在一个例子中,系统100可以是输入理解系统,例如对话理解(CU)系统。然而,系统100的过程处理单元是可配置的,以处理任何类型的输入,包括但不限于话音/语音输入、文本输入、手势输入、手写输入以及其它例子。例如,系统100可以作为智能个人助理操作。智能个人助理是移动软件代理,其可以基于用户输入、位置感知和访问来自各种在线源的信息的能力,来为个人执行任务或服务。系统100与其操作的智能个人助理的例子包括但不限于:SILVIA、S-Voice、Voice Mate、GoogleNow、Cortana、Hidi和Siri以及其它例子。

系统100经由输入识别部件捕捉并解释输入。输入识别部件是支持输入形式的信息/数据录入到系统100中并允许系统100与用户通信或交互的部件。输入识别部件捕捉过程并转换接收到的输入以用于识别。例如,输入识别部件106能够将口语查询处理为文本。输入识别部件106可以实现自动语音识别(ASR)、计算机语音识别、或语音到文本(STT)以及其它例子,来将语音处理为文本以用于评估。输入识别部件可以是本地部件102的部件(例如输入识别部件108)和/或输入服务部件104的部件(例如输入识别部件122)。输入识别部件108和122支持用户输入将被分析和处理的输入。如上所述,输入可以是任意形式,包括:话音/语音输入、文本输入、手势输入和手写输入以及其它例子。输入识别部件108和122与处理设备的OS对接以提供用户接口,以供用户向系统100录入输入。例如,输入识别部件108和122可以根据对来自用户的输入项目的请求而显示提示。在一个例子中,通过用户采取动作(例如,点击图标、按压按钮、进行语音请求、做手势等)来发起用户输入提示。在替代例子中,在OS上显示用户输入的提示以供用户录入输入。输入识别部件108和122可以与OS的其它部件对接。其它部件的例子包括但不限于:控制设备、显示设备、头戴式耳机、移动设备(例如,WIFI、支持红外或蓝牙)、输入面板(例如,软输入面板、语音输入面板)、其它电子设备等,其可用于与输入识别部件108和122协调以支持与例如用户或服务的客户端的交互。在一些例子中,输入识别部件108和122与系统100的其它部件(例如输入理解部件,如输入理解部件108和输入理解部件122)对接。输入识别部件106还与本地平台102上的本地非敏感上下文存储库116以及本地私有信息存储库118对接。输入识别部件120还与本地平台的本地非敏感上下文存储库116以及在服务平台104上的知识存储库126对接。

非敏感上下文存储库116是在本地平台102上维持的数据存储库,其存储能够被传输到服务平台104以利用服务资源来增强对捕捉到的输入的响应的信息。可以由本地平台102的用户或本地平台102基于数据(例如,协议、管理策略和规则集)将非敏感上下文信息标识为非敏感的。非敏感上下文存储库116由本地平台102的部件使用以生成对接收到的输入的响应。另外,非敏感上下文存储库116与服务平台104的部件对接,以应用本地平台104外部的资源,以改善对接收到的输入的响应。

私有信息存储库118是在本地平台102上维持的数据库,其存储仅由本地平台102使用的信息。私有信息或敏感信息是不通过网络传输或不与服务平台104共享的任何信息。私有信息的例子包括但不限于个人可识别信息、联系人信息、消息/电子邮件数据、登录信息、电话地址簿、文件数据和网络信息以及其它例子。其还可以包括本质上不是隐私敏感的、但是由于第三方许可或合同义务而不能被传输到服务的信息。例如,客户端可以知道在社交网络上用户被连接到哪个人,但是由于社交网络所强加的合同约束可能限制这种信息的传输。客户端(例如,与本地平台102相关联的用户或服务)可以标识或指定信息作为隐私信息,或替代地可以标识其不愿与服务平台104共享的信息。例如,服务(例如,分布式或共享服务)可以提示用户共享或上传信息,例如联系信息。在所述例子中,如果客户端选择不与服务共享联系信息,则联系信息被认为是私有信息,并且服务将不能将联系信息用作用于输入理解的额外信息。在另一例子中,所实现的规则或协议可能不允许与服务平台104共享私有信息。因此,服务平台(例如,服务平台104)将不能利用私有信息作出关于如何对输入进行响应的决策。

服务平台104维持至少一个知识存储库126来存储用于帮助服务平台104开发用于响应于接收到的输入的策略的知识数据。策略是用于响应输入的一个或多个动作。在一些例子中,策略是服务平台104生成的能够由本地平台102完成的条件动作。例如,策略可以基于本地平台102上的私有信息存储库118所维持的私有信息是有条件的。本地平台102可以输入与私有信息相关联的数据,来完成服务平台104生成的部分发布的策略。

知识存储库126的知识数据由服务平台104应用,以生成这种被部分评估的策略以用于响应输入。知识数据增加系统100具有的信息的量,使得其可以在给定时间点做出更明智的决策。知识存储库126可以维持的信息类型包括但不限于关于以下的信息:定义、规则、名称数据、历史数据(包括来自先前查询的数据)、在系统100的部件之间的相互关系、约束(例如,用于评估数据的真实的正式陈述描述)、类别(例如,集合、概念、编程类型)、属性数据(例如,属性、特征、特性、参数)、公理、建模和统计数据、事件和功能术语以及其它例子。知识存储库126还可以与系统100外部的部件或资源通信,以收集或采集与执行处理且做出关于系统100如何响应输入的最佳可能决策相关的信息。例如,知识存储库126可以通过互联网被链接到网络资源,例如搜索引擎(例如,Bing、Google Search、Yahoo Search、Ask、WebCrawler、Dogpile等)或任何其它知识库(例如,Wikipedia、IMDB、Quora、Stackoverflow、Amazon等)。服务平台104的部件(例如,输入识别部件120、输入理解部件122和输入上下文部件124)可以与知识存储库126对接,以基于知识数据生成被部分评估的策略。知识存储库126的知识数据可以由服务平台104的部件使用,以增强用于响应输入的策略的生成。

在处理期间的任意点处,例如在输入识别部件106、输入理解部件108或输入上下文部件110所进行的处理期间,本地平台102可以确定需要额外信息来生成响应于捕捉到的输入的策略。替代地,与系统(例如,系统100)相关的协议可以在本地平台102和服务平台104的每个上执行针对捕捉到的输入的处理,以改善处理结果。在一些例子中,可以由除了本地平台102的部件以外的部件处理输入,例如,其中输入通过第三方应用或服务被传递。

一旦识别出输入,输入识别部件就将识别出的输入传递到输入理解部件,例如本地平台102的输入理解部件108或服务平台104的输入理解部件122。输入理解部件108和122分析识别出的输入以用于理解,包括确定对所分析的输入的理解/备选理解。对接收到的输入的理解是系统100基于系统100对接收到的输入的分析而对接收到的输入的解释。例如,输入理解部件108和122可以是自然语言理解(NLU)单元或口头语言理解(SLU)单元。可以分析输入的各方面以确定对接收的输入的理解。由输入理解部件108分析的方面的例子包括但不限于:输入的多个部分的标记、输入的句法/语义解析、来自输入的适当的命名标识、输入类别等。对接收到的输入的分析可以包括:在被本地平台102的部件处理时,来自本地平台102的数据存储库的知识数据的应用,以及在发生由服务平台104进行的处理时,来自服务平台104的知识存储库126的知识数据的应用。在例子中,本地平台102可以将捕捉到的输入传递到服务平台104进行处理。例如,知识存储库126维持信息,例如,输入理解处理的规则、输入的语义解析、用于识别输入的多个部分并对与输入相关联的数据开槽(slot)的规则和方法,等等。这种信息对支持输入理解部件122开发对捕捉到的输入的理解是有用的。

由输入理解部件确定出的理解被传递到输入上下文部件以供进一步评估。输入上下文部件(例如,(本地平台102的)输入上下文部件110和(服务平台104的)输入上下文部件124)评估所分析的输入的上下文,包括确定对所分析的输入的可能响应和用于响应用户的策略。对接收到的输入的理解的上下文的评估包括澄清接收到的输入的含义。当输入被传递到输入上下文部件124时,输入上下文部件124与知识存储库126交互,来进一步分析由输入理解部件确定出的理解。例如,输入上下文部件124可以将知识数据应用到所分析的输入,以确定与输入相关联的状态,使得系统100可以确定如何继续/响应接收到的输入。例如,输入上下文部件(例如,输入上下文部件124)确定接收到的输入的上下文以及与上下文相关联的参数(例如,基于其对接收到的输入和理解的评估,可能需要什么信息来执行与接收到的输入相关联的任务以及需要请求什么额外信息)。在确定接收到的输入的上下文的点处,系统100经由输入上下文部件智能地评估会话的流/状态。知识存储库126维持对输入上下文部件124做出关于接收到的输入的上下文评估的明智决策有用的信息。由知识存储库126维持的知识数据包括但不限于:用于解释用户输入和所分析的理解的策略规则,关于当前和过去用户交互的历史数据,使用模式,词语联想,对系统100外部的部件或资源的访问,等等。

基于对接收到的输入的理解的评估,输入上下文部件确定用于响应于输入的可能策略。输入上下文部件评估的上下文的例子包括但不限于会话的先前片段、句法和语法、一天中的时间、用户位置以及其它例子。例如,输入上下文部件124开发的策略可以是被部分评估的策略,其需要信息来全面完成策略。也就是说,服务平台104使用其可用的信息来生成一个策略的尽可能多的部分。然而,在一些情况下,服务平台104可能缺少做出如何响应接收到的输入的最终决定所需的信息,例如当服务平台104不确定本地平台102维持什么私有信息时。在所述例子中,输入上下文部件124将一个或多个被部分评估的策略传递到本地平台102,使得本地平台102能够做出关于响应于输入的策略选择的最终决定。在本地平台102生成用于输入的策略的例子中,可以利用输入上下文部件110可用的信息(例如,来自本地非敏感上下文存储库116和本地私有信息存储库118的数据)来生成被完全评估的策略。当本地平台102可能不需要来自服务平台104的被评估策略时的例子是接收到的输入是“call Ruhi”的情况。本地平台102可以捕捉并处理该输入,并识别名称为“Ruhi”的联系人存储于在本地平台102上存储的联系人列表中。在一个例子中,本地平台102的联系人列表作为私有信息被存储于本地私有信息存储库118中。本地平台102的输入上下文部件110能够准确生成用于接收到的输入的策略(例如,执行呼叫来自联系人列表的“Ruhi”的动作),而无需进一步的澄清。在另一例子中,本地平台102识别在本地存储的联系人列表中不存在名称为“Ruhi”的联系人。本地平台102可以将接收到的输入传输到服务平台104进行处理,以便提供输入“call Ruhi”的上下文。在所述例子中,服务平台104开发被部分评估的策略(例如,用于对接收到的输入进行响应的、受到本地平台102的终止化的可能动作)。服务平台104经由输入上下文部件124将被部分评估的策略发送到本地平台102,以进行进一步的评估。

当服务平台104生成的策略被传输到本地平台102时,本地平台102的延迟策略评估部件112接收并处理来自服务平台104的策略。利用延迟策略评估部件122实现的延迟策略评估机制允许系统100创建中间模型,其已经并入服务平台104的资源,但是延迟确定本地平台102所做的最终选择。然后,通过延迟策略评估部件122评估中间模型(例如,被部分评估的策略),其中应用本地平台102的资源以完成策略建模。例如,延迟策略评估部件122插入本地平台102可用的信息(例如,私有信息)以完成被部分评估的策略,使得本地平台102能够适当地评估从服务平台104接收到的评估策略。这支持本地平台102响应于接收到的输入做出最佳选择。在一个例子中,延迟策略评估部件112完成与被部分评估的策略相关联的、属于本地平台102维持的私有信息的参数。所述延迟策略评估的至少一个益处包括利用服务器知识资源,同时保持本地平台102的私有信息。例如,通过不要求本地平台102执行任何加密散列或使用其它模糊技术来保持敏感材料(然后将其以散列/模糊的方式传回到服务)的私密性,还最小化了本地平台102和服务平台104之间的通信开销。本地平台102例如通过延迟策略评估部件112执行需要使用私有或敏感信息的计算和运算。因此,私有信息不会由于任何问题而遭受任何公开,其中,通过不需要在平台之间来回传输数据而减少本地平台102和服务平台104之间所需的混淆方案或其它中断(breach)和通信跳变。因此,可以最小化与网络数据交换相关联的时延。

除了完成服务平台104所传输的策略的评估外,延迟策略评估部件112还在完成时评估由服务平台104传输的策略,以确定最佳可能响应选项。延迟策略评估部件112被配置为能够比较完成的策略,以确定将对准接收到的输入的用户意图的一个或多个响应选项。在一些例子中,策略的比较可以基于主观测量或经验数据发生。主观测量的例子包括但不限于:幂等性和非幂等性数据、时间敏感性、历史使用模式和用户交互以及其它例子。所收集的经验数据的例子包括关于注释会话的数据和来自随机试验的数据。在例子中,策略的比较包括策略的统计建模和/或排名,由此可以应用度量来对完成的策略排名,并且可以响应于接收到的输入而选择多个排名最高的策略来进行呈现。例如,策略的排名基于策略的置信值(响应选项)和与策略相关联的参数,其中可以基于关于策略的系统确定性和与该策略相关联的参数,来给该策略分配置信值。在一些例子中,本地平台102包括用于与策略的计算评估有关的信息的一个或多个额外数据存储库。延迟策略评估部件112将所选策略传递给服务仲裁部件114,以输出作为系统响应。

服务仲裁部件114是本地平台102的部件,其确定是使用服务平台104生成的策略还是使用本地平台102生成的策略来对接收到的输入进行相应。在一些例子中,本地平台102识别其不具有足够的信息来生成适当的响应,并因此由延迟策略评估部件112选择服务平台104的一个或多个策略,并且服务仲裁部件114确定输出服务平台104的策略。在其它例子中,本地平台102确信本地平台102拥有足够的信息来生成适当的响应,并因此选择本地平台102生成的一个或多个策略,以供服务仲裁部件114传输。在所述情况下,服务仲裁部件114确定输出由本地平台102生成的策略。在至少一个例子中,服务仲裁部件114将多于一个的策略传输给用户,以呈现用于对输入进行响应的选项,其中所传输的策略可以包括由本地平台102和服务平台104中的每个生成的策略。在其它例子中,将多个策略从本地平台102或服务平台104中的一个传输到用户。

图2示出了用于语音输入评估和响应的示例性系统200的概图。系统200是图1所述系统100的特定实现方式的例子。系统200是对话理解系统,其是可配置的,以接收、处理和响应话音或语音输入。系统200可以包括硬件部件和软件部件的组合,以用于响应话语或语音输入。

例如,捕捉话语或语音,其中捕捉到的输入是“call Fred Meyer”。在本地,本地平台202在其地址簿或联系人列表中可能具有名称为“Fred Meyer”的联系人。如果是这样,则本地平台202可以通过其语音处理部件206推荐对输入的响应,而无需联系输入服务部件。在语音处理部件206中包含的处理部件的例子包括:语音识别(SR)部件、口头语言理解(SLU)部件以及对话部件,其分别是如上在图1的描述中所描述的输入识别部件106、输入理解部件108以及输入上下文部件110的例子。本地平台202包括两个或更多数据存储库,例如,本地私有信息存储库208和本地非敏感上下文信息存储库210,其可以由本地平台202的语音处理部件206访问。例如,存储库208和210分别对应于以上结合图1的描述详细描述的本地私有信息存储库118和本地非敏感上下文存储库116。来自本地非敏感上下文信息存储库210的信息与服务平台204对接,以从本地平台202向服务平台204提供非敏感的信息。

如果本地平台202在本地没有存储名称为“Fred Meyer”的联系人,则本地平台202将捕捉到的输入传输到服务平台204进行处理,以返回可能的动作或推荐。在其它例子中,本地平台202可以与服务平台204对接,以改善基于接收到的输入返回的动作或推荐。本地平台202可以识别本地联系人“Fred”并将输入传递给服务平台204以进一步评估接收到的输入的上下文,原因至少是因为其不确定联系人“Fred”是否是用户打算呼叫的人。服务平台利用其自己的SR、SLU和对话部件(其分别是在图1的描述中描述的输入识别部件120、输入理解部件122和输入上下文部件124的例子)处理捕捉到的输入。

服务平台204提供接收到的输入“call Fred Meyer”的上下文。例如,用户可能想要呼叫Fred Meyer杂货店而不是呼叫名称为FredMeyer的联系人。服务平台204可以查找“Fred Meyer”,并提供包括Fred Meyer杂货店的电话和地址的推荐动作或策略。然而,服务平台204不会知道联系人“Fred Meyer”是否被本地地存储于本地平台202上,因为本地平台202没有与服务平台204共享这种私有信息。服务平台204通过基于服务平台204可用的信息提供一个或多个策略的上下文,来部分地评估用于对捕捉到的输入进行响应的策略(例如,动作)。服务平台204还识别其不具有的、需要本地平台204完成的信息,例如,本地存储于本地平台204上的私有信息。

一旦生成被部分评估的策略,服务平台204就将部分完成的策略传输到本地平台202进行进一步的评估。输入服务部件可以呈现一个或多个策略(或动作)以供客户端部件最终评估。例如,一个策略可能指明:如果名称为“Fred Meyer”的客户存在于不与输入服务部件共享的本地联系人列表上,则联系Fred Meyer。另一策略可能指明:如果在本地联系人列表中没有“Fred Meyer”,则提供电话号码和/或呼叫与进行输入的设备的位置最近的Fred Meyer杂货店。在一些例子中,服务平台204将用于完成传输给本地平台202的策略的评估的指令与被部分评估的策略包括在一起,或者在其它情况下,将该指令单独传输到本地平台202。在接收到的输入包括名称(例如“Fred”)的另一例子中,输入理解系统或服务可能在地址簿中没有发现任何名称为“Fred”的用户,但是服务可以指出Fred还可以例如是“Frederick”或“Alfred”或“Wilfred”的简称。该信息对本地平台可能是不可用的,从而在该情况下服务提供额外的上下文。类似地,服务平台还可以指出“Freddie”或“Freddy”也是本地平台可以替代地在地址簿上搜索的、用于替代“Fred”的常见名称。在另一例子中,服务平台可以同样做出贡献的情况是同音异义词。本地平台最终可能使用最前面的识别出的形式的输入(例如,语音输入),但是服务平台可以返回同一词语的一串同音异义词,并且本地平台随后可以搜索是否存在这些词语中的任一个。例如,如果本地平台识别输入“callJohn”,则服务平台可以返回“Jon”来作为名称“John”的同音异义词。

在提供对接收到的输入的响应之前,本地平台202评估由服务平台202生成的策略,并最终确定如何对接收到的输入进行响应,而无须进一步与服务平台204协商。通过延迟策略评估部件212执行服务平台104的策略的评估和选择。延迟策略评估部件212的描述与图1的描述中所描述的延迟策略评估部件112类似。例如,在策略推荐中,服务平台204可以识别参数或信息以供客户端部件检查本地存储的联系人“Fred”。在所述例子中,本地平台202能够识别与联系人“Fred”相关联的地址或电话号码与本地Fred Meyer杂货店的电话号码相同。策略评估部件212与本地私有信息存储库208对接,以完成服务平台208部分评估的策略。例如,策略评估部件212与本地私有信息存储库208对接,以针对Fred Meyer评估联系人列表。基于所述评估,延迟策略评估部件212选择用于对捕捉到的输入进行响应的动作。例如,如果“Fred Meyer”不是联系人列表中的联系人或者联系人“Fred”不与“FredMeyer”相关联,则延迟策略评估部件212可以选择与呼叫本地Fred Meyer杂货店相关联的动作。因此,本地平台202可以通过利用存储于本地平台202上的私有信息评估由服务平台204生成的策略,来确信地识别对接收到的输入的响应动作。一旦延迟策略评估部件212选择了响应捕捉到的输入的策略,则延迟策略评估部件212就向用户输出响应策略。

在替代例子中,话语或语音输入可以直接在服务平台204处被接收,由服务平台204的部件(包括服务语音识别部件214、服务口头语言理解部件216以及服务对话部件218)处理。可以在服务平台204处从与服务平台204对接的本地平台202外部的部件(在系统200内或系统220外部的资源)接收话语或语音输入。被部分评估的策略仍由服务平台202生成并被传输到本地平台202(例如,延迟策略评估部件212)进行进一步评估。

图3示出了本地平台(例如,图1所述的本地平台102和图2所述的本地平台202)处理的示例性方法300。例如,方法300可以由系统执行,所述系统例如是图1的系统100、图2的系统200、或者包括被配置为存储和执行程序或指令的至少一个处理设备的任何系统。然而,方法300不限于这样的例子。方法300可以由一个或多个处理设备执行。在其它例子中,方法300可以由输入理解服务或应用执行。

流程开始于操作302,在其中捕捉输入。例如,通过设备的部件捕捉输入,所述设备上操作应用或服务来接收并处理输入。一旦已经捕捉到接收到的输入,流程就进行到决策操作304,其中本地服务确定其是否拥有足够的信息来对捕捉到的输入进行响应。例如,本地服务是本地平台。在上述图1(本地平台102)和图2(本地平台202)的描述中提供了本地平台的描述。在其拥有足够的资源/信息来生成对捕捉到的输入的响应的情况下,流程进行到操作306,其中由本地服务生成至少一个策略以用于对捕捉到的输入进行响应。策略是用于响应输入的一个或多个动作。在一些例子中,策略是服务平台生成的能够由本地服务完成的条件动作。在一个例子中,开发具有可以基于本地服务所拥有的信息来选择(和执行)的多个动作的策略。例如,策略可以以本地服务维持的私有信息为条件,其中如果本地服务的私有信息完成该策略,则发生一个动作,并且如果私有信息没有完成该策略则发生另一动作。

当流程进行到操作306时,评估生成的策略,并且确定(操作214)响应于捕捉到的输入继续什么策略。当选择策略时,经由本地服务向输入的提供者发送响应(操作316)。例如,所发送的响应可以是基于所选的策略执行的动作。例如,接收到的输入可以是“Send anEmailtoOmar”。在所述情况下,所选的策略可以是打开给名称为“Omar”的联系人的电子邮件的动作。在发送响应之后,本地服务向服务平台报告(操作318)所提供的响应。这保持服务平台与所提供的响应同步,并允许服务平台在其知识资源中包括这种信息以用于生成将来的策略。

返回到决策操作304,本地服务可以确定其不拥有足够的信息来生成对捕捉到的输入的策略或响应。在所述情况下,流程继续到操作308,其中将输入传输给服务平台。上文在图1(服务平台104)和图2(服务平台204)的描述中提供了服务平台的描述。一旦服务平台接收到捕捉到的输入,则服务平台可以处理输入并基于捕捉到的输入生成被部分评估的策略。服务平台将被部分评估的策略传输到本地服务,在操作310中本地服务接收由服务平台生成的被部分评估的策略。

流程然后进行到操作312,其中本地服务执行被部分评估的策略。执行被部分评估的策略可以包括遵从由服务平台提供的处理指令。执行被部分评估的策略包括将本地服务的信息应用于被部分评估的策略。例如,在运行本地服务的设备上维持的私有信息可以被访问并被应用于被部分评估的策略。在一个例子中,本地服务插入与本地设备或本地服务私有的信息相关联的值,以完成服务平台提供的策略的评估。

一旦完全评估了策略,则本地服务确定(操作314)响应于捕捉到的输入继续什么策略。在发送了响应之后,本地服务向服务平台报告(操作318)所提供的响应。

图4示出了由输入服务部件进行处理的示例性方法。例如,方法400可以由系统执行,所述系统例如是图1的系统100、图2的系统200、或者包括被配置为存储和执行程序或指令的至少一个处理设备的任何系统。然而,方法400不限于这样例子。可以通过一个或多个处理设备执行方法400。在其它例子中,可以通过输入理解服务或应用执行方法400。

方法400的流程开始于操作402,其中在服务平台处接收来自本地服务的输入。本地服务是与图1(本地平台102)和图2(本地平台202)中描述的本地平台相关联的程序或应用。上文在图1(服务平台104)和图2(服务平台204)的描述中提供了服务平台的描述。可以在服务平台的部件处从本地服务的部件接收输入。

在操作404处,评估针对接收到的输入的上下文。参考在图1的描述中详述的输入上下文部件110和124来描述针对接收到的输入的上下文的评估。基于对接收到的输入的上下文的评估,生成响应接收到的输入的策略(操作406)。如前所识别出的,策略是响应输入的一个或多个动作。策略可以基于本地服务所拥有的、服务平台也不能访问的的信息是有条件的。被部分评估的策略的生成可以包括用服务平台能够提供的信息填充策略以及识别服务平台不可用的信息,例如,本地服务所维持的私有信息。利用服务平台可用的知识资源(例如,图1的知识存储库126),服务平台能够识别能够完成的参数以及需要本地服务填充的参数。服务平台可以生成与其被部分评估的策略相关联的指令,使得本地服务能够容易地完成被部分评估的策略,而无需大量的计算资源。然后,服务平台将被部分评估的策略传输(操作408)到本地服务,以供本地服务完成策略并最终决定如何响应接收到的输入。

图5-7及其相关联的描述提供了可以实施本发明的例子的多种操作环境的讨论。然而,相对图5-7图示和讨论的设备和系统是为了示例和图示的目的,而不是对本文描述的可用于实施本发明的例子的大量的计算设备配置进行限制。

图5是示出计算设备502的物理部件的框图,例如,可以实施本公开例子的输入理解系统的部件。下文描述的计算设备部件可以适于上述计算设备。在基本配置中,计算设备502可以包括至少一个处理单元504和系统存储器506。取决于计算设备的配置和类型,系统存储器506可以包括但不限于易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪存、或这些存储器的任意组合。系统存储器506可以包括操作系统507以及一个或多个程序模块508,其适于运行软件应用520,例如,应用528、IO管理器524和其它实用程序526。例如,系统存储器506可以存储用于执行的指令。系统存储器506的其它例子可以是例如知识资源的部件。操作系统507例如可以适于控制计算设备502的操作。此外,可以结合图形库、其它操作系统、或任意其它应用程序实施本发明的例子,并且本发明的例子不限于任何特定的应用或系统。在图5中通过虚线522内的那些部件示出了该基本配置。计算设备502可以具有额外的特征或功能。例如,计算设备502还可以包括额外的数据存储设备(可移除的和/或不可移除的),例如磁盘、光盘或磁带。在图5中通过可移除存储设备509和不可移除存储设备510示出了这种额外的存储设备。

如上所述,多个程序模块和数据文件可以被存储在系统存储器506中。在处理单元504上执行时,程序模块508(例如,应用528、输入/输出(I/O)管理器524以及其它实用程序526)可以执行过程,所述过程包括但不限于例如图3到图4中示出的操作方法300-400的一个或多个阶段。可以根据本发明的例子使用的其它程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表单应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。

此外,可以在电路中或在包含电子元件或微处理器的单个芯片上实施本发明的例子,所述电路包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路。例如,可以经由片上系统(SOC)实施本发明的例子,其中在图5中示出的每个或多个部件可以被集成到单个集成电路上。这种SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟单元以及各种应用功能,所有这些都被集成(或“被烧”)到芯片基底上以作为单个集成电路。当经由SOC操作时,可以经由与计算设备502的其它部件集成到单个集成电路(芯片)上的专用逻辑来操作本文描述的功能。还可以利用能够执行逻辑操作(例如,AND、OR和NOT)的其它技术(包括但不限于机械、光、流体和量子技术)来实施本公开的例子。另外,可以在通用计算机内或在任何其它电路或系统中实施本发明的例子。

计算设备502还可以具有一个或多个输入设备512,例如键盘、鼠标、笔、声输入设备、用于语音输入/识别的设备、触摸输入设备等。还可以包括输出设备514,例如,显示器、扬声器、打印机等。上述设备是示例性的,并且可以使用其它设备。计算设备504可以包括一个或多个通信连接516,其允许与其它计算设备518进行通信。适当的通信连接516的例子包括但不限于RF发送器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。

本文使用的术语“计算机可读介质”可以包括计算机存储介质。计算机存储介质可以包括用任何方法或技术实现的用于存储信息(例如,计算机可读指令、数据结构或程序模块)的易失性和非易失性的、可移除和不可移除的介质,。系统存储器506、可移除存储设备509以及不可移除存储设备510都是计算机存储介质的例子(即,存储器存储设备)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储设备、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储信息且可由计算设备502访问的任意其它制品。任何这种计算机存储介质可以是计算设备502的一部分。计算机存储介质不包括载波或其它传播或已调数据信号。

通信介质可以由已调数据信号(例如,载波或其它传输机制)中的计算机可读指令、数据结构、程序模块、或其它数据来实现,并包括任何信息输送介质。术语“已调数据信号”可以描述这样的信号:所述信号以在所述信号中编码信息的方式来设置或改变一个或多个特性。通过例子而非限制,通信介质可以包括:有线介质,例如,有线网络或直连线连接;以及无线介质,例如,声、射频(RF)、红外、以及其它无线介质。

图6A和6B示出了移动计算设备600,例如,移动电话、智能电话、个人数字助理、平板个人计算机、膝上型计算机等,利用移动计算设备600可以实施本发明的例子。例如,移动计算设备600可以被实现为系统100或200,系统100或200的部件可以被配置为执行如图3-4中描述的处理方法以及其它例子。参考图6A,示出了用于实现例子的移动计算设备600的一个例子。在基本配置中,移动计算设备600是手持计算机,其具有输入元件和输出元件。移动计算设备600通常包括显示器605以及一个或多个输入按钮610,其允许用户将信息录入到移动计算设备600中。移动计算设备600的显示器605还可以用作输入设备(例如,触摸屏显示器)。如果被包含,则可选侧边输入元件615允许进一步的用户输入。侧边输入元件615可以是旋转开关、按钮、或任意其它类型的手动输入元件。在替代例子中,移动计算设备600可以并入更多或更少的输入元件。例如,在一些例子中,显示器605可能不是触摸屏。在另一替代例子中,移动计算设备600是便携式电话系统,例如蜂窝电话。移动计算设备600还可以包括可选键盘635。可选键盘635可以是物理键盘或在触摸屏显示器上生成的“软”键盘。在各种例子中,输出元件包括用于示出图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)、和/或音频换能器625(例如,扬声器)。在一些例子中,移动计算设备600并入振动换能器,用于为用户提供触觉反馈。在又一例子中,移动计算设备600并入输入和/或输出端口,例如音频输入(例如,麦克风插口)、音频输出(例如,头戴式耳机插口)、以及视频输出(例如,HDMI端口),用于发送信号到外部设备或从外部设备接收信号。

图6B是示出移动计算设备的一个例子的架构的框图。也就是说,移动计算设备600可以并入系统(即,架构)602以实现一些例子。在一个例子中,系统602被实现为“智能电话”,其能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传输客户端、游戏以及媒体客户端/播放器)。在一些例子中,系统602被集成为计算设备,例如,集成个人数字助理(PDA)和无线电话。

一个或多个应用程序666可以被加载到存储器662中,并在操作系统664上或与操作系统664关联地运行。应用程序的例子包括电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表单程序、互联网浏览器程序、消息传送程序,等等。系统602还在存储器662中包括非易失性存储区域668。非易失性存储区域668可以用于存储在系统602掉电时不应该丢失的持久信息。应用程序666可以使用信息并将信息存储在非易失性存储区域668中,所述信息例如是电子邮件应用使用的电子邮件或其它消息等。同步应用(未示出)也驻留在系统602上,并被编程为与驻留在主机计算机上的对应同步应用交互,以使得存储于非易失性存储区域668中的信息与存储于主机计算机处的对应信息同步。如应该理解的,其它应用也可以被加载到存储器662中,并在移动计算设备600上运行,包括本文描述的应用528、IO管理器524、以及其它实用程序526。

系统602具有电源670,其可以被实现为一个或多个电池。电源670还可以包括外部电源,例如AC适配器或供电对接插座,其对电池进行补充或充电。

系统602可以包括外围设备端口678,其执行便于系统602和一个或多个外围设备之间的连接的功能。在操作系统664的控制下进行到以及自外围设备端口672的传输。换句话说,可以经由操作系统664将由外围设备端口678接收到的通信传播到应用程序666,反之亦然。

系统602还可以包括无线电设备672,其执行发送和接收射频通信的功能。无线电设备672经由通信载波或服务提供商便于系统602和“外部世界”之间的无线连接。在操作系统664的控制下进行到以及自无线电设备672的传输。换句话说,可以经由操作系统664将由无线电设备672接收到的通信传播到应用程序666,反之亦然。

视觉指示器620可以用于提供视觉通知,和/或音频接口674可以用于经由音频换能器625产生可听通知。在图示的例子中,视觉指示器620是发光二极管(LED),音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当被激活时,它们保持开启达由通知机构指示的持续时间,即使处理器660和其它部件可能为了节约电池电源而关闭。可以对LED编程以无期限地保持开启,直到用户采取动作来指示设备的通电状态。音频接口674用于向用户提供可听信号并从用户处接收可听信号。例如,除了耦合到音频换能器625外,音频接口674还可以耦合到麦克风来接收可听输入,例如以便于电话会话。根据本发明的例子,麦克风还可以用作音频传感器来便于控制通知,如下文描述的。系统602还可以包括视频接口676,其支持机载摄像机630记录静止图像、视频流等的操作。

实现系统602的移动计算设备600可以具有额外的特征或功能。例如,移动计算设备600还可以包括额外的数据存储设备(可移除的和/或不可移除的),例如,磁盘、光盘或磁带。在图6B中通过非易失性存储区域668示出了这种额外的存储设备。

由移动计算设备600生成或捕捉的并经由系统602存储的数据/信息可以本地存储于移动计算设备600上,如上所述,或者数据可以存储于任意数量的存储介质上,设备可以经由无线电设备672或经由移动计算设备600和与移动计算设备600相关联的分离计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接访问所述存储介质。如可以理解的,可以通过移动计算设备600经由无线电设备672或经由分布式计算网络访问这种数据/信息。类似地,可以在计算设备之间根据已知的数据/信息转移和存储方式(包括电子邮件和协作数据/信息共享系统)容易地转移这种数据/信息,以用于存储和使用。

图7示出了用于向一个或多个客户端设备提供可靠地访问存储系统上的目标数据并处理通信故障的应用的系统的架构的一个例子,如上面所描述的。被应用528、IO管理器524、其它实用程序526和存储设备访问的、与其交互的或关联于其编辑的目标数据可以被存储于不同的通信信道或其它存储类型中。例如,可以利用目录服务722、网络门户724、邮箱服务726、即时消息传送存储库728、或社交网站730存储各种文档,应用528、IO管理器524、其它实用程序526和存储系统可以使用这些类型的系统中的任意一个或者其它来支持数据利用,如本文所描述的。服务器720可以通过网络715提供存储系统,以供在通用计算设备502和移动设备600上操作的客户端使用。通过示例,网络715可以包括互联网或任意其它类型的局域网或广域网,并且客户端节点可以被实现为计算设备502,其具体体现于个人计算机、平板计算设备中和/或由移动计算设备600(例如,智能电话)体现。客户端计算设备502或600的这些例子中的任一个可以从存储库716获得内容。

非限制性例子描述了一种在系统上执行的、计算机实现的方法,所述系统包括:存储器;以及与所述存储器连接的至少一个处理器,其被配置为执行过程。执行的方法或过程包括:在本地平台处捕捉输入;将捕捉到的输入发送给与本地平台分离的服务平台;从所述服务平台接收响应于捕捉到的输入生成的至少一个被部分评估的策略;通过将本地平台私有的信息应用于被部分评估的策略来完成被部分评估的策略;以及基于完成,确定用于对捕捉到的输入进行响应的最终动作。所述确定根据一个或多个被部分评估的策略和由本地平台生成的一个或多个策略来确定最终动作。被部分评估的策略包括基于在完成时输入的、本地平台私有的信息的条件动作。输入包括将与私有信息相关联的丢失特征的值插入到被部分评估的策略以生成被完全评估的策略。被部分评估的策略包括关于需要由本地平台填充以生成被完全评估的策略的特征的指令。例如,本地平台是在处理设备上运行的应用或服务。

在一个例子中,执行的完成还包括:将本地平台私有的信息输入到被部分评估的策略,以生成被完全评估的策略。通过比较完成的策略并基于比较选择最终动作而确定最终动作。在另一例子中,所述方法或过程还包括:识别与捕捉到的输入相关联的非敏感上下文数据,以及将所述非敏感上下文数据连同捕捉到的输入一起传输给服务平台,以用于生成被部分评估的策略。在又一例子中,执行的所述方法或过程还包括:向服务平台报告本地平台所采取的最终动作。

另一非限制性例子描述了包含指令的计算机可读存储设备,所述指令在至少一个处理器上被执行时,使得处理器执行过程。所执行的过程包括:从本地平台接收输入;当与本地平台分离的服务平台缺少做出关于如何响应接收到的输入的最终决定所需要的信息时,在服务平台处生成至少一个被部分评估的策略以用于响应接收到的输入,其中所述生成将知识数据应用于接收到的输入以生成被部分评估的策略;以及将被部分评估的策略发送给本地平台以供进一步评估。在一个例子中,生成被部分评估的策略还包括:基于包括知识数据的、服务平台可用的数据,填充除了由本地平台维持的私有信息外的信息,其包括与私有信息相关联的参数。在另一例子中,所述生成生成多个被部分评估的策略,所述多个策略基于由本地平台维持的、做出最终决定所需的信息是有条件的,并且所述发送将多个被部分评估的策略发送给本地平台以基于发送的被部分评估策略和本地平台维持的私有信息做出最终决定。

贯穿该说明书已经提及“一个例子”或“例子”,这表示特别描述的特征、结构或特性包含于至少一个例子中。因此,使用这种短语可以指的是多于仅一个例子。此外,可以以任意适当的方式在一个或多个例子中组合所描述的特征、结构或特性。

然而,相关领域的技术人员可以认识到可以在不具有一个或多个具体细节的情况下,或者通过其它方法、资源、材料等来实施这些例子。在其它实例中,没有详细示出或描述已知的结构、资源或操作,仅仅是只为了避免使例子的各方面模糊。

虽然已经图示和描述了样本例子和应用,但是可以理解的是,例子不限于上述精确的配置和资源。可以在本文公开的方法和系统的布置、操作和细节中进行对本领域技术人员而言显然的各种修改、改变和变型,而不偏离所要求保护的例子的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号