跨多个装置来标准化分析度量

专利类型 发明公开 法律事件 公开; 实质审查;
专利有效性 实质审查 当前状态 实质审查
申请号 CN202280098156.0 申请日 2022-12-08
公开(公告)号 CN119487497A 公开(公告)日 2025-02-18
申请人 谷歌有限责任公司; 申请人类型 企业
发明人 普里特维什·穆克吉; 苏吉·拉贾加姆; 第一发明人 普里特维什·穆克吉
权利人 谷歌有限责任公司 权利人类型 企业
当前权利人 谷歌有限责任公司 当前权利人类型 企业
省份 当前专利权人所在省份: 城市 当前专利权人所在城市:
具体地址 当前专利权人所在详细地址:美国 邮编 当前专利权人邮编:
主IPC国际分类 G06F11/34 所有IPC国际分类 G06F11/34G06F17/40
专利引用数量 0 专利被引用数量 0
专利权利要求数量 21 专利文献类型 A
专利代理机构 中原信达知识产权代理有限责任公司 专利代理人 周亚荣; 朴金丹;
摘要 实现方式涉及从在用户与自动化助理之间的交互期间生成的装置特定的度量生成标准化的度量。所述度量指示在处理用户与自动化助理的交互时发生的事件,并且特定于用户正在与之交互的装置的具体配置。转换映射是基于装置特性确定的,其可用于将装置度量转换为标准化的度量。分析度量是基于标准化的度量生成的,是无法从装置度量生成的。一些实现方式包括以视觉方式 渲染 分析度量,使得分析度量中的一个或多个相比于其他度量被更突出地渲染。
权利要求

1.一种由一个或多个处理器执行的方法,所述方法包括:
识别在用户与正在客户端装置上执行的自动化助理之间的交互期间生成的装置度量,其中,所述装置度量指示在所述交互期间发生的事件的时间;
基于所述客户端装置的一个或多个特性来确定多个转换映射;
生成标准化的度量,其中,生成所述标准化的度量包括使用所述转换映射将所述装置度量中的一个或多个度量转换为一个或多个标准度量;以及
使远程计算装置在生成分析度量时处理所述标准化的度量,其中,所述远程计算装置无法从所述装置度量生成所述分析度量。
2.如权利要求1所述的方法,其中,生成所述标准化的度量是由所述客户端装置执行的,并且其中,使所述远程计算装置在生成所述分析度量时处理所述标准化的度量包括:
由所述客户端装置将所述标准化的度量传输到所述远程计算装置。
3.如权利要求1和2中任一项所述的方法,其中,生成所述标准化的度量是由第二远程计算装置执行的,并且所述方法进一步包括:
由所述客户端装置将所述装置度量传输到所述第二远程计算装置;
其中,使所述远程计算装置在生成所述分析度量时处理所述标准化的度量包括:
由所述第二远程计算装置将所述标准化的度量传输到所述远程计算装置。
4.如任一项前述权利要求所述的方法,其中,在生成所述分析度量时,所述远程计算装置将所述标准化的度量与第二标准化的度量进行比较。
5.如权利要求4所述的方法,进一步包括:
识别在附加用户与正在第二客户端装置上执行的第二自动化助理之间的交互期间生成的第二装置度量;
基于所述第二客户端装置的一个或多个特性来确定多个第二转换映射;以及生成所述第二标准化的度量,其中,生成所述第二标准化的度量包括使用所述第二转换映射来转换所述第二装置度量中的度量中的一个或多个。
6.如任一项前述权利要求所述的方法,其中,所述客户端装置进一步在执行应用,并且其中,所述装置度量中的至少给定度量是基于与所述应用相关的一个或多个事件的时间。
7.如任一项前述权利要求所述的方法,其中,所述客户端装置的所述一个或多个特性包括基于正在所述客户端装置上执行的操作系统的操作系统特性。
8.如任一项前述权利要求所述的方法,其中,所述客户端装置的所述一个或多个特性包括所述客户端装置的一个或多个硬件组件的硬件特性。
9.如任一项前述权利要求所述的方法,其中,所述标准化的度量中的给定的标准化的度量指示未被包括在由所述装置度量指示的事件当中的给定事件的时间。
10.如权利要求9所述的方法,其中,生成所述标准化的度量包括:使用所述转换映射中的给定转换映射,基于所述装置度量中的一个或多个装置度量来推断所述给定的标准化的度量。
11.如权利要求10所述的方法,进一步包括:
基于由组件引起的时间变化并且基于确定所述客户端装置包括所述组件来生成所述给定转换映射。
12.如任一项前述权利要求所述的方法,其中,所述给定事件是来自应用的对由所述自动化助理处理的口头话语中包括的请求的响应。
13.一种由一个或多个处理器执行的方法,所述方法包括:
从第一客户端装置接收在第一用户与正在所述第一客户端装置上执行的自动化助理的第一实例之间的第一交互期间生成的第一装置度量,其中,所述第一装置度量指示在所述第一交互期间发生的事件的时间;
从第二客户端装置接收在第二用户与正在所述第二客户端装置上执行的所述自动化助理的第二实例之间的第二交互期间生成的第二装置度量,其中,所述第二装置度量指示在所述第二交互期间发生的事件的时间;
基于所述第一客户端装置的一个或多个第一特性来确定多个第一转换映射;
基于所述第二客户端装置的一个或多个第二特性来确定多个第二转换映射;
生成第一标准化的度量,其中,生成所述第一标准化的度量包括使用所述第一转换映射将所述第一装置度量中的一个或多个第一装置度量转换为一个或多个标准度量;
生成第二标准化的度量,其中,生成所述第二标准化的度量包括使用所述第二转换映射将所述第二装置度量中的一个或多个第二装置度量转换为所述标准度量中的一个或多个标准度量;
将所述第一标准化的度量中的至少一个与所述第二标准化的度量中的至少一个进行比较;以及
基于所述比较来生成分析度量。
14.如权利要求13所述的方法,其中,所述第一客户端装置的所述特性中的至少一个与所述第二客户端装置的所述特性中的至少一个不同。
15.如权利要求13和14中任一项所述的方法,进一步包括:
从所述第一客户端装置接收附加的第一装置特性;
从所述第二客户端装置接收附加的第二装置特性;以及
在将所述第一装置度量中的至少一个与所述第二装置度量中的至少一个进行比较之前:
确定所述附加的第一装置特性中的至少一个与所述附加的第二装置特性中的至少一个相似。
16.如权利要求15所述的方法,其中,所述附加的第一装置特性包括所述第一客户端装置的地理位置
17.如权利要求15所述的方法,其中,所述附加的第一装置特性包括所述第一客户端装置的语言偏好设置。
18.如权利要求13至17中任一项所述的方法,进一步包括:
渲染指示所述标准化的度量中的一个或多个标准化的度量的界面。
19.如权利要求18所述的方法,进一步包括:
对于感兴趣的分析度量,识别基准标准;以及
基于所述感兴趣的分析度量是否满足所述基准标准,以视觉方式渲染所述感兴趣的分析度量。
20.一种计算机程序,包括指令,所述指令在由计算系统的一个或多个处理器执行时,使所述计算系统执行如任一项前述权利要求所述的方法。
21.一个或多个计算装置,被配置为执行如权利要求1至19中任一项所述的方法。

