用于从一个或多个计算机应用中选择并提供可用动作给用户的系统和方法
文献发布时间:2023-06-19 11:55:48
技术领域
本公开一般涉及计算系统与在计算系统上可操作的计算机应用之间的交互。更具体地,本公开涉及用于从一个或多个计算机应用中选择并提供可用动作给用户的系统和相关方法。
背景技术
计算设备(例如,台式计算机、膝上型计算机、平板计算机、智能电话、可穿戴计算设备等)在现代社会中无处不在。它们可以支持其用户之间的通信,向其用户提供关于其环境、当前事件、整个世界等的信息。大量不同的计算机应用在这样的计算设备上可操作以执行各种各样的动作。典型地,用户必须根据用户希望执行的动作来手动选择特定的计算机应用。
发明内容
本公开的实施例的各方面和优点将在下面的描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践而获知。
本公开的一个示例方面针对一种计算系统。计算系统可以包括至少一个处理器。计算系统可以包括机器学习的模型,该机器学习的模型被配置为接收包括上下文数据的模型输入,以及响应于模型输入的接收,输出描述由上下文数据引用的一个或多个语义实体的模型输出。计算系统可以包括一个或多个计算机应用。计算系统可以包括至少一种有形的、非瞬时性计算机可读介质,该计算机可读介质存储指令,其由至少一个处理器执行时使至少一个处理器执行操作。操作可以包括将模型输入输入到机器学习的模型中并接收作为机器学习的模型的输出。模型输出可以描述由上下文数据引用的一个或多个语义实体。操作可以包括将描述一个或多个语义实体的数据提供给一个或多个计算机应用。操作可包括响应于将描述一个或多个语义实体的数据提供给一个或多个计算机应用而分别从一个或多个计算应用接收一个或多个应用输出。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。操作可以包括向计算系统的用户提供至少一个指示器。至少一个指示器可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作中的至少一个。
本公开的另一示例方面针对一种用于从一个或多个计算机应用中选择并提供可用动作给用户的计算机实现的方法。方法可以包括由一个或多个计算设备将包括上下文数据的模型输入输入到机器学习的模型中,该机器学习的模型被配置为接收模型输入,以及响应于模型输入的接收,输出模型输出,该模型输出描述由上下文数据引用的一个或多个语义实体。方法可以包括由一个或多个计算设备接收模型输出,作为机器学习的模型的输出。模型输出可以描述由上下文数据引用的一个或多个语义实体。方法可以包括由一个或多个计算设备向一个或多个计算机应用提供描述一个或多个语义实体的数据。方法可以包括响应于向一个或多个计算机应用提供描述一个或多个语义实体的数据而由一个或多个计算设备分别从一个或多个计算应用接收一个或多个应用输出。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。方法可以包括由一个或多个计算设备向计算系统的用户提供至少一个指示器。至少一个指示器可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作中的至少一个。
本公开的其他方面针对各种系统、装置、非瞬时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将会更好地理解本公开的各个实施例的这些和其他特征、方面和优点。并入本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其参考了附图,其中:
图1A描绘了根据本公开的示例实施例的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的示例计算系统的框图。
图1C描绘了根据本公开的示例实施例的示例计算系统的框图。
图1D描绘了示例用户计算设备,该示例用户计算设备被配置为向一个或多个计算机应用提供描述一个或多个语义实体的数据,从计算机应用接收应用输出,以及向用户提供描述可以由计算机应用执行的可用动作的指示器。
图2A描绘了根据本公开的示例实施例的机器学习的识别模型。
图2B描绘了根据本公开的示例实施例的机器学习的排序模型。
图3描绘了用于从一个或多个计算机应用选择并提供可用动作给用户的示例方法的流程图。
图4描绘了根据本公开的各方面的在用户界面中显示指示器的示例移动计算设备,所述指示器示出了来自计算机应用的可用动作。
图5A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中该移动计算设备正在用户界面中显示文本消息交换。
图5B描绘了根据本公开的各方面的第二状态下的图5A的移动计算设备,其中该移动计算设备正在提供来自多个计算机应用的关于来自图5A的文本消息交换的已识别文本的可用动作的指示器。
图6描绘了根据本公开的各方面的示例移动计算设备,其显示在用户界面中的文本消息通知以及来自多个计算机应用的关于来自文本消息的已识别文本的可用动作的指示器。
图7A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中检测到提及历史人物的环境音频并且指示器显示在移动计算设备的锁屏中。
图7B描绘了根据本公开的各方面的第二状态下的图7A的示例移动计算设备,其中显示了描述关于历史人物的可用动作的指示器。
图7C描绘了根据本公开的各方面的第三状态下的图7A的示例移动计算设备,其中指示器已被“设定书签”以供稍后查看。
图8A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中视频和指示器显示在移动设备的用户界面中。
图8B描绘了根据本公开的各方面第二状态下的示例移动计算设备,其中描述与电影相关联的可用动作(比如购买电影票)的附加指示器显示在用户界面中。
图9A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中视频和指示器显示在用户界面中。
图9B描绘了第二状态下的图9A的示例移动计算设备,其中与图9A的指示器相关联的可用动作正在被执行。
图10A描绘了根据本公开的各方面的在移动计算设备的用户界面中显示文本的示例移动计算设备。
图10B描绘了根据本公开的各方面的第二状态下的图10A的示例移动计算设备,其中电影标题在文本中突出显示并且显示了描述关于电影标题的可用动作的指示器。
图10C描绘了根据本公开的各方面的第三状态下的图10A的示例移动计算设备,其中显示了描述关于电影标题的进一步可用动作的指示器。
图11A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中文本被突出显示并且指示器显示在移动计算设备的用户界面中。
图11B描绘了根据本公开的各方面的第二状态下的图11A的示例移动计算设备1100,其中显示了提供关于由图11A的其中一个指示器描述的所选动作的附加信息的指示器。
图12A描绘了根据本公开的各方面的示例移动计算设备,其中文本显示在移动计算设备的用户界面中。
图12B描绘了根据本公开的各方面的第二状态下的图12A的示例移动计算设备,其中显示了描述关于文本部分的可用动作的指示器。
图12C描绘了根据本公开的各方面的第三状态下的图12A的示例移动计算设备,其中显示了关于图12A的所选指示器的附加信息以及显示的描述进一步可用动作的附加指示器。
图13A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中移动计算设备在电话呼叫期间一直处理音频。
图13B描绘了根据本公开的各方面的第二状态下的图13A的示例移动计算设备,其中显示了描述关于从电话呼叫的音频中采集的语义实体的可用动作的指示器。
图13C描绘了根据本公开的各方面的第三状态下的图13A的示例移动计算设备,其中显示了描述关于从电话呼叫的音频中采集的语义实体的进一步可用动作的指示器。
图14A描绘了根据本公开的各方面的在相机模式下的示例移动计算设备,其中来自移动计算设备的相机的图像显示在移动计算设备的用户界面中。
图14B描绘了根据本公开的各方面的第二状态下的图14A的示例移动计算设备,其中显示了描述关于来自相机的图像中所描绘的地标的可用动作的指示器。
图14C描绘了根据本公开的各方面的第三状态下的图14A的示例移动计算设备,其中显示了描述关于来自相机的图像中所描绘的地标的进一步可用动作的指示器。
图15A描绘了根据本公开的各方面的在移动计算设备的用户界面中显示文本的示例移动计算设备。
图15B描绘了根据本公开的各方面的第二状态下的图15A的示例移动计算设备,其中显示了描述关于文本部分的可用动作的指示器。
图15C描绘了根据本公开的各方面的第三状态下的图15A的示例移动计算设备,其中显示了描述关于文本部分的进一步可用动作的指示器。
图16A描绘了根据本公开的各方面的第一状态下的示例移动计算设备,其中检测到西班牙语口语的环境音频并且描述可用动作的指示器显示在移动计算设备的锁屏中,该可用动作包括将西班牙语口语翻译成英语。
图16B描绘了第二状态下的图16A的示例移动计算设备,其中显示了描述关于西班牙语口语的可用动作的指示器。
图16C描绘了根据本公开的各方面的第三状态下的图16A的示例移动计算设备,其中显示了描述关于翻译的进一步可用动作的指示器。
图17A描绘了根据本公开的各方面的示例移动计算设备,其中基于日历数据示出可用动作的指示器显示在移动计算设备的锁屏中,该日历数据包括即将到来的航班。
图17B描绘了根据本公开的各方面的第二状态下的图17A的示例移动计算设备,其中显示了描述关于日历数据的进一步可用动作的指示器。
图18A描绘了根据本公开的各方面的示例移动计算设备,其中在移动计算设备的锁屏中显示指示器,其基于移动计算设备的位置示出可用动作。
图18B描绘了根据本公开的各方面的第二状态下的图18A的示例移动计算设备,其中显示了基于移动计算设备的位置描述进一步可用动作的指示器。
在多个附图中重复的附图标记旨在辨识各种实现中的相同特征。
具体实施方式
本公开的示例方面针对用于从一个或多个计算机应用中选择并提供可用动作给用户的系统和相关方法。本文中的系统和相关方法可以提供系统或平台(例如,包括预定义的应用编程接口(API)),通过该系统或平台,计算系统可以智能地向用户提供关于上下文相关动作的提示、建议或暗示(例如,在“表面芯片”内),该上下文相关动作可由一个或多个计算应用执行,比如位于移动设备上的应用。这样做时,系统和相关方法可以借助于引导的人机交互过程来帮助用户执行如下面进一步更加详细地讨论的技术任务。计算系统可包括人工智能系统(例如,包括一个或多个机器学习的模型),其从上下文数据(例如,由计算系统显示、检测或以其他方式处理的信息)检测语义实体。计算系统可以例如通过预定义的API查询计算机应用或以其他方式与计算机应用交互,以从计算机应用接收可用的上下文相关动作。预定义的API可以描述规则、协议或关于计算系统和计算机应用如何交互的其他信息。可以向用户提供一个或多个指示器(例如,视觉指示器),以指示计算机应用的可用动作。此配置或平台可鼓励应用开发人员设计被配置为与本文所述的计算系统对接的应用。结果,计算系统能够以更可靠、更智能和更有帮助的方式向用户提供来自计算机应用的相关提示、建议或暗示,例如,以便引导用户执行技术任务。
作为一个示例,计算系统可以识别用户界面中显示的文本所引用的一个或多个语义实体,例如餐厅名称。计算系统可以向计算机应用提供描述语义实体的数据(例如,根据预定义的API或其他协议)。数据可以包括餐厅名称、和/或关于在用户界面(例如,在文本消息应用中、在网页浏览应用中显示的文章中等等)中显示餐厅名称的位置或上下文的附加信息。计算系统可以响应于描述语义实体的数据来从计算机应用接收(例如,根据预定义的API或其他协议)一个或多个应用输出。例如,计算机应用可以根据由预定义的API所指定的规则或协议关于应用输出对计算系统进行格式化、传输和/或警告。计算系统可以向用户提供描述或建议来自计算机应用的可用动作的指示器(例如,翻译显示有餐厅名称的文本、使用预订应用进行预订、使用评论应用读取评论、和/或使用导航应用导航到餐厅)。
重要的是,可以向用户提供控件,该控件允许用户关于本文所描述的系统、程序或特征是否及何时可以使得能够进行用户信息(例如,环境音频、用户界面中呈现的文本等)的收集做出选择。另外,某些数据在被存储或使用之前可以以一种或多种方式进行处理,使得移除个人可识别信息。例如,用户的身份可被处理以使得对于用户没有个人可识别信息被确定。因此,用户可以对关于用户收集什么信息、如何使用该信息、以及向用户提供什么信息进行控制。
根据本公开的一个方面,计算系统可以包括机器学习的模型(例如,识别模型)和一个或多个计算机应用。机器学习的模型可以被配置为接收包括上下文数据的模型输入,并输出描述由模型输入所引用的一个或多个语义实体的模型输出。上下文数据的示例可以包括在用户界面中显示的文本、由计算系统播放或处理的音频、由计算系统检测到的音频、关于用户的位置(例如,计算系统的移动计算设备的位置)的信息、日历数据和/或联系人数据。例如,上下文数据可以包括由计算系统的麦克风检测到的环境音频和/或在电话呼叫期间处理的电话音频。日历数据可以描述未来的事件或计划(例如,航班、酒店预订、晚餐计划等)。可以由模型输出描述的示例语义实体包括在文本和/或音频中识别的单词或短语。附加示例包括关于用户的位置的信息,例如城市名称、州名、街道名称、附近景点的名称等。
计算系统可以被配置为向一个或多个计算机应用提供描述一个或多个语义实体的数据。数据可以是或可以包括语义实体和/或关于语义实体的附加上下文信息。例如,数据可以包括例如到其他语言的文本的翻译、由计算系统播放的音频的文本字幕、关于进入一个或多个特定建筑物的信息(例如用于轮椅使用者)、或在计算系统播放的视频中识别的歌曲的名称。数据还可以包括其他关联信息,例如表演歌曲的艺术家的名字。
计算系统可以被配置为响应于提供描述一个或多个语义实体的数据而从一个或多个计算应用接收一个或多个应用输出。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。为了使用上述示例,应用输出可以包括到一种或多种其他语言的文本的翻译、由计算系统播放的音频的文本字幕(例如,用于听力受损的用户)、关于进入一个或多个特定建筑物的信息(例如,用于轮椅使用者)、或者可以由音乐流传输应用流传输的歌曲和/或艺术家的名字。作为另一示例,响应于接收到包括城市名称的语义实体(例如,用户计划拜访的城市),应用输出可以包括从旅行预订应用在该城市可用的潜在住宿和/或汽车租赁。
计算系统可以被配置为向用户提供至少一个指示器,该指示器描述对应的计算机应用的一个或多个可用动作。指示器可以是或可以包括在用户界面中呈现的图形指示器,例如描述可用动作的单词或短语。例如,在关于歌曲名称的以上示例中,指示器可以是或可以包括在视频中识别的歌曲名称旁边的标记为“播放(Play)”的按钮。作为另一示例,图形指示器可以包括到其他语言的文本的翻译、播放的音频的文本字幕、和/或其他可访问性信息,例如轮椅入口的位置。作为另一示例,图形指示器可以是或可以包括基于包括电影标题的语义实体的电影时间和/或影院位置,该电影标题显示在用户界面中或包括在环境音频中(例如,由计算设备处理和/或由计算设备的麦克风检测到的音频)。作为又一个示例,指示器可以包括播放给用户的音频指示器。例如,音频指示器可以包括语音或其他声音,其询问用户是否应该将用户界面中出现的文本或环境音频翻译成不同的语言。
指示器还可以包括或描述关于可用于执行动作的计算机应用的识别信息。作为一个示例,在一些实现中,计算机应用可以提供描述美学特征的风格化输出,其可以包括识别信息。计算系统可以基于风格化输出在用户界面中显示指示器。美学特征可以包括计算机应用的名称、标志、字体、颜色、形状、用户界面内的位置、和/或任何其他合适的视觉特性中的一个或多个。
在一些实现中,计算系统可以包括人工智能系统(例如,“谷歌助手(GoogleAssistant)”)。人工智能系统可以包括机器学习的模型,并执行本文所述的一些或全部操作。人工智能系统可以与一个或多个计算机应用分开并且不同,但是能够与一个或多个计算机应用进行通信。经由预定义的应用编程接口,人工智能系统可以向计算机应用提供描述一个或多个语义实体的数据并可以分别从计算应用接收应用输出。
在一些实现中,本文描述的一些或全部操作可以是主动性地执行的,而无需请求其执行的用户输入。在用户使用计算设备时,计算系统(例如,人工智能系统)可以识别上下文数据,而无需请求这样的动作的用户输入。例如,系统可以主动性地提供文本的直译、音频的文本字幕、和/或其他可访问性信息,而无需对该信息的在先用户输入请求。例如,在已知用户有兴趣接收某种类型的信息的情况下,可以提供这样的信息。例如,用户可能正在阅读在用户界面中显示的文章。计算系统可以将文章的一些或全部文本输入到机器学习的模型中并接收描述文本内的语义实体的模型输出。语义实体可以包括名称或产品、无障碍入口和出口、人、事件、或其他感兴趣的物品。计算系统可以在用户界面中呈现一个或多个指示器,其描述来自计算机应用的可用动作。指示器可以包括可选地与关于可用动作的进一步信息相结合的语义实体的强调(emphasis)(例如,突出显示、标轮廓线、标下划线等)。例如,语义实体可以包括建筑物的无障碍入口和/或出口的位置,并且指示器可以通知用户导航应用可用来将用户沿着合适的无障碍路线(例如适合轮椅的路线)导航到入口/出口。在另一个示例中,语义实体可以包括在文章的文本中提到的产品的名称,并且指示器可以通知用户购物应用(例如,Amazon应用)可用于执行动作,例如购买物品。
然而,在一些实现中,至少提供至少一个指示器的操作可以是响应于用户输入而反应性地执行的。用户可以执行从一个或多个计算机应用具体请求可用动作(例如,长按、双击、讲出请求等)的动作。替选地,用户可以执行没有具体请求可用动作的动作,例如突出显示要复制和粘贴的文本。计算系统可以响应于用户突出显示文本来提供指示器。例如,用户可以突出显示城市的名称,并且计算系统可以提供描述关于城市的可用动作的指示器(例如,预订城市中的住宿)。
在一些实现中,计算系统可以被配置为提供描述与计算系统接收的应用输出相对应的少于所有可用动作的指示器。换句话说,计算系统可以接收描述多个可用动作的多个应用输出(例如,来自多个计算机应用)。
计算系统可以例如基于各种因素或数据来选择多个可用动作的子集,比如真子集,以提供给用户。示例包括与一个或多个语义实体的相关性、过去的用户交互、一个或多个语义实体的类型、或一个或多个可用动作的类型。
作为示例,可以基于语义实体的类型和可用动作的类型之间的比较来选择可用动作。语义实体类型可以包括景点(例如,餐厅、地标等)、媒体(例如,文本、歌曲、视频等)、位置(例如,城市、街道等)、产品、和/或人(例如历史人物、作者、联系人等)。可用动作类型可以包括导航、预订(例如,住宿、就餐等)、显示媒体(例如,来自音频的带字幕的文本、直译文本、歌曲、图像、视频等)和/或提供不一定可执行的信息(例如,显示菜单、带字幕的文本、翻译或其他信息)。可以通过将合适的可用动作类型与语义实体进行匹配来选择可用动作。例如,响应于提供媒体类型语义实体并接收多个可用动作类型,计算系统可以选择(或优选)包括显示媒体的可用动作。
作为另一示例,可以基于过去的用户交互来选择可用动作。示例过去的用户交互包括接收特定类型的可用动作的偏好或对来自一个特定计算机应用或一组计算机应用的动作的偏好。因此,计算系统可以为计算设备的用户定制来自计算机应用的可用动作的选择。
在一些实现中,可用动作的选择可以通过机器学习的模型来执行。“排序机器学习的模型”可以被配置为接收描述一个或多个可用动作的输入,该一个或多个可用动作由从每个计算机应用接收的输出描述。响应于输入的接收,机器学习的模型可以被配置为输出描述可用动作的排序的排序输出。计算系统可以被配置为将描述可用动作的输入输入到排序机器学习的模型中,并且接收描述相应输出的排序的排序输出作为排序机器学习的模型的输出。计算系统可以被配置为基于排序输出来选择可用动作以呈现给用户。例如,可以选择最高排序的动作(例如,最前的单个结果、最前的两个动作、最前的三个动作等)以呈现给用户。
在一些实现中,计算系统可以被配置为存储诸如“书签”的信息,该信息包括或描述用于用户稍后查看的指示器。计算机系统可以被配置为检测请求将指示器保存以供稍后查看的用户输入动作。计算系统可以显示与指示器相关联(例如,显示在指示器附近)的“书签”图标。用户可以轻敲(tap)或触摸“书签”图标以将指示器保存到存储器中以供稍后查看。用户可以在“保存待用(saved for later)”的面板中查看已保存的指示器,当用户希望重新访问先前提供的指示器时可以检索该面板。
在一些实现中,例如,可以基于与指示器的产生和/或显示相关联的上下文数据,将保存的指示器组合在一起和/或保存。保存的指示器可以一起组合为与特定的实体、事件或位置相关,和/或可以基于其他信息组合在一起。例如,可以基于与指示器相关联的可用动作和/或计算机应用的类型、向用户提供指示器时移动计算设备的位置、可用动作的焦点位置(例如,可用住宿清单所在的城市、提供机票的目的地城市)、和/或基于日期或日期范围的时间分组来将保存的指示器一起组合为与人(例如,联系人)相关(例如,可以针对特定假期或旅行将指示器组合在一起)。
在一些实现中,计算系统可以被配置为例如在移动计算设备上本地执行本文描述的一些或全部操作。移动设备可以存储本文描述的机器学习的模型,并且本地执行机器学习的模型。用户的移动设备上的本地执行可以减少整个系统的时延,以及用远离移动设备定位的一个或多个后端服务器计算机来减少网络业务量。在信息从设备发送出去之前(例如,用于云计算),可以通知用户或用信号通知用户。这样的信令可以通过使用本文描述的特征来改善用户信心。例如,用户可能特别有兴趣知道是否或何时将特定类型的上下文数据(例如,用麦克风检测到的环境音频和/或在电话呼叫期间收集的音频)从设备传送出去。因此,在一些实现中,一些或所有上下文数据可以保留在设备上,除非接收到用户允许上下文数据从设备传送出去的同意。
本公开的系统和方法可以提供许多技术效果和效益。如以上在某些地方提到的,系统和相关方法可以以主动性方式操作以协助用户。这样做时,系统和方法可以例如经由用户的移动设备来减少给定系统的用户输入的数量,从而节省否则可能需要处理此类输入的与计算和电力相关的资源(例如,通过搜索引擎进行请求或搜索)。方法的设备上的实现,例如,通过在用户设备处本地存储并执行的机器学习的模型,可以缩短提供信息以协助用户的时延,此外,可以减少网络业务量,其否则可能是需要以从远处的服务器计算机请求/提供此类信息。通过以有助于引导的人机交互的方式呈现信息,主动性地提供提示和/或上述讨论的其他类型的信息还可以提供高效利用用户设备处的屏幕实际使用面积(realestate),例如,以将轮椅使用者导航到建筑物的无障碍入口,或者为听力受损人士提供来自音频的技术信息的文本字幕。
现在参考附图,将进一步详细讨论本公开的示例实施例。
图1A描绘了根据本公开的示例实施例的示例计算系统100的框图,该示例计算系统100从一个或多个计算机应用中选择并提供可用动作给用户。系统100可以包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和/或训练计算系统150。
用户计算设备102可以是任何类型的计算设备,例如像个人计算设备(例如,膝上型计算机或台式计算机)、移动计算设备(例如,智能电话或平板电脑)、游戏机或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器、或操作连接的多个处理器。存储器114可以包括一个或多个非瞬时性计算机可读存储介质,例如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及其组合。存储器114可以存储数据116和指令118,该数据116和指令118由处理器112执行以使用户计算设备102执行操作。
用户计算设备102可以存储或包括一个或多个计算机应用119。计算机应用可以被配置为执行各种操作并提供如本文所述的应用输出。
用户计算设备102可以存储或包括人工智能系统120。人工智能系统120可以执行本文所述的部分或全部操作。人工智能系统120可以与一个或多个计算机应用119分开并且不同,但是能够与一个或多个计算机应用119进行通信。
人工智能系统120可以包括一个或多个识别模型122和/或一个或多个排序模型124。识别模型122和/或一个或多个排序模型124可以是或可以另外包括各种机器学习的模型,比如神经网络(例如,深度神经网络)或其他多层非线性模型。神经网络可以包括递归神经网络(例如,长短期记忆递归神经网络)、前馈神经网络、或其他形式的神经网络。参考图2A对示例识别模型122进行讨论。参考图2B对示例排序模型124进行讨论。
在一些实现中,一个或多个识别模型122和/或一个或多个排序模型124可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,并且由一个或多个处理器112使用或实现。在一些实现中,用户计算设备102可以实现单个识别模型122的多个并行实例(例如,以跨越识别模型122的多个实例执行并行识别操作)。在一些实现中,用户计算设备102可以实现排序模型124的多个并行实例(例如,以跨越排序模型124的多个实例执行并行排序操作)。
更具体地,识别模型122可以被配置为识别由上下文数据描述的一个或多个语义实体。识别模型122可以被配置为接收包括上下文数据的模型输入,并且输出描述由模型输入引用的一个或多个语义实体的模型输出。上下文数据的示例可以包括在用户界面中显示的文本、由计算系统播放或处理的音频、由计算系统检测到的音频、关于用户的位置(例如,计算系统的移动计算设备的位置)的信息、日历数据、和/或联系人数据。例如,上下文数据可以包括由计算系统的麦克风检测到的环境音频和/或在电话呼叫期间处理的电话音频。日历数据可以描述未来的事件或计划(例如,航班、酒店预订、晚餐计划等)。可以由模型输出描述的示例语义实体包括在文本和/或音频中识别的单词或短语。附加示例包括关于用户的位置的信息,例如城市名称、州名、街道名称、附近景点的名称等。
排序模型124可以被配置为接收描述一个或多个可用动作的输入,该一个或多个可用动作由从每个计算机应用接收的输出描述。响应于输入的接收,机器学习的模型可以被配置为输出描述可用动作的排序的排序输出。计算系统可以被配置为将描述可用动作的输入输入到排序机器学习的模型中,以及接收描述相应输出的排序的排序输出作为排序机器学习的模型的输出。计算系统可以被配置为基于排序输出来选择可用动作以呈现给用户。例如,可以选择最高排序的动作(例如,最前的单个结果、最前的两个动作、最前的三个动作等)以呈现给用户。
附加地或替选地,人工智能系统140可以被包括在服务器计算系统130中或由其存储和实现,该服务器计算系统130根据客户端-服务器关系与用户计算设备102进行通信。例如,人工智能系统140可以包括识别模型142和/或排序模型144。识别模型142和/或排序模型144可以由服务器计算系统140实现,作为网络服务的一部分。因此,一个或多个模型122、124可以在用户计算设备102处存储和实现,和/或一个或多个模型142、144可以在服务器计算系统130处存储和实现。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触控笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可通过其输入通信的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器、或可操作地连接的多个处理器。存储器134可以包括一个或多个非瞬时性计算机可读存储介质,例如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及其组合。存储器134可以存储数据136和指令138,该数据136和指令138由处理器132执行以使服务器计算系统130执行操作。
在一些实现中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由其实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构、或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括人工智能系统,该人工智能系统可以包括一个或多个机器学习的模型142、144。例如,模型142、144可以是或可以以其他方式包括各种机器学习的模型,比如神经网络(例如,深度递归神经网络)或其他多层非线性模型。参考图2A和图2B对示例模型140进行讨论。
服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型140。训练计算系统150可以与服务器计算系统130分开,或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器、或可操作地连接的多个处理器。存储器154可以包括一个或多个非瞬时性计算机可读存储介质,例如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、以及其组合。存储器154可以存储数据156和指令158,该数据156和指令158由处理器152执行以使训练计算系统150执行操作。在一些实现中,训练计算系统150包括一个或多个服务器计算设备或以其他方式由其实现。
训练计算系统150可以包括模型训练器160,该模型训练器160使用各种训练或学习技术(例如像误差反向传播)来训练存储在服务器计算系统130处的机器学习的模型140。在一些实现中,执行误差反向传播可以包括随着时间执行截断反向传播。模型训练器160可以执行大量的泛化(generalization)技术(例如,权重衰减、丢弃(dropout)等),以改善正被训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据的集合142来训练模型122、124、142、144中的一个或多个。训练数据142可以包括例如公开可用的数据集,比如标记或未标记的图像、声音等。
在一些实现中,如果用户已提供同意,则训练示例可以由用户计算设备102提供(例如,基于先前由用户计算设备102的用户提供的通信)。因此,在这样的实现中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收的用户特定通信数据上进行训练。在一些实例中,此过程可以被称为将模型个性化。
模型训练器160包括用于提供期望的功能的计算机逻辑。模型训练器160可以在控制通用处理器的硬件、固件和/或软件中实现。例如,在一些实现中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其它实现中,模型训练器160包括一个或多个计算机可执行指令集,这些指令集存储在诸如RAM硬盘或光学或磁性介质的有形计算机可读存储介质中。
网络180可以是任何类型的通信网络,例如局域网(例如,内部网)、广域网(例如,因特网)、或其一些组合,并且可以包括任何数量的有线或无线链路。一般来说,可以通过使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来进行网络180上的通信。
图1A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现中,模型120可以在用户计算设备102处本地训练和使用。在一些这样的实现中,用户计算设备102可以实现模型训练器160以基于用户特定的数据将模型120个性化。
图1B描绘了根据本公开的示例实施例的用于从一个或多个计算机应用中选择并提供可用动作给用户的示例计算设备10的框图。计算设备10可以是用户计算设备(例如,移动计算设备)或服务器计算设备。
计算设备10包括许多应用(例如,应用1至N)。每个应用包含其自己的机器学习库和机器学习的模型。例如,每个应用可以包括机器学习的模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的许多其他组件进行通信,许多其他组件例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现中,每个应用可以使用API(例如,公共API)与每个设备组件进行通信。在某些实现中,每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括许多应用(例如,应用1至N)。每个应用与中央智能层进行通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现中,每个应用可以使用API(例如,跨越所有应用的公共API)与中央智能层(及其中存储的模型)进行通信。
中央智能层包括许多机器学习的模型。例如,如图1C所示,相应的机器学习的模型(例如,模型)可以针对每个应用来提供并由中央智能层管理。在其他实现中,两个或更多个应用可以共享单个机器学习的模型。例如,在一些实现中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现中,中央智能层被包括在计算设备50的操作系统内或以其它方式由其实现。
中央智能层可以与中央设备数据层进行通信。中央设备数据层可以是用于计算设备50的数据的集中储库。如图1C所示,中央设备数据层可以与计算设备的许多其他组件进行通信,许多其他组件例如一个或多个传感器、上下文管理器、设备状态组件、和/或附加组件。在一些实现中,中央设备数据层可以使用API(例如,私有API)与每个设备组件进行通信。
图1D描绘了根据本公开的各方面的示例用户计算设备170(例如,移动计算设备),其被配置为从一个或多个计算机应用172中选择并提供可用动作给用户。更具体地,用户计算设备170可以被配置为向一个或多个计算机应用172提供描述一个或多个语义实体的数据174。所述数据可以是或可以包括语义实体和/或关于该语义实体的附加上下文信息。例如,数据可以包括在由计算系统播放的视频中识别的歌曲的名称。数据还可以包括表演该歌曲的艺术家的名字。计算系统可以根据预定义的API或其他协议向计算机应用提供描述语义实体的数据174。
用户计算设备170可以被配置为响应于向一个或多个计算机应用172提供描述一个或多个语义实体的数据174而分别从一个或多个计算应用172接收一个或多个应用输出176。从每个计算机应用接收的应用输出174可以描述对应计算机应用172的关于一个或多个语义实体的一个或多个可用动作。在上述示例中,应用输出174可以包括可由音乐流传输(streaming)应用流传输的歌曲和/或艺术家的名称。作为另一示例,响应于接收到包括包含城市(例如,用户计划拜访的城市)的名称的语义实体的数据174,应用输出176可以包括从旅行预订应用在该城市可用的潜在住宿和/或汽车租赁。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出对计算系统进行格式化、传输和/或警告。
用户计算设备170可以被配置为向用户提供至少一个指示器178,该指示器178描述对应的计算机应用172的一个或多个可用动作。指示器178可以是或可以包括在用户界面中呈现的图形指示器,例如描述可用动作的单词或短语。例如,在以上示例中,指示器可以是或可以包括在视频中识别的歌曲名称旁边的标记为“播放”的按钮。作为另一示例,图形指示器可以是或可以包括基于包括电影标题的语义实体的电影时间和/或影院位置,该电影标题显示在用户界面中或包括在环境音频中(例如,由计算设备处理和/或由计算设备的麦克风检测到的音频)。作为又一个示例,指示器可以包括播放给用户的音频指示器。例如,音频指示器可以包括语音或其他声音,其询问用户是否应该将用户界面中出现的文本或环境音频翻译成另一种语言。然而,应当理解,在本公开的范围内,可以以音频格式来提供本文描述的任何图形指示器。
指示器还可以包括或描述关于可用于执行动作的计算机应用的识别信息。作为一个示例,在一些实现中,计算机应用可以提供描述美学特征的风格化输出,其可以包括识别信息。计算系统可以基于风格化输出在用户界面中显示指示器。美学特征可以包括计算机应用的名称、标志、字体、颜色、形状、用户界面内的位置、和/或任何其他合适的视觉特性中的一个或多个。
图2A描绘了根据本公开的示例实施例的示例识别模型202的框图。在一些实现中,识别模型202可以被配置为接收包括上下文数据204的模型输入,并且输出描述由模型输入引用的一个或多个语义实体206的模型输出。上下文数据204的示例可以包括在用户界面中显示的文本、由计算系统播放或处理的音频、由计算系统检测到的音频、关于用户的位置(例如,计算系统的移动计算设备的位置)的信息、日历数据和/或联系人数据。例如,上下文数据204可以包括由计算系统的麦克风检测到的环境音频和/或由计算设备处理的音频(例如,在电话呼叫期间或在播放诸如视频、播客等媒体时)。日历数据可以描述未来的事件或计划(例如,航班、酒店预订、晚餐计划等)。可以由模型输出描述的示例语义实体包括在文本和/或音频中识别的单词或短语。附加示例包括关于用户的位置的信息,例如城市名称、州名、街道名称、附近景点的名称等。
图2B描绘了排序模型250,其可以被配置为接收描述一个或多个可用动作252的输入,该一个或多个可用动作由从每个计算机应用接收的输出来描述。响应于输入的接收,机器学习的模型可以被配置为输出描述可用动作的排序的排序输出254。计算系统可以被配置为将描述可用动作252的输入输入到排序机器学习的模型250中,并接收描述相应输出的排序的排序输出254作为排序机器学习的模型250的输出。计算系统可以被配置为基于排序输出254选择可用动作252以呈现给用户。例如,可以选择最高排序的动作(例如,最前的单个结果、最前的两个动作、最前的三个动作等)以呈现给用户。
在一些实现中,计算系统可以包括人工智能系统(例如,“谷歌助手”)。人工智能系统可以包括上述参考图2A和图2B描述的机器学习的模型202、250中的一个或多个。人工智能系统可以执行本文所述的一些或全部操作。
人工智能系统可以与一个或多个计算机应用分开并且不同,但是能够与一个或多个计算机应用进行通信。经由预定义的应用编程接口,人工智能系统可以向计算机应用提供描述一个或多个语义实体的数据并可以分别从计算应用接收应用输出。
图3描绘了根据本公开的示例实施例的用于从一个或多个计算机应用中选择并提供可用动作给用户的示例方法300的流程图。尽管为了说明和讨论的目的,图3描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不偏离本公开的范围的情况下,可以以各种方式省略,重新布置,组合和/或调整(adapt)方法300的各个步骤。
在302处,计算系统可被配置为将模型输入输入到机器学习的模型中,例如,比如上面参考图2A所描述的排序机器学习的模型。模型输入可以包括上下文数据。上下文数据的示例可以包括在用户界面中显示的文本、由计算系统播放或处理的音频、由计算系统检测到的音频、关于用户的位置(例如,计算系统的移动计算设备的位置)的信息、日历数据和/或联系人数据。例如,上下文数据可以包括由计算系统的麦克风检测到的环境音频和/或在电话呼叫期间处理的电话音频。日历数据可以描述未来的事件或计划(例如,航班、酒店预订、晚餐计划等)。
在一些实现中,计算系统可以包括人工智能系统(例如,“谷歌助手”)。人工智能系统可以包括排序机器学习的模型,并且可以执行本文所述的一些或全部操作。人工智能系统可以与一个或多个计算机应用分开并且不同,但是能够与一个或多个计算机应用进行通信。经由预定义的应用编程接口,人工智能系统可以向计算机应用提供描述一个或多个语义实体的数据并可以分别从计算应用接收应用输出。
在304处,计算系统可以被配置为接收描述由上下文数据所引用的一个或多个语义实体的模型输出,作为机器学习的模型(例如,排序机器学习的模型)的输出。可以由模型输出描述的示例语义实体包括在由上下文数据描述的文本和/或音频中识别的单词或短语。附加示例包括关于用户的位置的信息,例如城市名称、州名、街道名称、附近景点的名称等。
在306处,计算系统可以被配置为向一个或多个计算机应用提供描述一个或多个语义实体的数据。数据可以是或可以包括语义实体和/或关于语义实体的附加上下文信息。例如,数据可以包括在由计算系统播放的视频中识别的歌曲的名称。数据还可以包括表演该歌曲的艺术家的名字。计算系统可以根据预定义的API或其他协议向计算机应用提供描述语义实体的数据。
在308处,计算系统可以被配置为响应于向一个或多个计算机应用提供描述一个或多个语义实体的数据来分别从一个或多个计算应用接收一个或多个应用输出。从每个计算机应用接收的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。在上面描述的示例中,应用输出可以包括可由音乐流传输应用流传输的歌曲和/或艺术家的名称。作为另一示例,响应于接收到包括城市(例如,用户计划拜访的城市)的名称的语义实体,应用输出可以包括从旅行预订应用在该城市可用的潜在住宿和/或汽车租赁。
在310处,计算系统可以被配置为向用户提供至少一个指示器,该指示器描述对应的计算机应用的一个或多个可用动作。指示器可以是或可以包括在用户界面中呈现的图形指示器,例如描述可用动作的单词或短语。例如,在以上示例中,指示器可以是或可以包括在视频中识别的歌曲名称旁边的标记为“播放”的按钮。作为另一示例,图形指示器可以是或可以包括基于包括电影标题的语义实体的电影时间和/或影院位置,该电影标题显示在用户界面中或包括在环境音频中(例如,由计算设备处理和/或由计算设备的麦克风检测到的音频)。作为又一个示例,指示器可以包括播放给用户的音频指示器。例如,音频指示器可以包括语音或其他声音,其询问用户是否应该将用户界面中出现的文本或环境音频翻译成不同的语言。然而,应当理解,在本公开的范围内,可以以音频格式来提供本文描述的任何图形指示器。
指示器还可以包括或描述关于可用于执行动作的计算机应用的识别信息。作为一个示例,在一些实现中,计算机应用可以提供描述美学特征的风格化输出,其可以包括识别信息。计算系统可以基于风格化输出在用户界面中显示指示器。美学特征可以包括计算机应用的名称、标志、字体、颜色、形状、用户界面内的位置、和/或任何其他合适的视觉特性中的一个或多个。
图4示出了本公开的各方面的示例实现。更具体地,图4描绘了根据本公开的各方面的示例移动计算设备400,其在用户界面401中显示指示器402,该指示器402示出了来自计算机应用的可用动作。移动计算设备400可以与图1A的用户计算设备102对应。移动计算设备400可以存储或以其他方式实现计算机应用。在此示例中,移动计算设备400可以显示由餐厅评论应用“Eater(食客)”产生的餐厅评论。
移动计算设备400可以被配置为将包括上下文数据的模型输入输入到识别机器学习的模型中,例如,如参考图2A所描述的模型。在此示例中,上下文数据可以包括在用户界面401中显示的一些或全部文本。
移动计算设备400可以被配置为接收描述由上下文数据所引用的一个或多个语义实体的模型输出。在此示例中,模型输出可以包括突出显示的文本。更具体地,在此示例中,用户已在用户界面401中显示的文本中突出显示了城市名称“Port Angeles(安吉利斯港)”。
移动计算设备400可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括名称“Port Angeles”。移动计算设备400可以将数据提供给几个计算机应用,包括住宿应用、导航应用、和/或其他合适的应用。移动计算设备400可以根据预定义的API或其他协议来提供数据。
另外,一个或多个计算机应用可以是“第三方”计算机应用。换句话说,一些或全部计算机应用可以由除在移动计算设备上可操作的操作系统和/或人工智能系统的开发人员之外的实体开发。
移动计算设备400可以被配置为基于模型输出和关于多个应用的相应信息之间的比较,从计算系统上可操作的多个应用中选择向其提供描述一个或多个语义实体的数据的计算机应用。在此示例中,移动计算设备400(例如,人工智能系统)可以被配置为将模型输出(例如,包括“Port Angeles”)与关于潜在应用(诸如住宿应用、导航应用、电影票应用、电影评论应用、餐厅评论应用、餐厅预订应用等)的信息进行比较。移动计算设备400可以选择向其提供数据(例如,包括“Port Angeles”)的一个或多个应用。在此示例中,移动计算设备400(例如,人工智能系统)可以基于关于潜在应用的信息(例如,典型的输入和/或输出)的比较来选择住宿应用和/或导航应用。例如,可以选择住宿应用和/或导航应用,因为用于此种应用的典型输入包括城市的名称。
移动计算设备400可以被配置为响应于向计算机应用提供描述语义实体的数据来分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出对计算系统进行格式化、传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于语义实体的一个或多个可用动作。在此示例中,应用输出包括来自住宿应用“Airbnb”的输出。应用输出可以包括关于在Port Angeles的可用住宿选项的信息。应用输出可以包括来自导航应用和/或搜索应用的输出。
移动计算设备400可以选择由应用输出所描述的多个可用动作的子集以提供给用户。移动计算设备400可以基于各种因素或数据来选择子集可用动作。示例包括与一个或多个语义实体的相关性、计算系统的移动计算设备400的位置、过去的用户交互、一个或多个语义实体的类型、或一个或多个可用动作的类型。
在此示例中,移动计算设备400可以从住宿应用、导航应用、搜索应用和/或附加应用(例如,餐厅预订应用、餐厅评论应用等)接收描述相应可用动作的应用输出。例如,基于过去的用户交互,移动计算设备400可以从住宿应用中选择应用输出以显示给用户。过去的用户交互的示例可以包括与其他应用相比,对住宿应用使用的增加、对来自住宿应用的描述动作的指示器的参与度的增加等。因此,计算系统可以为计算设备的用户定制来自计算机应用的可用动作的选择。
在一些实现中,可用动作的选择可以通过机器学习的模型来执行,例如参考图2B所述的“排序机器学习的模型”。移动计算设备400可以被配置为将描述可用动作的输入输入到排序机器学习的模型中,并且接收描述相应输出的排序的排序输出作为排序机器学习的模型的输出。移动计算设备400可以被配置为基于排序输出选择可用动作以呈现给用户。例如,可以选择最高排序的动作(例如,最前的单个结果、最前的两个动作、最前的三个动作等)以呈现给用户。在此示例中,移动计算设备400可以输入描述来自两个或更多个计算机应用(例如,住宿应用、导航应用、搜索应用和/或附加应用(例如,餐厅预订应用、餐厅评论应用等))的应用输出的模型输入。移动计算设备400可以接收包括计算机应用的排序的模型输出,作为来自排序机器学习的模型的输出。移动计算设备400可以基于该排序选择可用动作以提供给用户。在此示例中,移动计算设备400可以选择来自住宿应用的可用动作以提供给用户。
更具体地,移动计算设备400可以提供描述来自住宿应用的可用动作的指示器402以显示在用户界面401中。在此示例中,指示器402包括住宿应用的名称和标志。如果用户执行针对指示器的输入(例如,使用关于移动计算设备400的触摸屏的用户触摸动作),则移动计算设备400可以打开住宿应用(或者提供来自住宿应用的输出以显示在用户界面401中)以示出来自住宿应用的在Port Angeles中的可用住宿选项。
指示器402可以在面板404中被提供。附加可用动作或指示器406可以显示在面板404中。例如,在此示例中,复制或共享突出显示的文本的选项加上全选文本的选项也呈现在面板404中。另外,可以在面板404中显示垂直的椭圆408。响应于接收到针对垂直的椭圆408的用户输入动作,移动计算设备400可以显示来自附加计算机应用的附加指示器和/或关于面板404中当前显示的指示器402、406的附加信息。
移动计算设备400可以将指示器410显示在操作系统级导航栏412中。可以在多个应用的使用期间和/或在移动计算设备的“主屏幕”处显示操作系统级导航栏412。在此示例中,导航栏412中的指示器410包括提供“进行Airbnb预订”的文本。
如上所述,指示器402还可以包括或描述关于可用于执行动作的计算机应用的识别信息(例如,计算应用的标志或名称)。在一些实现中,计算机应用可以提供描述美学特征的风格化输出,其可以包括识别信息。在此示例中,住宿应用可以提供包括住宿应用的标志的风格化输出以用于显示。风格化输出可以包括各种美学特征,例如字体、颜色、形状、用户界面内的位置、和/或指示器402的任何其他合适的视觉特性。
在一些实现中,移动计算设备400可以提供可以向用户播放的音频指示器。例如,音频指示器可以包括语音或其他声音,其询问用户是否应该将用户界面中出现的文本或环境音频翻译成不同的语言。在此示例中,音频指示器可以包括讲出西班牙语口语的英语翻译的语音。然而,应当理解,在本公开的范围内,可以以音频格式来提供本文描述的任何图形指示器。
另外,在一些实现中,移动计算设备400可提供视觉信号414(例如,在导航栏412中)。视觉信号414可以指示移动计算设备的状态。例如,当上下文数据(例如,在用户界面中显示的文本)正在被或未被从设备发送出去时,视觉信号414可以向用户发信号。作为另一示例,视觉信号414可以指示人工智能系统的状态。视觉信号414可以指示人工智能系统何时正在收集上下文数据、执行被配置为从计算机应用检索可用动作的一个或多个操作(例如,“处理”上下文数据)、和/或与提供给用户的指示器402、410的相关性相关联的置信度。
图5A和图5B示出了本公开的各方面的另一示例实现。更具体地,图5A描绘了根据本公开的各方面的第一状态下的示例移动计算设备500,其中移动计算设备500正在用户界面502中显示文本消息交换。图5B描绘了根据本公开的各方面的第二状态下的图5A的移动计算设备500,其中移动计算设备正在提供关于来自图5A的文本消息交换的已识别文本的来自多个计算机应用的可用动作的指示器。移动计算设备500可以将包括上下文数据的模型输入输入到识别模型中,例如,如上面参考图2A所描述的模型。在此示例中,上下文数据可以包括在用户界面502中显示的一些或全部文本。识别模型可以输出模型输出,其描述了由上下文数据引用的一个或多个语义实体,比如餐厅的名称“Sushi Tomi”和/或一条或多条关于文本消息交换的信息。可以由模型输出描述的语义实体的附加示例包括用户与之交换文本消息的人的名字和/或单词“午餐(lunch)”。
移动计算设备500可以被配置为向一个或多个计算机应用提供描述一个或多个语义实体的数据。在此示例中,数据可以包括语义实体。移动计算设备400可以将数据提供给几个计算机应用,包括预订应用和/或导航应用。移动计算设备400可以根据预定义的API或其他协议来提供数据。
移动计算设备500可以被配置为响应于向计算机应用提供描述一个或多个语义实体的数据来分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出对计算系统进行格式化、传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于语义实体的一个或多个可用动作。在此示例中,应用输出包括来自预订应用“Open Table”的输出和来自导航应用“GoogleMaps(谷歌地图)”的输出。应用输出可以包括关于进行预订和/或餐厅Sushi Tomi的位置的信息。
移动计算设备500可以被配置为通过在用户界面401中显示指示器来向计算系统的用户提供一个或多个指示器。例如,移动计算设备500可以显示指示器552,其描述了使用预订应用进行预订的可用动作。指示器552可以显示在“半搁板”554中。半搁板554可以位于用户界面502的下部。
移动计算设备500可以显示描述来自导航应用的可用动作的指示器556。例如,可用动作可以包括呼叫餐厅(由图标558表示)、导航到餐厅(由图标560表示)和/或在地图上查看餐厅的位置(由图标562表示)。指示器556可以包括关于餐厅的附加信息,例如来自餐厅网站和/或地图566的照片564。
移动计算设备500可以显示指示器568,其描述包括使用搜索应用搜索餐厅的可用动作。移动计算设备500可以显示指示器568和/或指示器570,指示器568描述包括使用搜索应用搜索餐厅的可用动作,指示器570描述包括例如在网络浏览器应用或餐厅评论/预订应用中查看餐厅的营业时间的可用动作。
图6描绘了根据本公开的各方面的示例移动计算设备600,其在用户界面604中显示文本消息通知602以及关于来自文本消息的已识别文本的来自多个计算机应用的可用动作的指示器。更具体地,移动计算设备600可以在用户界面604中显示的锁屏606中显示文本消息通知。
在此示例中,上下文数据可以包括所接收的文本消息的文本和/或发送者的名字。语义实体可以包括以下中的一项或多项:日期(“8月6日”)、事件(“Chris的婚礼”)或举行场所(“植物园(Arboretum)”),其由上下文数据描述。
移动计算设备600可以被配置为向计算机应用提供描述一个或多个语义实体的数据。在此示例中,数据可以包括一个或多个语义实体。移动计算设备400可以根据预定义的API或其他协议来提供数据。
移动计算设备600可以被配置为从计算机应用接收一个或多个应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出对计算系统进行格式化、传输和/或警告。在此示例中,应用输出可以包括关于包括从导航应用导航到Arboretum的可用动作的信息和/或关于包括从日历应用创建日历事件的可用动作的信息。
移动计算设备600可以被配置为提供指示器608和/或指示器610,指示器608描述包括使用导航应用导航到Arboretum的可用动作,指示器610描述从日历应用创建日历事件。
移动计算设备600可以显示包括建议的响应的一个或多个指示器612。例如,智能系统可以分析上下文数据并生成建议的响应。替选地,移动计算设备600可以接收包括来自与智能系统分开的计算机应用的建议的响应的指示器612,例如,如上面关于其他指示器608、610所描述的。
图7A描绘了根据本公开的各方面的第一状态下的示例移动计算设备700,其中检测到提及历史人物的环境音频,并且指示器702在显示在移动计算设备700的用户界面704中的锁屏702中显示。例如,移动计算设备700可以被配置为使用麦克风来检测环境音频(由音频符号706表示)。
移动计算设备700可以被配置为将包括上下文数据的模型输入输入到识别机器学习的模型中,例如,如参考图2A所描述的模型。在此示例中,上下文数据可以包括一些或全部检测到的环境音频。
移动计算设备700可以被配置为接收描述由上下文数据所引用的一个或多个语义实体的模型输出。在此示例中,模型输出可以包括历史人物的名字Enrico Fermi、和/或关于历史人物或关于提及历史人物的名字的句子或上下文的附加信息。例如,如果在问题中讲出了历史人物的名字,例如“Enrico Fermi写过哪些书?”或“Enrico Fermi是谁?”,则模型输出可以描述关于该问题的附加信息,或者可以包括来自该问题的附加语义实体(例如“书”)。
移动计算设备700可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括名字“Enrico Fermi”和/或“书”。移动计算设备700可以将数据提供给几个计算机应用,包括搜索应用、购物应用和/或其他合适的应用。移动计算设备400可以根据预定义的API或其他协议来提供数据。
移动计算设备700可以被配置为响应于将描述语义实体的数据提供给计算机应用来分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出来对计算系统进行格式化、传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于语义实体的一个或多个可用动作。在此示例中,应用输出包括来自搜索应用和购物应用“Amazon”的输出。来自搜索应用输出的应用输出可以包括关于语义实体的相关信息,例如来自包括语义实体的互联网查询的结果。在此示例中,来自搜索应用的应用输出可以包括来自Wikipedia(维基百科)文章的关于Enrico Fermi的文本。来自购物应用的应用输出可以包括可用动作,其包括购买与语义实体相关的一种或多种产品。在此示例中,来自购物应用的应用输出可以包括可以使用购物应用购买的由Enrico Fermi编写的或关于Enrico Fermi的书籍。
图7B描绘了第二状态下的图7A的示例移动计算设备700,其中显示了描述关于环境音频中提到的历史人物的可用动作的指示器。更具体地,可以显示描述从搜索应用接收的信息的指示器720。在此示例中,指示器720包括来自关于历史人物执行的网页查询的文本。
可以显示指示器722,其包括可以由购物应用关于语义实体执行的可用动作。更具体地,与语义实体相关的项目724可以提供出售。在此示例中,项目724可以包括由历史人物编写的书或关于历史人物的书、和/或关于与历史人物有关的学科(例如,物理学)编写的书。
在一些实现中,移动计算设备700可以被配置为存储信息,例如“书签”,其包括或描述指示器720、722以供用户稍后查看。例如,移动计算设备700可以显示书签图标726。响应于请求存储一个或多个指示器720、722以供稍后查看的用户输入(例如,针对书签图标726的用户触摸动作),移动计算设备700可以存储描述指示器720、722以供稍后查看的信息,和/或显示“保存待用”面板,例如,如下面参考图7C所描述的面板。
图7C描绘了根据本公开的各方面的第三状态下的图7A的示例移动计算设备700,其中指示器已被“设定书签”以供稍后查看。移动计算设备700可以在“保存待用”面板742中显示保存的指示器740,当用户希望重新访问先前提供的指示器740时可以检索该面板742。在一些实现中,例如,基于与指示器740的产生和/或显示相关联的上下文数据,保存的指示器740可以组合在一起和/或保存。在此示例中,多个保存的指示器740可以一起组合为与特定的人(例如,联系人)相关。附加示例包括基于下述各项来将指示器保存或分组:与指示器相关联的计算机应用和/或可用动作的类型、向用户提供指示器时移动计算设备的位置、可用动作的焦点位置(例如,可用住宿清单所在的城市、提供机票的目的地城市)、和/或基于日期或日期范围的时间分组(例如,可以将指示器组合在一起以用于特定的假期或旅行)。
图8A描绘了根据本公开的各方面的第一状态下的示例移动计算设备800,其中视频802和指示器804显示在移动计算设备800的用户界面806中。在此示例中,视频802可以是或可以包括电影预告片、电影评论或电影的其他部分。移动计算设备800可以将模型输入输入到识别模型中。模型输入可以包括视频802的一个或多个帧和/或来自视频802的音频的一部分,例如,如上面参考图2A所述。识别模型可以输出描述一个或多个语义实体的模型输出。例如,语义实体可以包括电影中讲出的单词。在一些实现中,识别模型可以被配置为识别电影标题,并且语义实体可以包括电影标题。
移动计算设备800可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括电影的标题和/或电影中讲出的单词。移动计算设备800可以将数据提供给几个计算机应用,包括搜索应用、导航应用、用于查看电影时间的应用和/或用于购买电影票的应用。移动计算设备800可以根据预定义API或其他协议提供数据。
移动计算设备800可以被配置为响应于向计算机应用提供描述语义实体的数据而分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,由预定义的API指定的)关于应用输出对计算系统进行格式化、传输和/或警告。从每个计算机应用接收的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。在此示例中,应用输出可以包括来自搜索应用、导航应用、用于查看电影时间的应用和/或用于购买电影票的应用的输出。应用输出可以描述可以用每个计算机应用关于电影执行的可用动作。
指示器804可以描述下述可用动作,其包括搜索关于电影的信息和/或查看附加指示器,例如,如下面参考图8B所述。移动计算设备800可以被配置为响应于针对指示器804的用户输入而提供附加指示器以供显示。因此,在一些实现中,移动计算设备800可以被配置为提供指示器804,其示出动作是可用的。然后用户可以决定是否查看附加指示器,例如,如下面参考图8B所述。
图8B描绘了第二状态下的图8A的示例移动计算设备800,其中附加指示器850、852、854显示在用户界面806中。附加指示器850、852、854可以与电影相关联的可用动作,例如购买电影票。附加指示器850、852、854可以显示在面板856中。可用动作的共同特征,例如电影院名称,可以显示在面板856中。附加指示器850、852、854可以描述关于电影的可用动作。第一指示器850可以描述包括导航到电影院的可用动作。第二指示器852可以描述包括在电影院查看电影的放映时间的可用动作。第三指示器854可以描述包括购买电影票的可用动作(例如,针对在用户界面806中所查看的电影部分所列出的电影院中)。移动计算设备800可以显示书签图标858,例如,如上面参考图7B所述。
图9A描绘了根据本公开的各方面的第一状态下的示例移动计算设备900,其中视频902和指示器904显示在用户界面中。移动计算设备900可以将模型输入输入到识别模型中。模型输入可以包括视频902的一个或多个帧和/或来自视频902的音频的一部分,例如,如以上参考图2A所述。识别模型可以输出描述一个或多个语义实体的模型输出。例如,语义实体可以包括视频中讲出的单词或来自视频中播放的歌曲中的单词。在一些实现中,识别模型可以被配置为辨别视频中播放的歌曲的标题。
指示器904可以描述包括收听视频中播放的歌曲的可用动作。例如,指示器904可以包括音乐播放应用的标志。移动计算设备900可以被配置为响应于针对指示器904的用户触摸动作而使用音乐播放应用来播放歌曲。移动计算设备900还可以被配置为响应于这样的用户输入而提供附加指示器以供显示,例如,如下面参考图9B所述。
图9B描绘了第二状态下的图9A的示例移动计算设备900,其中正在执行与图9A的指示器904相关联的可用动作。更具体地,音乐播放应用可以播放视频中辨识的歌曲。面板952可以被显示,并且执行所请求的动作(例如,播放歌曲)的应用可以显示关于该动作的信息(例如,歌曲的标题、出现歌曲的专辑的专辑封面),和/或为用户提供控件953以对所请求的动作进行控制。
可以显示附加指示器956、958(例如,在面板952中)。附加指示器956、958可以描述关于歌曲的附加可用动作。例如,附加指示器956、958可以描述在一个或多个附加音乐播放或流传输应用中收听歌曲。移动计算设备900可以显示书签图标960,例如,如上面参考图7B所述。
图10A描绘了根据本公开的各方面的示例移动计算设备1000,其中文本显示在移动计算设备1000的用户界面1002中。更具体地,评论电影的文章显示在用户界面1002中。
图10B描绘了第二状态下的图10A的示例移动计算设备1000,其中电影标题1020在文本中被突出显示。根据本公开的各方面,显示了描述关于电影标题1020的可用动作的指示器1022、1024、1026。更具体地,移动计算设备1000可以被配置为响应于用户突出显示电影标题1020而显示指示器1022、1024、1026。在一些实现中,移动计算设备1000可以被配置为响应于用户突出显示电影标题1020而将模型输入输入到识别模型中,例如,如参考图2A所述。
移动计算设备1000可以被配置为将模型输入输入到识别模型中,其包括在用户界面1002中显示的一些或全部文本。例如,模型输入可以包括显示在用户界面1002中的电影标题1020和/或附加文本和/或图像。识别模型可以输出描述由模型输入所描述的一个或多个语义实体的模型输出。例如,语义实体可以包括电影的标题和/或语义输入的类型或类别(例如,模型输出可以描述或识别模型输入包括电影标题)。
移动计算设备1000可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括电影的标题和/或语义实体的类型或类别(例如,电影标题)。移动计算设备1000可以将数据提供给一个或多个计算机应用,该计算机应用包括电影票购买应用、电影评论应用和/或搜索应用。移动计算设备1000可以根据预定义的API或其他协议来提供数据。
移动计算设备1000可以被配置为响应于向计算机应用提供描述语义实体的数据而分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出来对计算系统进行格式化、传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。在此示例中,应用输出可以包括来自电影票购买应用、电影评论应用和/或搜索应用的输出。应用输出可以描述可用每个计算机应用关于电影执行的可用动作。
移动计算设备1000可以将指示器1022、1024、1026显示在用户界面1002中。指示器1022、1024、1026可以描述可用动作,这些可用动作可以包括使用电影票购买应用购买电影票,使用电影评论应用查看电影评论,和/或使用搜索应用执行网络搜索。指示器1022、1024、1026可以显示在用户界面的面板1028中。书签图标1030可以显示在面板1028中,其被配置为保存指示器1022、1024、1026待用,例如,如以上参考图7B所述。
图10C描绘了根据本公开的各方面的第三状态下的图10A的示例移动计算设备1000,其中显示了描述关于电影标题的进一步可用动作的附加指示器1044、1046。移动计算设备1000可以被配置为响应于检测到针对图10B的一个或多个指示器1022、1024、1026的用户输入来显示附加指示器1044、1046。附加指示器1044、1046可以显示在面板1048(例如,半面板)中,其可以显示在用户界面1002的下区域中。附加指示器1044、1046可以描述购买电影票的可用动作(例如,在特定时间和/或特定影院)。
图11A描绘了根据本公开的各方面的第一状态下的示例移动计算设备1100,其中文本1102已经被突出显示,并且指示器1104、1106、1108显示在移动计算设备1100的用户界面1110(例如,在显示在用户界面1110中的面板或瓦片1112中)。在此示例中,用户突出显示了产品名称“Oculus Rift”。一个指示器1104描述了来自购物应用Amazon的可用动作。另一指示器1106描述了来自搜索应用的可用动作。又一个指示器1108描述了包括查看来自Wikipedia的网页的可用动作,该网页包括关于Oculus Rift的附加信息。书签图标1114可以显示在面板1112中,其被配置为保存指示器1104、1106、1108待用,例如,如以上参考图7B所述。
图11B描绘了根据本公开的各方面的第二状态下的图11A的示例移动计算设备1100,其中显示关于选择的动作的信息。更具体地,响应于针对描述来自购物应用的可用动作的指示器1104的用户输入,移动计算设备1100可以显示指示器1152,其提供关于所选择的可用动作的附加信息。在此示例中,指示器1152可以包括关于突出显示的产品1102的信息,例如购买价格和运送选项。移动计算设备1100可以被配置为响应于针对指示器1152的用户输入动作来购买产品。
图12A描绘了根据本公开的各方面的示例移动计算设备1200,其中文本显示在移动计算设备1200的用户界面1202中。更具体地,文章可以显示在用户界面1200中。
移动计算设备1200可以被配置为将模型输入输入到识别模型,其包括在用户界面1202中显示的文章的一些或全部文本,例如,如以上参考图2A所述。识别模型可以输出描述由模型输入所描述的一个或多个语义实体的模型输出。例如,语义实体可以包括文章中提到的产品、技术、历史人物和/或其他感兴趣的实体的名称。在此示例中,模型输出可以包括产品的名称,例如Oculus Rift和HTC Vibe。模型输出可以包括技术的名称,例如虚拟现实(VR)。
移动计算设备1200可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括文章中提到的产品和/或技术的名称。移动计算设备1200可以将数据提供给一个或多个计算机应用,例如包括购物应用和/或其他合适的计算机应用。移动计算设备1200可以根据预定义的API或其他协议来提供数据。
移动计算设备1200可以被配置为响应于向计算机应用提供描述语义实体的数据而分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出来对计算系统进行格式化,传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。在此示例中,应用输出可以包括来自购物应用的输出。
图12B描绘了根据本公开的各方面的第二状态下的图12A的示例移动计算设备1200,其中显示指示器1222、1224、1226,其描述关于文本的部分的可用动作。更具体地,在此示例中,指示器1222、1224、1226可以包括显示有轮廓、突出显示或以其他方式改变的外观(例如,字体、大小、颜色等)的相应语义实体。指示器122、1224、1226可以警告用户关于语义实体,动作是可用的。
图12C描绘了根据本公开的各方面的第三状态下的图12A的示例移动计算设备1200,其中显示了关于图12A的所选指示器的附加信息以及显示了描述进一步可用动作的附加指示器。更具体地,响应于针对包括文本“Oculus Rift”的指示器1224的用户触摸动作,移动计算设备1200可以被配置为显示关于由指示器1224描述的可用动作的附加信息1242。在此示例中,附加信息1242可以包括与用购物应用购买Oculus Rift系统相关联的价格、运送选项等。
移动计算设备1200还可以显示描述附加可用动作的附加指示器1244、1246。在此示例中,一个附加指示器1244描述了执行关于语义实体“Oculus Rift”的网络搜索。另一附加指示器1246描述了包括查看网页(例如,维基百科上的)的可用动作,该网页提供关于语义实体的附加信息。
图13A描绘了根据本公开的各方面的在电话呼叫期间正在处理音频的示例移动计算设备1300。移动计算设备1300可以被配置为将模型输入输入到机器学习的模型(例如,以上参考图2A所描述的识别模型)中,该机器学习的模型包括在电话呼叫期间处理的一些或全部音频。重要的是,可以向用户提供控件,其允许用户关于本文所述的系统、程序或特征是否以及何时可以使得能够进行这样的信息的收集做出选择。
图13B描绘了根据本公开的各方面的第二状态下的图13A的示例移动计算设备1300,其中指示器1302显示在用户界面1304中,其描述了关于在电话呼叫的音频中识别或辨识的语义实体的可用动作。例如,如果用户提及“下午7点在Tullulah’s吃晚餐”,则移动计算设备1300可以提供与在电话呼叫中提到的餐厅吃晚餐相关联的一个或多个指示器。
移动计算设备1300可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括由模型输出描述并在电话呼叫的音频中识别的一个或多个语义实体。移动计算设备1300可以将数据提供给几个计算机应用,包括日历应用、餐厅预订应用和/或附加应用(例如,搜索应用、导航应用、用于查看电影时间的应用和/或用于购买电影票的应用)。移动计算设备1300可以根据预定义的API或其他协议来提供数据。
重要的是,可以向用户提供控件,其允许用户关于本文所述的系统、程序或特征是否以及何时可以使得能够进行如上所指示的用户信息的收集做出选择。另外,在一些实现中,当潜在的敏感或个人信息从设备1300传输(例如,传输到服务器计算系统以进行处理)时,潜在的敏感或个人信息可以保留在设备上和/或可以向用户提供通知或信号。
移动计算设备1300可以被配置为响应于向计算机应用提供描述语义实体的数据而分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,如由预定义的API所指定的)关于应用输出来对计算系统进行格式化,传输和/或警告。从每个计算机应用接收到的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。应用输出可以描述可被执行的可用动作。在此示例中,应用输出可以包括来自日历应用、餐厅预订应用和/或其他计算机应用的输出。
移动计算设备1300可以被配置为将指示器1302显示在用户界面1304中。在此示例中,指示器1302可以描述可用动作,其包括创建与电话会话的音频中提到的事件相对应的日历事件。
图13C描绘了第三状态下的图13A的示例移动计算设备1300,其中显示关于所选可用动作的信息1306。更具体地,响应于针对指示器1302的用户输入动作,移动计算设备1300可以被配置为显示关于可用动作的信息1306。在此示例中,信息1306可以包括用户可以确认的建议日历事件(例如,通过执行针对“添加事件”1307的用户输入)。
根据本公开的各方面,移动计算设备1300可以显示附加指示器1308、1310、1312,其描述关于从电话呼叫的音频中检测到的语义实体的进一步可用动作。在此示例中,附加指示器1308、1310、1312可以描述可用动作,其包括使用相应计算机应用导航到电话呼叫中提到的餐厅、在电话呼叫中提到的餐厅进行预订、查看餐厅的营业时间等。
图14A描绘了根据本公开的各方面的相机模式下的示例移动计算设备1400,其中来自移动计算设备1400的相机的图像显示在移动计算设备1400的用户界面1402中。移动计算设备1400可以识别在用户界面1402中描绘的一个或多个实体(例如,使用如上参考图2A所述的机器学习的模型)。移动计算设备1400可以被配置为向一个或多个计算机应用提供描述一个或多个语义实体的数据和/或从计算机应用接收应用输出,例如,如上文参考图4至图13C所述。
图14B描绘了第二状态下的图14A的示例移动计算设备1400,其中显示了关于图14A的用户界面中描绘的实体的附加信息1422。例如,移动计算设备1400可以被配置为响应于针对图14A的指示器1404的用户输入而提供关于可用动作的信息1422。在此示例中,信息1422可以包括地标的名称、地标的描述和/或地标在地图上的位置。信息可以由导航应用提供。移动计算设备1400可以被配置为提供描述可由导航应用执行的附加动作的附加指示器1424、1426、1428。在此示例中,附加指示器1424、1426、1428可以描述可以用导航应用执行的附加动作。移动计算设备1400还可被配置为提供附加指示器1430、1432、1423,其描述可由诸如搜索应用和/或预订应用的其他应用执行的可用动作。信息1422和/或指示器1424、1426、1428、1430、1432、1434可以显示在用户界面1402中的面板1436(例如,半搁板)内。
图14C描绘了根据本公开的各方面的第三状态下的图14A的示例移动计算设备1400,其中显示了描述关于在来自相机的图像中所描绘的地标的进一步可用动作的指示器。更具体地,在一些实现中,移动计算设备1400可以被配置为响应于对于图14B中所示的那些的请求附加信息和/或可用动作的用户输入动作来显示更大的面板或搁板1438。例如,用户可以向上扫动(swipe)或拖动图14A的面板1436,以请求显示更大的面板1438。更大的面板1438可包括附加信息1450、1460(例如,来自其他计算机应用)和/或描述附加可用动作的附加指示器1452、1456、1458、1464(例如,来自其他计算机应用)。例如,附加指示器1464可包括在图14A和图14B的用户界面1402中所描绘的地标处购买旅游或其他活动的门票。
图15A描绘了根据本公开的各方面的示例移动计算设备1500,其中文本显示在移动计算设备的用户界面1502中。文本可以包括一种语言的文章。移动计算设备1500可以被配置为显示指示器1504,其描述包括将一些或全部文本翻译成另一种语言的可用动作。
图15B描绘了根据本公开的各方面的第二状态下的图15A的示例移动计算设备1500,其中显示了描述关于文本的部分的可用动作的指示器。移动计算设备1500可以被配置为提供指示器1506、1508、1510,其描述包括翻译文章的一些或全部文本的可用动作。例如,移动计算设备1500可以被配置为响应于用户突出显示文本的一部分来提供指示器1506、1508、1510。
图15C描绘了第三状态下的图15A的示例移动计算设备1500,其中执行所请求的动作。例如,翻译可以显示在面板或搁板1542中。
图16A描绘了根据本公开的各方面的第一状态下的示例移动计算设备1600,其中检测到西班牙语口语的环境音频,并且在移动计算设备1600的锁屏1604中显示了描述包括将西班牙语口语翻译成英语的可用动作的指示器1602。移动计算设备1600可以利用麦克风检测音频并且将包括音频的录音的模型输入输入到识别机器学习的模型中,例如,如以上参考图2A所述。
图16B描绘了第二状态下的图16A的示例移动计算设备1600,其中显示指示器1622、1624、1626,其描述关于音频中提到的翻译和/或实体的可用动作。例如,一个指示器1622可以从翻译应用提供西班牙语口语的翻译。另一指示器1624可以描述来自导航应用的可用动作,其包括导航到西班牙语口语中提到的位置。第三指示器1626可以描述来自预订应用的可用动作,其包括在西班牙语口语中提到的餐厅进行预订,例如在西班牙语口语中提到的时间处或附近。
图16C描绘了第三状态下的图16A的示例移动计算设备1600,其中从翻译应用显示附加信息1642、1644和/或指示器1646、1648。例如,移动计算设备1600可以被配置为响应于针对图16B的指示器1622的用户输入动作来显示附加信息1642、1644和/或指示器1646、1648。
图17A描绘了根据本公开的各方面的示例移动计算设备1700,其中指示器1702显示在移动计算设备1700的锁屏1704中,从而基于日历数据示出可用动作,该日历数据可以包括即将到来的航班。移动计算设备1700可以被配置为将由计算系统存储的一些或所有日历数据输入到识别机器学习的模型中,例如,如上文参考图2A所述。移动计算设备1700可以被配置为接收描述由模型输入所描述的一个或多个语义实体的模型输出。例如,语义实体可以包括关于用户计划乘坐的即将到来的航班的信息。
移动计算设备1700可以被配置为向一个或多个计算机应用提供描述语义实体的数据。在此示例中,数据可以包括目的地机场的机场代码(例如,“LAX”)、即将到来的航班的日期、和/或即将到来的航班的时间。移动计算设备1700可以将数据提供给一个或多个计算机应用,例如,包括航空应用、住宿应用、娱乐应用和/或天气应用。移动计算设备1700可以根据预定义的API或其他协议提供数据。
移动计算设备1700可以被配置为响应于向计算机应用提供描述语义实体的数据而分别从计算应用接收应用输出。计算机应用可以根据规则或协议(例如,由预定义的API指定的)关于应用输出对计算系统进行格式化、传输和/或警告。从每个计算机应用接收的应用输出可以描述对应计算机应用的关于一个或多个语义实体的一个或多个可用动作。在此示例中,应用输出可以包括来自航空应用、住宿应用、娱乐应用和/或天气应用的输出。应用输出可以描述用每个计算机应用关于即将到来的航班可以执行的可用动作。移动计算设备1700可以在用户界面1704中显示指示器1702。指示器1702可以警告用户关于即将到来的航班,来自一个或多个计算机应用的动作是可用的。
图17B描绘了根据本公开的各方面的在第二状态下的图17A的示例移动计算设备1700,其中显示指示器1742、1744、1746、1748,其描述关于日历数据的进一步可用动作。例如,可以显示指示器中的一个1742,其描述包括查看与即将到来的航班相关联的信息和/或文档(例如,航班时间、登机牌等)的可用动作。指示器中的另一个1744可以描述包括查看或预订在即将到来的航班的目的地城市中的住宿的可用动作。指示器中的另一个1746可以描述包括下载娱乐内容(例如,电影、播客等)以在飞行期间观看的可用动作。指示器中的另一个1748可以提供关于目的地城市的天气预报信息和/或用户将处于目的地城市的日期。
图18A描绘了示例移动计算设备的用户界面1800,其中指示器1802显示在用户界面1800中所显示的锁屏1804中。根据本公开的各方面,指示器1802可以基于移动计算设备的位置来描述可用动作。更具体地,移动计算设备可以使用移动计算设备的位置来例如基于过去的用户交互或学习的偏好辨识附近的餐厅或其他兴趣点。如果用户先前已表示对特定餐厅或兴趣点感兴趣(例如,通过文本消息、通过查看关于餐厅的文章、通过从餐厅订购食物、在餐厅就餐等),当移动计算设备(例如,人工智能系统)在附近时,移动计算设备可以辨识该餐厅或兴趣点。
图18B描绘了图18A的用户界面1800,其中显示指示器1852、1854,其描述了关于图18A的指示器1802所描述的餐厅的可用动作。例如,移动计算设备可被配置为响应于检测到针对图18A的指示器1802的用户输入动作而显示指示器1852、1854。一个指示器1852可以描述包括从餐厅订购外卖食物的可用动作。另一指示器1854可以描述包括查看关于餐厅的社交媒体的可用动作。
在一些实现中,指示器可以是包括导航到餐厅或兴趣点的轮椅-无障碍入口和/或出口的可用动作。例如,指示器可以通知用户导航应用可用于将用户沿着合适的无障碍路线(例如适合轮椅的路线)导航到入口/出口。
本文讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及此类系统所采取的动作以及向和从此类系统发送的信息。基于计算机的系统的固有灵活性允许在组件之间进行任务和功能的各种各样的可能的配置、组合和分割。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以跨多个系统分布。分布式组件可以顺序或并行操作。
尽管已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例是通过对本公开的说明而非限制的方式来提供的。本领域技术人员在获得对前述内容的理解后,可以容易地产生对这样的实施例的变更、变化和等同物。因此,本公开并不排除包括对本领域普通技术人员会容易明白的对本主题的修改、变化和/或添加。例如,作为一个实施例的一部分示出或描述的特征可与另一实施例一起使用以得到又一实施例。因此,意图是本公开涵盖这种变更、变化和等同物。
- 用于从一个或多个计算机应用中选择并提供可用动作给用户的系统和方法
- 在数据处理系统中的图形用户接口上向用户呈现多个动画显示对象供选择的方法与系统