CN115917512A - 人工智能请求和建议卡 - Google Patents
人工智能请求和建议卡 Download PDFInfo
- Publication number
- CN115917512A CN115917512A CN202180038787.9A CN202180038787A CN115917512A CN 115917512 A CN115917512 A CN 115917512A CN 202180038787 A CN202180038787 A CN 202180038787A CN 115917512 A CN115917512 A CN 115917512A
- Authority
- CN
- China
- Prior art keywords
- user
- smart card
- display elements
- card
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
一种用于生成人工智能驱动的用户界面卡的方法和系统。该系统包括被配置为修改智能卡束以与用户设备兼容的非暂时性机器可执行代码。智能卡束包括第一组显示元素和第一组上下文数据。第一组显示元素使用由用户应用提供的一个或多个功能,并且第一组上下文数据响应于用户的第一请求。该机器可执行代码还被配置为基于对用户信息的分析来预测用户偏好,并基于该预测来配置智能卡束。第二组显示元素和第二组上下文数据也可以到智能卡束,其中第二组显示元素使用用户应用未提供的功能。
Description
相关申请的交叉引用
本申请要求2020年4月27日提交的美国临时申请第63/016,244号的优先权,并通过引用将其并入。
技术领域
本发明涉及提供一种与人工智能(“AI”)虚拟助理配对的改进的用户界面,尤其涉及一种用于与用户进行双向交互的视觉显示卡系统和方法。
背景技术
图1示出了与后端服务器交互以生成静态卡的现有技术用户应用。用户104与用户设备108(如术语表中所定义的)或用户设备上的任何用户应用(如术语表中所定义的)交互,用户设备108然后与后端服务器112交互。可以是主动输入(诸如输入语音命令)或被动动作(诸如打开用户应用或用户应用中的特征页面)的用户请求被处理116成卡请求,然后被发送到后端服务器112。后端服务器112通过返回静态卡来响应卡请求,静态卡被转换成静态卡原语(primitive)120。静态卡原语是基本的数据类型,不能分解成更简单的数据类型,诸如整数、字符串、布尔值。然后,静态卡原语由模板引擎120处理,模板引擎120基于静态卡中的规范从一组预定义的模板和样式中选择预定义的模板来呈现。现有技术还可以具有针对当卡版本不匹配时的后退(fallback)模式。例如,如果模板引擎124不包含所提供的静态卡的对应的本地显示实现,则触发后退引擎128输出错误,这可能导致用户104经历未定义的行为(诸如错误消息或不对应于任何静态卡的默认模板)。
当前卡被构成以使得呈现和后端服务器以特定的版本分组绑定在一起。在这种方法中,用户应用正在版本X上运行,并且只能连接到驱动版本X的后端服务器。用户应用向后端服务器做出请求,假设所有结果都可能在设备上呈现以供用户与之交互。这在用户应用具有固定数量的交互的场景中工作得很好。然而,在任何提供AI服务的软件中(如术语表中所定义的),都有潜在的无限可能。在这种情况下,用户应用被迫实现后退模式,使得如果后端服务器作为意外请求的一部分向用户设备返回结果,则用户应用不应崩溃。为了避免这种情况,在没有对应的应用更新情况下,后端服务器就不能包括新的功能。此外,外部开发人员不可能创建具有完全定制的用户界面的定制技能,相反,他们被限制在可以在非常一般的场景中呈现的范围内。
最后,界面被限制为纯粹基于显示的逻辑。因此,这意味着不可能拥有动态和可定制的卡。同样,因为现有技术缺乏深度逻辑能力,所以将另一层AI创建到卡本身中是不可能的或没有效率的,诸如建议用户可能采取的进一步动作或适应性布局以适合用户的期望。在现有技术中,只可能以这样的方式显示静态呈现的卡,即如果两个用户接收到相同的基本结果,他们将观察到相同的基本显示。静态呈现的卡意味着询问相同查询的两个用户将接收完全相同的信息和结果。这使得不可能执行诸如但不限于为了提高参与度而重构数据显示顺序或图像选择的任务。此外,后续任务的建议必须在当前环境之外以更通用的格式提出。
发明内容
为了克服现有技术的缺点并提供附加的好处,公开了一种用于生成人工智能驱动的用户界面卡的系统。在一个实施例中,该系统包括第一用户设备,该第一用户设备具有屏幕、存储非暂时性机器可执行代码的存储器、以及被配置为执行机器可执行代码的处理器。在该实施例中,机器可执行代码被配置为修改智能卡束(bundle)以与第一用户设备兼容。智能卡束包括第一组显示元素和第一组上下文数据。第一组显示元素使用由用户应用提供的一个或多个功能,并且第一组上下文数据响应于用户的第一请求。该机器可执行代码还被配置为基于对用户信息的分析来预测用户偏好,并基于该预测来配置智能卡束。第二组显示元素和第二组上下文数据也可以到智能卡束,其中第二组显示元素使用用户应用未提供的功能。
在另一个实施例中,用户信息从以下中的一个或多个选择:用户账户信息、用户偏好、先前用户选择、用户输入、用户网络浏览器历史、用户通信或辅助元数据。设想第一组显示元素可包括向用户建议附加的用户动作的交互式提示。在一个实施例中,该系统还包括后端服务器,并且第一组显示元素包括用来自后端服务器的数据周期性更新的显示元素。数据可以从后端服务器流式传输到智能卡束。第二组显示元素还可以被配置为与第二用户设备通信。还可以设想,基于用户的第二请求,将第三组显示元素和第三组上下文数据可以添加到智能卡束,使得第三组上下文数据响应于第一和第二用户请求。
还公开了一种用于生成人工智能驱动的用户界面卡的方法,该方法包括以下步骤:从运行在用户设备上的用户应用接收第一用户请求,编译包括第一组显示元素和第二组显示元素的智能卡束,第一组显示元素使用由用户应用提供的一个或多个功能,第二组显示元素使用用户应用未提供的功能,基于对用户信息的分析来预测用户偏好,基于该预测来配置智能卡束,以及在用户设备的屏幕上显示第一和第二组显示元素。
用户信息可以从以下一项或多项中选择:用户账户信息、用户偏好、先前用户选择、用户输入、用户网络浏览器历史、用户通信或辅助元数据。在一个实施例中,智能卡束可以包括响应于第一用户请求的第一组上下文数据。该方法可以包括以下附加步骤:从用户应用接收第二用户请求,用第二组上下文数据更新智能卡束,第二组上下文数据响应于第一用户请求和第二用户请求,以及基于预测和第二用户请求配置智能卡束。在另一个实施例中,该方法可以包括用从后端服务器流式传输的新信息更新第一组上下文数据的附加步骤。
还可以设想,智能卡束可以包括向用户建议附加动作的交互式提示。交互式提示可以基于预测的用户偏好来配置。在一个实施例中,可以通过执行以下动作中的一个或多个来配置智能卡束:添加显示元素、移除显示元素、调整显示元素的大小、或者重新排序两个或更多个显示元素。
公开了另一种用于生成人工智能驱动的用户界面卡的系统,该系统包括第一用户设备,该第一用户设备具有屏幕、存储非暂时性机器可执行代码的存储器、以及被配置为执行机器可执行代码的处理器。该机器可执行代码被配置为将智能卡束处理成用于在第一屏幕上显示的第一智能卡,其中该智能卡束包括一组显示元素和一组上下文数据。该机器可执行代码还被配置为使用第一用户设备未提供的功能在第一智能卡上呈现该组显示元素,并且用来自第二用户设备的数据更新上下文数据。
在一个实施例中,该系统还可以包括由第二用户设备从智能卡束处理的第二智能卡,以及由第三用户设备从智能卡束处理的第三智能卡。在该实施例中,第一用户设备上的上下文数据可以用来自第二和第三智能卡的数据来更新。
设想第一、第二和第三智能卡可以以对等方式相互发送数据,并且第一智能卡被选为主机。在另一个实施例中,来自第二用户设备的数据从第二用户设备被路由到后端服务器,然后从后端服务器被路由到第一用户设备。
术语表:
AI服务:AI服务是作为程序和方法提供给程序以完成人工智能目标的服务。示例可能包括图像建模、文本建模、预测、规划、推荐、搜索、语音处理、音频处理、音频生成、文本生成、图像生成等等。
设备:设备是指至少运行网络接口和CPU的任何元素。可选地,加速器可以以GPU或其他专用硬件加速器的形式被附加。这个加速器可以加速人工智能服务的计算。
操作系统(“OS”):操作系统是支持计算机基本功能的软件,诸如调度任务、执行应用和控制硬件。操作系统向其他软件提供对这些功能的访问。
用户应用:用户应用是在用户可以通过触摸、音频、视频或被动方式进行交互的任何面向用户的设备(诸如移动设备、智能手表、平板、家用扬声器、可穿戴设备(包括智能戒指、眼镜、助听器)、CarPlay设备、安全相机、网络相机、电视、投影屏幕监视器、声音棒(sound bars)、个人计算机、耳机、耳塞和桌上型计算机设备)上运行的任何软件。
AI虚拟助理:AI虚拟助理是用户应用,它使用AI服务与设备上的用户进行交互,提供信息或进行接口。
用户信息:由用户生成或从用户处收集的用户信息数据,诸如用户数据(例如,账户信息、位置数据、用户偏好)和用户历史(例如,关于用户先前与设备或用户应用的交互的数据、用户兴趣、先前的活动、先前的网络搜索、先前访问的网站、位置历史、健康信息)。
辅助元数据:辅助元数据是与用户无关的任何数据,诸如当前日期、新闻、室温、天气状况。
卡(即智能卡):卡是由用户请求的信息填充的显示机制。该卡可以是文本信息、建议信息、视频和/或图像的组合。图8示出了示例性卡的外观的视觉表示。智能卡能够为每个用户显示唯一的信息。
这一创新通过创建一种系统来改进现有技术,在该系统中,虚拟助理可以用新功能来扩展,而不需要用户应用更新。随着新功能的增加,用户应用不需要升级就可以开始用这些新的功能响应来回答查询。本发明通过消除使用固定标记语言作为结果的一部分的要求,改进了现有技术中外部开发者在可扩展性方面的限制。这允许将深度域特定逻辑集成到所呈现的项目本身中。此外,本发明通过实现动态结果来改进现有技术,使得从用户应用呈现与后端服务器直接进行通信。这种改进允许部署多用户情况,其中不同用户应用中的前端可以直接相互交互,而无需用户应用处理这种集成。最后,本发明通过在智能卡的范围内包括一个逻辑AI引擎来改进现有技术。该引擎能够动态地调整智能卡以提高用户参与度,并为用户提供建议,以在与智能卡本身相关的域本身内或潜在地在相关的域内执行。更具体地说,它提供了服务器控制的AI在智能卡上呈现元素的方法。此外,这种呈现允许AI驱动的建议作为卡本身的一部分。
本发明的其他系统、方法、特征和优点对于本领域技术人员来说,在研究了以下附图和详细描述后将会变得显而易见。所有这些附加的系统、方法、特征和优点都包含在本说明书中,包含在本发明的范围内,并且受到所附权利要求的保护。
附图说明
图1示出了与后端服务器交互以生成静态卡的现有技术用户应用。
图2示出了为运行在用户设备上的用户应用生成智能卡的系统的示例实施例。
图3示出了基于相同用户查询向四个不同用户显示的示例性智能卡。
图4是示出了用于生成智能卡的示例性过程的操作流程图。
图5示出了后端呈现框架的结构。
图6示出了用户应用呈现框架的结构。
图7示出了原语转换引擎。
图8示出了后退画布原语(fallback canvas primitive)。
图9示出了逻辑注入引擎如何基于相同的用户请求生成不同的智能卡。
图10示出了逻辑注入引擎如何基于相同的用户请求生成不同的用户提示。
图11示出了可以实现后期呈现优化的智能卡优化系统。
图12示出了具有实时数据更新的示例性股票市场智能卡。
图13示出了智能卡和后端服务器之间的通信框架。
图14示出了示例性象棋智能卡,其中用户可以与AI后端服务器玩实时象棋游戏。
图15示出了智能卡模板如何被上传到智能卡注册表并被识别为顶部卡。
图16A示出了如何定制每个智能卡以适合用户设备的显示屏,智能卡在卡到卡交互中呈现在该用户设备上。
图16B示出了为不同用户设备定制的示例性智能卡。
图17示出了跨超过两个智能卡之间的卡到卡交互。
图18示出了用于确定智能卡充当主机的选择框架。
图19示出了使用后端服务器作为主机的替代多卡通信框架。
图20示出了本文描述的智能卡系统的示例使用环境。
图21示出了移动设备的示例实施例,移动设备也指代用户设备,其可以是移动的也可以不是移动的。
具体实施方式
生成智能卡的方法和系统包括四个关键元素。第一个元素是呈现框架,它负责显示智能卡。第二个元素是智能卡逻辑引擎,它负责在智能卡上实现AI服务。第三个元素是优化系统,其使得外部开发的智能卡与用户应用兼容。第四个元素是智能卡通信框架,它允许多个智能卡跨用户设备相互通信,并且允许智能卡进一步直接与后端服务器通信。
更具体地说,呈现框架包括用户应用侧和后端服务器实现。在后端服务器实现中,呈现框架负责将关于和用于智能卡的数据和相关元数据注入呈现请求的上下文中。此外,后端服务器呈现必须为结果驱动的AI提供钩子(hook),以使得智能卡在为用户提供服务时可以继续执行智能任务。钩子是以下类型的功能:允许基础系统调用扩展代码,以允许对现有程序或系统进行更改或扩展。用户应用实现负责将来自服务器的呈现翻译成可以在设备上显示的本地元素。在不同的操作系统和平台中,可能存在可用于显示的原语卡的不同集合。在最佳情况下,可能有许多原语卡、表格、图形、网格、图像等的本地映射。然而,在最简单的情况下,最小的用户应用只需要提供画布来显示预先呈现的项目。在这种方式中,具有屏幕的任何设备能够具有最少的可用用户应用呈现。
第二个关键元素是智能卡逻辑引擎。智能卡逻辑引擎是为了实现更强大的显示的目的执行AI任务的框架。这些任务可以与任意数量的字段相关。一些示例应用的目的是利用基于多种类型的用户数据的AI选择引擎来选择最佳图像以供用户在为该特定用户定制的智能卡上进行观看。该引擎通过运行AI模型来实现这一点,以根据用户过去的偏好或图像交互水平以及关于用户的其他信息来确定最佳图像。这种自适应卡智能特征能够基于用户历史和活动,使用智能引擎定制显示的任何组件。如果AI引擎确定该特定用户不太可能阅读细节部分,则它可以移除这些细节部分,或者如果预测到如果包括这些细节,用户将更有可能与智能卡交互,则它也可以引入这些细节部分。这可以由AI引擎自动完成,并且通过用户手动将他们的偏好输入到系统中来控制,尽管可选的手动覆盖也是可能的。此外,创建和驱动卡的引擎能够包括后续建议和与用户的交互。在虚拟助理的范围内,这些建议可能是以通用的方式针对域本身内的后续任务(即,如果用户正在查看天气信息,则它可能建议询问明天的天气)。这些建议也可以是域内更个性化的项目的形式,和/或与域内更个性化的项目相关(即,如果用户正在观看电影,如果通过逻辑引擎确定用户可能会这样做或者这对用户有帮助,诸如如果过去的电影观看习惯使得用户观看特定导演或特定演员的多部电影,则可能建议他们询问关于特定导演的电影)。此外,这些建议还可以用于在其他域的上下文中的后续(即,诸如,如果用户正在看一本书,它可能建议要求与该相同主题相关的电影)。通过利用由后端服务器呈现引擎从本发明的第一关键元素注入的智能卡的上下文,所有这些建议可以由逻辑引擎直接计算。
第三个关键元素是优化系统。该元素允许在没有用户应用更新的情况下包含新型智能卡,和/或在不利用用户应用本地功能的智能卡上包含新的显示元素。这一功能将在下面的图11-14中更详细地讨论。该系统包括协议和软件开发工具包,它们被提供以简化该协议的实现。
该协议包括注册阶段、上下文注入阶段和逻辑阶段。在注册阶段,新的智能卡类型必须让后端服务器呈现框架知道其本身。一旦完成,后端服务器用户应用就知道它能够呈现该智能卡。用户应用的后端服务器呈现方面或子模块可以提前将该信息推送到用户应用以准备资源,或者在特定类型的智能卡首先需要被呈现时根据需要推送到用户应用。
在上下文注入阶段,智能卡定义它需要什么类型的数据,以便满足其呈现要求。这可能意味着注入围绕智能卡请求的上下文,或者与作为智能卡本身的一部分呈现的结果相关的上下文。
最后阶段是逻辑注入阶段,在逻辑注入阶段,开发者能够以编程语言指令的形式编码程序逻辑,用于确定逻辑引擎应该操作的建议或其他动态功能。这些可以在任何编程语言中执行,并且可以在由先前阶段注入的任何上下文上操作。更新系统能够管理相同类型智能卡的多个版本。依据用户应用设备的规范,它选择要发送给用户的智能卡的最佳版本。这些可以由设备的各种约束(诸如屏幕尺寸、分辨率、计算能力或网络连接)来确定。
本发明的另一个元素(第四个元素)是智能卡通信框架。在智能卡通信框架中,向智能卡逻辑引擎提供允许与外部资源通信的钩子。在最简单的情况下,这可以是与后端服务器用户应用的通信,使得卡可以在用户查看它时动态更新。如果有视频正在被实时流式传输、数据正在被流式传输(例如股票价格)或者任何其他实时功能,则可能是这种情况。更复杂的情况是不同设备上的多个智能卡相互交互。在嵌入式视频通话或任何一对一通信的情况下,这可以直接发生在远程设备上的卡之间。在需要连接两个以上智能卡的情况下,通信框架可以选择一个主卡作为服务器,并选择其他卡连接以创建网格。在这种选择不稳定或失败的情况下,可以产生后端服务器来充当远程主机,并且可以通过它作为代理进行通信。
虽然已经描述了本发明的各种实施例,但是对于本领域普通技术人员来说,很明显,在本发明的范围内,更多的实施例和实现是可能的。此外,本文描述的各种特征、元素和实施例可以以任何组合或布置来要求保护或组合。
图2示出了为运行在用户设备上的用户应用生成智能卡的系统的示例实施例。在图2中,用户设备204提供用户界面208,诸如显示屏和可以存储在一个或多个存储设备上的用户数据212。具有智能卡能力的用户应用216可以在用户设备204上运行。用户设备204可以提供用户应用216可以访问和使用的用于远程通信的构件,诸如用户设备收发器220A。用户应用216可以包括上述四个关键元素:第一呈现框架224A、智能卡逻辑引擎228、智能卡优化系统232和第一智能卡通信框架236A。本领域的普通技术人员将会理解附加的支持软件和硬件,因此在此不再详细描述。
用户设备收发器220A可以访问任何电子通信网络240,诸如局域网、广域网、个人区域网、互联网等。通过网络240,用户应用216可以访问其后端服务器244。后端服务器244可以包括智能卡束生成器248,其还包括第二呈现框架224B、第二智能卡通信框架236B和上下文注入引擎252。后端服务器244还可以包括用于促进网络240上的通信的后端收发器160。
后端服务器244可以通过网络240访问智能卡注册表264、一个或多个信息服务器168以及这里描述的或可以配置的其他设备或位置。智能卡注册表264是基于卡请求的域的可用的卡的一个或多个数据库。域是卡所基于的主题。域的示例有股票、食谱、餐馆和其他活动或用户兴趣。
当用户应用216向后端服务器244发送卡请求时,可以生成智能卡。后端服务器244然后可以在智能卡注册表264中搜索可行的智能卡,并检索顶部卡。基于存储在后端服务器244上的域和用户信息来确定顶部卡。这个步骤将在下面的图5中详细讨论。
在检索到最佳智能卡时,呈现框架224和智能卡通信框架236协作生成与用户应用216和用户设备204兼容的智能卡格式。上下文注入引擎252可以从信息服务器268检索上下文数据(诸如辅助元数据),以针对用户请求定制最佳智能卡。基于上面列出的示例域,上下文可以是股票价格、食谱中的成分、餐馆列表等。可以使用智能卡逻辑引擎228来生成智能卡束并将其返回给用户应用216以供进一步定制。智能卡束是具有来自一个或多个信息服务器268的上下文的顶部卡。例如,在卡请求是针对股票域的情况下,顶部卡可以是基于服务器存储的用户信息(该用户喜欢一次查看三只股票)显示三只或更多只股票的卡。上下文可以是用户在用户应用216上最后查看的最后三只股票。
这种定制可以基于用户信息,诸如用户数据212或来自信息服务器268的用户信息,使用AI引擎处理用户信息,以在卡中提供用户期望的最佳信息并显示这种信息的方式为用户自动定制卡。
例如,用户应用216可以是电影播放器,并且用户请求是打开用户应用216的被动请求,并且卡请求可以是用户界面向用户显示电影的请求。最佳智能卡可以是用于显示电影信息的模板,该模板基于特定用户的过去历史和用户与先前卡的过去交互,以特定用户的最佳格式为特定用户提供最佳信息。AI引擎可以使每个用户体验不同。该上下文可以是供用户从中选择的电影结果的一般列表。在接收到智能卡束时,卡逻辑引擎228可以从用户数据212确定用户最后观看的电影仅完成一半,并且可以将最后观看的电影标题移动到显示的列表的顶部。卡逻辑引擎228还可以从信息服务器268确定用户历史显示该用户频繁搜索动作电影并将动作电影标题移动到所显示列表的顶部。此外,网络浏览器搜索历史可以显示用户对汽车感兴趣并且拥有一辆旧的经典肌肉车,并且对女子武术感兴趣,并且同样地,卡逻辑引擎将显示包括经典肌肉车、具有武术打斗的女主角的动作电影。
在一个实施例中,用户应用216还可以通过网络240或单独的网络访问信息服务器268,用于进一步的智能卡定制。类似地,后端服务器244可以直接或通过单独的网络访问智能卡注册表264和/或信息服务器268。
图3示出了基于相同用户查询向四个不同用户显示的示例性智能卡。在该示例中,用户应用可以是食谱查找器应用,并且四个不同的用户可能已经输入了相同的音频命令请求“给我找一份意大利食谱”。如图2中所讨论的,在将智能卡束与一组通用的意大利食谱一起返回给用户应用时,四个用户的食谱查找器应用中的相应卡逻辑引擎可以基于对用户设备上的用户数据(诸如用户的使用历史、兴趣、过去的活动、未来的活动或用户偏好)和/或信息服务器上的用户数据(诸如用户的搜索历史或查看结果)的分析,做出以下决定:a)用户1是素食者,并且通常不要求第二次后续请求;b)用户2正在节食,不吃意大利面,并且通常需要一个以上的结果来做出决定;c)用户3是父母,喜欢做简单快捷的饭菜,也喜欢一次看到多个结果给孩子显示;以及d)用户n喜欢辛辣的食物,并且通常询问辛辣的食谱。
结果,用户应用上的相同智能卡束可以被定制成用于四个用户的非常不同的智能卡:a)用户1可以收到具有一个素食食谱的卡,而没有附加的食谱推荐;b)用户2可以接收两个具有瘦肉蛋白的顶部食谱和三个涉及瘦肉蛋白的食谱的附加推荐;c)用户3可以接收烹饪时间在15分钟以下的一个食谱和烹饪时间在15分钟以下的三个食谱的附加推荐,并且因为食谱被确定为供儿童查看,所以营养事实标签被移除;以及d)用户4可以接收一个具有辛辣食物的食谱和三个关于辛辣食物食谱的附加推荐。每个卡都是为特定用户定制的,以便为该用户提供感兴趣的最佳信息。
图4是示出用于生成智能卡的示例性过程的操作流程图。在步骤404,用户应用或用户设备接收用户请求。如上所述,用户请求可以是主动输入(诸如输入语音命令)或被动动作(诸如打开用户应用或用户应用中的特征页面)。为了响应于用户请求生成卡(诸如响应于用户搜索输入的搜索结果列表,或者响应于用户打开用户应用的被动动作的用户应用的主页),在步骤408中,用户应用可以向后端服务器做出卡请求。在接收到卡请求时,在步骤412,后端服务器可以将智能卡束返回给用户应用。这个步骤将在图5中更详细地讨论。
在步骤416中,可以基于用户设备的能力(电话类型、屏幕尺寸、电池寿命等)和用户设置(深色(dark)/明亮(light)模式、亮度、位置开/关等)为用户应用在其上操作的用户设备定制智能卡束。在步骤420中,基于用户信息(如术语表中定义的,在图2和图3中讨论的,以及在图6-9中更详细讨论的)进一步定制智能卡束。
在步骤424中,基于步骤416和420呈现智能卡束并显示给用户。在显示时,智能卡保持其动态定制的能力。在步骤428中,用户应用中的优化系统可以确定是否需要附加的上下文。该确定可以连续进行,直到用户终止智能卡的显示,或者以设定的间隔进行,以节省资源。使用上面讨论的示例,其中用户应用是食谱查找器应用,智能卡可能已经显示了为用户选择的顶部食谱,但是优化系统已经确定用户需要附加的推荐。因此,在步骤432中,优化系统可以检索进一步定制所需的附加上下文。在图10中更详细地讨论了检索附加上下文的过程。在步骤436中,可以使用检索到的附加上下文来更新已经显示的智能卡。
在步骤440中,用户应用中的优化系统可以确定订阅,并且可能需要正在进行的数据流。该确定可以连续进行,直到用户终止智能卡的显示,或者以设定的间隔进行,以节省资源。例如,如果用户应用是在线股票交易应用,则优化系统可以确定用户需要股票价值的实时更新。因此,在步骤444中,优化系统可以检索进一步定制所需的订阅数据。图17中更详细地讨论了检索订阅数据的过程。在步骤436中,可以使用附加订阅数据来更新已经显示的智能卡。
在智能卡可以基于附加上下文(步骤428-432)和订阅(步骤440-444)被更新的情况下,这些更新可以同时发生或者以任何顺序(上下文优先或者订阅优先)发生。
图5示出了后端呈现框架的结构。在图4中,用户应用504使用图2中描述的方法与其后端服务器508通信。后端服务器508又与智能卡注册表512和一个或多个信息服务器516通信。
响应于用户请求,用户应用504可以向后端服务器508发送卡请求。卡请求可以包括域和各种用户指定的信息。例如,在用户应用504是股票交易平台,并且用户请求查看过去24小时内的三只指定股票的情况下,卡请求可以包括域(股票)和过去24小时内三只股票的用户指定。
响应于卡请求,后端服务器可以在智能卡注册表512中搜索可用的智能卡包(smart card package)。智能卡包是具有动态元素的智能卡模板,可以基于处理用户数据并自动为用户选择最佳模板以及定制模板内的数据以创建定制的用户特定卡的AI引擎来动态修改这些动态元素。在上面的示例中,卡请求是为了显示过去24小时内的三只股票,可用的智能卡包可以包括具有至少三个股票价格显示元素的模板。
后端服务器508可以使用可用的用户信息来选择顶部卡。例如,后端服务器508可以存储用户偏好以指示用户仅在深色模式下使用用户应用504并使用大字体。后端服务器508因此可以选择具有深色模板和大字体的顶部卡。这种基于用户偏好和域选择顶部卡的过程是动态修改的第一层,其对现有技术中的静态卡进行了改进,现有技术中的静态卡通常为所有用户提供相同的模板,基于独特的用户偏好很少或没有修改]。
后端服务器508可以使用来自信息服务器516的数据将上下文注入智能卡包。来自信息服务器516的上下文包括填充顶部卡以生产响应于用户请求的智能卡所需的任何数据或信息。例如,在选择顶部卡时,后端服务器508然后可以检索三种所选股票的过去24小时的股票价格,并用检索到的数据的视觉显示来填充三个股票显示元素。AI引擎可以为用户定制卡。例如,如果用户历史上选择用S&P 500业绩来绘制一年期间的股票业绩,则呈现给用户的卡可以使用过去的浏览历史来配置。通过使用能够访问用户历史、活动、搜索、位置数据、交易历史或任何其他用户数据的AI引擎,可以发生许多其他卡定制。
后端服务器508然后可以向用户应用504返回智能卡束。智能卡束可以包括顶部卡和注入的上下文两者。在上面的示例中,智能卡束可以包括用大字体显示在深色卡模板上的过去24小时内的三个股票价格。
图6示出了用户应用呈现框架的结构。继续图5,智能卡束从后端服务器604传递到用户应用608,其中,使用本地上下文注入引擎612、原语转换引擎616、逻辑注入引擎620和显示设备624进一步处理智能卡束,直到生成智能卡以输出628给用户。
本地上下文注入引擎612是作为用户应用的一部分的软件模块,其被配置为基于本地用户应用上下文数据(诸如电话类型(android与iOS)、电话显示(深色与明亮模式)、屏幕尺寸、电池寿命(全显示与节能显示))来修改智能卡束。
原语转换引擎616使用设备上可用的任何实现来优化智能卡束,以便实现更高的显示性能和质量。例如,原语转换引擎616可以将“地图”项转换成交互式地图的系统特定实现。
逻辑注入引擎620执行智能卡的下一层动态修改。分析用户设备上的用户信息、用户应用608和任何辅助元数据,逻辑注入引擎620重新排序智能卡束上的显示元素以最适合用户的需求和/或基于对用户的过去用户偏好、用户历史和用户动作/活动的分析来确定在卡中包括什么信息。例如,在智能卡束是过去24小时内三只股票(股票A、B、C)的股价图表的情况下,逻辑注入引擎620可以确定用户当前正在交易股票A(或者正在研究、工作或者热衷于),同时观看股票B和C。因此,股票A可以显示在比股票B和C更大的显示窗口中,并且可以包括针对股票价格变化的可视指示器或警报。逻辑注入引擎620还可以确定股票C在过去24小时中表现出很大的波动性,而股票B保持稳定。因此,逻辑注入引擎可以重新排列股票B和C,以在股票B的图表之前显示股票C的图表。逻辑注入引擎620是对现有技术的另一个改进,在现有技术中,一旦生成卡,静态卡没有为基于AI检测的用户偏好和用户历史的进一步定制留下空间。此外,如上面的示例所示,智能卡不仅在显示元素的顺序方面是可定制的。相反,诸如窗口尺寸和数据本身的性质的显示参数可以基于用户需求来定制。此外,关键的改进是这种定制AI特性。虽然预期用户可以输入特定的定制请求,但是逻辑注入引擎620也可以自动和动态地执行这种定制。显示设备624将定制的智能卡束呈现为用于显示的智能卡,并将智能卡输出628给用户。
图7示出了原语转换引擎。在图7中,用户设备704包含用户应用708和本地原语存储装置712。本地原语存储装置712包含用户设备704上的所有用户应用都可以使用的用户界面元素。例如,所有iOS智能手机都可能包含用户界面元素,所有AppleTM应用都可以使用这些元素来使外观统一,诸如显示窗口的圆角,或者特定的字体或配色方案。用户应用708包括以下元素等:本地上下文注入引擎716、原语转换引擎720、定制原语存储装置724、后退画布原语728和逻辑注入引擎732。
如图6中所讨论的,智能卡束可以首先由本地上下文注入引擎716处理。本地上下文注入引擎716然后将具有原语规范的智能卡束发送给原语转换引擎720。原语规范是具有本地上下文的智能卡的整体预期元素的一组定义(在图6中讨论)。例如,智能卡束可以是具有示出过去24小时的三个股票价格的三个显示元素和大字体的深色模板。本地上下文可以是适合iPhone 12的屏幕尺寸的卡。原语规范可以是用于呈现上述所有描述所需的<div>元素、<span>标签等的规范。
原语转换引擎将原语规范与本地预实现的原语相结合,以形成在某些本地用户应用中扩展的一组定制原语。在接收到原语规范时,原语转换引擎720可以首先在本地原语存储装置712中搜索可用的用户界面元素来满足规范。如果本地原语存储装置712包含满足原语规范所需的所有元素,则原语转换引擎720可以完成处理并将呈现规范传递给逻辑注入引擎732。呈现规范是使用指定原语呈现具有本地上下文的智能卡束所需的一组规范。例如,地图应用可以首先使用地图和类似组件的本地实现版本来呈现地图的智能卡。在优选实施例中,本地原语存储装置712中的元素首先用于优化性能(包括但不限于,提高处理速度和节省资源,诸如存储器和电池寿命)。
如果本地原语存储装置712不包含所有需要的元素,则原语转换引擎720接下来可以在定制原语存储装置724中搜索附加元素。定制原语存储装置724包含由用户应用708专门提供并用于用户应用708的用户界面元素。例如,股票应用可能包含显示股票价格图表和表格所必需的元素。如果定制原语存储装置724包含满足原语规范所需的所有元素,则原语转换引擎720可以完成处理并将呈现规范传递给逻辑注入引擎732。
另一方面,如果本地原语存储装置712和定制原语存储装置724都不包含所有需要的元素,则原语转换引擎720然后可以利用后退画布原语728来填充间隙,并确保智能卡仍然可以在任何用户应用上呈现。图8详细讨论了如何使用后退画布原语。
在另一实施例中,原语转换引擎720可以使用本地原语存储装置712、定制原语存储装置724和后退画布原语728的任意组合,并且以任意顺序来处理原语规范。
图8示出了后退画布原语。在图8中,用户设备804包括用户应用808和设备信息存储装置812。用户应用808包括原语引擎816和后退画布引擎820。后退画布引擎连接到呈现数据库,该呈现数据库可以存储在云或远程基于云的服务器824中。呈现数据库可以提供卡规范的静态呈现。
如图7中所讨论的,在没有来自本地原语存储装置或定制原语存储装置的合适原语可用的情况下,原语引擎816可以使用后退画布原语820来呈现原语规范。在这种情况下,原语引擎816可以向后退画布原语820发送一组智能卡规范。智能卡规范是用于在智能卡上呈现静态卡或静态(不可交互)元素的参数。后退画布原语820可以触发对能够提供静态呈现的远程数据库824的远程请求。远程数据库824可以返回远程呈现结果。后退画布原语820可以将远程呈现结果与用户设备显示数据相结合,以生成智能卡上的静态卡或静态元素。用户设备显示数据是定义用户设备804的显示能力的数据,诸如支持的像素数量、像素强度、黑/白或彩色显示,其可以从设备信息存储装置812获得。如图6所示,静态呈现然后可以被传递到用户应用中的显示设备。
如图6中所讨论的,在原语转换引擎处理智能卡束之后,逻辑注入引擎可以处理智能卡束,以进一步为用户定制智能卡。该步骤是对传统卡的改进,传统卡包含最少的定制,并且可能不会使用AI引擎和用户数据来重新排列卡上的元素,以适应用户的独特需求。图3示出了输入音频命令“给我找一份意大利食谱”的四个不同用户如何接收四个不同的智能卡显示的示例。图9示出了如何使用逻辑注入引擎904来实现图3中的四种不同的智能卡。在步骤908中,逻辑注入引擎904可以首先识别做出用户请求的用户账户。在步骤912中,可以收集所识别的用户账户的唯一用户简档。唯一用户简档可以包括在用户设备、用户应用或任何其他连接的设备、数据库或服务器上可用的任何用户信息(诸如用户账户信息、用户历史、用户偏好)。
在步骤916中,可以执行对唯一用户简档的分析,以确定定制智能卡所需的关键用户特征。如在图3的示例中所讨论的,在步骤916A中,逻辑注入引擎904可以确定用户1是素食者,并且通常不要求第二次后续请求。在步骤916B中,逻辑注入引擎904可以确定用户2正在节食,不吃意大利面,并且通常需要不止一个结果来做出决定。在步骤916C中,逻辑注入引擎904可以确定用户3是父母,喜欢做简单快捷的饭菜,并且还喜欢一次看到一个以上的结果给他们的孩子显示。并且在步骤916D中,逻辑注入引擎904可以确定用户n喜欢辛辣食物并且通常要求辛辣食谱。确定步骤可以由AI引擎基于任何数量的因素,该AI引擎处理关于用户的所有数据以创建定制的和独特的体验来生成卡。
在步骤920中,可以基于步骤916中的确定来定制智能卡束。例如,在步骤920A中,用户1的智能卡可以被定制为显示一个素食食谱,而没有附加的食谱推荐。在步骤920B中,用户2的智能卡可以被定制为显示两个具有瘦肉蛋白的顶部食谱和三个涉及瘦肉蛋白的食谱的附加推荐。在步骤92℃中,用户3的智能卡可以被定制为显示烹饪时间在15分钟以下的一个食谱和烹饪时间在15分钟以下的三个食谱的附加推荐,并且因为食谱被确定为供儿童查看,所以营养事实标签被移除。并且在步骤920D中,用户4的智能卡可以被定制为显示一个具有辛辣食物的食谱和三个关于辛辣食物食谱的附加推荐。
这种级别的定制,尤其是对用户应用中使用历史之外的用户信息的全面收集分析,以及用于满足单个用户需求的各种定制的、用户特定的卡元素,可能无法通过呈现静态卡的传统方法来实现。
图10示出了图3中的四种不同的智能卡如何可以用用户特定的提示来进一步定制。继续图9中的步骤,并且基于对唯一用户简档的相同确定,每个用户可以接收到对于替代食谱类型(诸如素食与肉类食谱)、餐食选择(诸如递送)、饮料推荐或者用户兴趣的进一步发展的提示(诸如为用户2建立锻炼计划的提示)。如图10所示,用户特定提示的内容可以扩展到用户应用的功能和能力之外,这是对呈现静态卡的传统方法的进一步改进,传统方法可能局限于用户应用特定的内容。相反,智能卡中的用户特定提示为每个用户提供了独特的用户体验,以帮助引导和导航用户询问和接收对该特定用户定制的更好的信息。每当用户有请求时,全新的和独特的提示可以显示在智能卡上。只有通过能够分析过去和当前环境的AI服务,才能确定用户的偏好、喜欢和不喜欢。
如果用户响应这些独特的提示,那么智能卡可能需要后期呈现优化。例如,如图10所示,响应于对用户1递送素食的建议2,用户1可以请求所建议的递送。然后,可以用响应于用户1的后续请求的显示来更新智能卡。这是对传统静态卡的另一个改进,传统静态卡可能不会进一步更新或定制。
显而易见,响应用户应用的卡请求而生成的智能卡最初可以用利用用户应用的功能的元素来编译。例如,为食谱查找器生成的智能卡束括显示食谱的元素,为电影流应用生成的智能卡束括显示电影标题或电影的元素,为股票交易平台生成的智能卡束括显示股票的元素,等等。图11示出了智能卡优化系统,其可以实现后期呈现优化。例如,如前所述,优化系统是对超越用户应用的功能的智能卡的动态定制有贡献的四个关键元素之一。优化系统可以包括运行在能够从数据存储中获取数据的服务器上的上下文注入引擎,数据存储可以是能够解析辅助元数据请求的远程数据库或服务器。
在图11中,呈现的智能卡1104可以显示在用户应用上或其上运行用户应用的用户设备上。用户应用可以包括优化系统1108。优化系统1108可以经由图2中讨论的各种方法与一个或多个信息服务器1112通信。使用图10中讨论的示例,用户应用可以是向用户呈现递送选项的独特提示的食谱查找器应用。递送选项本身可能不是用户应用本身提供的功能。
响应于用户请求(如上所述,其可以是被动动作,或者主动输入),智能卡1104可以请求附加的上下文来更新现有元素,或者提供新元素来显示。上下文请求可以被路由到优化系统1108,优化系统1108处理该请求以识别和获得所需的附加数据。例如,响应于用户请求递送素食的上下文请求可以是检索半径5英里内提供递送服务的可用素食餐馆的列表。
一旦接收到上下文请求,优化系统1108可以向一个或多个信息服务器1112请求数据。在该示例中,优化系统1108使用诸如谷歌地图或Yelp的第三方服务器来识别附近的素食餐馆和附加信息,诸如营业时间、递送费用以及到菜单和在线订单的链接。
一旦接收到数据,优化系统1108可以将上下文打包成智能卡可以显示的可呈现规范。如上所述,用户应用可能本身不支持递送选项(这可能包括上面讨论的许多特征,诸如列出餐馆、检索菜单和显示订单)。传统的静态卡可能不具有显示用户应用不支持的元素的能力。相反,智能卡可以生成显示这些特征的元素。
传统静态卡的另一个改进是智能卡能够基于与后端服务器的交互用动态数据更新其显示。图12示出了具有实时数据更新的示例性股票市场智能卡。在这些示例中,智能卡的股票价格数据实时更新,这允许交易者通过智能卡进行买/卖。
图13示出了智能卡和后端服务器之间的通信框架,以演示如何实现图12中的示例性智能卡。在图13中,智能卡1304可以使用图2中讨论的方法之一与后端服务器1308通信。后端服务器1308可以与一个或多个信息服务器1312通信。在智能卡1304上的显示需要实时更新(诸如图12中的示例性智能卡中变化的股票价格)的情况下,智能卡可以向后端服务器订阅以从后端服务器接收更新,从而将卡保持在更新状态。订阅是对结果流的请求。流是在持续的基础上提供数据的通信模式。在股票市场卡的示例中,订阅将用于股票价格。
后端服务器1308继而可以开始监控一个或多个信息服务器1312以用于更新。在股票市场卡的示例中,信息服务器1312可以是显示股票价格的第三方网站。后端服务器1308可以监控这些网站,并且在检测到股票价格的变化时,将这些变化流式传输到智能卡1304,并且价格可以被周期性地更新,而不管任何变化。
在另一个实施例中,个体智能卡可以监控信息服务器并直接获得第三方数据。然而,使用后端服务器的实施例是优选的,因为第三方数据可能需要订阅费。后端服务器可以用一笔订阅费来服务任意数量的智能卡的订阅需求。此外,在个体智能卡可能暂时离线(诸如由于用户设备上的信号接收不良)的情况下,后端服务器可以继续实时接收第三方数据,并在智能卡重新在线时将结果追溯性地流式传输到智能卡。
智能卡用来自后端服务器的实时数据更新其显示的能力超越了简单的结果流。智能卡也可以以基于回合(round)的方式与用户交互,并在若干回合中保持状态。状态是在任何时间点之前的事件或用户交互的集合。传统上,仅在以下意义上用户到用户应用是基于回合的:第一用户请求产生第一响应,第二用户请求产生第二响应的,其中第二响应可能仅响应于第二请求,而不响应于第一请求,因为第一请求的状态没有被保持。通过将AI服务集成到智能卡和/或后端服务器,可以维护状态,使得对已经呈现的智能卡的每个新用户请求可以在先前用户请求的上下文中被分析和处理。
图14示出了示例性国际象棋智能卡,其中用户可以与AI后端服务器玩实时国际象棋游戏。图14中的国际象棋游戏和在常规国际象棋游戏用户应用中进行的国际象棋游戏之间的区别在于,图14中的国际象棋游戏智能卡可以在任何用户应用中显示给用户。例如,用户可能正在食谱查找器应用中查看食谱,但是在等待水烧开的同时,可以请求玩国际象棋游戏。显示该食谱的已经呈现的智能卡然后可以在相同卡中并入用于国际象棋游戏的元素。此外,游戏可以在卡本身中进行,并且不需要专用于下棋的单独程序或软件应用。
图15示出了智能卡模板如何被上传到智能卡注册表并被识别为顶部卡。如图2和图5中所讨论的,响应于卡请求,智能卡注册表和后端服务器一起工作来识别响应于卡请求的顶部卡。
在图15中,通过提供智能卡规范1504来生成智能卡模板。智能卡规范1504定义了智能卡束在呈现期间将请求的逻辑、上下文和呈现元数据。
逻辑请求包含所有逻辑和程序例程的程序规范,作为代码的一部分。这可能是该卡需要判断用户更喜欢哪些演员或者他们对某些流派的排名的能力。
所需的上下文是需要从外部数据存储中获取的作为在用户应用上执行呈现的一部分的相关元数据。示例可能是,卡规范需要特定电影中的演员列表。
呈现元数据是为了实现呈现过程而需要什么用户应用信息的定义。这可能是关于屏幕尺寸或分辨率和质量的信息,以及通用硬件设备信息。
智能卡规范1504被转换成智能卡包1508,并经由注册请求发送到智能卡注册表1512。
后端服务器通过识别哪组智能卡规范1504与用户应用和用户设备最兼容来搜索可用的智能卡包。在找到顶部卡时,智能卡注册表将智能卡包1508传递给后端服务器,该智能卡束随后与来自信息服务器的注入上下文一起被转变成智能卡束。
智能卡的另一个独特功能是通过卡到卡的交互进行设备到设备的通信。传统的静态卡不能与其他静态卡通信。设备间通信通常通过外部手段(诸如用户应用)来实现。卡到卡交互消除了用户下载第三方应用以与另一设备或用户通信的需要。例如,用户通常被迫下载第三方应用来参与视频会议(例如下载Zoom或Microsoft Team)。另一方面,智能卡可以通过简单地呈现视频的显示和音频馈送来促进视频会议,从而消除对任何第三方应用的需要。此外,第三方应用并不能普遍兼容所有的视频屏幕设备,诸如移动电话、计算机、平板、膝上型计算集或电视。另一方面,智能卡可以为每个不同类型的物理显示屏和相关系统动态定制显示格式和参数。
图16A示出了如何定制每个智能卡以适合用户设备的显示屏,智能卡在卡到卡交互中呈现在该用户设备上。在图16A中,用户A 1604A的智能卡可以与用户B 1608A的智能卡交互,诸如通过显示视频会议。每个智能卡1604A、1608A具有其自己的智能卡逻辑引擎1612。如上所述,智能卡逻辑引擎1612负责在智能卡上实现AI服务。用户A和B的智能卡1604A、1608A上的相应智能卡逻辑引擎1612可以各自识别用于显示智能卡的视频屏幕设备。在用户A的情况下,智能卡逻辑引擎1612可以将视频屏幕设备识别为移动电话1620,并且定制智能卡1604A以适合电话屏幕。在用户B的情况下,智能卡逻辑引擎1612可以将视频屏幕设备识别为计算机1624,并且定制智能卡1608A以适合计算机屏幕。
图16B示出了用户A和B的示例性智能卡。用户A的智能卡1604B是为电话屏幕定制的,而用户B的智能卡1608B是为计算机屏幕定制的。定制扩展超越裁剪屏幕以适应不同的屏幕尺寸。两个智能卡1604B、1608B的比较显示视频显示窗口可能完全不同(纵向与横向)。还可以包括附加的显示元素,诸如基于文本的聊天窗口。
图16A和图16B示出了使用视频显示器的一个示例性卡到卡交互。可以设想,使用智能卡可以实现任何类型的卡到卡交互。例如,用户A和B可以通过请求他们的智能卡上的国际象棋游戏显示元素来参与基于回合的国际象棋游戏,或者并排查看他们选择的股票价格以比较他们的交易,或者经由智能卡交换他们的烹饪食谱。
还可以设想,可以为每个独特的用户进一步定制智能卡体验。例如,用户A 1604的智能卡上的视频会议可以是全屏的,这意味着视频会议和文本追踪聊天可以是智能卡上仅有的元素。另一方面,用户B 1608的智能卡上的视频会议和聊天框可以是单个智能卡上的许多其他元素中的两个。
图17示出了跨超过两个智能卡的卡到卡交互。使用图16A中讨论的相同方法,当这些设备上的智能卡彼此交互时,智能卡逻辑引擎可以向包括但不限于移动电话、计算机和平板的任何用户设备定制相同卡的显示。
在多卡交互中,可以选择一个智能卡作为主机,以确保所有卡的稳定性和同步性。图18示出了用于确定智能卡充当主机的选择框架。在图18中,第一智能卡1804、第二智能卡1808和第三智能卡1812以循环(round robin)方式相互通信,以通过启发式投票过程来确定哪个卡最稳定地充当主机。基于用户设备的稳定性(可用功率、处理复杂AI服务请求的能力等)以及它们相应网络连接的稳定性(信号强度、带宽等),或者可以使该设备适合作为主机的任何其他因素来选择主机。这种选举框架可以从任意数量的设备上的多于两个的任意数量的智能卡扩展。通过执行Raft共识算法来确定稳定性。
在另一个实施例中,后端服务器可以用作主机。图19说明了这种替代的多卡通信框架。在图19中,第一智能卡1904、第二智能卡1908和第三智能卡1912通过后端服务器1916相互通信。后端服务器1916可以是能够在各种远程智能卡、用户应用或服务器之间路由消息的远程服务器操作软件。后端服务器1916因此可以充当主机。
图20示出了移动设备2000的示例实施例,移动设备2000也称为用户设备,可以是移动的,也可以不是移动的。这仅仅是一种可能的移动设备配置,因此可以设想,本领域普通技术人员可以不同地配置移动设备。移动设备2000可以包括能够如下所述执行的任何类型的移动通信设备。移动设备可以包括PDA、蜂窝电话、智能电话、平板PC、无线电子平板、IoT设备、“可穿戴”电子设备或任何其他计算设备。
在该示例实施例中,移动设备2000被配置有外壳2004,外壳2004被配置为保护和容纳下述组件。外壳2004内是处理器2008以及第一总线2012A和第二总线2012A(统称为2012)。处理器2008通过总线2012与移动设备2000的其他组件通信。处理器2008可以包括能够如本文所述执行的任何类型的处理器或控制器。处理器2008可以包括通用处理器、ASIC、ARM、DSP、控制器或任何其他类型的处理设备。处理器2008和移动设备2000的其他元件从电池2020或其他电源接收电力。电接口2024提供一个或多个电端口以与移动设备电连接,诸如与第二电子设备、计算机、医疗设备或电源/充电设备电连接。接口2024可以包括任何类型的电接口或连接器格式。
一个或多个存储器2010是移动设备2000的一部分,用于存储在处理器2008上执行的机器可读代码,以及用于存储数据,诸如图像数据、音频数据、用户数据、位置数据、加速度计数据或任何其他类型的数据。存储器2010可以包括RAM、ROM、闪存、光存储器或微驱动存储器。这里描述的机器可读代码(软件模块和/或例程)是非暂时性的。
作为该实施例的一部分,处理器2008连接到用户界面2016。用户界面2016可以包括被配置为接受用户输入来控制移动设备的任何系统或设备。用户界面2016可以包括以下的一个或多个:麦克风、键盘、滚球、按钮、滚轮、指针键、触摸板和触摸屏。还提供了触摸屏控制器2030,其通过总线2012接口并连接到显示器2028。
显示器包括被配置为向用户显示视觉信息的任何类型的显示屏。屏幕可以包括LED、LCD、薄膜晶体管屏幕、OEL CSTN(彩色超扭曲向列型)、TFT(薄膜晶体管)、TFD(薄膜二极管)、OLED(有机发光二极管)、AMOLED显示器(有源矩阵有机发光二极体)、电容式触摸屏、电阻式触摸屏或这些技术的任意组合。显示器2028接收来自处理器2008的信号,并且如本领域所理解的,这些信号被显示器翻译成文本和图像。显示器2028还可以包括显示处理器(未示出)或与处理器2008接口的控制器。触摸屏控制器2030可以包括被配置为从覆盖在显示器2028上的触摸屏接收信号的模块。
此外,该示例性移动设备的一部分是扬声器2034和麦克风2038。扬声器2034和麦克风2038可以由处理器2008控制。麦克风2038被配置为基于处理器2008的控制来接收音频信号并将音频信号转换成电信号。同样,处理器2008可以激活扬声器2034来生成音频信号。这些设备如本领域所理解的那样操作,因此在此不再详细描述。
第一无线收发器2040和第二无线收发器2044也连接到一条或多条总线2012,它们中的每一个都连接到相应的天线2048、2052。第一收发器2040和第二收发器2044被配置为从远程发射器接收输入信号,并对信号执行模拟前端处理以生成模拟基带信号。输入信号可以通过转换成数字格式来进一步处理,诸如通过模数转换器,用于处理器2008的后续处理。同样,第一收发器2040和第二收发器2044被配置为从处理器2008或移动设备的另一组件2008接收输出信号,并将这些信号从基带上变频到RF频率,以便通过相应的天线2048、2052进行发送。尽管示出了第一无线收发器2040和第二无线收发器2044,但是可以设想移动设备2000可以仅具有一个这样的系统或者两个或更多个收发器。例如,一些设备支持三频或四频,或者具有NFC或其他通信能力。
可以设想,移动设备以及因此第一无线收发器2040和第二无线收发器2044可以被配置为根据任何现有的或未来开发的无线标准进行操作,包括但不限于蓝牙、诸如IEEE802.11a,b,g,n的WI-FI、无线LAN、WMAN、宽带固定接入、WiMAX、任何蜂窝技术,包括CDMA、GSM、EDGE、3G、4G、5G、TDMA、AMPS、FRS、GMRS、民用波段无线电、VHF、AM、FM和无线USB。
此外,移动设备的一部分是连接到第二总线2012B的一个或多个系统,其也与处理器2008接口。这些设备包括具有相关联的天线2062的全球定位系统(GPS)模块2060。GPS模块2060能够接收和处理来自卫星或其他转发器的信号,以产生关于GPS模块2060的位置、行进方向和速度的位置数据。GPS在本领域中是公知的,因此在此不再详细描述。陀螺仪2064连接到总线2012B,以生成并提供关于移动设备2004的方位的方位数据。提供磁力计2068以向移动设备2004提供方向信息。加速度计2072连接到总线2012B,以提供关于移动设备经受的冲击或力的信息或数据。在一种配置中,加速度计2072和陀螺仪2064生成数据并将其提供给处理器2008,以指示移动设备的移动路径和方向。
提供一个或多个相机(静态、视频或两者)2076来捕获图像数据,以存储在存储器2010中和/或用于通过无线或有线链路的可能的发送或用于以后观看。一个或多个相机2076可以被配置为使用可见光和/或近红外光来检测图像。相机2076还可以被配置为利用图像增强、主动照明或热视觉来在黑暗环境中获得图像。处理器2008可以处理存储在存储器上的机器可读代码,以执行这里描述的功能。
提供闪光灯和/或手电筒2080,诸如LED灯,并且是处理器可控制的。闪光器或闪光灯2080可以用作闪光灯或传统闪光灯。闪光器或闪光灯2080也可以被配置为发射近红外光。电力管理模块2084与电池2020接口或监控电池2020,以管理功耗、控制电池充电,并向可能需要不同电力需求的各种设备提供电源电压。
图21是根据一个示例性实施例的诸如上述设备之一的计算或移动设备或服务器的示意图。计算设备2100旨在表示各种形式的数字计算机,诸如智能电话、平板、信息亭、膝上型计算机、桌上型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备2150旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文档中描述和/或要求保护的实施方式。
计算设备2100包括处理器2102、存储器2104、存储设备2106、连接到存储器2104和高速扩展端口2110的高速接口或控制器2108、以及连接到低速总线2114和存储设备2106的低速接口或控制器2112。组件2102、2104、2106、2108、2110和2112中的每一个使用各种总线互连,并且可以安装在公共主板上或者以其他适当的方式安装。处理器2102可以处理用于在计算设备2100内执行的指令,包括存储在存储器2104中或存储设备2106上的指令,以在外部输入/输出设备(诸如耦合到高速控制器2108的显示器2116)上显示GUI的图形信息。在其他实现中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备2100,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器2104存储计算设备2100内的信息。在一个实现中,存储器2104是一个或多个易失性存储单元。在另一实现中,存储器2104是非易失性存储单元。存储器2104也可以是另一种形式的计算机可读介质,诸如磁或光盘。
存储设备2106能够为计算设备2100提供大容量存储。在一个实施方式中,存储设备2106可以是或包含计算机可读介质,诸如硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备,或者设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地包含在信息载体中。计算机程序产品还可以包含指令,当被执行时,这些指令执行一种或多种如上所述的方法。信息载体是计算机或机器可读介质,诸如存储器2104、存储设备2106或处理器2102上的存储器。
高速控制器2108管理计算设备2100的带宽密集型操作,而低速控制器2112管理较低带宽密集型操作。这种功能分配仅仅是示例性的。在一个实现中,高速控制器2108耦合到存储器2104、显示器2116(例如,通过图形处理器或加速器),并且耦合到高速扩展端口2110,高速扩展端口2110可以接受各种扩展卡(未示出)。在该实现中,低速控制器2112耦合到存储设备2106和低速总线2114。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速总线2114可以耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的网络设备(例如,通过网络适配器)。
如图所示,计算设备2100可以以几种不同的形式实现。例如,它可以被实现为标准服务器2120,或者在一组这样的服务器中多次实现。它也可以被实现为机架式服务器系统2124的一部分。此外,它可以在诸如膝上型计算机2122的个人计算机中实现。替代地,来自计算设备2100的组件可以与诸如设备2150的移动设备(未示出)中的其他组件相结合。这样的设备中的每一个可以包含计算设备2100、2150中的一个或多个,并且整个系统可以包括相互通信的多个计算设备2100、2150。
计算设备2150包括处理器2152、存储器2164、诸如显示器2154的输入/输出设备、通信接口2166和收发器2168以及其他组件。设备2150还可以配备有存储设备,诸如微驱动器或其他设备,以提供附加的存储。组件2150、2152、2164、2154、2166和2168中的每一个都使用各种总线互连,并且这些组件中的几个可以安装在公共主板上或者以其他适当的方式安装。
处理器2152可以执行计算设备2150内的指令,包括存储在存储器2164中的指令。处理器可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供设备2150的其他组件的协调,诸如对用户界面、设备2150运行的应用以及设备2150的无线通信的控制。
处理器2152可以通过耦合到显示器2154的控制接口2158和显示接口2156与用户通信。显示器2154可以是例如TFT LCD(薄膜晶体管液晶显示器)或有机发光二极管(有机发光二极管)显示器,或者其他合适的显示技术。显示器接口2156可以包括用于驱动显示器2154向用户呈现图形和其他信息的适当电路。控制接口2158可以接收来自用户的命令,并转换它们以提交给处理器2152。此外,可以提供与处理器2152通信的外部接口2162,以实现设备2150与其他设备的近距离通信。外部接口2162可以例如在一些实现中提供有线通信,或者在其他实现中提供无线通信,包括也可以使用多个接口。
存储器2164存储计算设备2150内的信息。存储器2164可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或非易失性存储器单元。还可以提供扩展存储器2174,并通过扩展接口2172连接到设备2150,扩展接口2172可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器2174可以为设备2150提供附加的存储空间,或者也可以为设备2150存储应用或其他信息。具体地,扩展存储器2174可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器2174可以作为设备2150的安全模块来提供,且可以用允许设备2150的安全使用的指令来编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式在SIMM卡上放置识别信息。
如下所述,存储器可以包括例如闪存和/或NVRAM存储器。在一种实施方式中,计算机程序产品有形地具体实现在信息载体中。计算机程序产品包含指令,当被执行时,这些指令执行一种或多种如上所述的方法。信息载体是计算机或机器可读介质,诸如存储器2164、扩展存储器2174或处理器2152上的存储器,其可以例如通过收发器2168或外部接口2162接收。
设备2150可以通过通信接口2166进行无线通信,通信接口2166在必要时可以包括数字信号处理电路。通信接口2166可以提供各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器2168进行。此外,可以进行短程通信,诸如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块2170可以向设备2150提供附加的导航和位置相关的无线数据,这些数据可以被运行在设备2150上的应用适当地使用。
设备2150还可以使用音频编解码器2160可听地进行通信,音频编解码器2160可以从用户接收讲话信息并将其转换成可用的数字信息。音频编解码器2160同样可以诸如通过扬声器(例如,在设备2150的手机中)为用户生成可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在设备2150上运行的应用生成的声音。
如图所示,计算设备2150可以以多种不同的形式实现。例如,它可以被实现为蜂窝电话2160。它也可以被实现为智能电话2182、个人数字助理、计算机平板或其他类似移动设备的一部分。
因此,这里描述的系统和技术的各种实现可以在数字电子电路、集成电路、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些不同的实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该可编程处理器可以是专用或通用的,被耦合以从存储系统接收数据和指令,以及向存储系统发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”和“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的键盘和定点设备(例如,鼠标、操纵杆、轨迹球或类似设备)。例如,也可以使用其他类型的设备来提供与用户的交互;提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在计算系统(例如,计算设备2100和/或2150)中实现,该计算系统包括后端组件(例如,作为数据服务器、投币游戏记账系统、玩家跟踪系统等),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的用户应用计算机,用户可以通过该图形用户界面或网络浏览器与这里描述的系统和技术的实现进行交互),或者这些后端、中间、前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括用户应用和服务器。用户应用和服务器通常彼此远离,并且通常通过通信网络进行交互。用户应用和服务器的关系是由于在各自的计算机上运行的计算机程序而产生的,并且彼此具有用户应用-服务器关系。
虽然已经描述了本发明的各种实施例,但是对于本领域普通技术人员来说,很明显,在本发明的范围内,更多的实施例和实现是可能的。此外,本文描述的各种特征、元素和实施例可以以任何组合或布置来要求保护或组合。
Claims (17)
1.一种用于生成人工智能驱动的用户界面卡的系统,包括:
第一用户设备,所述第一用户设备具有屏幕、存储非暂时性机器可执行代码的存储器以及被配置为执行所述机器可执行代码的处理器,所述机器可执行代码被配置为:
修改智能卡束以与所述第一用户设备兼容,所述智能卡束包括第一组显示元素和第一组上下文数据,所述第一组显示元素使用由用户应用提供的一个或多个功能,并且所述第一组上下文数据响应于用户的第一请求;
基于对用户信息的分析来预测用户偏好,并基于所述预测来配置所述智能卡束;以及
将第二组显示元素和第二组上下文数据添加到所述智能卡束,所述第二组显示元素使用所述用户应用未提供的功能。
2.根据权利要求1所述的系统,其中所述用户信息从以下一项或多项中选择:用户账户信息、用户偏好、先前用户选择、用户输入、用户网络浏览器历史、用户通信或辅助元数据。
3.根据权利要求1所述的系统,其中所述第一组显示元素包括向用户建议附加用户动作的交互式提示。
4.根据权利要求1所述的系统,还包括后端服务器,并且所述第一组显示元素包括用来自所述后端服务器的数据周期性更新的显示元素,所述数据从所述后端服务器流式传输到所述智能卡束。
5.根据权利要求1所述的系统,其中所述第二组显示元素被配置为与第二用户设备通信。
6.根据权利要求1所述的系统,其中所述机器可执行代码还被配置为基于用户的第二请求向所述智能卡束添加第三组显示元素和第三组上下文数据,其中所述第三组上下文数据响应于所述第一请求和所述第二请求。
7.一种用于生成人工智能驱动的用户界面卡的方法,包括以下步骤:
从运行在用户设备上的用户应用接收第一用户请求;
编译包括第一组显示元素和第二组显示元素的智能卡束,所述第一组显示元素使用由所述用户应用提供的一个或多个功能,所述第二组显示元素使用所述用户应用未提供的功能;
基于对用户信息的分析来预测用户偏好;
基于所述预测来配置所述智能卡束;以及
在所述用户设备的屏幕上显示所述第一组显示元素和所述第二组显示元素。
8.根据权利要求7所述的方法,其中所述用户信息从以下一项或多项中选择:用户账户信息、用户偏好、先前用户选择、用户输入、用户网络浏览器历史、用户通信或辅助元数据。
9.根据权利要求7所述的方法,其中所述智能卡束还包括第一组上下文数据,所述第一组上下文数据响应所述第一用户请求。
10.根据权利要求9所述的方法,还包括以下步骤:从所述用户应用接收第二用户请求,用第二组上下文数据更新所述智能卡束,所述第二组上下文数据响应于所述第一用户请求和所述第二用户请求,以及基于所述预测和所述第二用户请求配置所述智能卡束。
11.根据权利要求9所述的方法,还包括用从后端服务器流式传输的新信息更新所述第一组上下文数据的步骤。
12.根据权利要求7所述的方法,其中所述智能卡束还包括向用户建议附加动作的交互提示,所述交互提示基于所述预测配置。
13.根据权利要求7所述的方法,其中配置所述智能卡束包括执行以下动作中的一个或多个:添加显示元素、移除显示元素、调整显示元素的大小、或重新排序两个或更多个显示元素。
14.一种用于生成人工智能驱动的用户界面卡的系统,包括:
第一用户设备,所述第一用户设备具有屏幕、存储非暂时性机器可执行代码的存储器、以及被配置为执行所述机器可执行代码的处理器,所述机器可执行代码被配置为:
将智能卡束处理成用于在第一屏幕上显示的第一智能卡,所述智能卡束包括一组显示元素和一组上下文数据;
使用所述第一用户设备未提供的功能在所述第一智能卡上呈现所述一组显示元素;以及
用来自第二用户设备的数据更新上下文数据。
15.根据权利要求14所述的系统,还包括:
由所述第二用户设备从所述智能卡束处理的第二智能卡;
由第三用户设备从所述智能卡束处理的第三智能卡;
其中用来自所述第二智能卡和所述第三智能卡的数据更新所述第一用户设备上的上下文数据。
16.根据权利要求15所述的系统,其中所述第一智能卡、所述第二智能卡和所述第三智能卡以对等方式相互发送数据,并且所述第一智能卡被选为主机。
17.根据权利要求14所述的系统,其中来自所述第二用户设备的数据从所述第二用户设备被路由到后端服务器,然后从所述后端服务器被路由到所述第一用户设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063016244P | 2020-04-27 | 2020-04-27 | |
US63/016,244 | 2020-04-27 | ||
PCT/US2021/029472 WO2021222307A1 (en) | 2020-04-27 | 2021-04-27 | An artificially intelligent request and suggestion card |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115917512A true CN115917512A (zh) | 2023-04-04 |
Family
ID=78222326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180038787.9A Pending CN115917512A (zh) | 2020-04-27 | 2021-04-27 | 人工智能请求和建议卡 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210334116A1 (zh) |
JP (1) | JP2023524009A (zh) |
KR (1) | KR20230022844A (zh) |
CN (1) | CN115917512A (zh) |
WO (1) | WO2021222307A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2987361B1 (en) * | 2013-05-10 | 2020-02-26 | Huawei Technologies Co., Ltd. | System and methods for controlling out-of-network d2d communications |
US11423234B2 (en) * | 2018-03-01 | 2022-08-23 | Ink Content, Inc. | Content generation using target content derived modeling and unsupervised language modeling |
GB201804626D0 (en) * | 2018-03-22 | 2018-05-09 | Nordic Semiconductor Asa | Devices with removable smart cards |
KR20220108967A (ko) * | 2021-01-28 | 2022-08-04 | 삼성전자주식회사 | 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 |
US11734671B2 (en) * | 2021-02-22 | 2023-08-22 | Capital One Services, Llc | Dynamically displaying contextual information on a smart card |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015057586A1 (en) * | 2013-10-14 | 2015-04-23 | Yahoo! Inc. | Systems and methods for providing context-based user interface |
US10402460B1 (en) * | 2014-09-08 | 2019-09-03 | Amazon Technologies, Inc. | Contextual card generation and delivery |
US10582011B2 (en) * | 2015-08-06 | 2020-03-03 | Samsung Electronics Co., Ltd. | Application cards based on contextual data |
CN106899750A (zh) * | 2016-08-03 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 基于卡片的信息展示方法、信息展示业务的处理方法及装置 |
US9654598B1 (en) * | 2016-08-08 | 2017-05-16 | Le Technology, Inc. | User customization of cards |
US20180232920A1 (en) * | 2017-02-10 | 2018-08-16 | Microsoft Technology Licensing, Llc | Contextually aware location selections for teleconference monitor views |
-
2021
- 2021-04-27 CN CN202180038787.9A patent/CN115917512A/zh active Pending
- 2021-04-27 KR KR1020227040718A patent/KR20230022844A/ko active Search and Examination
- 2021-04-27 WO PCT/US2021/029472 patent/WO2021222307A1/en active Application Filing
- 2021-04-27 JP JP2022565918A patent/JP2023524009A/ja active Pending
- 2021-04-27 US US17/242,094 patent/US20210334116A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210334116A1 (en) | 2021-10-28 |
WO2021222307A1 (en) | 2021-11-04 |
JP2023524009A (ja) | 2023-06-08 |
KR20230022844A (ko) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243084B2 (en) | Systems and methods for improved data integration in augmented reality architectures | |
US20210173548A1 (en) | Virtual assistant acquisitions and training | |
WO2022156368A1 (zh) | 推荐信息展示方法及装置 | |
CN115917512A (zh) | 人工智能请求和建议卡 | |
US10021569B2 (en) | Theme applying method and electronic device for performing the same | |
US9589149B2 (en) | Combining personalization and privacy locally on devices | |
US20190087205A1 (en) | Varying modality of user experiences with a mobile device based on context | |
US9535945B2 (en) | Intent based search results associated with a modular search object framework | |
US20130041902A1 (en) | Travel services search | |
US9830388B2 (en) | Modular search object framework | |
JP2019049984A (ja) | ソーシャル・カバー・フィード・インターフェース | |
JP2020521376A (ja) | イメージデータに少なくとも部分的に基づく、アクションを実行するためのエージェントの決定 | |
US11145047B2 (en) | Method for synthesizing image and an electronic device using the same | |
CN111247782B (zh) | 用于自动创建即时ad-hoc日历事件的方法和系统 | |
US20150317319A1 (en) | Enhanced search results associated with a modular search object framework | |
US20230091214A1 (en) | Augmented reality items based on scan | |
CN115017340A (zh) | 多媒体资源生成方法、装置、电子设备及存储介质 | |
KR20210020513A (ko) | 위치 기반 경험 공유 방법 및 컴퓨터 프로그램 | |
CN110209924A (zh) | 推荐参数获取方法、装置、服务器及存储介质 | |
US20240104611A1 (en) | Intelligent content recommendations based on selections of curated review responses | |
US20230409650A1 (en) | Sharable privacy-oriented personalization model | |
CN117560445A (zh) | 一种发布群投票的方法、装置及相关产品 | |
KR20210009990A (ko) | 이동통신 단말기의 어플리케이션 데이터 연동을 이용한 개인비서 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |