首页> 中国专利> 汇编和评估对隐私问题的自动助理响应

汇编和评估对隐私问题的自动助理响应

摘要

本文描述了用于汇编/评估对隐私问题的自动助理响应的技术。在各种实施方式中,自由形式的自然语言输入可以从第一用户接收并且可以包括对与第二用户有关的信息的请求。可以识别出可以由自动助理访问以检索与第二用户相关联的数据的多个数据源。多个数据源可以共同地包括足够的数据以制定对请求的自然语言响应。与多个数据源相关联的相应隐私分数可以被用来确定与对该请求的响应相关联的合计隐私分数。然后,可以响应于确定与自然语言响应相关联的合计隐私分数满足相对于第一用户为第二用户建立的隐私标准,在由第一用户操作的客户端设备上输出自然语言响应。

著录项

  • 公开/公告号CN112262381A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201880094452.7

  • 发明设计人 桑德罗·弗兹;塞米·依加扎勒;

    申请日2018-08-07

  • 分类号G06F16/9032(20190101);G06F16/9537(20190101);G06F21/00(20130101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人李佳;周亚荣

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:36:59

说明书

背景技术

人类可以利用本文被称为“自动助理”(也称为“聊天机器人”、“虚拟助理”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“谈话代理”等)的交互式软件应用参与人机对话。例如,人类(当他们与自动助理交互时可以被称为“用户”)可以使用自由形式的自然语言输入来提供命令、查询和/或请求,该自由形式的自然语言输入可以包括被转换为文本然后被处理的口头话语和/或键入的自由形式的自然语言输入。

存在多种情况,其中,一个人可能期望与服务另一用户的自动助理进行通信,或者至少提供与服务另一用户的自动助理进行通信的表象。假设第一用户希望参与通过服务另一用户的自动助理可用的动作。例如,第一用户可能希望控制在另一用户的自动助理的控制下的一个或多个智能设备。这些动作可能需要来自多个数据源的信息,以确保符合由第二用户建立的设置。在另一个示例中,第一用户可能希望跨多天时间间隔安排与第二用户的晚餐。为了确定第二用户的可能性,第一用户可以致电、发送电子邮件或发短信给第二用户。但是,第二用户可能无法应答第一用户的问题,或者可能希望不被打扰。在这种情况下,自动助理可以介入并向第一用户提供有关第二用户的可能性的信息。但是,为了响应第一用户的请求(尤其是开放性和非特定性请求),自动助理可能需要访问存储与第二用户相关联的数据的多个数据源。此外,至少一些数据源可能存储第二用户可能认为是隐私或高度敏感的数据。例如,大多数用户通常会认为诸如个人在线日历、电子邮件、文本消息等的数据相对隐私和/或敏感。此外,响应第一用户的请求所需的一些数据可能仅可用在由第二用户操作的客户端设备上。

发明内容

本文描述了用于当请求源自其他用户(例如房主的访客,或操作特定设备的“访客”用户,在本文中也被称为“请求用户”)时,安全地响应对自动助理的请求,以根据与给定用户(例如,房主或更通常地,控制/拥有提供自动助理访问的设备的用户,本文也被称为“主体用户”)相关联的信息而动作的技术。在各种实施方式中,由第一用户提交的、有关与第二用户相关联的信息的请求可以是相对广泛和/或开放式的。满足这样的请求可能需要访问存储与第二用户相关联的数据的多个数据源。本文描述的技术可用于合计与这些数据源和/或从这些数据源获得的数据相关联的单个隐私分数,并且基于合计隐私分数来确定是否(或有多具体地)对请求做出响应。

在一些实施方式中,自动助理可以基于来自多个数据源的多个数据来制定自然语言响应,并且该自然语言响应可以与合计隐私分数相关联。替代地,自动助理可以执行动作(诸如控制一个或多个设备)。可以确定合计数据分数是否满足某些标准,诸如不超过隐私阈值。如果满足标准(例如,合计隐私分数不超过隐私阈值),则所制定的自然语言响应可以由自动助理输出给请求用户和/或可以执行由请求用户所请求的动作。

作为示例,假设Dave向自动助理提交下述请求:“When is Alice free fordinner?(Alice什么时候有空吃晚饭?)”Alice不一定必须维护完整日历,尤其是对于在工作时间以外发生的社交活动。因此,为了回答这个问题,自动助理可能需要访问Alice日历之外的数据源,诸如Alice的电子邮件或短消息(可能包含有关即将到来的晚餐计划的交流)或Alice的当前位置(如果Alice很远的话,就排除了在不久的将来吃晚餐的可能性)。

假设Alice先前为Dave提供了至少一些访问她的日历的权限(或者通常至少用信号告知Dave有资格获得更高信任)。这意味着代表Dave从Alice的日历中获得的任何数据都可能被指配相对较低的隐私分数。但是,Alice可能会认为她的电子信件和/或当前位置更为隐私/敏感。因此,从那些来源获得的数据可能具有相对较高的隐私分数。假设自动助理能够使用来自所有三个来源的数据确定从周二起一周,Alice有空吃晚餐。自动助理可以制定自然语言响应,诸如“Alice is available for dinner a week from Tuesday.(从周二起一周,Alice有空吃晚餐。)”。但是,自动助理可能尚未向Dave提供该响应。相反,自动助理可能确定和/或评估由三个基本数据源确定的合计隐私分数,并且确定相对于Dave(或至少相对于该特定请求)的Alice的隐私标准不允许自动助理提供该响应。因此,自动助理可能会告知Dave:“Sorry,I can’t provide that information.(抱歉,我无法提供该信息。)”在一些实施方式中,自动助理(或者,从技术上讲,自动助理的另一个实例)可以同时寻求Alice的许可,以向Dave提供对其请求的答复。

在另一个示例中,Dave正在Alice家拜访。Dave可以请求自动助理“Turn up theheating(调高供暖)”。与该请求有关的数据源可以提供与自动助理链接的加热系统被设置的当前温度。Alice可能愿意与Dave分享该数据。但是,Alice可以另外根据设定时间表和她的当前位置来控制她的供暖。由于如上所述,Alice可能认为位置信息敏感,因此执行请求所需的数据源的合计隐私分数可能会是Dave不满足隐私标准。如果是这样,自动助理可能会回复“Sorry,I can’t help with that(对不起,我不能帮忙)”或类似内容。如果Dave确实满足隐私标准,则自动助理可以执行相关操作(例如,通过指示供暖系统做出相应响应)。

在一些实施方式中,自动助理可以继续并汇编足够的数据以制定答复(在下文中称为“履行信息”),然后将该答复呈现给Alice,作为向Alice征求将其呈现给Dave的许可的一部分。在一些这类实施方式中,甚至可以向Alice提供可听或可视的输出,以识别用于生成答复的数据源,每个数据源中的数据点都被用于汇编答复。这样,Alice就能准确地明白如何汇编答复,并且决定是否允许将答复呈现给Dave。

在一些实施方式中,主体用户对这些请求的响应可以被用来确定应当履行还是拒绝将来的请求。例如,在一些实施方式中,答复、所使用的数据源、Dave的属性、Dave和Alice之间的关系的属性等的各个方面可以被用来生成特征向量,然后将其标记为正或负训练示例(取决于Alice允许还是拒绝该请求),并且被用来训练机器学习模型。可替代地,如果Alice拒绝许可,则可以被用作负训练示例(即,拒绝访问)。在任一情况下,可以训练机器学习模型(例如,神经网络、支持向量机等)以生成输出,该输出指示是否应当向请求用户提供响应于其请求的信息。对于将来的请求,可以基于请求的属性(例如,单词数、语义/句法属性、广度等)、请求用户、主体用户、请求和主体用户之间的关系等来生成未标记的特征向量,并且将其用作跨经训练的机器学习模型的输入,以生成指示是否应当履行该请求的输出。

在各种实施方式中,不同的数据源可以具有不同的隐私分数。例如,线上(例如,形成通常称为“云”计算系统的一个或多个服务器上)可用的数据源可以比(例如)仅在由用户操作的一个或多个客户端设备上本地可用的数据源具有更低的隐私分数。作为另一个示例,用户可以将隐私分数显示地指配给不同的数据源。例如,用户可以选择使她的日历不像(例如)电子信件那么私密。在一些实施方式中,例如,可以基于隐私和/或敏感性的一般概念,为一些数据源任意地或默认地指配不同的隐私分数。例如,大多数用户可能会同意他们的个人电子信件(例如,电子邮件、短消息)比(例如)至少部分地可供他人使用的数据源(诸如社交网络简档)更具私密性。作为另一示例,大多数用户认为用户的浏览和/或搜索历史要比(例如)用户推荐给他人的歌曲播放列表或餐馆更具私密性。

附加地或可替代地,在一些实施方式中,可以使用数据本身而不是从中提取数据的源来确定其隐私分数。假设履行第一用户的要求需要第二用户的信用卡信息。例如,儿子可能会说:“Hey assistant,can you order me a supreme pizza to be delivered from.We can use mom’s VISA(嘿,助理,你能帮我订一份来自的至尊比萨吗?我们可以使用妈妈的VISA)。”这样的高度敏感的信息可以被指配相对较高的隐私分数,不管其是从何处提取的。在该示例中,如果合计隐私分数不满足隐私标准,则可以拒绝儿子的请求。

使用本文所述的技术,自动助理可以使用各种标准来确定是否向请求用户提供关于另一用户的信息。如上所述,在一些实施方式中,合计隐私分数低于某个隐私阈值则足够了。在各种实施方式中,可以以各种方式确定这类隐私阈值。在一些实施方式中,可以基于与用户请求相关联的特定性或粒度的度量(例如,作为滑尺)来确定隐私阈值。换句话说,用户请求的广度可以被用来确定对隐私问题应当进行严格审查的程度。这可以降低请求者能够从一般答复中推断出关于其他用户的特定信息的可能性。

例如,寻求非常具体的信息的请求(例如,“Where will Axel be at 11PMtomorrow night?”(“明天晚上11点Axel会在哪里?”))可能会受到相对严格的审查。可以将隐私阈值设置为相对较低,因此可以更容易地匹配和/或超过该隐私阈值(在这种情况下,该请求将被拒绝)。相比之下,寻求更粗略、不太具体的信息的请求(例如,“Is Cynthiaavailable for Dinner tomorrow or Wednesday?”(“Cynthia明天或星期三有空晚餐吗?”))可能不太会受到严格审查。例如,可以将隐私阈值设置为相对较高,因此可能更难以违反。

可以基于信号而不是时隙或与用户相关联的位置来确定请求的广度。例如,诸如“Does George like historical fiction?(George喜欢历史小说吗?)”的一般性或广泛请求与(例如)诸如“Does George already own an electronic copy of‘Gone with theWind’?(George已经拥有了《飘》的电子版吗?)”的非常具体的请求相比,可能受到更少审查(例如,与响应相关联的合计隐私分数可以与相对较高的隐私阈值进行比较)。作为另一示例,诸如“Does Antoine like seafood?(Antoine喜欢海鲜吗?)”的请求可能比(例如)诸如“When has Antoine most recently eaten at?(Antoine最近什么时候去过?)”的非常具体的请求受到更少审查。

用户经常例如通过选择不同的语音合成器来定制其自动助理体验的各个方面。本文所述的技术可以利用这些自定义项,以便增强正与另一个用户的自动助理进行交谈的表象。例如,Dave可以将他的自动助理客户端设置为男性语音,而Alice可以将她的自动助理客户端设置为女性语音。因此,当Dave调用自动助理的实例(并假设他的身份已查明)时,他会听到男性语音。同样地,当Alice调用自动助理的实例时,她听到女性语音。在各种实施方式中,可以采用本文描述的技术,使得当Dave调用寻求与Alice的自动助理进行通信时,可以为Dave调用的自动实例激活Alice所采用的女性语音合成器。因此,即使Dave可能仍在与在他自己的计算设备上执行的他自己的自动助理客户端交互,他仍然能听到Alice助理的声音,为Dave有效地提供了正与Alice助理交谈的体验。

在一些实施方式中,可以有选择地从特定用户(有时在本文中被称为“主体用户”)遮掩向请求用户泄露关于该特定用户的相对无害的信息。在向主体用户告知关于请求用户的请求和/或所泄露的信息之前,可能要求主体用户首先提供某种输入。这(例如)对于用户能够为其他用户购买礼物可以是有利的。假设名叫Jack的用户询问自动助理“Does Marylike peonies?(Mary喜欢牡丹吗?)”如果立即告知MaryJack曾经问过这个问题,那将是不幸的,因为当Jack送给她牡丹时,她就不会感到惊讶。因此,利用本文所述的技术,可能仅向Mary推送告知她有人询问了她的品味、可能给她购买了一份礼物等的输出(例如,她的主屏幕上的卡片)。该输出可能未指定请求或响应信息,除非Mary采取某些肯定动作,诸如点击输出。

在一些实施方式中,该特征可能仅对被认为非常可信赖的用户可用。例如,如果丈夫向妻子的助理询问结婚周年纪念的餐厅推荐,则妻子的自动助理(或在某些情况下,呈现为服务妻子的自动助理的实例)可以搜索一个或多个数据源(例如妻子的收据历史、妻子的过去电子信件、妻子的日历条目等),并且如本文所述制定答复。由于妻子可能高度信任丈夫,因此该请求的隐私阈值可以被确定为相对较高。因此,即使从与妻子相关联的多个高度敏感的数据源中提取所制定的答复,也可能无法达到隐私阈值,并且可能会为丈夫提供一个或多个餐厅推荐。同时,可以仅向妻子呈现指示丈夫的请求的模糊的输出。输出可能无法识别丈夫或请求的性质,目的是允许妻子保留惊喜。相比之下,如果不同的用户(诸如妻子的同事)请求类似的信息(对妻子的餐厅推荐),则可能会或可能不会向他们提供响应信息,并且可能已经向妻子推送了有关该请求的更详细的信息。

本文描述的技术带来了多种技术优势。制定对相对开放性和/或广泛请求的响应使得自动助理能够“隐藏”相对广泛的答复中的各个数据点,保护了特定数据点中的用户的隐私。例如,在上文的示例中,Alice的电子信件可以透露相对具体的数据点,例如,她周日晚上7:30在餐厅A吃晚餐以及星期一晚上7:00在餐厅B吃晚餐。但是,最终制定的响应“Alice星期二有空吃晚餐”为Dave提供了令人满意的答复,而不会泄露比所需更多的关于Alice个人生活的信息。作为另一个示例,用户能够确定关于其他用户的信息,而无需与其他用户实际建立通信(例如,电话、电子信件),或者不必反复尝试与其他用户建立通信。这样可以节省网络资源和/或时间,否则用户可能会花时间来反复尝试彼此连接。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:经由第一用户操作的客户端设备,从第一用户接收自由形式的自然语言文本片段,其中,自由形式的自然语言文本片段包括与第二用户有关的请求;识别可由自动助理访问以检索与第二用户相关联的数据的至少第一和第二数据源,其中,第一和第二数据源包括足以响应请求的数据;确定与第一数据源相关联的第一隐私分数和与第二数据源相关联的第二隐私分数;基于第一隐私分数和第二隐私分数,确定与响应请求相关联的合计隐私分数;以及响应于确定与响应请求相关联的合计隐私分数满足相对于第一用户为第二用户建立的隐私标准,使得由第一用户操作的客户端设备响应请求。

本文公开的技术的这些和其他实施方式可以可选地包括下述特征中的一个或多个。

请求可以是对信息的请求,并且使得客户端设备响应对信息的请求可以包括使得客户端设备输出对对信息的请求的自然语言响应。可替代地,该请求可以是控制一个或多个设备的请求,并且使得该设备响应该请求可以包括向一个或多个设备发送指令。

在各种实施方式中,该方法可以进一步包括:从第一数据源获得第一数据点以及从第二数据源获得第二数据点;以及基于第一数据点和第二数据点来制定自然语言响应。在各种实施方式中,第一数据源可以包括日历数据库或位置服务。在各种实施方式中,第一数据源可以包括由第二用户发送或接收的通信的语料库。在各种实施方式中,通信的语料库被本地存储在由第二用户操作的第二客户端设备上。

在各种实施方式中,确定与第一数据源相关联的第一隐私分数可以包括:确定第一数据源对于由第二用户所操作的第二客户端计算设备是本地的。在各种实施方式中,确定与第二数据源相关联的第二隐私分数可以包括:确定第二数据源在远离由第二用户操作的任何客户端计算设备的一个或多个服务器上可用。在各种实施方式中,第一隐私分数可能对合计隐私分数的影响大于第二隐私分数。

在各种实施方式中,确定与自然语言响应相关联的合计隐私分数满足相对于第一用户、为第二用户建立的隐私标准可以包括:将指示第一和第二数据源的数据应用为跨经训练的机器学习模型的输入以生成输出,其中,输出被用来确定是否满足隐私标准。

在各种实施方式中,隐私标准可以包括隐私阈值。在各种实施方式中,可以基于对与第二用户有关的信息的请求的广度来选择隐私阈值。

另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置成使得执行前述方法中的任何一个。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行前述方法中的任何一个的计算机指令。

应当意识到,本文更详细描述的前述概念和附加概念的所有组合被设想为是本文公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合被设想为是本文公开的主题的一部分。

附图说明

图1是可以实现本文公开的实施方式的示例性环境的框图。

图2A和2B描绘了根据各种实施方式,其中采用所公开的技术的用户和自动助理之间的对话的示例性场景。

图3、4和5描绘了其中可以采用所公开的技术的附加的示例性场景。

图6描绘示出根据本文公开的实施方式的示例性方法的流程图。

图7示出了计算设备的示例性架构。

具体实施方式

现在转到图1,示出了可以实现本文公开的技术的示例性环境。示例性环境包括多个客户端计算设备106

在各种实施方式中,自动助理客户端118的实例通过其与一个或多个基于云的自动助理组件119的交互,可以形成从用户的角度看似乎是自动助理120的逻辑实例,用户可以利用该自动助理120参与人机对话。在图1中描绘这种自动助理120的两个实例。虚线环绕的第一自动助理120A为操作第一客户端设备106

客户端设备106

在一些实施方式中,给定的用户可以利用总体上来自计算设备的协调“生态系统”的多个客户端计算设备106与自动助理120进行通信。在一些这样的实施方式中,自动助理120可以被认为“服务”该给定的用户,例如,赋予自动助理120对由“所服务的”用户控制其访问的用户控制的内容(例如,资源、文档等)的增强的访问。

例如,在图1中,用户控制的资源引擎134可以在一个或多个计算设备(又可以被统称为“云”)上实现,以控制对资源(例如,由每一用户控制的数据)的访问。在一些实施方式中,用户控制的资源引擎134可以可操作地与一个或多个计算系统耦合,该计算系统经由通常以110

在一些实施方式中,用户控制的资源引擎134可以包括一个或多个访问控制列表(图1中的“ACL”)136,其管控对用户用户控制数据的各种源的访问。在一些实施方式中,访问控制列表136可以指示关于存储由各个用户控制的数据的一个或多个数据源的访问权限。访问控制列表136可以采用各种形式,诸如数据库条目或访问控制条目的列表,其包括(对于每个用户)其他人可访问由该用户控制的哪些内容(包括其他人的自动助理)、可如何访问(例如,读取、写入等)的指示,依此类推。

在一些实施方式中,访问控制列表136可以(对于每个用户)包括与其他用户相关联的隐私阈值的列表。这些隐私阈值可以是特定于用户的,或者可以与用户组、用户类别等相关联。在一些实施方式中,可以将这些隐私阈值与由自动助理汇编的与响应相关联的合计隐私分数进行比较,以确定是否履行用户的请求。例如,假设Bob为Delia设置的隐私阈值设置为(例如,十分中的)5。进一步假设,Delia向自动助理120发出请求,要求来自三个不同数据源的数据,并最终生成为6的合计隐私分数(假设通过求和各个隐私分数确定合计分数)。在一些实施方式中,由于合计隐私分数6超过了隐私阈值5,因此可能无法履行Delia的请求。合计分数不仅限于单个隐私分数的总和。在各种实施方式中,可以使用其他技术,诸如加权总和、各种等式、训练的机器学习模型、与多个数据源相关联的多个隐私分数的平均值/平均数/中值,由各个隐私分数确定合计分数。

用户控制的数据可以包括与每个用户相关联的各种数据,并且可以来自云中和/或本地存储在客户端设备106上的各种不同的数据源。例如,在图1中,用户控制的资源引擎134有权访问基于云的数据源,诸如在线日历142、在线电子邮件144、社交媒体146、云存储148和定位坐标服务150。

在线日历142可以包括与一个或多个用户账户相关联的日历条目和/或其他数据实例(例如,提醒、待办事项列表等)。在线电子邮件144可以包括与一个或多个用户账户相关联的电子邮件和其他电子信件(例如,文本消息、社交媒体帖子等)。云存储148可以存储与各种用户(在许多情况下,与用户的一个或多个账户)关联的文档,诸如用户存储在所谓的“云”驱动器上的文档。基于云的数据源还可以包括在请求时,提供各种用户数据的服务,诸如可以在请求时,提供特定用户的当前和/或过去位置的定位坐标服务150。在图1中未具体描绘的其他数据源可以包括与用户行为有关的数据,诸如搜索查询历史(例如,搜索日志)、与自动助理120的过去的谈话、提醒列表、购物列表、位置历史等等。

与特定用户相关联的用户控制数据可以与该用户的“用户账户”相关联。在一些情况下,用户可以(例如,使用各种凭证,诸如用户名/密码、生物特征等)在一个或多个客户端设备上登录他或她的用户账户,从而为服务用户的自动助理120(包括本地执行的客户端118和任何在线组件119)赋予对这些资源的访问权。在一些情况下,自动助理120可以通过关联的用户账户,获得对用户控制的数据的访问权。例如,当用户在特定客户端设备106上安装自动助理客户端118或与之首次交互时,用户可以向自动助理120授予访问一些或所有用户控制的数据的权限。换句话说,用户有效地授予自动助理120对用户控制的数据的访问权。在一些情况下,这可以包括修改访问控制列表136(或其他类似的安全机制)。

每个客户端计算设备106

如本文中更详细地描述,自动助理120经由一个或多个客户端设备106

客户端计算设备106

自动助理120(并且特别地,基于云的自动助理组件119)可以包括意图匹配器135、文本到语音(“TTS”)模块116、语音到文本(“STT”模块117以及下文将更详细描述的其他组件。在一些实施方式中,可以在与自动助理120分离的组件中省略、组合和/或实现自动助理120的一个或多个模块和/或模块。在一些实施方式中,为了保护隐私,诸如自然语言处理器122、TTS模块116、STT模块117等的自动助理120的一个或多个组件可以至少部分地在客户端设备106上实现(例如,排除在云之外)。

STT模块117可以被配置为例如使用STT处理技术,将由自动助理客户端118捕获的音频转换为文本和/或其他表示或嵌入。在一些实施方式中,STT模块117可以被配置为利用云的实际上无限的资源将由言语捕获模块110捕获的音频数据转换为文本,然后可以将其提供给意图匹配器135。在一些实施方式中,STT模块117可以将言语的音频录音转换为一个或多个音素,然后将一个或多个音素转换为文本。附加地或替代地,在一些实施方式中,STT模块117可以采用状态解码图。在一些实施方式中,STT模块117可以生成用户话语的多个候选文本解释。在一些实施方式中,STT模块117可以取决于是否存在例如通过混杂提示(misc.cues)模块112,同时检测到的其他提示来比其他候选文本解释更高地加权或偏向特定候选文本解释。

混杂提示模块112可以检测除可听提示以外的各种提示,诸如由客户端设备106上的视觉传感器(未示出,例如,相机或被动红外传感器)检测到的视觉提示。例如,用户当向自动助理发出声音请求时,可以举起一些预定数量的手指,并且手指的数量可以被检测为用作用户请求的参数的提示。可以由模块112检测到的其他类型的提示包括但不限于(例如,来自定位坐标传感器的)位置提示、无线信号(例如,蓝牙、Wi-Fi、蜂窝电话)等等。在一些实施方式中,TTS模块116可以被配置为例如使用一个或多个语音合成器,将文本转换为计算机合成的言语,该语音合成器可以例如由用户选择、基于用户的区域和/或人口统计而自动选择等。并且如本文其他地方所指出的,除了在云上或代替在云上,模块116、117和112的全部或部分可以在客户端设备106上实现。

在一些实施方式中,在与自动助理120的人机对话会话期间,自动助理120响应于由客户端设备106之一的用户生成的各种输入来生成响应内容。自动助理120可以(例如,在与用户的客户端设备分离时通过一个或多个网络)提供响应内容,以作为对话会话的一部分呈现给用户。例如,自动助理120可以响应于经由客户端设备106

如本文中所使用的,“对话会话”可以包括用户和自动助理120(在一些情况下,其他人类参与者)之间的一个或多个消息的逻辑上自包含的交换。自动助理120可以基于各种信号,在与用户的多个对话会话之间进行区分,所述各种信号诸如会话之间的时间流逝、会话之间的用户场境的变化(例如,位置、安排的会议之前/期间/之后等)、除了在用户和自动助理之间的对话之外的用户与客户端设备之间的一个或者多个中间交互的检测(例如,用户切换应用一会儿、用户离开然后返回到独立的语音激活产品)、会话之间的客户端设备的锁定/睡眠、用于与自动助理120的一个或多个实例对接的客户端设备的变化等等。

意图匹配器135可以被配置为基于由用户提供的输入(例如,口头话语、视觉提示、来自模块112的其他提示等)和/或基于其他信号,诸如传感器信号、在线信号(例如,从Web服务获得的数据)等等来确定用户的意图。在一些实施方式中,意图匹配器135可以包括自然语言处理器122和上述混杂提示模块112。

自然语言处理器122可以被配置为处理由用户经由客户端设备106生成的自然语言输入,并且可以生成(例如,以文本形式的)注释输出以供自动助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户接口输入设备生成的自然语言自由形式的输入。所生成的注释输出包括自然语言输入的一个或多个注释以及自然语言输入的一个或多个(例如,全部)术语。

在一些实施方式中,自然语言处理器122被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态模块,该形态模块可以将单个单词分离为词素和/或例如利用它们的类别注释这些词素。自然语言处理器122还可以包括言语标注器的一部分,该言语标注器被配置成利用术语的语法角色来注释该术语。例如,言语标注器的部分可以用其言语部分,诸如“名词”、“动词”、“形容词”、“代词”等标记每个术语。此外,例如,在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括被配置为确定自然语言输入中的术语之间的句法关系的依存分析器(未图示)。例如,依存分析器可以确定哪些术语修饰其他术语、句子的主语和动词等等(例如,分析树),并且可以对这种依存性进行注释。

在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括实体标注器(未图示),该实体标注器被配置为在一个或多个片段中注释实体参考,诸如对人(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和虚构的)等等的参考。在一些实施方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如存储在知识图(未图示)中。在一些实施方式中,知识图可以包括代表已知实体的节点(并且在一些情况下,实体属性),以及连接节点并且代表实体之间的关系的边。例如,“香蕉”节点可以(例如,作为子节点)连接到“水果”节点,其继而可以(例如,作为子节点)连接到“农产品”和/或“食物”节点。作为另一个示例,称为“Hypothetical Café”的餐厅可以由节点表示,该节点还包括诸如其地址、所供应食物的类型、营业时间、联系信息等属性。在一些实施方式中,“HypotheticalCafé”节点可以通过边(例如,代表子节点与父节点的关系)连接到一个或多个其他节点,诸如“餐厅”节点、“企业”节点、表示餐厅所在城市和/或州的节点等等。

自然语言处理器122的实体标注器可以以高粒度级(例如,以使得能够标识对诸如人的实体类别的所有参考)和/或低粒度级(例如,以使得能够标识对诸如特定人的特定实体的所有参考)注释对实体的参考。实体标注器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库进行通信以解析特定实体。

在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括被配置成基于一个或多个场境提示来对同一实体的参考进行分组或“聚类”的共同参考解析器(未图示)。例如,可以利用共同参考解析器来将术语“there(那里)”解析为自然语言输入“Iliked Hypothetical Cafélast time we ate there(我喜欢我们上次去那里用过餐的Hypothetical Café)”中的“Hypothetical Café”。

在一些实施方式中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实施方式中,在注释对特定实体的所有提及时,命名的实体标注器可以依赖于来自于共同参考解析器和/或依存分析器的注释。同时,例如,在一些实施方式中,在聚类对同一实体的参考时,共同参考解析器可能依赖于来自依存分析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的在前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。

意图匹配器135可以使用各种技术,例如基于来自自然语言处理器122的输出(可以包括自然语言输入的注释和术语)和/或基于混杂提示模块112的输出来确定用户的意图。在一些实施方式中,意图匹配器135有权访问一个或多个数据库(未图示),该数据库包括例如语法之间的多个映射、其他提示和响应动作(或更一般地,意图)。在许多情况下,这些语法可能会随着时间的流逝而被选择和/或学习,并且可能代表用户的最常见意图。例如,一个语法“play”可以被映射到调用响应动作的意图,该响应动作使得在由用户操作的客户端设备106上播放的音乐。另一语法“[weather|forecast]today”可以与诸如“what’s the weather today(今天的天气如何)”和“what’s the forecast fortoday?(今天的天气预报是什么?)”的用户查询匹配。

除了或代替语法,在一些实施方式中,意图匹配器135可以单独地或组合一个或多个语法和/或其他(例如,视觉)提示,采用一个或多个经训练的机器学习模型。这些经训练的机器学习模型也可以被存储在一个或多个数据库中,并且可以被训练以识别意图,例如,通过将指示用户话语和/或任何检测到的用户提供的其他(例如,视觉)提示的数据嵌入到简化的维度空间中,然后例如使用诸如欧几里得距离、余弦相似度等的技术来确定哪些其他嵌入(以及意图)最接近。

如在“play”示例性语法中所看到的,一些语法具有可以用插槽值(或“参数”)填充的插槽(例如,)。插槽值可以以各种方式确定。用户通常会主动提供插槽值。例如,对于语法“Order me apizza(为我订购比萨)”,用户可能会说短语“给我订购一份香肠比萨”,在这种情况下,自动地填充插槽。附加地或替代地,如果用户调用包括要用插槽值填充的插槽的语法,而无需用户主动提供插槽值,则自动助理120可以向用户请求这些插槽值(例如,“what type of crust do you want onyour pizza?您想要哪种比萨饼皮?”)。在一些实施方式中,可以基于由混杂提示模块112检测到的其他提示,用插槽值填充插槽。例如,用户可以在向客户端设备106的视频传感器(未图示)举起3个手指的同时,说出象“Order me this many cat bowls(给我订购这么多猫碗)”的内容。或者,用户可以在手持特定电影的DVD盒的同时,说出象“Find me moremovies like this(帮我寻找更多这样的电影)”的内容。

在一些实施方式中,自动助理120可以充当用户与一个或多个第三方计算服务(或“第三方代理”或“代理”,未图示)之间的中介。这些第三方计算服务可以是接收输入并提供响应输出的独立软件过程。一些第三方计算服务可以采取第三方应用程序的形式,该第三方应用程序可以在或可以不在与操作例如基于云的自动助理组件119的计算系统分开的计算系统上操作。可以由意图匹配器135标识的一种用户意图将是加入第三方计算服务。例如,自动助理120可以向应用编程接口(“API”)提供对用于控制智能设备的服务的访问。用户可以调用自动助理120并且提供诸如“I’d like to turn the heating on(我想打开供暖)”的命令。意图匹配器135可以将该命令映射到触发自动助理120以参与第三方服务的语法,从而使得打开用户的供暖。第三方服务可以为自动助理120提供需要填充的最小插槽列表,以便履行(或“解析”)打开供暖的命令。在该示例中,插槽可以包括供暖被设定到的温度以及打开供暖的持续时间。自动助理120可以生成请求用于插槽的参数的自然语言输出并且(经由客户端设备106)将其提供给用户。

履行模块124可以被配置为接收由意图匹配器135输出的预测/估计意图以及相关联的插槽值(无论是由用户主动提供还是从用户请求)并且履行(或“解析”)意图。在各种实施方式中,用户意图的履行(或“解析”)可以使得例如通过履行模块124,生成/获得各种履行信息(也称为“响应”信息或“解析信息”)。如下文所述,在一些实施方式中,可以将履行信息提供给自然语言生成器(在一些附图中为“NLG”)126,其可以基于该履行信息来生成自然语言输出。

履行(或“解析”)信息可以采取各种形式,因为可以以多种方式履行(或“解析”)意图。假设用户请求纯粹的信息,诸如“Where were the outdoor shots of'The Shining'filmed?(“TheShining”的外景拍摄在哪里?)”。可以例如通过意图匹配器135,将用户的意图确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,其可以与被配置成为响应信息搜索文档的语料库和/或其他数据源(例如,知识图等)的一个或多个搜索模块150(未图示)通信。履行模块124可以向搜索模块(未图示)提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块可以提供响应信息,诸如GPS坐标,或者其他更明确的信息,诸如“Timberline Lodge,Mt.Hood,Oregon(俄勒冈州胡德山的森林界线小屋)”。该响应信息可以形成由履行模块124生成的履行信息的一部分。

附加地或可替代地,履行模块124可以被配置成例如从自然语言理解模块135接收用户的意图和由用户提供或使用其他手段确定的任何插槽值(例如,用户的GPS坐标、用户偏好等)并且触发响应动作。响应动作可以包括例如订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实施方式中,履行信息可以包括与履行、确认响应(在一些情况下可以从预定响应中选择)等相关联的插槽值。

自然语言生成器126可以被配置成基于从各个源获得的数据来生成和/或选择自然语言输出(例如,被设计为模仿人类言语的单词/短语)。在一些实施方式中,自然语言生成器126可以被配置成将与履行意图相关联的履行信息接收为输入,并且基于该履行信息来生成自然语言输出。附加地或可替代地,自然语言生成器126可以从诸如第三方应用的其他源接收信息(例如,所需的插槽),其可以用来组成用于该用户的自然语言输出。

如前所述,单个数据源可能没有足够的数据来准确地响应与用户有关的请求。例如,用户140A可能不习惯在他的在线日历142中保留下班后计划。如果用户140B要向自动助理120询问用户140A可否用餐,并且自动助理120只能检查在线日历142,当实际上用户140A的一些计划根本没有出现在他的日历上时,自动助理可能会错误地通知用户140B用户140A在特定的夜晚有空。更一般而言,当用户向自动助理120询问有关其他用户的信息时,这些请求通常是广泛的和/或开放式的,因此使用单个数据源可能无法解决。

相应地,在各种实施方式中,基于从多个不同数据源(诸如142-150中的两个或多个)检索的多个数据点,履行模块124可以生成履行信息,和/或自然语言生成器126可以制定自然语言输出。这样的话,即使在线日历142没有存储有关用户140A的夜间计划的足够信息,以通知另一个用户(诸如用户140B)用户140A是否有空在下班不久后见面也没关系。用户140A可以交换电子邮件或其他电子信件(144),和/或可以更新他的状态,或者通过社交媒体(146)将他的夜间计划通知其他人。通过咨询这些附加数据源,除了或代替在线日历142,自动助理120可能能够更有效/准确地响应来自另一个用户的有关用户140A的晚间计划的请求。

在一些实施方式中,自动助理120,例如通过履行模块124和/或自然语言生成器126,可以基于来自多个数据源的多个数据来制定自然语言响应,并且该自然语言响应可以与合计隐私分数相关联。可以确定合计数据分数是否满足某些标准,诸如不超过隐私阈值。如果满足标准(例如,合计隐私分数不超过隐私阈值),则自动助理可以将所制定的自然语言响应输出给请求用户。否则,可以拒绝该请求。

一些数据源可以存储被用户认为比其他数据更敏感和/或隐私的数据。因此,本文描述的各种技术可用来合计与这些数据源和/或从这些数据源获得的数据相关联的各个隐私分数,并且基于合计隐私分数来确定是否(或如何具体地)响应请求。例如,在线上(例如“云”计算系统上)可用的数据源与(例如)仅在由用户操作的一个或多个客户端设备上本地可用的数据源相比,可以具有更低的隐私分数。作为另一个示例,用户可以将隐私分数显式地分配给不同的数据源。例如,用户可以选择使来自在线日历142的数据比(例如)来自电子邮件数据源144的电子邮件私密性更低。在一些实施方式中,某些数据源可以例如基于隐私和/或敏感性的一般概念,任意或默认地被指配不同的隐私分数。例如,大多数用户可能会同意他们存储在144中的个人电子信件(例如,电子邮件、文本消息)比(例如)至少部分地对其他人可用的数据源(诸如可从146获得的社交网络简档)更具私密性。作为另一个示例,大多数用户认为用户的浏览和/或搜索历史比(例如)用户推荐给他人的用户的歌曲播放列表或餐馆更具私密性。

图2A和2B示出了根据本文所述的实施方式,用户101与自动助理的实例(图1中的120A或B,在图2中未图示)之间的人机对话会话如何经由客户端计算设备206的麦克风和扬声器(图示为独立的交互式扬声器,但这并不意味着限制)发生。可以在计算设备206上和/或与计算设备206进行网络通信的一个或多个计算设备上实现自动助理120的一个或多个方面。

在图2A中,用户101(“Dave”)在用户101和自动助理120之间的人机对话会话中提供了自然语言输入“Hey Sarah’s assistant,is Sarah available for lunch thisweek?(嘿,Sarah的助理,Sarah本周有空午餐吗?)”。响应于Dave对Sarah的助理的讲话(“Hey Sarah’s assistant(嘿Sarah的助理)”),在一些实施方式中,自动助理120可能会转换为当与自动助理120互动时,尝试模仿Sarah的体验的模式。例如,在一些实施方式中,自动助理120可以激活与当Sarah与自动助理120互动时使用的语音合成器相同的语音合成器。假定Sarah希望对她与自动助理120的交互使用与Dave不同的语音合成器,当向Dave提供自然语言输出时使用Sarah的首选的合成器将为Dave提供类似于与Sarah的助理而不是自己的助理讲话的体验。

Dave的请求还寻求Sarah本周是否有空午餐。在各种实施方式中,自动助理120可以与用户控制的资源引擎134交互以咨询多个数据源来确定Sarah的可能性,和/或是否应当向Dave提供响应。图2B描绘了可以咨询以确定Sarah是否有空午餐的多个数据源的示例。在该示例中,这些数据源包括Sarah的电子日历252(例如,其可以存储在142中)、(从144获得的)Sarah和名为Mavis的另一个用户之间的电子邮件消息交换线程254、以及(在一些实施方式中,可以从定位坐标服务150获得的)Sarah的当前或最后一个已知位置256。对于任何给定情况,可以考虑附加或替代数据源。

假定对该示例,Dave和Sarah是家庭成员或密友。因此,Sarah可能具有为Dave设定的相对宽松或宽容的隐私标准。例如,Sarah可能已经为Dave选择了相对较高的隐私阈值,例如十分中的九分。在一些实施方式中,该隐私阈值可以例如与Sarah的用户简档相关联地存储在ACL 136中。进一步假设Sarah为她的在线日历252设置了为2的隐私分数,并且Sarah为她的消息交换254和当前位置256分别设置了为3的隐私分数。这些隐私分数可以指示Sarah认为她的电子邮件和当前位置比她的在线日历更敏感。在一些实施方式中,Sarah可以手动地设置这些分数。附加地或替代地,在一些实施方式中,可以以其他方式,诸如通过默认来设置这些分数。此外,这些分数可以根据用户和/或从中收集信息的场境而变化。例如,假设从Sarah的社交媒体页面而非从她的私人电子邮件中提取消息交换线程254。在这种情况下,社交媒体消息的隐私分数在一些情况下可能会低于电子邮件,诸如2或更低(特别是如果消息交换发生在Sarah社交媒体简档的公开可见部分上)。

假设Dave提交他的请求时,当天是周一早上,并且(例如,由他自己的日历和/或其他数据源确定的)Dave在整个星期将位于美国西海岸。为了确定Sarah在本周的剩余时间何时有空吃午餐,可以例如通过履行模块124来咨询所有三个源252-256。Sarah的在线日历252将周四排除在外,本周的剩余时间有空,并且触发为2的第一隐私分数。Sarah的消息交换线程254将周二排除在外,并且触发了为3的第二隐私分数。考虑到Sarah的当前位置256位于日本(触发为3的第三隐私分数),周一的午餐也不可能。Sarah有空午餐的日子仅为星期三和星期五。

利用该信息,自动助理120例如通过自然语言生成器126,可以制定适当的自然语言响应。但是,在发生这种情况之前,自动助理120可以将合计隐私分数(例如,上述第一、第二和第三隐私分数的总和)与用于Dave的Sarah的隐私阈值进行比较。合计分数为8(2+3+3),并且阈值为9。因此,再次参考图2A,自动助理120应答:“Let me check…Sarah appearsto be available for lunch on Wednesday and Friday.(让我核实一下……Sarah似乎星期三和星期五有空午餐)。”但是,如果Dave和Sarah的关系不那么紧密,并且Sarah为Dave设置了较低的隐私阈值,则合计隐私分数(8)可能会达到或超过阈值,在这种情况下,自动助理120可能会回复:“I'm sorry Dave,I'm afraid I can't do that.(对不起,Dave,我恐怕做不到)。”在一些实施方式中,也可能会或可能不会将Dave的请求和/或所得到的响应告知Sarah。

用于特定用户或用户组的隐私阈值既不必是静态的,也不必要求对于特定用户始终是相同的。在各种实施方式中,隐私阈值可以是动态的,例如,动态地生成或计算。这特别有益,因为不需要用户手动地为所有其他用户设置权限。相反,可以基于各种信号并使用各种技术来自动地确定隐私阈值。在一些实施方式中,可以在请求用户的请求时,例如使用一个或多个经训练的机器学习模型,确定请求用户的隐私阈值。例如,可以使用请求用户和/或他们的请求、他们的场境、主体用户的场境、履行请求所需的数据源等的各种属性来汇编与请求(或用户)相关联的特征向量。然后,可以将该特征向量嵌入到潜在空间中(也称为“降维嵌入”),该潜在空间还包括其他请求(或用户)的嵌入。可以确定各个嵌入之间的欧几里得距离。在一些实施方式中,与潜在空间中的“最近”的其他请求相关联的隐私阈值可以被用来确定用于当前请求(或请求用户)的隐私阈值,例如,作为这些分数的平均值或中值。

在一些实施方式中,当确定用于用户和/或其请求的隐私阈值时,可以考虑来自特定用户的请求的历史。使用蛮力,恶意用户可以将多个单独的请求串在一起,每个请求本身都是相对无害的,但是响应于所有请求而集体地提供的信息可能比主体用户所希望的更具揭示性。例如,恶意用户可能会询问“Is John on vacation on May 1

附加或可替代地,在一些实施方式中,可以基于用户请求的广度,即,与该请求相关联的特异性或粒度的度量,确定请求用户的隐私阈值。换句话说,可以使用请求用户的请求的广度来确定对隐私问题应当进行多严格的审查。这可以降低请求用户能够从一般答复中推断出关于其他用户的特定信息的可能性。

例如,寻求非常具体的信息的请求(例如,“Where will Delia be at 11PMtomorrow night?”(“明天晚上11点Delia会在哪里?”))可能会受到相对严格的审查。可以将隐私阈值设置为相对较低,因此可以更容易地匹配和/或超过该隐私阈值(在这种情况下,该请求将被拒绝)。相比之下,寻求更粗略、不太具体的信息的请求(例如,“Is Findlayavailable for Dinner tomorrow or Wednesday?”(“Findlay明天或星期三有空晚餐吗?”))可能不太会受到严格审查。例如,可以将隐私阈值设置为相对较高,因此可能更难以违反。作为另一示例,诸如“Does George like historical fiction?(George喜欢历史小说吗?)”的一般性或广泛请求与(例如)诸如“Does George already own an electroniccopy of‘Gone with the Wind’?(George已经拥有《飘》的电子版)”的非常具体的请求相比,可能受到更少审查(例如,与响应相关联的合计隐私分数可以与相对较高的隐私阈值进行比较)。作为另一示例,诸如“Does Antoine like seafood?(Antoine喜欢海鲜吗?)”的相对宽泛的请求可能比(例如)诸如“How often does Antoine eat seafood?(Antoine多久吃一次海鲜?)”的非常具体的请求受到更少审查。

在一些实施方式中,可以至少部分地基于所得的履行信息来确定请求的广度(回忆,该履行信息可以被用来生成自然语言输出)。例如,可以考虑履行该请求所需的不同数据源的数量,例如,与(例如)相对较少数量的数据源相比,与更大的广度相关联,所需的数据源的数量更大。直观地讲,为生成履行信息所提取的数据源越多,则从特定源推断特定数据更难。

附加地或可替代地,在一些实施方式中,可以基于请求本身的各方面来确定请求的广度。例如,在一些实施方式中,可以考虑请求中的术语的数量,例如,越少的术语表示更大的广度,反之亦然。作为另一示例,可以考虑(例如)在整个用户群中遇到请求的次数。在一些这样的实施方式中,遇到相同请求或语义/语法上相似的请求的频率越高,请求的广度就越大,反之亦然。

图3设置了图2A-2B中图示的情况的替代方案。在图3中,不是从三个单独的数据源制定对Dave的图2A请求的响应,而是从单个数据源(Sarah的在线日历252)制定响应。在该示例中,Sarah已经创建了指示午餐与星期一、星期二和星期四冲突的日历条目。虽然仍然可以从在线日历252确定Sarah在星期三和星期五有空午餐,但是现在该确定是通过单个数据源做出的。因此,在一些实施方式中,Dave的请求可以被认为是相对狭窄的,并且因此可以将相对于Dave及其请求的隐私阈值设置为相对较低,例如,远低于图2B中描绘的情形。可能的情况是,较低的阈值导致Dave的请求被拒绝。但是,这并不能保证,特别是因为Sarah的在线日历252的为2的隐私分数相对较低,这意味着即使利用基于Dave的请求的较窄宽度生成的降低的隐私阈值,Dave的请求也可能会被准许。

图4描绘了在不同会话期间,用户Dave 101和在计算设备406A上操作的他的自动助理120之间的另一个对话框。在该示例中,Dave提供了自由形式的自然语言输入请求“HeySarah’s assistant,does Sarah like Science Fiction?(嘿,Sarah的助理,Sarah喜欢科幻小说吗?)”在该示例中,自动助理120咨询四个不同的数据源,以确定Sarah确实喜欢科幻小说,并且制定响应“Yes,Sarah appears to enjoy science fiction(是的,Sarah似乎喜欢科幻小说)。”数据源中的两个是基于云的,并且包括在线媒体简档480和上述社交媒体146。在线媒体简档480可以包含有关基于各种信号,诸如她的购物历史、搜索历史、媒体消费历史等,已经或将要推荐给Sarah的书籍、电影、播客等的信息。社交媒体146可以包括例如Sarah在她的状态页上或对其他社交媒体用户发表的评论,这些评论可用于衡量她对科幻小学的兴趣(例如,“I loved the original‘Alien’movie,and the first sequel.(我喜欢第一部《Alien》电影和第一部续集)”。它还可以包括例如Sarah在各种消息线程上发表的评论,诸如文章末尾的评论等。

图4中的两个附加数据源可本地用在由Sarah操作的客户端设备406B上。这些包括搜索/浏览历史482和本地存储的媒体484。例如,Sarah的搜索和/或浏览历史可能表明Sarah对科幻小说非常感兴趣。另外,如果本地存储在Sarah的客户端设备406B上的媒体包括(例如,由元数据确定的)大量的科幻小说内容,则这也可能指示Sarah对科幻小说感兴趣。在一些实施方式中,仅在客户端设备上本地可用的数据源,诸如图4中的482-484,可以被认为比例如在云上(例如480、146)上可用的其他数据源更隐私和/或敏感。因此,这些本地数据源可能比其他在线源具有与它们相关联的更高的隐私分数。

在图4中,如箭头所示,从所有四个数据源中提取数据以确定Sarah喜欢科幻小说。在一些实施方式中,从如此大量的数据源中提取数据导致该请求被解释为具有相对较大的广度。反过来,这可能导致至少对于来自Dave的特定请求,建立相对较高的隐私阈值(很难侵犯)。但这并不是说Dave在请求有关Sarah的信息时总是会遵循如此高的隐私阈值。

例如,在图5中(其中的组件与图4中的组件相同),Dave提出了更狭窄的要求,“hasSarah read‘Rendezvous with Rama’?(Sarah读过“与拉玛相会”吗?)”在这种情况下,自动助理120能够从单个数据源确定Sarah已阅读过该书。特别地,单个数据源是Sarah的客户端设备406B的本地存储的媒体484,其中,Sarah可能在其中存储了该书的电子版(在一些情况下,它可能用指示Sarah已经读过它的元数据被标记)。图5所示的其他数据源(580、146、482)在回答Dave的请求时没有提供任何帮助。因此,即使确定了对Dave请求的答复,在图5中,自动助理120仍然告诉Dave它不能提供该信息。这可能是因为,例如,Dave的请求被解释为具有较窄的宽度,例如,由于其基于从单个数据源(484)获得的数据被答复。

如前所述,在一些实施方式中,可以或不可以将Dave的请求和/或是否履行该请求告知Sarah。在上文的示例中,Dave可能正在寻找给Sarah的生日礼物。将Dave有关“Rendezvous with Rama(与拉玛相会)”的请求告知Sarah可能会暗示Dave正在为她购买生日礼物,而且他很可能会给她买一本科幻小说。因此,在一些实施方式中,Sarah可能不会收到任何通知,或者可能收到指示Dave提出了有关她的请求的推送通知(例如,在她的锁定屏幕上弹出卡片),但没有告知她具体的请求。这样,Sarah就可以避免读到Dave的具体要求,例如,使得她仍然会对他的礼物感到惊讶。在一些实施方式中,自动助理120可以例如从Sarah的日历中确定Sarah的生日(或另一个送礼的场合)即将发生。基于该确定,自动助理120可以确定Dave的请求可能与为Sarah购买生日礼物有关,从而可以采取各种步骤来避免破坏Sarah的惊喜,诸如通过不将请求告知Sarah、模糊该请求、使请求的通知含糊或不明确等。

图6是示出根据本文公开的实施方式的示例性方法600的流程图。为了方便起见,参考执行操作的系统来描述该流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如自动助理120的一个或多个组件。此外,尽管以特定顺序示出了方法600的操作,但这并不意味着是限制性的。可以重新排序、省略或添加一项或多项操作。

在框602,系统可以经由由第一用户操作的客户端设备(例如,106

在许多实施方式中,该请求可以由第一用户指向第二用户的自动助理。如上所述,在一些实施方式中,每个用户实际上可能没有为他们服务的独特的自动助理。相反,每个用户可以具有自动助理客户端118,该自动助理客户端118与基于云的自动助理组件119交互以向用户提供类似于拥有他们自己的个性化虚拟助理的体验。为此,在一些实施方式中,每个用户可以选择他们的自动助理的属性,诸如将由他们的自动助理采用的语音合成器。因此,在一些实施方式中,当第一用户尝试与为第二用户服务的自动助理互动时,第二用户在与自动助理120互动时选择的语音合成器可以被用来与第一用户通信,从而给第一用户带来正与第二用户的自动助理讲话的错觉。

在一些实施方式中,请求用户可以要求他们自己的助理向别人的助理询问信息(例如,“Hey assistant,will you ask Sarah’s assistant if she likes sciencefiction?(嘿助理,您可以问问Sarah的助理她是否喜欢科幻小说?)”)。附加地或替代地,在一些实施方式中,用户可以通过呼叫另一用户的电话(或者,更一般地,尝试与另一用户建立某种语音通信会话),而另一用户忙着接听其他人的电话等,与另一用户的助理互动。可以向主叫用户呈现模仿另一用户的自动助理的自动助理接口,此时主叫用户可以发出请求。并且请求不限于基于语音的请求。在各种实施方式中,用户可以使用诸如视觉的其他输入/输出方式(例如,使用消息交换应用107)来与另一用户的自动助理互动。

再次参考图6,在框604,系统可以识别自动助理120可访问以检索与第二用户相关联的数据的至少第一和第二数据源。在各种实施方式中,第一和第二数据源(以及必要时任何数量的附加资源)可以共同地包括足够的数据以生成响应性履行信息和/或制定对对信息的请求的自然语言响应,而两个源单独可能都不具有足够的数据。

在框606,系统可以确定与第一数据源相关联的第一隐私分数和与第二数据源相关联的第二隐私分数。在框608,系统可以确定与对对信息的请求的响应相关联的合计隐私分数。在一些实施方式中,该合计分数可以基于第一隐私分数和第二隐私分数,例如,两个分数的总和。在一些实施方式中,当履行模块124汇编自然语言生成器126制定自然语言响应所必需的履行信息时,履行模块124可以将合计隐私分数附加到履行信息上。

如上所述,与数据源(例如142-150、252-256、480-484)相关联的隐私分数可以由用户选择、默认设置、随着时间的推移而学习(例如,使用机器学习模型)等等。附加地或替代地,在一些实施方式中,可以例如基于相对于其他数据源,从该特定数据源提取的多个单独数据点来加权每个数据源的隐私分数。例如,如果使用用户的在线日历来确定三天没有空进行晚餐,并且使用用户的电子邮件来确定用户在第四天没有空,则可以比用户的电子邮件,更重或更轻地加权用户的在线日历。

在框610,系统可以确定在框608确定的合计隐私分数是否满足隐私标准。如上所述,在一些实施方式中,隐私标准可以采取隐私阈值的形式。可以为特定用户设置隐私阈值(例如,Sarah为来自Dave的任何请求设置隐私阈值),和/或可以例如基于请求的广度、履行请求所需的多个数据源等动态地确定。在一些实施方式中,满足隐私标准意味着未达到或超过隐私阈值。

如果在框610的答案为是,那么在框612,系统可以使得在由第一用户操作的客户端设备处制定和/或输出自然语言响应。可以以各种方式,诸如可听地、视觉地(例如,通过消息交换客户端107)等等输出自然语言响应。在一些实施方式中,还可以向该请求所相关的用户告知该请求和/或其履行。然而,如果框610处的答案为否,则在框614处,系统可以使客户端设备输出拒绝在框602处接收到的请求的其他自然语言输出。类似于框612,在一些实施方式中,可以向做出该拒绝请求所相关的用户告知该请求和/或其拒绝。并且如上所述,在一些实施方式中,取决于是否希望为主体用户保持某种程度的惊喜,可以或者可以不向主体用户告知该请求和/或其履行或拒绝。

如本文所述的请求不一定限于对信息的请求。例如,第一用户可以请求自动助理与第二用户控制的资源进行交互。仅当自动助理例如使用本文描述的技术确定应该向第一用户授予这种权限时,才可以允许其与该资源进行互动。作为非限制性示例,孩子可能要求自动助理从在线市场购买东西。自动助理可以基于各种不同因素(诸如,在线市场的可信赖性、与数据源(例如,妈妈的信用卡)相关联的隐私分数)等,确定与该请求相关联的合计隐私分数。可以将该合计隐私分数与相对于例如孩子的母亲或父亲为孩子建立的隐私阈值进行比较。可以使用本文所述的技术进行认证的其他响应动作包括但不限于操作家用电器(例如,是否应当允许访客调节恒温器?)、改变照明景观、锁定/解锁门等。

图7是示例性计算设备710的框图,该示例计算设备710可以可选地用于执行本文所描述的技术的一个或多个方面。在一些实施方式中,客户端计算设备、用户控制的资源引擎134和/或其他组件中的一个或多个可以包括示例性计算设备710的一个或多个组件。

计算设备710通常包括至少一个处理器714,其经由总线子系统712与多个外围设备通信。这些外围设备可以包括存储子系统724,包括例如,存储器子系统725和文件存储子系统726;用户接口输出设备720;用户接口输入设备722以及网络接口子系统716。输入和输出设备允许用户与计算设备710交互。网络接口子系统716提供到外部网络的接口,并且耦合到其他计算设备中的相应接口设备。

用户接口输入设备722可以包括键盘;诸如鼠标、轨迹球、触摸板或图形输入板的指向设备;扫描仪;并入到显示器的触摸屏;诸如语音识别系统的音频输入设备;麦克风;和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括所有可能类型的设备以及将信息输入到计算设备710中或通信网络上的方式。

用户接口输出设备720可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可视图像的一些其他机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,使用术语“输出设备”旨在包括所有可能类型的设备以及从计算设备710向用户或另一台机器或计算设备输出信息的方式。

存储子系统724存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统724可以包括执行图6的方法的所选方面以及实现图1中所描绘的各种组件的逻辑。

这些软件模块通常由处理器714单独或与其他处理器结合地执行。存储子系统724中使用的存储器725可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)730以及存储固定指令的只读存储器(ROM)732。文件存储子系统726可以提供用于程序和数据文件的持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统726存储在存储子系统724中,或者存储在处理器714可访问的其他机器中。

总线子系统712提供一种机制,其用于使计算设备710的各种组件和子系统按照预期相互通信。尽管总线子系统712被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。

计算设备710可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图7中描绘的计算设备710的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备710的许多其他配置可能具有比图7中描绘的计算设备更多或更少的组件。

在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其他电子通信中提取的用户数据、有关用户社交网络的信息、用户的位置、用户的时间、用户的生物特征信息以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储和使用有关用户的信息。也就是说,仅在如愿从相关用户接收到明确的授权后,本文讨论的系统和方法才收集、存储和/或使用用户的个人信息。

例如,为用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其他用户的用户信息的控制。为要对其收集个人信息的每个用户提供一个或多个选项,以允许控制与该用户有关的信息收集,以提供关于是否收集信息以及信息的哪些部分要被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,某些数据在被存储或使用之前,可能会以一种或多种方式被处理,使得移除个人身份信息。作为一个示例,可以处理用户的身份,使得不能确定个人身份信息。作为另一示例,用户的地理位置可以被概括为更大的区域,使得不能确定用户的具体位置。

虽然本文已经描述和说明若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且这些变化和/或改进中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用或应用。本领域的技术人员将认识到或者能够使用不超过常规的实验确定本文所述的具体实施方式的许多等同物。因此,应当理解到,前述实施方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实施这些实施方式。本公开的实施方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或以上这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号