说明书全文

跨多个装置来标准化分析度量

背景技术

[0001] 客户端装置可以具有不同的能,并且可以取决于装置上存在的硬件和/或软件执行应用和/或以其他方式不同地执行。在一些情况下,在装置上执行的一个或多个应用的存在可能会改变其他应用的行为和/或装置中所包括的硬件的行为。为了监视此类装置的行为,通常生成指示事件的时间的度量,使得开发者可以检查当用户执行一个或多个动作时装置如何表现。例如,可以生成指示用户与正在客户端装置上执行的自动化助理交互时发生的事件的时间的度量。
[0002] 然而,由于在任意数量的客户端装置上可能的众多软件和硬件配置,因此不同装置的行为之间的比较可能是困难的。例如,尽管开发者可能有兴趣监视在不同装置上执行的应用的行为,但比较从单独的装置生成的度量可能是困难的。因此,跨多个装置——每个装置具有其自己的能力和配置——生成聚合度量可能会导致复杂的分析,以补偿针对装置中的每个装置可能的众多变化。发明内容
[0003] 本文公开的实现方式涉及从在用户与自动化助理交互期间最初生成的装置特定的度量生成标准化的度量。一些实现方式包括识别当用户与自动化助理正在交互时生成的装置度量、基于用户正在与之交互的客户端装置的一个或多个特性来识别转换映射集合、使用转换映射从装置度量生成标准化的度量集合、以及通过将该标准化的度量集合与从一个或多个其他客户端装置的装置度量生成的其他标准化的度量进行比较来生成分析度量。
[0004] 在不转换为标准度量的情况下,生成分析度量将根据装置而有所不同。例如,在不转换为标准度量的情况下,则可能需要创建第一分析程序来处理来自第一装置集合的装置度量,可能需要创建第二分析程序来处理来自第二装置集合的装置度量,可能需要创建第三分析程序来处理来自第三装置集合的装置度量,等等。这可能需要在远程服务器上同时执行多个不同的分析程序,这可能会消耗远程服务器的大量存储器和/或其他资源。此外,这可能需要单独维护(例如,更新)不同的分析程序中的每个分析程序,这可能需要程序员付出巨大努力并大量利用程序员所利用的客户端装置资源。通过根据本文公开的实现方式转换为标准度量,在生成分析度量时可以利用对标准度量进行操作的单个分析程序。虽然单个分析程序将无法基于装置度量生成分析数据,但是其可以基于从装置度量生成的标准度量来生成分析数据。此外,利用单个分析程序可以实现存储器和/或其他资源的效率,因为无需同时执行和/或维护多个分析程序。
[0005] 在一些实现方式中,可以在正在至少部分地执行自动化助理的客户端装置上执行从初始度量集合到标准化的度量集合的度量转换。例如,客户端装置可以生成装置度量,该装置度量指示当用户正在与正在客户端装置上执行的自动化助理的实例交互时发生的一个或多个事件的时间。客户端装置可以附加地执行一个或多个组件,该一个或多个组件可以基于装置特性识别转换映射,所述转换映射可用于将装置度量标准化为标准化的度量。客户端装置可以生成标准化的度量,并且随后将标准化的度量传输到远程计算装置以供进一步分析。而且,例如,第二客户端装置可以从由第二装置生成的装置度量生成标准化的度量,并将这些标准化的度量传输到远程计算装置。作为响应,远程计算装置可以执行标准化的度量的比较并生成分析度量,诸如指示装置的聚合操作和/或行为的分析度量。
[0006] 在一些实现方式中,从初始度量集合到标准化的度量集合的转换可以由不同的计算装置执行。例如,客户端装置可以将装置度量提供给远程计算装置,该远程计算装置可以执行到标准化的度量的转换,并进一步将标准化的度量传输到另一个远程计算装置以用于进一步比较以生成分析度量。
[0007] 在一些实现方式中,当用户与自动化助理交互时,可以生成指示一个或多个事件的时间的度量。例如,用户可以说出话语“OK Assistant, send a message to Bob (好的,助理,向鲍勃发送消息)”。自动化助理可以连续处理少量音频数据,以确定是否已经说出了热词(例如,调用短语,诸如“OK Assistant (好的,助理)”或“Hey Assistant (嘿,助理)”)。当检测到热词时,自动化助理可以进一步处理调用短语后面的音频数据。一旦被处理,自动化助理就可以确定它是否可以履行音频数据中所包括的请求(例如“what time is it (现在几点了)”),或者该请求是否应该被传输到一个或多个应用以供进一步处理。例如,对于包括请求“send a message to Bob”的音频数据,自动化助理可以将请求提供给消息收发应用以供进一步处理。
[0008] 对于发生的每个事件,都可以生成时间戳,该时间戳指示事件何时开始和/或完成。例如,传声器可以是持续活动的,从而不断接收音频数据,并且可选地对音频数据执行某些有限的处理(例如,调用短语检测处理)。在某个时刻,自动化助理可以开始处理音频数据(或对音频数据执行附加处理),这可以是可检测的事件(例如,“AUDIO_PROCESS_START (音频_处理_开始)”事件)。处理音频数据可以包括执行语音到文本处理,并且可以利用对应的时间戳来识别另一个事件(例如,“TRANSCRIPTION_START (转录_开始)”事件)。在某个时刻,转录可以完成,并且可以生成另一个事件(例如,“TRANSCRIPTION_END (转录_结束)”事件)。因此,在一些情况下,可以生成至少三个事件以用于处理音频数据。
[0009] 在音频处理之后,自动化助理可以确定是否进一步处理音频数据中所包括的请求,或者将请求传输到另一个应用以供进一步处理。与处理音频数据一样,可以生成一个或多个事件来指示在进一步处理音频数据时发生的事件。例如,自动化助理的一个或多个组件可以确定如何履行音频数据中所包括的请求。当自动化助理已经确定如何履行请求(例如,通过生成响应和/或通过将请求传输到另一个应用)时,可以记录事件(例如,“FULFILLMENT_DETERMINATION”(履行_确定)),该事件可以包括指示自动化助理何时做出确定的时间戳。在将请求转发给另一个应用的情况下,可以生成事件,所述事件指示开始发送请求的时间、完成发送请求的时间、开始接收来自应用的响应的时间、接收到完整响应的完成时间、从客户端接收到响应与渲染响应之间的延迟,和/或在处理请求期间可能发生的其他事件。
[0010] 在一些实现方式中,事件可以由操作系统和/或其他装置特定的应用生成。由于每个操作系统可以不同地记录事件(例如,事件的不同名称、记录的不同事件),因此第一装置可能具有与第二装置不同的度量日志——即使两个装置的用户各自与同一自动化助理的实例进行交互。因此,在一些实现方式中,度量可能不是处于标准化格式,否则其将允许在不同装置上发生的事件相互比较。
[0011] 作为示例,第一装置可以包括用于音频数据的接收和初始处理的硬件。该硬件可以包括传声器,并且软件可以包括数字信号处理器,该数字信号处理器可以特定于该装置并且对于第二个装置而言是不同的。例如,通过实验,可以确定第一装置的延迟,该延迟指示语音的开始与处理器最初检测到语音之间的时间延迟。同样地,对于第二装置,可以确定与第一装置的延迟不同的延迟。因此,对于每个装置,可以识别转换映射,该转换映射指示装置识别到事件的时间与事件实际发生的时间之间的已知时间延迟。
[0012] 在一些实现方式中,一旦已经识别出装置度量——每个度量指示当用户正在与自动化助理交互时发生的事件的时间,就可以识别一个或多个转换映射,该一个或多个转换映射可以将装置特定的度量转换为标准化的度量。例如,对于第一装置,可以生成“TRANSCRIPTION_ START”和“TRANSCRIPTION_END”事件,每个事件具有指示转录何时开始以及何时由自动化助理完成的时间戳。对于第二装置,可以记录“TRANSCRIPTION_START”和“TRANSCRIPTION_END”事件,每个事件具有指示自动语音辨识何时开始(TRANSCRIPTION_START)以及何时由自动化助理完成(TRANSCRIPTION_END)的时间戳。然而,对于每个装置,可能存在例如基于装置的具体硬件和/或软件的操作的时间滞后。因此,针对每个事件记录的时间戳可能无法反映这些事件发生的准确时间。基于所识别的转换映射,可以调整事件的时间戳中的每一个,使得在比较所得的标准化的事件时可以考虑时间滞后,从而允许以标准化方式在装置的操作之间进行比较。
[0013] 在一些实现方式中,一个或多个度量可以基于在客户端装置上执行的除自动化助理之外的应用的操作。例如,在一些情况下,用户可以说出调用短语,从而调用自动化助理,并且在调用之后是“call Bob (给鲍勃打电话)”。作为响应,自动化助理可以向被配置为进行电话呼叫的应用提供信息,该应用可以利用该信息来履行用户的请求。在一些实现方式中,应用(在本例中为电话应用)的响应可用于生成指示由该应用执行的定时事件的度量,诸如指示该应用何时接收到请求的事件、该应用响应请求的时间、该应用提供图形渲染的时间和/或该应用的其他行为。
[0014] 在一些实现方式中,来自单独的装置的度量一旦标准化,就可以相互比较以生成分析度量。分析度量可以包括对自动化助理和/或其他应用的操作和/或行为的一般化,使得可以在正在执行不同的软件和/或具有不同硬件能力的不同装置上评估应用的整体性能。因此,分析度量无法从装置特定的度量生成,而必须首先进行标准化,以使比较对最终用户更有意义。
[0015] 在一些实现方式中,可以在来自共享一个或多个特性的装置的标准化的度量之间执行比较。例如,可以将具有共同的具体设置(例如,语言偏好)的装置相互进行比较,以生成分析度量,所述分析度量可被分析,以更好地了解正在装置上执行的一个或多个应用的性能。而且,例如,可以基于装置的地理位置、连接信息和/或可能影响装置的硬件和/或软件的性能的其他特性来比较装置。
[0016] 在一些实现方式中,可以以视觉方式渲染一个或多个分析度量,以向用户提供用于检查和/或评估该度量的界面。例如,一旦装置度量被标准化并且标准化的度量被相互比较(例如,被平均、被聚合),就可以渲染图形界面,该图形界面例示了多个装置上的事件的平均时间的时间线。而且,例如,可以执行渲染,使得可以更快地识别度量中的一个或多个的基准值和/或相比于基准值的变化。例如,对于给定的分析度量,5 ms的基准延迟可以是行业标准,或者可以根据基于大量装置类型的标准化的度量生成的分析度量来确定。一旦已经聚合了多个标准化的度量,就可以针对该度量识别10 ms的延迟。在这种情况下,可以渲染时间线,该时间线以具体颜色(例如,红色表示高于基准)指示该度量,和/或该度量可以以其他方式被更突出地显示,以向正在检查界面的用户指示生成原始度量的装置的硬件和/或软件的操作可能存在问题。
[0017] 提供上述描述作为对本公开的一些实现方式的概述。下文将更详细地描述那些实现方式以及其他实现方式的进一步描述。附图说明
[0018] 图1例示了其中可实现本文描述的实现方式的环境。
[0019] 图2例示了其中可实现本文描述的实现方式的另一个环境。
[0020] 图3例示了指示当用户与自动化助理交互时发生的事件的所生成的度量的时间线。
[0021] 图4例示了用于处理从装置特定的度量生成的标准化的度量的方法的流程图
[0022] 图5例示了用于处理跨多个装置从装置特定的度量生成的标准化的度量的方法的流程图。
[0023] 图6例示了可用于实现本文描述的一种或多种方法的示例架构。

具体实施方式

[0024] 首先转到图1,例示了其中可执行各种实现方式的示例环境。图1包括助理装置100 (即,执行自动化助理客户端和/或可经由其以其他方式访问自动化助理的客户端装置),其执行自动化助理客户端120的实例。一个或多个基于的自动化助理组件可以被实现在一个或多个计算系统(统称为“云”计算系统)上,该一个或多个计算系统经由一个或多个局域网和/或广域网(例如,互联网)通信地耦合到助理装置100。自动化助理客户端120的实例,可选地经由与基于云的自动化助理组件中的一个或多个的交互,可以形成从用户的度来看似乎是自动化助理的逻辑实例的事物,利用该逻辑实例,用户可以参与人机对话。
[0025] 客户端装置100可以是例如:台式计算装置、膝上型计算装置、平板计算装置、移动电话计算装置、车辆的计算装置(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能电器和/或包括计算装置的可穿戴设备(例如,具有计算装置的手表、具有计算装置的眼镜、虚拟或增强现实计算装置)。
[0026] 可以提供附加的和/或替代的助理装置,并且在那些实现方式中的一些实现方式中,具体用户的说话者特征可以在该用户针对其是注册用户的助理装置之间共享。在各种实现方式中,助理装置100可以可选地操作除了自动化助理120之外的一个或多个其他应用(例如,应用130),诸如消息交换客户端(例如,SMS、MMS、在线聊天)、浏览器等。在那些各种实现方式中的一些实现方式中,其他应用中的一个或多个应用可以可选地(例如,经由应用编程接口)与自动化助理100对接,或者包括它们自己的(也可与任何基于云的自动化助理组件对接的)自动化助理应用的实例。
[0027] 自动化助理120经由客户端装置100的用户接口输入和输出装置与用户进行人机对话会话。为了保护用户隐私和/或节省资源,在许多情况下,用户通常必须明确地调用自动化助理120,之后自动化助理才将全面地处理口头话语。自动化助理120的显式调用可响应于在客户端装置100处接收到的某一用户接口输入而发生。例如,可经由客户端装置100调用自动化助理120的用户接口输入可以可选地包括客户端装置100的硬件和/或虚拟按钮的致动。此外,自动化助理客户端可以包括一个或多个本地引擎,诸如可操作以检测一个或多个口头一般调用唤醒词的存在的调用引擎。调用引擎可响应于检测到口头调用唤醒词中的一个口头调用唤醒词而调用自动化助理120。例如,调用引擎可响应于检测到诸如“Hey Assistant”、“OK Assistant”和/或“Assistant (助理)”的口头调用唤醒词而调用自动化助理120。调用引擎可连续处理(例如,在不处于“非活动”模式的情况下)基于来自客户端装置100的一个或多个传声器的输出的音频数据的流,以监测口头调用短语的发生。在监测口头调用短语的发生时,调用引擎(例如,在缓冲器中临时存储之后)丢弃不包括口头调用短语的任何音频数据帧。然而,当调用引擎在经处理的音频数据帧中检测到口头调用短语的发生时,调用引擎可调用自动化助理120。如本文所使用的,“调用”自动化助理120可以包括:致使自动化助理120的一个或多个先前非活动的功能被激活。例如,调用自动化助理120可包括:致使一个或多个本地引擎和/或基于云的自动化助理组件进一步处理调用短语是基于其来被检测到的音频数据帧,和/或一个或多个后续音频数据帧(而在调用之前,未发生对音频数据帧的进一步处理)。例如,本地的和/或基于云的组件可以响应于自动化助理120的调用,使用ASR模型来处理所捕获的音频数据。
[0028] 在一些实现方式中,可以在客户端装置100上执行多个自动化助理,并且对于每个自动化助理,所说出的调用短语可以是不同的。例如,第一自动化助理可以具有调用短语“OK Assistant 1 (好的,助理1)”,并且在用户说出该短语“OK Assistant 1”的情况下,可以调用第一自动化助理,使得第一自动化助理可以处理在该调用短语之前和/或之后的附加音频数据。类似地,当用户说出诸如“OK Assistant 2 (好的,助理2)”的第二调用短语时,可以调用也在客户端装置100上执行的第二自动化助理,由此第二自动化助理可以处理在该调用短语之前和/或之后的附加音频数据。如本文进一步描述的,可以使用由音频数据的包括用户说出调用短语的部分生成的话语特征来加密音频数据。继续前面的示例,在一些实现方式中,可以使用从音频数据的包括用户说出“OK Assistant 1”的部分生成的话语特征来加密包括用户说出“OK Assistant 1”的音频数据,使得只有具有对从用户说出“OK Assistant 1”生成的说话者特征的访问权限的第一自动化助理(例如,用“OK Assistant 1”调用的自动化助理)可以解密音频数据。
[0029] 图1中的自动化助理客户端120被例示为包括自动语音辨识(ASR)引擎122、自然语言理解(NLU)引擎124、文本转语音(TTS)引擎126和履行引擎128。在一些实现方式中,可以省略所例示的引擎中的一个或多个(例如,代替地仅由基于云的自动化助理组件140来实现)和/或可以提供附加引擎(例如,上面描述的调用引擎)。
[0030] ASR引擎122可以处理捕获口头话语的音频数据以生成对该口头话语的辨识。例如,ASR引擎122可以利用一个或多个ASR机器学习模型来处理音频数据以生成对与话语相对应的所辨识文本的预测。在那些实现方式中的一些实现方式中,ASR引擎122可以为一个或多个所辨识词项中的每一个生成对应的置信度度量,该置信度度量指示预测的词项与该口头话语相对应的置信度。
[0031] TTS引擎126可以将文本转换为合成语音,并且可以依赖一个或多个语音合成神经网络模型来这样做。例如,可以利用TTS引擎126将文本响应转换为音频数据,该音频数据包括该文本的经合成版本,并且经由助理装置100的硬件扬声器以可听的方式渲染该经合成版本。
[0032] NLU引擎124确定音频和/或由ASR引擎从音频转换的文本的语义含义,并确定与那些语义含义相对应的助理动作。在一些实现方式中,NLU引擎124将助理动作确定为基于ASR引擎122的辨识而确定的意图和/或参数。在一些情况下,NLU引擎124可以基于用户的单个话语来解析该意图和/或参数,并且在其他情况下,可以基于未解析的意图和/或参数来生成提示、那些提示被渲染给用户、并且由NLU引擎124利用对那些提示的用户响应来解析意图和/或参数。在那些情况下,NLU引擎124可以可选地与对话管理器引擎(未例示)协同工作,该对话管理器引擎确定未解析的意图和/或参数和/或生成对应的提示。NLU引擎124可以利用一个或多个NLU机器学习模型来确定意图和/或参数。
[0033] 履行引擎128可以致使执行由NLU引擎124确定的助理动作。例如,如果NLU引擎124确定助理动作是“turning on the kitchen lights (打开厨房灯)”,则履行引擎128可以致使传输对应的数据(直接传输到灯或者传输到与灯的制造者相关联的远程服务器)以致使“kitchen lights (厨房灯)”被“turned on (打开)”。作为另一个示例,如果NLU引擎124确定助理动作是“provide a summary of the user’s meetings for today (提供用户今天会议的总结)”,则履行引擎128可以访问用户的日历、总结用户当天的会议、并致使总结以视觉和/或听觉方式在助理装置100处被渲染。
[0034] 装置度量生成器140可以基于当用户与自动化助理120正在交互时发生的事件来生成度量。装置度量可以是装置特定的度量,其指示由客户端装置100的一个或多个组件执行的事件的时间。例如,用户可以说出话语“OK Assistant, send a message to Bob”。第一事件可以指示由TTS引擎126开始音频数据处理的时间。此外,装置度量生成器140可以生成另一个事件以指示已检测到自动化助理120的调用(例如,确定用户通过说出“OK Assistant”调用自动化助理的事件的指示)。此外,装置度量生成器140可以生成另一个度量以指示用户说出了请求(例如,“send a message to Bob”)。因此,对于由客户端装置100的一个或多个组件执行的每个动作,可以生成事件,该事件指示该事件的时间。
[0035] 在一些实现方式中,自动化助理120的组件中的任何一个、在客户端装置100上执行的软件和/或客户端装置100的硬件组件可以生成可包括在装置度量中的度量。例如,语音检测组件可以在检测到语音开始时生成事件,NLU引擎124可以在已确定语音的含义(例如,确定语音包括请求)时生成事件,TTS引擎126可以生成指示语音到文本转换的开始和/或结束的事件,和/或执行一个或多个动作的任何其他组件。另外地,装置度量生成器140可以生成指示由一个或多个其他应用执行的事件的度量。例如,当自动化助理120向应用130传输请求时可以生成度量,当应用130响应该请求时可以生成另一个度量,当应用130渲染图形元素时可以生成另一个度量,等等。
[0036] 参考图3,提供了例示可以由装置度量生成器140生成的度量的时序图。如所例示的,用户已说出话语“OK Assistant, navigate to the office (好的,助理,导航到办公室)”。该话语包括调用300 (即,“OK Assistant”)和请求305 (即,“navigate to the office (导航到办公室)”)。作为响应,自动化助理120可以从音频数据生成文本,确定已经说出了调用短语,并开始处理请求305。
[0037] 一旦已经识别出调用,就将请求305提供给应用,诸如应用130。该应用可以执行对该请求的处理并进一步提供对该请求的响应。如所例示的,响应包括提供指示正在采取的动作的语音310 (例如,“Navigating to the office”),以及地图应用的图形显示315。因此,向用户提供来自应用130的对请求305的响应,使得应用130根据请求在客户端装置100的图形界面上渲染可用于导航的地图的视觉表示。
[0038] 装置度量生成器130可以针对在用户与自动化助理120交互期间发生的每个事件生成度量。装置动作时间线320指示响应于用户与自动化助理的交互以及由应用130执行的动作而生成的多个度量。如所例示的,第一度量“检测到语音”指示当装置的处理器首次检测到用户正在说话的时间。接下来,“语音被处理”度量指示客户端装置100的处理器已经处理音频数据的第一部分以确定用户说出了什么。随后,一旦被处理,自动化助理120就可以确定“检测到调用”,并进一步继续处理后续的音频数据。最后,在“请求被发送”度量处,请求被提供至应用130,该应用可以进一步处理该请求。作为响应,应用130提供指示“Navigating to the Office”的音频310并致使渲染315图形界面。
[0039] 可以将诸如时间线320上所例示的那些装置度量的装置度量提供给服务器150以供进一步处理。转换映射模190可以确定一个或多个转换映射,该一个或多个转换映射可以用于从装置度量生成标准化的度量。例如,再次参考图3,标准化的度量时间线325包括未被包括在装置度量时间线320中的“实际语音开始”度量。转换映射模块190可以基于客户端装置100的硬件和/或软件确定该延迟的时间长度。例如,客户端装置100可以向服务器150提供装置特性,诸如硬件类型、操作系统和/或当前在装置上执行的其他软件,并且转换映射模块190可以基于客户端装置100的特定配置来确定转换映射。
[0040] 作为另一个示例,标准化的度量时间线325中包括“已接收到请求”的标准化的度量,其可以指示从用户接收到请求305的时间,以及可能由处理请求和/或在组件之间传输信息引起的任何延迟。此外,标准化的度量时间线325包括“自动化助理响应时间”,其指示确定所说出的语音包括请求与将该请求提供至应用130之间的时间。最后,基于应用130响应所提供的请求所花费的时间来确定“应用处理时间”度量。
[0041] 在一些实现方式中,可以基于装置度量中未包括的事件来确定标准化的度量。例如,参考图3,“语音开始”未被包括在装置度量中,而是基于转换映射确定的。因此,在首次识别到语音与实际语音开始之间的所确定的延迟是通过转换映射来确定的,并且取决于装置的特性,诸如传声器、语音处理速度和/或在可以确定实际语音开始与检测到的语音开始之间的延迟之前必须考虑的其他因素。在一些实现方式中,可以基于多个装置度量来确定一个或多个标准化的度量。例如,“应用处理时间”可以基于指示何时向应用130提供请求(例如,“请求被发送”)以及应用130何时首次提供响应(例如,“应用响应”)的度量来确定。
[0042] 分析引擎170可以基于标准化的度量确定一个或多个分析度量,例如,开发者可以利用该一个或多个分析度量来以标准化方式确定装置的性能。在一些实现方式中,可以聚合来自多个装置的度量以生成指示自动化助理120和/或其他应用130在不同装置上的行为的度量。因此,标准化的度量可以以标准化形式相互比较,而这在仅使用装置度量时是不可能的。例如,可以将基于硬件差异而引入的延迟从应用响应时间中剔除,使得可以只检查和/或进一步分析由应用引起的应用响应中的延迟。
[0043] 参考图2,提供了例示了多个客户端装置205和210的环境,每个客户端装置包括不同的硬件和/或软件组件。第一客户端装置205包括操作系统225和硬件组件230,而第二客户端装置210包括操作系统235和硬件组件240。如前所述,装置度量生成器215可以为第一客户端装置205生成装置度量,并且装置度量生成器220可以为第二客户端装置210生成装置度量。在一些实现方式中,一旦装置度量生成器中的每个装置度量生成器都已经生成装置度量,就可以将度量提供给服务器150以用于进一步分析。
[0044] 在一些实现方式中,可以由客户端装置执行装置度量到标准化的度量的转换的至少一部分。例如,在一些实现方式中,可以由客户端装置执行由转换映射模块160和/或标准度量生成器160执行的动作的至少一部分。在一些实现方式中,客户端装置可以向服务器150提供装置特性以指示装置上存在的硬件和/或软件组件。例如,第一客户端装置205可以向服务器150提供装置度量以及操作系统225和/或硬件组件230的指示。作为响应,转换映射模块160可以基于操作系统225和/或硬件组件230的指示来确定转换映射,并且标准度量生成器160可以基于接收到的装置度量和确定的转换映射来确定标准化的度量。在一些实现方式中,由标准度量生成器160和/或转换映射模块160执行的动作的至少一部分可以由另一个远程计算装置执行。例如,第一客户端装置205和第二客户端装置210可以将装置度量提供给第二远程计算装置,该第二远程计算装置可以确定转换映射并进一步生成标准化的度量。然后可以将标准化的度量提供给服务器150,该服务器可以执行进一步分析以生成分析度量。
[0045] 在一些实现方式中,第一客户端装置205和/或第二客户端装置210可以提供可由分析引擎170在生成分析度量时利用的附加装置特性。例如,第一客户端装置205的用户可以将第一客户端装置205的语言设置设定为第一语言,并且第二客户端装置210的用户可以将语言偏好设置设定为第二语言。作为响应,分析引擎170可以确定是否应该比较来自两个装置的标准化的度量。在语言偏好设置相同的情况下,针对装置生成的分析度量对开发者来说可能比语言偏好不同的情况更有意义。作为另一个示例,在一些实现方式中,第一客户端装置205和/或第二客户端装置210可以提供可被分析引擎170在生成装置的分析度量时利用的地理位置和/或其他装置信息。
[0046] 在一些实现方式中,用户可以在多个装置上与自动化助理的实例进行交互。例如,用户可以开始与在第一客户端装置205上执行的自动化助理实例的交互,该第一客户端装置可以是位于第一位置的智能扬声器。随后,用户可以在第二客户端装置210上继续与自动化助理的第二实例的相同交互,该自动化助理的第二实例可以在位于第二位置的智能电话上执行。因此,再次参考图3,可以由第一客户端装置205生成装置度量320的至少一部分,并且可以由第二客户端装置210生成装置度量320的另一部分。在这种情况下,两个客户端装置205和210可以具有不同的硬件和/或软件配置,并且为了将装置度量相互比较或与另一个装置的度量进行比较,由每个装置生成的度量可能需要单独的转换映射。因此,第一客户端装置205可以生成度量,所述度量经由第一转换映射被转换为标准化的度量,并且第二客户端装置210可以生成度量,所述度量经由第二转换映射被转换为标准化的度量。
[0047] 再次参考图1,界面渲染器180可以生成图形界面,该图形界面指示由分析引擎170生成的分析度量中的一个或多个分析度量。例如,界面渲染器180可以生成与图3中所例示的时间线类似的时间线,以在分析所得的分析度量时提供视觉帮助。在一些实现方式中,可以渲染经由图形界面提供的分析度量中的一个或多个分析度量,使得开发者最感兴趣的度量相比于其他度量被不同地渲染。例如,对于给定的度量,可以识别基准标准。在装置(或多个装置上的聚合度量)不满足基准标准的情况下,该度量可以以不同的颜色被渲染和/或相比于其他度量被更突出地渲染。
[0048] 在一些实现方式中,分析引擎170可以利用从第一客户端装置205的装置度量生成的标准化的度量和从第二客户端装置210的装置度量生成的标准化的度量来生成分析度量,所述分析度量指示例如在装置中的每个装置上执行的自动化助理的实例的行为。例如,第一客户端装置205的装置度量可至少部分地取决于操作系统225和/或硬件组件210。因此,鉴于装置上的不同软件和/或硬件可能存在的差异的数量,可能无法将自动化助理的行为与正在第二客户端装置210上执行的自动化助理的行为进行比较。通过生成标准化的度量并且然后比较来自两个装置的标准化的度量,可以为开发者提供更好的分析工具来确定硬件和/或软件如何影响应用的性能。
[0049] 参考图4,提供了例示用于处理从装置度量生成的标准化的度量的方法的流程图。在一些实现方式中,可以省略或组合该方法的一个或多个步骤,和/或一个或多个附加步骤可以包括在该方法中。该方法可以由图1的环境中所例示的一个或多个组件执行。
[0050] 在步骤405处,识别装置度量。所述装置度量由诸如客户端装置100的客户端装置通过与装置度量生成器140共享一个或多个特性的组件生成。在一些实现方式中,所述度量是在用户与在客户端装置上执行的自动化助理之间的交互期间生成的。所述度量可以指示在交互期间发生的事件的时间,诸如自动化助理、一个或多个应用进行的响应,和/或处理输入的开始时间和/或停止时间的指示。例如,装置度量可以包括用于指示音频数据的处理何时已开始的事件,并且可以生成指示音频数据的处理已结束的时间的第二装置度量。
[0051] 在步骤410处,确定多个转换映射。所述多个转换映射可以由与转换映射模块190共享一个或多个特性的组件确定。例如,一旦客户端装置100的装置度量生成器140生成了装置度量,就可以将所述装置度量提供给服务器150以供进一步处理。在一些实现方式中,可以向转换映射模块190提供转换映射的指示和/或与客户端装置100的硬件和/或软件能力和/或配置相关的信息,使得转换映射模块190可以基于装置特性来确定转换映射。
[0052] 在步骤415处,生成标准化的度量。通过使用确定的转换映射来转换装置度量来生成标准化的度量。例如,转换映射可以指示:基于客户端装置100的处理能力,事件被调整和/或新事件被生成以包括在标准化的度量中。因此,在一些情况下,转换映射可以改变被包括在装置度量中的一个或多个事件的时间。在一些情况下,例如,转换映射可以指示生成未被包括在装置度量中的指示事件的附加度量。
[0053] 在步骤420处,远程计算装置处理标准化的度量以生成分析度量。分析度量可以包括基于标准化的度量确定的一个或多个干扰。在一些实现方式中,诸如服务器150的远程计算装置无法从装置度量生成分析度量。例如,在未将装置度量转换为标准化的度量的情况下,一个或多个度量可能不正确、不准确和/或未被包括,使得无法以其他方式生成分析度量。在一些实现方式中,由与分析引擎170共享一个或多个特性的组件生成分析度量。
[0054] 参考图5,提供了例示用于处理来自多个装置的标准化的度量的方法的流程图。在一些实现方式中,可以省略或组合该方法的一个或多个步骤,和/或一个或多个附加步骤可以包括在该方法中。该方法可以由图2的环境中所例示的一个或多个组件执行。
[0055] 在步骤505处,从第一客户端装置接收第一装置度量。客户端装置可以与图2的第一客户端装置205共享一个或多个特性。第一装置度量是在用户与在第一客户端装置上执行的自动化助理交互期间生成的。如前所述,所述度量可以各自指示在交互期间发生的事件的时间。例如,第一装置度量可以与图3中所例示以及如前所述的度量共享一个或多个特性。
[0056] 在步骤510处,从第二客户端装置接收第二装置度量。第二客户端装置可以与图2的第二客户端装置210共享一个或多个特性。例如,第一客户端装置和第二客户端装置可以具有不同的能力、不同的软件、不同的操作系统、不同的硬件,和/或在生成度量时安装有和/或正在执行不同的应用。因此,第一装置度量和第二装置度量没有跨装置来被标准化,并且无法被有意义地比较以生成分析度量。
[0057] 在步骤515处,利用一个或多个第一特性来确定多个第一转换映射。第一转换映射是基于例如第一客户端装置的硬件和/或软件,并且可以对该装置是独特的。在步骤520处,利用一个或多个第二特性来确定多个第二转换映射。第二转换映射基于例如第二客户端装置的硬件和/或软件,并且可以与第一转换映射不同。
[0058] 在步骤525处,利用第一转换映射,从第一装置度量生成第一标准化的度量。在步骤530处,从第二装置度量生成第二标准化的度量。在这两种情况下,装置特定的度量被转换,使得可以以比在对装置特定的度量执行分析(例如,比较、聚合)中可能的方式更有意义的方式对这两个度量集合进行进一步分析。
[0059] 在步骤535处,将第一标准化的度量的至少一部分与第二标准化的度量的至少一部分进行比较。可以由与分析引擎170共享一个或多个特性的组件执行该比较。在步骤540处,基于该比较来生成分析度量。如前所述,由于装置特性的差异,可能无法从第一装置度量和第二装置度量生成所得的分析度量。例如,第一装置和第二装置可以具有不同的硬件组件,每个硬件组件在一个或多个操作中引入一定量的延迟,从而使一个或多个度量产生偏差。通过在比较之前将装置度量标准化,可以补偿来自硬件和/或软件组件的延迟,使得所得的分析度量对开发者来说更有意义且更准确。
[0060] 在一些实现方式中,与自动化助理的交互可以发生在多个装置上。例如,在一些情况下,用户可以经由智能电话开始与自动化助理的交互,在智能扬声器上继续该交互,并在集成到车辆中的另一个装置上结束该交互。在一些实现方式中,这些装置中的每一个可以具有执行自动化助理和/或一个或多个其他应用的不同硬件和/或软件。因此,对于该交互的每个部分,可以识别不同的装置特定的度量。在一些实现方式中,对于在该交互的期间利用的装置特定的度量中的每个装置特定的度量,可以针对每个度量集合识别转换映射。因此,对于交互,可以利用多重转换映射来将该交互的度量转换为标准化的度量。
[0061] 图6是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算装置610的框图。计算装置610通常包括至少一个处理器614,该至少一个处理器经由总线子系统
612与多个外围装置通信。这些外围装置可包括存储子系统624 (其包括例如存储器子系统
625和文件存储子系统626)、用户接口输出装置620、用户接口输入装置622以及网络接口子系统616。输入和输出装置允许与计算装置610进行用户交互。网络接口子系统616提供到外部网络的接口,并且耦合到其他计算装置中的对应接口装置。
[0062] 用户接口输入装置622可以包括键盘、指向装置(诸如鼠标轨迹球触摸板或图形输入板、扫描仪、并入到显示器中的触摸屏)、音频输入装置(诸如话音辨识系统、传声器)和/或其他类型的输入装置。一般来讲,术语“输入装置”的使用旨在包括将信息输入到计算装置610中或输入到通信网络上的所有可能类型的装置和方式。
[0063] 用户接口输出装置620可以包括显示子系统、打印机、传真机或非视觉显示器,诸如音频输出装置。显示子系统可以包括阴极射线管(CRT)、平板装置(诸如液晶显示器(LCD))、投影装置或用于创建可见图像的某种其他机构。显示子系统还可以诸如经由音频输出装置提供非视觉显示器。一般来讲,术语“输出装置”的使用旨在包括将信息从计算装置610输出到用户或另一个机器或计算装置的所有可能类型的装置和方式。
[0064] 存储子系统624存储提供本文描述的模块中的一些或所有模块的功能性的编程和数据构建体(construct)。例如,存储子系统624可以包括用于执行图3A至图4B的方法的所选择方面和/或用于实现图1中所描绘的各种组件的逻辑。
[0065] 这些软件模块通常由处理器614单独地或结合其他处理器执行。存储子系统624中使用的存储器625可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM) 630和在其中存储固定指令的只读存储器(ROM) 632。文件存储子系统626可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器软盘驱动器以及相关联的可移动介质、CD‑ROM驱动器、光盘驱动器或可移动介质盒。实现某些实现方式的功能性的模块可以由存储子系统624中的文件存储子系统626存储,或者存储在处理器614可访问的其他机器中。
[0066] 总线子系统612提供用于使计算装置610的各种组件和子系统按照意图彼此通信的机制。尽管总线子系统612被示意性地示出为单条总线,但总线子系统的替代实现方式可以使用多条总线。
[0067] 计算装置610可以有不同的类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算装置。由于计算机和网络的不断变化的性质,对图6中所描绘的计算装置610的描述仅旨在作为用于说明一些实现方式的特定示例。计算装置610的许多其他配置是可能的,这些配置与图6中所描绘的计算装置相比具有更多或更少的组件。
[0068] 本文公开的实现方式包括一种方法,包括:识别在用户与正在客户端装置上执行的自动化助理之间的交互期间生成的装置度量,其中,所述装置度量指示在交互期间发生的事件的时间;基于客户端装置的一个或多个特性来确定多个转换映射;生成标准化的度量,其中,生成标准化的度量包括使用转换映射将装置度量中的一个或多个度量转换为一个或多个标准度量;以及使远程计算装置在生成分析度量时处理标准化的度量,其中,远程计算装置无法从装置度量生成分析度量。
[0069] 本文公开的技术的这些和其他实现方式可以包括以下特征中的一个或多个。
[0070] 在一些实现方式中,生成标准化的度量是由客户端装置执行的,并且使远程计算装置在生成分析度量时处理标准化的度量包括:由客户端装置将标准化的度量传输到远程计算装置。
[0071] 在一些实现方式中,生成标准化的度量是由第二远程计算装置执行的,并且该方法进一步包括:由客户端装置将装置度量传输到第二远程计算装置,以及使远程计算装置在生成分析度量时处理标准化的度量包括由第二远程计算装置将标准化的度量传输到远程计算装置。
[0072] 在一些实现方式中,在生成分析度量时,远程计算装置将标准化的度量与第二标准化的度量进行比较。在那些实现方式中的一些实现方式中,该方法进一步包括:识别在附加用户与正在第二客户端装置上执行的第二自动化助理之间的交互期间生成的第二装置度量;基于第二客户端装置的一个或多个特性来确定多个第二转换映射;以及生成第二标准化的度量,其中,生成第二标准化的度量包括使用第二转换映射来转换第二装置度量中的度量中的一个或多个。
[0073] 在一些实现方式中,客户端装置进一步执行应用,并且其中,装置度量中的至少给定度量是基于与应用相关的一个或多个事件的时间。
[0074] 在一些实现方式中,客户端装置的一个或多个特性包括基于正在客户端装置上执行的操作系统的操作系统特性。
[0075] 在一些实现方式中,客户端装置的一个或多个特性包括客户端装置的一个或多个硬件组件的硬件特性。
[0076] 在一些实现方式中,标准化的度量中的给定的标准化的度量指示未被包括在由装置度量指示的事件当中的给定事件的时间。在那些实现方式中的一些实现方式中,生成标准化的度量包括使用转换映射中的给定转换映射,基于装置度量中的一个或多个装置度量来推断给定的标准化的度量。在其他实现方式中,基于由组件引起的时间变化并且基于确定客户端装置包括该组件来生成给定转换映射。在那些实现方式中的又其他实现方式中,给定事件是来自应用的对由自动化助理处理的口头话语中包括的请求的响应。
[0077] 在另一个方面,本文公开的实现方式包括另一种方法,包括:从第一客户端装置接收在第一用户与正在第一客户端装置上执行的自动化助理的第一实例之间的第一交互期间生成的第一装置度量,其中,第一装置度量指示在第一交互期间发生的事件的时间;从第二客户端装置接收在第二用户与正在第二客户端装置上执行的自动化助理的第二实例之间的第二交互期间生成的第二装置度量,其中,第二装置度量指示在第二交互期间发生的事件的时间;基于第一客户端装置的一个或多个第一特性来确定多个第一转换映射;基于第二客户端装置的一个或多个第二特性来确定多个第二转换映射;生成第一标准化的度量,其中,生成第一标准化的度量包括使用第一转换映射将第一装置度量中的一个或多个转换为一个或多个标准度量;生成第二标准化的度量,其中,生成第二标准化的度量包括使用第二转换映射将第二装置度量中的一个或多个转换为标准度量中的一个或多个标准度量;将第一标准化的度量中的至少一个与第二标准化的度量中的至少一个进行比较;以及基于比较来生成分析度量。
[0078] 本文公开的技术的这些和其他实现方式可以包括以下特征中的一个或多个。
[0079] 在一些实现方式中,第一客户端装置的特性中的至少一个与第二客户端装置的特性中的至少一个不同。
[0080] 在一些实现方式中,该方法进一步包括:从第一客户端装置接收附加的第一装置特性;从第二客户端装置接收附加的第二装置特性;以及在将第一装置度量中的至少一个与第二装置度量中的至少一个进行比较之前:确定附加的第一装置特性中的至少一个与附加的第二装置特性中的至少一个相似。在那些实现方式中的一些实现方式中,附加的第一装置特性包括第一客户端装置的地理位置。在那些实现方式中的其他实现方式中,附加的第一装置特性包括第一客户端装置的语言偏好设置。
[0081] 在一些实现方式中,该方法进一步包括渲染指示标准化的度量中的一个或多个标准化的度量的界面。在那些实现方式中的一些实现方式中,该方法进一步包括针对感兴趣的分析度量识别基准标准;以及基于感兴趣的分析度量是否满足基准标准,以视觉方式渲染感兴趣的分析度量。
[0082] 各种实现方式可以包括存储指令的非暂时性计算机可读存储介质,这些指令可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)和/或张量处理单元(TPU))执行以执行诸如本文描述的方法中的一种或多种方法的方法。其他实现方式可以包括自动化助理客户端装置(例如,至少包括用于与基于云的自动化助理组件对接的自动化助理接口的客户端装置),该自动化助理客户端装置包括可操作以执行所存储的指令以执行诸如本文描述的方法中的一种或多种方法的方法的处理器。又其他实现方式可以包括一个或多个服务器的系统,该一个或多个服务器包括一个或多个处理器,该一个或多个处理器可操作以执行所存储的指令以执行诸如本文描述的方法中的一种或多种的方法。
[0083] 在本文讨论的某些实现方式可以收集或使用关于用户的个人信息(例如,从其他电子通信中提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息以及用户的活动和人口统计信息、用户之间的关系等)的情况下,为用户提供了一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储和使用关于用户的信息。也就是说,本文讨论的系统和方法仅在接收到相关用户对收集、存储和/或使用用户个人信息的明确授权后才收集、存储和/或使用用户个人信息。
[0084] 例如,向用户提供了对程序或特征是否收集关于该具体用户或与程序或特征相关的其他用户的用户信息的控制。向要收集其个人信息的每个用户呈现一个或多个选项以允许控制与该用户相关的信息收集,提供关于是否收集信息以及关于收集信息的哪些部分的许可或授权。例如,可通过通信网络向用户提供一个或多个这样的控制选项。另外,特定的数据可以在其被存储或使用之前以一种或多种方式进行处理,使得个人可识别信息被去除。作为一个示例,可以对用户的身份进行处理,使得无法确定任何个人可识别信息。作为另一个示例,用户的地理位置可以被一般化到更大的区域,使得无法确定用户的具体位置。
QQ群二维码
意见反馈