CN112262391A - 网页中的安全数字助理集成 - Google Patents
网页中的安全数字助理集成 Download PDFInfo
- Publication number
- CN112262391A CN112262391A CN201980002168.7A CN201980002168A CN112262391A CN 112262391 A CN112262391 A CN 112262391A CN 201980002168 A CN201980002168 A CN 201980002168A CN 112262391 A CN112262391 A CN 112262391A
- Authority
- CN
- China
- Prior art keywords
- data
- processing system
- electronic resource
- data processing
- computing device
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了与网页进行安全数字助理集成。所述***接收意图清单数据结构,所述意图清单数据结构将数字助理的动作与第三方开发者装置开发的电子资源的链接模板进行映射。所述***基于所述意图清单数据结构验证所述电子资源。所述***从由客户端计算装置加载的所述电子资源的内嵌框架的数据交换组件接收所述客户端计算装置的标识符。所述***从现场状态共享API接收所述电子资源的前台状态。所述***基于所述前台状态和所述意图清单数据结构选择参数的数据值。所述***提供所述数据值。授权组件生成授权提示,接收输入,并且将所述数据值提供给所述电子资源的所述现场意图执行API以执行动作。
Description
背景技术
可以在计算装置上安装应用。计算装置可以执行应用。应用可以呈现数字内容。
发明内容
至少一个方面涉及一种用于与网页进行安全数字助理集成的***。该***可以包括具有一个或多个处理器和存储器的数据处理***。数据处理***可以从第三方开发者装置接收意图清单数据结构,该意图清单数据结构包含在数字助理的多个动作与由第三方开发者装置开发的电子资源的多个链接模板之间的映射。数据处理***可以经由验证策略基于意图清单数据结构验证电子资源。数据处理***可以从由客户端计算装置加载的电子资源的内嵌框架的数据交换组件接收执行电子资源的客户端计算装置的标识符。数据处理***可以查询电子资源的现场状态共享应用编程接口。数据处理***可以响应于该查询从现场状态共享应用编程接口接收电子资源的前台状态。数据处理***基于前台状态和意图清单数据结构确定参数。数据处理***从数据存储库基于客户端计算装置的标识符选择参数的数据值。数据处理***可以将数据值提供给加载在客户端计算装置上的电子资源的内嵌框架的授权组件。数据处理***可以提供数据值以使授权组件执行一种或多种功能。授权组件可以生成授权提示。授权组件可以响应于该授权提示接收来自客户端计算装置的输入。授权组件可以响应于数据值的授权,将数据值发送给电子资源的现场意图执行应用编程接口。现场意图执行应用编程接口可以使电子资源利用数据值执行多个动作中的一个动作。
数据交换组件可以约束父框架中的电子资源访问客户端计算装置的标识符。开发电子资源的第三方开发者装置可以被禁止访问客户端计算装置的标识符。
数据处理***可以响应于经由验证策略对电子资源的验证,授权数据交换组件加载在电子资源的内嵌框架中。
数据处理***可以基于受信站点列表验证电子资源。
数据处理***可以接收来自客户端计算装置执行的数据交换组件的请求。数据处理***可以响应于该请求查询电子资源的现场状态共享应用编程接口。
数据处理***可以从客户端计算装置执行的语音导航器和响应组件接收数据分组,该数据分组携带有由客户端计算装置的传感器检测到的输入音频信号。数据处理***可以从数据分组标识对候选数据值的请求。数据处理***可以响应于该请求提供数据值作为候选数据值。
数据处理***可以将数据值提供给现场意图执行应用编程接口,以使现场意图执行应用编程接口将数据值输入到电子资源的输入文本框中。
数据处理***可以基于前台状态确定执行电子资源提供的动作要使用的多个参数。数据处理***可以基于客户端计算装置的标识符选择与多个参数对应的多个数据值。数据处理***可以将多个数据值提供给授权组件以使授权组件提供给现场意图执行应用编程接口。现场意图执行应用编程接口可以配置为使用多个数据值来绕过电子资源所用的一个或多个状态以执行动作。
数据处理***可以基于前台状态和意图清单数据结构确定电子资源的一个或多个后续状态。数据处理***可以基于该一个或多个后续状态确定一个或多个参数。数据处理***可以基于标识符,在电子资源进入一个或多个后续状态之前选择该一个或多个参数的一个或多个数据值。
数据处理***可以在电子资源请求数据值之前,提供数据值以供授权组件进行授权并且输入到现场意图执行应用编程接口。
数据处理***可以将数据值提供给客户端计算装置以使客户端计算装置构建与数据值的深度链接,并且将深度链接加载在客户端计算装置执行的Web浏览器中。电子资源可以是或包括网页。
数据处理***可以基于多个链接模板中映射到多个动作中的该动作的链接模板构建与数据值的链接。数据处理***可以经由数据交换组件将链接提供给现场意图执行应用编程接口。
至少一个方面涉及一种用于与网页进行安全数字助理集成的方法。该方法可以由具有至少一个处理器的数据处理***执行。该方法可以包括:数据处理***从第三方开发者装置接收意图清单数据结构,该意图清单数据结构包含在数字助理的多个动作与由第三方开发者装置开发的电子资源的多个链接模板之间的映射。该方法可以包括:数据处理***经由验证策略基于意图清单数据结构验证电子资源。该方法可以包括:数据处理***从由客户端计算装置加载的电子资源的内嵌框架的数据交换组件接收执行电子资源的客户端计算装置的标识符。该方法可以包括:数据处理***查询电子资源的现场状态共享应用编程接口。该方法可以包括:数据处理***响应于该查询从现场状态共享应用编程接口接收电子资源的前台状态。该方法可以包括:数据处理***基于前台状态和意图清单数据结构确定参数。该方法可以包括:数据处理***从数据存储库基于客户端计算装置的标识符选择参数的数据值。该方法可以包括:数据处理***将数据值提供给加载在客户端计算装置上的电子资源的内嵌框架的授权组件,以使授权组件:生成授权提示;响应于该授权提示,接收来自客户端计算装置的输入;以及响应于数据值的授权,将数据值发送给电子资源的现场意图执行应用编程接口,以使电子资源利用数据值执行多个动作中的一个动作。
至少一个方面涉及一种计算机程序产品,该计算机程序产品配置为在数据处理***上实施时使该数据处理***执行将数字助理与网页安全集成在一起的方法。
根据本公开的任何方面或下文相对于本公开的任何特定实施例限定的单独特征和/或特征的组合可以分别地或单独地、独立地或与任何其他限定的特征组合地用在本公开的任何其他方面或实施例中。
此外,本公开旨在涵盖被配置为执行本文相对于方法和/或使用或产生、使用或制造本文中描述的任何装置特征的方法所描述的任何特征的装置。
这些和其他方面以及实施方式将在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并提供用于理解所要求保护的方面和实施方式的性质和特点的概述或框架。附图提供了对各个方面和实施方式的说明和进一步的理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
附图并非旨在按照比例绘制。在各个图中,类似的参考符号和指定表示类似的元件。出于简洁起见,在每幅图中可以不必标出每个组件。在图中:
图1是与网页进行安全数字助理集成的示例***的图示;
图2是与网页进行安全数字助理集成的***的操作示例的图示;
图3是与网页进行安全数字助理集成的示例方法的图示;
图4是图示了可以被用来实施本文描述和图示的***和方法(包括:例如,图1和图2中描绘的***以及图3中描绘的方法)的元件的计算机***的总体架构的框图。
具体实施方式
以下是对与网页进行安全数字助理集成的方法、装置、和***有关的各种构思及其实施方式的更详细的描述。可以按照许多方式中的任何一种来实现上面介绍的和下面将更详细讨论的各种构思。
本公开总体上涉及与网页、电子文档或其他电子资源进行安全数字助理集成。客户端计算装置可以渲染或加载网页。网页可以包括输入字段或提供进行输入的提示。输入可以由网页的用户提供。输入可以包括与用户相关联的信息,诸如用户名、密码、账户信息、电子交易信息或偏好信息。但是,用户可能无法访问要被提供以用于输入到移动装置的数据。此外,客户端计算装置可以具有有限的用户接口或输入能力以接收来自用户的输入。网页可能在沙盒或受限计算环境中操作,在该环境中,网页被阻止访问客户端计算装置上的部分存储器、或包含账户信息的服务器。随着越来越多的网页被访问或渲染在客户端计算装置上,并且第三方开发者越来越多地请求输入数据值来执行动作或执行服务,为网页提供此类输入或与数字助理集成同时保持安全通信通道可能会面临挑战,这是因为移动装置上的输入接口有限,通过有限输入接口提供输入导致效率低下,或无法轻松访问输入信息。
本公开的技术方案涉及将数字助理与诸如电子文档或网页等电子资源安全地集成在一起。本技术方案可以允许电子资源和服务器之间的数据传输,并且可以使得能够将输入提供给电子资源,从而提供改进的用户输入。数据传输可以向第三方电子资源提供诸如标识、电子交易处理、定制或场境信息之类的能力,以改善处理流程,同时保持整个***的安全性。
为了将数字助理与第三方电子资源安全地集成在一起,本技术方案的***和方法包括用于第三方电子资源开发者与数字助理集成的一个或多个应用编程接口(“API”)、在第三方电子资源上安全地托管数字助理功能性的JavaScript库、与API和JavaScript库集成的场境建议***、以及与API和JavaScript库集成的语音导航和响应***。
本技术方案的API接口可以包括或关联于意图清单、现场意图执行API和现场状态共享API。意图清单可以指代或包括由第三方Web开发者提供的数据文件,该数据文件阐明了在数字助理意图与电子资源的统一资源定位符(“URL”)模板之间的映射。意图可以指代或包括消息传递对象,该消息传递对象描述了数字助理或其他***如何执行动作。该意图可以指代、包括或定义动作对象。该意图可以被映射到实现该动作的链接(例如,URL)。
现场意图执行API可以包括由第三方开发者为电子资源实现的JavaScript回调,以处理由数据处理***或客户端计算装置触发的数字助理意图。本技术方案可以使用JavaScript执行意图,因为通过链接或URL执行意图可能在技术上具有挑战性或不可用。例如,如果未在意图清单中阐明链接,则通过链接或URL执行可能很困难或不可能。由于意图清单中的错误、漏洞或故障,链接可能不会发布在意图清单中。由于第三方开发者选择不发布链接,因此链接可能不会在意图清单中发布。如果链接不是全局链接或可全局访问的链接,则它们可能不会在意图清单中发布。通过链接执行可能会降低用户体验或导致次优的用户体验,因为它可能导致Web浏览器或其他应用重新加载网页。通过链接执行可能会消耗更多的计算资源,诸如网络带宽使用、处理器使用或存储器使用,因为这可能会导致通过网络向服务器请求完整的网页,然后重新加载整个网页。相对于通过URL链接执行,意图或动作的JavaScript执行可以提高效率,这是因为不重新加载页面并允许在没有全局可访问或已发布链接的情况下执行。
现场状态共享API可以包括或提供JavaScript回调。回调可以指代或包括在另一个函数已经完成执行之后执行的函数。现场状态共享API可以由第三方开发者实现,以便在数据处理***请求时,站点可以发布前台状态。数据处理***可以向现场状态共享API查询或请求前台状态。响应于该请求,现场状态共享API可以提供前台状态。前台状态可以指电子资源的当前语义状态,诸如正在网页上显示的内容或正在执行或可用的功能或动作。该状态可以包括一个或多个实体,这些实体在电子资源的前台将真实世界或物理概念表示为结构化数据。实体可以指人、地方或事物。实体可以具有唯一标识符。实体可以包括属性、类型和描述。实体可以包括与一个或多个其他实体的关系。实体可以向数据提供结构。状态可以包括在电子资源的当前场境中瞬时可用的一个或多个数字助理意图。
本技术方案的JavaScript库可以安全且可靠地托管数字助理功能性作为在第三方电子资源上渲染的覆盖物(overlay),并能够以对第三方电子资源不透明的方式向数据处理***提供交互和经过认证的回调。本技术方案的JavaScript库可以提供安全的通信,因为在授权之前可以禁止或阻止第三方电子资源访问与JavaScript库关联的数据或与数据处理***进行通信。此类数据值的安全提供可以通过减少输入数据值或在计算装置上启动其他应用以获得数据值所引起的延迟量,来减少计算装置的处理器、存储器或电池消耗。
本技术方案的数据处理***可以包括接受前台状态作为输入的数据值预测器组件(或场境自动填充建议***)。数据处理***可以从JavaScript库接收前台状态,而JavaScript库从第三方电子资源的现场状态共享API接收前台状态。前台状态可以指示或标识与电子资源相关联的当前意图。数据处理***使用前台状态信息可以搜索与渲染电子资源的客户端计算装置(或其账户)链接的数据存储库或数据库。数据处理***可以搜索数据库以选择或预测当前意图参数的数据值。如果数据处理***标识出对参数的选择或可接受的预测,则数据处理***可以将值提供给JavaScript库。JavaScript库可以呈现数据值用于授权。如果数据值被授权,则可以将数据值提供或传递给电子资源。JavaScript库可以通过链接(例如,URL深度链接)或JavaScript意图执行API将授权的数据值提供给第三方电子资源。
例如,电子资源可以包括汽车租赁网站。数据处理***可以标识当前前台状态,该当前前台状态指示book_car_rental(to_location、from_location、start_time、end_time)的意图。数据处理***可以搜索和标识与存储在数据库中的有关即将到来的航班预订的数据,该数据库与对应于渲染第三方电子资源的客户端计算装置的账户相关联。数据处理***可以基于数据库中的数据预测意图参数的数据值。数据处理***可以将参数的预测数据值发送给客户端计算装置。数据处理***可以响应于授权而执行与第三方电子网站上的意图相对应的动作。
本技术方案可以包括语音导航和响应***(例如,语音导航器和响应组件或数字助理组件)。当数据处理***通过自然语言处理组件提供结构化的意图解析时,数据处理***可以调用语音导航器和响应组件,该结构化的意图解析可以由集成有数字助理接口和JavaScript库的第三方电子资源来处理。本技术可以将用户意图解析转换为可以用于导航电子资源的URL链接或JavaScript数字助理意图执行调用。在JavaScript库在第三方电子资源上执行了意图之后,JavaScript库可以从电子资源的JavaScript回调中请求前台状态。语音导航器和响应组件或数据处理***可以将前台状态数据与语音响应(文本转语音)模板进行匹配,该语音响应(文本转语音)模板已与匹配的用户意图预先关联。语音导航器和响应组件可以通过将状态数据传递到模板中来向用户渲染文本转语音响应。本技术可以允许用户在整个网站上进行语音导航,并在每次语音导航后听到文本转语音(“TTS”)答案,从而可以提供一种使能用户输入的机制。
图1是与网页进行安全数字助理集成的示例***100的图示。***100可以包括内容选择基础设施。***100可以包括应用交付基础设施。***100可以包括在线应用商店或市场。***100可以包括数据处理***102。数据处理***102可以通过网络101与第三方(“3P)开发者装置162(或应用开发者装置)或客户端计算装置128(或客户端装置或计算装置)中的一个或多个通信。***100还可以与其他装置,诸如第三方装置、内容提供者装置或数字表面装置,通信。
网络101可以包括诸如互联网、局域网、广域网、城域网或其他局域网之类的计算机网络、内嵌网、卫星网络、以及诸如语音或数据移动电话网之类的其他通信网络。网络101可以用于访问信息资源,诸如网页、网站、域名或统一资源定位符,这些信息资源可以在至少一个客户端计算装置128(诸如膝上型计算机、台式计算机、平板计算机、数字助理装置、智能手机、可穿戴装置、便携式计算机或扬声器)上呈现、输出、渲染或显示。例如,客户端计算装置128的用户可以经由网络101访问由数据处理***102或3P开发者装置162提供的信息或数据。
网络101可以包括或构成显示网络,例如,互联网上可用的与内容投放或搜索引擎结果***相关联的,或有资格包括第三方数字组件作为数字组件投放活动的一部分的信息资源的子集。数据处理***102可以使用网络101来访问信息资源,诸如可以由客户端计算装置128呈现、输出、渲染或显示的网页、网站、域名或统一资源定位符。例如,客户端计算装置128的用户可以经由网络101访问由数据处理***102或3P开发者装置162提供的信息或数据。
网络101可以是任何类型或形式的网络,并且可以包括以下任何一种:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络101可以包括无线链路,诸如红外信道或卫星频带。网络101的拓扑可以包括总线、星形或环形网络拓扑。网络110可以包括使用任何一种或多种用于在移动装置之间进行通信的协议的移动电话网络,包括:高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信***(“GSM”)、通用分组无线业务(“GPRS”)或通用移动电信***(“UMTS”)。可以通过不同的协议传输不同类型的数据,或者可以通过不同的协议传输相同类型的数据。
***100可以包括至少一个数据处理***102。数据处理***102可以包括至少一个逻辑装置,诸如具有处理器以经由网络101与例如客户端计算装置128或3P开发者装置162或其他联网的装置或第三方装置通信的计算装置。数据处理***102可以包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理***102可以包括位于至少一个数据中心中的多个计算资源或服务器。数据处理***102可以包括多个按逻辑分组的服务器,并有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器在地理位置上还可以是分散的。数据中心或机器场可以作为单个实体进行管理,或者机器场可以包括多个机器场。每个计算机场中的服务器可以是异构的:一个或多个服务器或机器可以根据一种或多种类型的操作***平台进行操作。
机器场中的服务器可以与关联的存储***一起存储在高密度机架***中,并且可以位于企业数据中心中。例如,以这种方式整合服务器可以通过将服务器和高性能存储***定位在本地化的高性能网络上来改善***的可管理性、数据安全性、***的物理安全性以及***性能。将所有或某些数据处理***102组件(包括服务器和存储***)集中化并且将它们与高级***管理工具耦合在一起,可以更有效地利用服务器资源,从而节省了功率和处理需求并减少了带宽使用。
***100可以包括、访问或与至少一个3P开发者装置162交互。3P开发者装置162可以包括至少一个逻辑装置,诸如具有处理器以经由网络101例如与客户端计算装置128或数据处理***102通信的计算装置。3P开发者装置162可以包括至少一个计算资源、服务器、处理器或存储器。例如,3P开发者装置162可以包括位于至少一个数据中心中的多个计算资源或服务器。
3P开发者装置162可以提供基于音频的数字组件以供客户端计算装置128呈现或显示作为音频输出数字组件。数字组件可以包括商品或服务的供应,诸如基于陈述“要我帮您叫出租车吗?”的语音的消息。例如,3P开发者装置162可以包括存储器,用于存储一系列可以响应于基于语音的查询而提供的音频数字组件。3P开发者装置162还可以将基于音频的数字组件(或其他数字组件)提供给数据处理***102,在数据处理***102中,将它们存储在数据存储库114中。数据处理***102可以选择音频数字组件并向客户端计算装置128提供音频数字组件(或指令3P开发者装置162向客户端计算装置126提供)。基于音频的数字组件可以专门是音频或可以与文本、图像或视频数据组合。
3P开发者装置162可以包括数据处理***102,与之接口连接或与之通信。3P开发者装置162可以包括客户端计算装置128,与之接口连接或与之通信。3P开发者装置162可以包括客户端计算装置128,与之接口连接或与之通信,客户端计算装置128可以是移动计算装置。3P开发者装置162可以包括3P开发者装置162,与之接口连接或与之通信。例如,3P开发者装置162可以将数字组件提供给客户端计算装置128以由客户端计算装置128执行。3P开发者装置162可以将数字组件提供给数据处理***102,以供数据处理***102存储。3P开发者装置162可以将与数字组件相关的规则或参数提供给数据处理***102。
客户端计算装置128可以下载由3P开发者装置162开发的电子资源、电子文档或应用。客户端计算装置128可以经由网络101从数据处理***102下载该应用或电子资源。客户端计算装置128可以加载电子文档或资源。客户端计算装置128可以执行该应用。客户端计算装置128可以响应于用户输入或触发事件或条件来执行、启动、触发或访问或使用该应用。该应用可以包括前端组件和后端组件。客户端计算装置128可以执行或提供该应用的前端组件,而数据处理***102或3P开发者装置162提供该应用的后端组件。
客户端计算装置128可以包括至少一个传感器152、换能器154、音频驱动器156或预处理器158,与之接口连接或与之通信。客户端计算装置128可以包括显示装置160,诸如光指示器、发光二极管(“LED”)、有机发光二极管(“OLED”)或其他配置为提供视觉或光学输出的视觉指示器。传感器152可以包括:例如,环境光传感器、接近传感器、温度传感器、加速计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风或触摸传感器。换能器154可以包括扬声器或麦克风。音频驱动器156可以向硬件换能器154提供软件接口。音频驱动器可以执行音频文件或由数据处理***102提供的其他指令,以控制换能器154生成对应的声学波或声波。预处理器158可以包括具有硬件的处理单元,该硬件被配置为检测关键词并基于该关键词执行动作。在将项传送到数据处理***102进行进一步处理之前,预处理器158可以过滤掉一个或多个项或修改项。预处理器158可以将由麦克风检测到的模拟音频信号转换为数字音频信号,并通过网络101将携带数字音频信号的一个或多个数据分组发送到数据处理***102。在某些情况下,预处理器158可以响应于检测到执行这种传输的指令来传输携带一些或全部输入音频信号的数据分组。该指令可以包括:例如,触发关键词或其他关键词或认可,以将包括输入音频信号的数据分组发送到数据处理***102。
客户端计算装置128可以与最终用户相关联,该终端用户将语音查询作为音频输入(通过传感器152)输入到客户端计算装置128中,并接收以计算机生成的语音形式提供的音频输出,该语音可以从数据处理***102(或3P开发者装置162)被提供给客户端计算装置128,从换能器154(例如,扬声器)输出。计算机生成的语音可以包括来自真人的录音或计算机生成的语言。
客户端计算装置128(或计算装置、或客户端装置或数字装置)可以包括或可以不包括显示器。例如,计算装置可以包括有限类型的用户接口,诸如麦克风和扬声器。在一些情况下,客户端计算装置128的主用户接口可以是麦克风和扬声器、或语音接口。例如,客户端计算装置128的主用户接口可以包括基于语音或基于音频的用户接口。客户端计算装置128可以包括显示器,并且具有基于语音或基于音频的主用户接口。客户端计算装置128的主用户接口可以是对话的。对话用户接口可以指至少部分地由数据处理***102的自然语言处理器组件106驱动或促进的用户接口。
数据处理***102可以包括具有至少一个计算资源或服务器的内容投放***。数据处理***102可以包括至少一个接口104,与之接口连接或与之通信。数据处理***102可以包括至少一个自然语言处理器组件106,与之接口或与之通信。数据处理***102可以包括至少一个直接动作应用编程接口(“API”)108,与之接口连接或与之通信。接口104、自然语言处理组件106和直接动作API 108可以提供对话API或数字助理功能性。对话API或数字助理可以与一个或多个基于语音的接口或各种数字助理装置或表面通信或接口连接,以便提供数据或接收数据或执行其他功能性。
数据处理***102可以包括至少一个验证组件110,与之接口或与之通信。数据处理***102可以包括至少一个数据值预测器组件112,与之接口或与之通信。数据处理***102可以包括至少一个数据存储库114,与之接口或与之通信。
接口104、自然语言处理器组件106、直接动作API 108、验证组件110、数据值预测器组件112可以分别包括至少一个处理单元或其他逻辑装置,诸如可编程逻辑阵列引擎、或配置为与数据存储库114或数据库进行通信的模块。接口104、自然语言处理器组件106、直接动作API 108、验证组件110、数据值预测器组件112和数据存储库114可以是单独的组件、单个组件、或数据处理***102的一部分。***100及其组件,诸如数据处理***102,可以包括硬件元件,诸如一个或多个处理器、逻辑装置或电路。
数据处理***102可以获取与多个客户端计算装置128(或计算装置或数字助理装置)关联的匿名计算机网络活动信息。客户端计算装置128或移动计算装置的用户可以肯定地授权数据处理***102获取与客户端计算装置128或移动计算装置相对应的网络活动信息。例如,数据处理***102可以提示客户端计算装置128的用户同意获取一种或多种类型的网络活动信息。客户端计算装置128可以包括移动计算装置,诸如智能电话、平板计算机、智能手表或可穿戴装置。客户端计算装置128的用户的身份可以保持匿名,并且客户端计算装置128可以与唯一标识符(例如,用户或数据处理***102提供的计算装置或客户端计算装置128的用户的唯一标识符)。数据处理***102可以将每个观察结果与对应的唯一标识符相关联。
数据处理***102可以与3P开发者装置162接口连接。3P开发者装置162可以包括或指代内容提供者的装置。内容提供者可以建立电子内容活动。电子内容活动可以作为内容数据存储在数据存储库114中。电子内容活动可以指对应于共同主题的一个或多个内容组。内容活动可以包括分层数据结构,该分层数据结构包括内容组、数字组件数据对象和内容选择准则。为了创建内容活动,内容提供者可以为内容活动的活动级别参数指定值。活动级别参数可以包括:例如,活动名称、用于投放数字组件对象的首选内容网络、内容活动所用的资源的值、内容活动的开始和结束日期、内容活动的持续时间、数字组件对象投放的时间表、语言、地理位置、要在其上提供数字组件对象的计算装置的类型。在某些情况下,印象(impression)可以指从其源(例如,数据处理***102或内容提供者)获取数字组件对象的时间,并且印象是可计数的。在某些情况下,由于可能会发生点击欺诈,因此可以过滤并排除机器人活动作为印象。因此,在某些情况下,印象可以指Web服务器对来自浏览器的页面请求的响应的度量,该度量是从机器人活动和错误代码中过滤出来的,并记录在尽可能接近渲染数字组件对象用于显示在客户端计算装置128上的机会的点处。在某些情况下,印象可以指可见的或可听见的印象;例如,使数字组件对象在客户端计算装置128的显示装置160上至少部分可见(例如20%、30%、30%、40%、50%、60%、70%或更多),或可通过客户端计算装置128的扬声器可听。点击或选择可以指用户与数字组件对象的交互,诸如对可听印象的语音响应、鼠标点击、触摸交互、手势、摇动、音频交互或键盘点击。转换可以指用户针对数字组件对象采取了预期的动作;例如,购买产品或服务、完成调查、访问与数字组件相对应的实体商店、或完成电子交易。
内容提供者可以进一步为内容活动建立一个或多个内容组。内容组包括一个或多个数字组件对象和对应的内容选择准则,诸如关键词、词语、项、短语、地理位置、计算装置的类型、时刻、兴趣、话题或纵向准则。同一内容活动下的内容组可以共享相同的活动级参数,但是可以具有针对特定内容组级参数的定制规范,诸如关键字、否定关键字(例如,在主要内容上存在否定关键字的情况下阻止投放数字组件)、关键字的报价、或与报价或内容活动相关联的参数。
为了创建新的内容组,内容提供者可以提供用于内容组的内容组级别参数的值。内容组级别参数包括:例如,内容组名称或内容组主题、以及针对不同内容投放机会(例如,自动投放或代管投放)或结果(例如,点击、印象或转化)的竞价。内容组名称或内容组主题可以是一个或多个术语,内容提供者可以使用它们来捕获要为其选择内容组进行显示的数字组件对象的话题或主题。例如,汽车经销商可以为其所代理的每个品牌的车辆创建不同的内容组,并且可以进一步为其所代理的每个型号的车辆创建不同的内容组。汽车经销商可以使用的内容组主题的示例包括:例如,“型号A跑车”、“型号B跑车”、“型号C轿车”、“型号C卡车”、“型号C混合动力车”或“型号D混合动力车”。例如,示例的内容宣传活动主题能够是“混合动力车”并且包括“型号C混合动力车”以及“型号D混合动力车”的内容组。
内容提供者可以向每个内容组提供一个或多个关键词和数字组件对象。关键词可以包括与数字组件对象相关联或者由数字组件对象标识的产品或者服务相关的项。关键词可以包括一个或多个项或者短语。例如,汽车经销商可以包括“跑车”、“V6发动机”、“四轮驱动”、“燃油效率”,作为内容组或者内容宣传活动的关键词。在一些情况下,否定关键词可以由内容提供者指定,以避免、防止、阻止或者停用某些项或者关键词的内容投放。内容提供者可以指定用于选择数字组件对象的匹配类型,诸如精确匹配、短语匹配或者广泛匹配。
内容提供者可以提供供数据处理***102用来选择由内容提供者提供的数字组件对象的一个或多个关键词。内容提供者可以标识要竞价的一个或多个关键词,并且进一步提供各种关键词的竞价金额。内容提供者可以提供附加内容选择准则,以供数据处理***102用来选择数字组件对象。多个内容提供者可以对相同或不同的关键词竞价,并且数据处理***102可以响应于接收电子消息的关键词的指示而运行内容选择过程或者广告拍卖。
内容提供者可以提供一个或多个数字组件对象以供数据处理***102选择。数据处理***102可以在内容投放机会变得可用时选择与为内容组指定的资源分配、内容调度、最大竞价、关键词以及其他选择准则匹配的数字组件对象。在内容组中可以包括不同类型的数字组件对象,诸如语音数字组件、音频数字组件、文本数字组件、图像数字组件、视频数字组件、多媒体数字组件或者数字组件链接。数字组件对象(或数字组件)可以包括:例如,内容项、在线文档、音频、图像、视频、多媒体内容或赞助内容。在选择数字组件后,数据处理***102可以传输数字组件对象以在客户端计算装置128的计算装置128或显示装置160上进行渲染。渲染可以包括在显示装置上显示数字组件,或者经由客户端计算装置128的扬声器播放数字组件。数据处理***102可以向计算装置128提供渲染数字组件对象的指令。数据处理***102可以指示客户端计算装置128或客户端计算装置128的音频驱动器156生成音频信号或声波。
数据储存库114可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理***。数据储存库114可以包括计算机数据存储或存储器,并且可以存储验证策略116、意图清单118、动作120、链接模板122、账户信息124和数据值126中的一种或多种以及其他数据。数据存储库114可以在一个或多个数据结构、数据库、数据文件、索引或其他类型的数据存储中存储验证策略116、意图清单118、动作120、链接模板122、账户信息124和数据值126中的一种或多种。
数据存储库114可以存储意图清单118。意图清单118可以由3P开发者装置162提供。意图清单118可以被配置用于电子资源。意图清单118可以特定于电子资源,诸如网站、网页或其他电子文档。意图清单118可以包括数据文件或数据结构。意图清单118可以包括动作120和链接模板122。意图清单118可以将动作120映射到链接模板122。意图清单118可以将动作120链接、绑定、关联或相关到链接模板122。意图数据结构118可以是诸如JavaScript对象格式之类的格式,该JavaScript对象格式具有诸如名称/值对之类的JavaScript对象属性。
动作120可以指代或包括意图。动作120可以指代或包括要在电子资源上或经由电子资源执行的功能。动作120可以是描述***如何执行任务或功能的消息传递对象。动作120可以用于促进***或3P开发者装置162执行动作或请求执行动作。动作120可以被定义在动作包中,该动作包包括动作120的名称或意图以及与意图匹配的用户查询的指示。用户查询可以对应于链接模板122。
链接模板122可以包括用于参数的数据值带有占位符的模板。数据处理***102可以使用链接模板122来构建链接。链接可以指URL或对电子资源的其他引用或指针。链接模板122可以称为urlTemplate。示例链接模板122可以是:https://m_taxiapp_com/?action=setPickup{&pickup[latitude],pickup[longitude],pickup[nickname],pickup[formatted_address],dropoff[latitude],dropoff[longitude],dropoff[nickname],dropoff[formatted_address]}。在本示例中,链接模板包括使用方括号“[]”指示的参数值的占位符。链接可以包括一个或多个参数。链接可以包括电子资源的域、要执行的动作、以及用于执行该动作的参数。因此,意图清单118可以将动作映射到可以用来完成动作的链接模板122。
数据储存库114可以将验证策略116存储成数据文件、数据结构或其他存储格式。验证策略116可以包括至少由验证组件110用于验证由3P开发者装置162提供的电子资源的意图清单118的一个或多个规则、策略、逻辑、阈值、比较或功能。在验证组件110使用验证策略116验证意图清单之后,数据处理***102可以将意图清单118存储在数据存储库114中。验证策略116的示例可以包括确定意图清单118是否包括确定动作或链接模板的格式,如果格式与验证策略116中指示的预定格式匹配,则许可意图清单。
数据储存库114可以存储一个或多个账户124。账户124可以包括账户信息。账户124可以与计算装置128的用户相关联或用于计算装置128的用户。账户124可以包括、存储或以其他方式指示或提供与客户端计算装置128的用户相关联的信息或数据值126。客户计算装置126的用户可以与数据处理***102建立账户124。账户124可以包括任何电子或数字账户。账户124可以包括与客户端计算装置128的用户相关联的简档信息、历史信息或其他数据值126。账户124可以包括先前由客户端计算装置128提供给数据处理***102的信息。数据值126可以包括:例如,电子账户信息、标识符、地址信息或偏好等信息。数据值126可以包括:与用户相关联的、可以用于促进3P电子资源134上的交易流程的信息,或者可以输入到3P电子资源134中的输入表格或文本框中的信息。
数据处理***102可以包括被设计、配置、构造或操作为使用例如数据分组来接收和发送信息的接口104(或接口组件)。接口104可以使用一种或多种协议(诸如网络协议)来接收和发送信息。接口104可以包括硬件接口、软件接口、有线接口或无线接口。接口104可以促进将数据从一种格式转换或格式化为另一种格式。例如,接口104可以包括应用编程接口,该应用编程接口包括用于在诸如软件组件等各种组件之间进行通信的定义。接口104可以经由网络101与客户端计算装置128或3P开发者装置162中的一个或多个通信。
数据处理***102可以与安装在客户端计算装置128上的应用、脚本或程序进行交互,诸如用于将输入音频信号传送到数据处理***102的接口104并驱动本地客户端计算装置的组件渲染输出音频信号的应用(app)。数据处理***102可以接收包括或标识音频输入信号的数据分组或其他信号。接口104可以与客户端计算装置128的一个或多个组件进行接口连接或通信。接口104可以与例如Web浏览器130、JavaScript库148、现场状态共享API、或客户端计算装置128的数据交换组件140、或客户端计算装置128的认证组件142进行通信。
数据处理***102可以包括自然语言处理器(“NLP”)组件106。例如,数据处理***102可以执行或运行NLP组件106以接收或获取音频信号并解析音频信号。例如,NLP组件106可以提供人与计算机之间的交互。NLP组件106可以配置有用于理解自然语言并允许数据处理***102从人类或自然语言输入中导出含义的技术。NLP组件106可以包括或被配置有基于机器学习的技术,诸如统计机器学习。NLP组件106可以利用决策树、统计模型或概率模型来解析输入音频信号。例如,NLP组件106可以执行功能,诸如命名实体识别(例如,给定文本流,确定文本中的哪些项映射到诸如人或地方等适当名称、以及每个此类名称的类型,诸如人、位置或组织)、自然语言生成(例如,将计算机数据库中的信息或语义意图转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表示,诸如计算机模块可以操纵的一阶逻辑结构)、机器翻译(例如,将文本从一种人类语言自动翻译为另一种语言)、词素分割(例如,将词语分离为单个词素并标识出词素的类别,考虑到该语言的词语的词素或结构的复杂性,这可能会存在挑战性)、问题回答(例如,确定对人类语言问题的回答,其可以是具体的或开放式的)、语义处理(例如,在标识出词语并对其含义进行编码以使所标识的词语与具有相似含义的其他词语相关之后可以进行的处理)。
NLP组件106可以通过将输入信号与存储的代表性音频波形集(例如,在数据存储库114中)进行比较并选择最接近的匹配,来将音频输入信号转换为识别的文本。音频波形集合可以存储在数据存储库114或数据处理***102可以访问的其他数据库中。代表性波形是遍及大量用户生成,并且然后可以利用来自用户的话语采样来增强。在音频信号被转化成识别的文本之后,NLP组件106将文本与词语进行匹配,该词语例如经由遍及用户训练或者通过手工指定而与数据处理***102可以服务的动作相关联。NLP组件106的方面或功能性可以由数据处理***102或客户端计算装置128执行。例如,本地NLP组件可以在客户端计算装置128上执行,以执行将输入音频信号转换为文本和通过数据分组将文本发送到数据处理***102以进行进一步的自然语言处理的方面。
音频输入信号可以由客户端计算装置128的传感器152或换能器154(例如,麦克风)检测。经由换能器154、音频驱动器156或其他组件,客户端计算装置128可以将音频输入信号提供给数据处理***102(例如,通过网络101),在数据处理***102中,音频输入信号可以被接收(例如,通过接口104)并提供给NLP组件106或存储在数据存储库114中。由传感器152检测到的音频输入信号可以包括初始关键词、热词或触发词,这种词向客户端计算装置128指示输入音频信号将被发送到数据处理***102。
客户端计算装置128可以包括音频驱动器156、换能器154、传感器152和预处理器组件158。传感器152可接收或检测输入音频信号(例如,语音输入)。预处理器组件158可以耦合到音频驱动器、换能器和传感器。预处理器组件158可以标识输入音频信号中的初始关键词、热词、触发关键词或其他符号,这些指示输入音频信号将被发送到数据处理***102以由NLP组件106进行处理。预处理器组件158可以对输入音频信号进行过滤以创建经过过滤的输入音频信号(例如,通过去除某些频率或抑制噪声,或者去除初始关键词或热词)。预处理器组件158可以将经过过滤的输入音频信号转换为数据分组(例如,使用软件或硬件数模转换器)。在某些情况下,预处理器组件158可以将未过滤的输入音频信号转换为数据分组,并将数据分组发送到数据处理***102。预处理器组件158可以将数据分组发送到包括执行自然语言处理器组件、接口、说话者识别组件和直接动作应用编程接口的一个或多个处理器和存储器的数据处理***102。
数据处理***102可以经由接口从预处理器组件158接收数据分组,该数据分组包括由传感器检测到的经过过滤的(或未经过过滤的)输入音频信号。数据处理***102可以从输入音频信号中标识声学签名。数据处理***102可以基于在数据存储库中的查找(例如,查询数据库)来标识与声学签名相对应的电子账户124。响应于电子账户124的标识,数据处理***102可以建立会话和用于该会话的账户。账户124可以包括具有一个或多个策略的简档。数据处理***102可以解析输入音频信号以标识请求和与该请求相对应的触发关键词。
数据处理***102可以向客户端计算装置128的预处理器组件158提供状态。客户端计算装置128可以接收状态的指示。音频驱动器可以接收简档的状态的指示,并根据该指示生成输出信号。音频驱动器可以将指示转换为输出信号,诸如声音信号或声学输出信号。音频驱动器可以驱动换能器154(例如,扬声器)以基于由音频驱动器生成的输出信号来生成声音。
在某些情况下,客户端计算装置128可以包括显示装置160。显示装置160可以包括一个或多个LED、灯、显示器或其他配置为提供光学或视觉输出的组件或装置。预处理器组件158可以使光源提供与状态相对应的视觉指示。例如,视觉指示可以是打开的状态指示灯、光的颜色变化、具有一种或多种颜色的光图案、或文本或图像的视觉显示。
NLP组件106可以获取输入音频信号。根据输入音频信号,NLP组件106可以标识至少一个请求或与该请求相对应的至少一个触发关键词。该请求可以指示输入音频信号的意图或主题。触发关键词可以指示可能采取的动作类型。触发关键词可以是向客户端计算装置128指示将随后的音频输入转换成文本并将该文本发送到数据处理***102以进行进一步处理的唤醒信号或热词。例如,NLP组件106可以解析输入音频信号,以标识晚上离开家参加晚餐和看电影的至少一个请求。触发关键词可以包括指示要采取的动作的至少一个词语、短语、词根或部分字、或派生词。例如,来自输入音频信号的触发关键词“去”或“要去”可以指示需要交通。在本示例中,输入音频信号(或标识的请求)没有直接表达交通意图,但是触发关键词指示交通是请求所指示的至少一个其他动作的辅助动作。
NLP组件106可以解析输入音频信号以标识、确定、检索或获取请求和触发关键词。例如,NLP组件106可以将语义处理技术应用于输入音频信号以识别触发关键词或请求。NLP组件106可以将语义处理技术应用于输入音频信号,以标识包括一个或多个触发关键词(诸如第一触发关键词和第二触发关键词)的触发短语。例如,输入音频信号可以包括句子“我想乘车去机场”。NLP组件106可以将语义处理技术或其他自然语言处理技术应用于包括该句子的数据分组以标识该请求或触发短语“想乘车”和“机场”。NLP组件106可以进一步标识多个触发关键词,诸如想和乘车。例如,NLP组件106可以确定触发短语包括触发关键词和第二触发关键词。
NLP组件106可以过滤输入音频信号以标识触发关键词。例如,携带输入音频信号的数据分组可以包括“It would be great if I could get someone that could helpme go to the airport(如果有人能帮我去机场就太棒了)”,在这种情况下,NLP组件106可以过滤出一个或多个项,如下所示:“it”,“would”,“be”,“great”,“if”,“I”,“could”,“get”,“someone”,“that”,“would”或“help”。通过过滤掉这些项,NLP组件106可以更准确和可靠地标识触发关键词,诸如“go to the airport(去机场)”,并确定这是对出租车或乘车共享服务的请求。
在某些情况下,NLP组件106可以确定携带输入音频信号的数据分组包括一个或多个请求。例如,输入音频信号可以包括句子“我想买有声读物并且每月订阅电影”。NLP组件106可以确定这是对有声读物和流式多媒体服务的请求。NLP组件106可以确定这是单个请求还是多个请求。NLP组件106可以确定这是两个请求:对提供有声读物的服务提供者的第一请求、以及对提供电影流传输的服务提供者的第二请求。在某些情况下,NLP组件106可以将确定的多个请求合并为一个请求,然后这一个请求发送给3P开发者装置162。在某些情况下,NLP组件106可以将各个请求发送给另一个服务提供者装置,或分别将两个请求发送给同一3P开发者装置162。
数据处理***102可以包括直接动作API 108,其被设计和构造为基于触发关键词生成响应于请求的动作数据结构。直接动作API 108可以生成动作数据结构以使应用执行对应的动作。直接动作API 108可以将动作数据结构发送到安装在客户端计算装置128上的应用,以使客户端计算装置128执行对应的动作或发起动作。由直接动作API 108生成的动作数据结构可以包括用于安装在客户端计算装置128上的应用的深度链接。然后,安装在客户端计算装置128上的应用可以执行该动作或与3P开发者装置162或3P开发者装置162通信以执行该操作。
数据处理***102的处理器可以调用直接动作API 108以执行脚本,该脚本生成数据结构以提供给安装在客户端计算装置128上的应用、3P开发者装置162或其他服务提供者以获取数字组件、内容、预订服务或产品(诸如从汽车共享服务预订汽车或预订有声读物)。直接动作API 108可以从数据存储库114中获取数据、以及在获取最终用户同意的情况下从客户端计算装置128接收到的数据,以确定位置、时间、用户账户、物流或其他信息,以使3P开发者装置162能够执行操作,诸如从汽车共享服务预订汽车。使用直接动作API 108,数据处理***102还可以与3P开发者装置162通信,以完成操作(在该示例中是通过进行汽车共享预订预约)。
直接动作API 108可以执行指定动作,以满足数据处理***102确定的最终用户的意图。根据在其输入中指定的动作以及数据存储库114中的参数或规则,直接动作API 108可以执行标识满足用户请求所需的参数的代码或对话脚本。直接动作API 108可以执行满足或实现最终用户的意图的应用。这样的代码可以例如在数据存储库114中查找诸如家庭自动化服务或第三方服务的名称之类的附加信息,或者它可以提供音频输出以在客户端计算装置128处进行渲染以询问最终用户问题,诸如请求的出租车的预定目的地。直接动作API 108可以确定参数并且可以将信息打包到动作数据结构中,该动作数据结构然后可以被发送到数据处理***102的另一组件进行实现。
直接动作API 108可以从NLP组件106或数据处理***102的其他组件接收指令或命令,以生成或构造动作数据结构。直接动作API 108可以确定动作的类型以便选择存储在数据存储库114中的模板。动作可以由数据处理***102提供的并且由3P开发者装置162提交的应用来实现。应用可以执行动作或促进动作的执行。动作的示例类型可以包括:例如,观看动作、收听动作、读取动作、导航动作或天气动作。动作的类型可以包括或配置为提供:例如,服务、产品、预订、票证、多媒体内容、有声读物、管理订阅、调整订阅、转移数字货币、进行购买、或音乐。动作的类型可以进一步包括服务或产品的类型。例如,服务的类型可以包括汽车共享服务、送餐服务、洗衣服务、清洁服务、维修服务、家庭服务、装置自动化服务或媒体流服务。产品的类型可以包括:例如,衣服、鞋子、玩具、电子产品、计算机、书籍或珠宝。预订的类型可以包括:例如,晚餐预订或美发沙龙约会。票证的类型可以包括:例如,电影票、运动场馆票或机票。在某些情况下,可以根据价格、位置、运输类型、可用性或其他属性对服务、产品、预订或票证的类型进行分类。
NLP组件106可以解析输入音频信号以标识请求和与该请求相对应的触发关键词,并且将请求和触发关键词提供给直接动作API 108以使直接动作API基于触发关键词生成响应于该请求的第一动作数据结构。在标识请求的类型时,直接动作API 108可以从模板存储库(例如,数据存储库114)访问对应的模板。模板可以包括结构化数据集合中的字段,该字段可以由直接动作API 108填充,以进一步执行由客户端计算装置128检测到的输入音频所请求的操作(诸如派出租车去接送位置处接最终用户并将最终用户送到目的地位置的操作)。直接动作API 108或客户端计算装置128可以启动或触发应用来满足输入音频中的请求。例如,汽车共享服务应用可以包括以下一个或多个字段:装置标识符、接送位置、目的地位置、乘客人数或服务类型。直接动作API 108可以用值填充字段。为了用值填充字段,直接动作API 108可以从客户端计算装置128的一个或多个传感器152或客户端计算装置128的用户接口查验、轮询或获取信息。例如,直接动作API 108可以使用诸如GPS传感器等位置传感器来检测源位置。直接动作API 108可以通过向客户端计算装置128的用户端提交调查、提示或查询来获取进一步的信息。直接动作API 108可以经由数据处理***102的接口104和客户端计算装置128的用户接口(例如,音频接口、基于语音的用户接口、显示器或触摸屏)来提交调查、提示或查询。因此,直接动作API 108可以基于触发关键词或请求为动作数据结构选择模板,并使用一个或多个传感器152从数据值预测器组件112检测到的或通过用户接口获取的信息来填充模板中的一个或多个字段,并生成、创建或构造动作数据结构,以促进3P开发者装置162执行操作。
***100可以包括第三方(“3P”)开发者装置162或与第三方(“3P”)开发者装置162通信。3P开发者装置162可以包括图4中描绘的一个或多个***或***400的组件。3P开发者装置162可以包括一个或多个计算装置或服务器或与之关联。3P开发者装置162可以生成、构造或开发电子资源或电子文档。电子文档可以指代或包括网页、HTML文档、数字媒体文件、图像、文本或基于Web的应用。电子文档可以包括输入表格字段、按钮、图形用户接口元素或小部件。可以经由计算装置128呈现电子文档,并且该电子文档可以被配置为经由计算装置128的接口接收来自用户的输入。电子文档可以生成提示或其他来自用户的输入请求。电子文档可以呈现视觉输出或音频输出。3P开发者装置162可以生成、构造或开发电子文档的一个或多个部分。电子文档可以称为3P文档(或3P电子资源134),因为它可以由3P开发者装置162提供。3P开发者装置162可以将3P电子资源134(例如,电子文档)提供给客户端计算装置128,或提供给缓存服务器,该缓存服务器将3P电子资源提供给客户端计算装置128。
例如,3P开发者装置162可以包括在线零售商。在线零售商可以生成电子文档,该电子文档是在线零售商出售的产品的网页。电子文档可以请求来自用户的输入以完成交易,诸如金融账号。在另一示例中,3P开发者装置162可以包括包裹递送提供者,并且电子文档可以提供追踪信息。电子文档可以从用户请求追踪号,以便执行查找并确定追踪状态。用户可以通过计算装置128的接口输入追踪号。
然而,由于某些计算装置128上的输入能力有限(例如,小型触摸屏或键盘、仅语音输入),将请求的信息输入电子文档可能具有挑战性。此外,请求的输入可能不容易获取,并且可能导致其他远程过程调用或对外部源或外部账户的查找,以获取请求的输入信息。例如,用户可能登录不同于电子文档的账户或数据存储库,以获取电子文档所请求的信息。在能力有限的某些计算装置128上,为了获取电子文档所请求的信息,访问这些外部账户可能具有挑战性、效率低下或不可能。因此,3P开发者装置162可以将电子文档提供给本技术方案的数据处理***102。
数据处理***102可以包括验证组件110,与验证组件110接口连接或访问验证组件110,验证组件110被设计、构造或操作为从第三方开发者设备162接收意图清单118。验证组件110可以基于验证策略116来验证意图清单。验证组件110可以响应于意图清单的验证,将意图清单存储在数据处理***102的数据存储库114中。
数据处理***102可以从第三方开发者装置162接收意图清单118。意图清单118(或意图清单数据结构)可以包括数字助理的动作与由第三方开发者装置162开发的电子资源的链接模板之间的映射。意图清单118可以特定于电子资源或针对电子资源进行配置。意图清单118可以促进将数字助理(例如,经由语音导航器和响应组件150)与网页(例如,3P电子资源134)集成在一起。
意图清单118数据结构可以包括用于具有一个或多个字段的动作的定义。动作可以包括意图名称和实现。实现可以指用于执行动作的技术或过程。实现可以包括:例如,URL链接模板,或用于调用JavaScript意图动作API的技术。实现可以包括与URL链接模板集成的一个或多个参数。参数的值可以由数据值预测器组件112预测、选择、生成或标识。
意图清单数据结构118可以具有名称/值对。例如,名称可以是“intentName”,并且值可以是“actions.intent.example_action”。名称/值对可以用“:”隔开。意图清单118数据结构可以是:{“action”:[{“intentName”:“action.intent.NAME”,“fulfillment”:[{“urlTemplate”:exampledomain_com/?action=exampleaction1{parameter1[parameter1_value],parameter2[parameter2_value],parameter3[parameter3_value]}”,“parameter”:[{intentParameter”:“exampleaction.parameter1”,“isRequired”:true,“urlParameter”:“parameter1[parameter1_value]”},{intentParameter”:“exampleaction.parameter2”,“isRequired”:true,“urlParameter”:“parameter2[parameter2_value]”},{intentParameter”:“exampleaction.parameter3”,“isRequired”:true,“urlParameter”:“parameter3[parameter3_value]”}.
例如,提供乘车共享或乘车预订功能的3P电子资源134的意图清单118数据结构可以包括:
3P开发者装置162可以构造、生成或开发电子资源的意图清单。3P开发者装置162可以构造、生成或开发电子资源134。验证组件110可以接收3P开发者装置162提交的意图清单118。验证组件110可以使用存储在数据存储库114中的一种或多种验证策略116来验证意图清单118。验证组件110可以从数据存储库114检索验证策略116以应用于意图清单。为了验证意图清单,验证组件110可以解析意图清单。验证组件110可以响应于从3P开发者装置162接收到意图清单来解析意图清单。验证组件110可以响应于验证意图清单的请求来验证意图清单。验证组件110可以从3P开发者装置162或者从数据处理***102的组件接收验证意图清单的请求。
验证组件110可以使用验证策略116来验证意图清单。验证策略116可以指示被许可用于意图清单或从意图清单中被禁止的内容、格式、脚本、功能或组件的类型。验证组件110可以解析意图清单或从意图清单中提取数据。验证组件110可以将解析意图清单的输出或提取意图清单的结果与验证策略116进行比较,以确定意图清单中的一个或多个项或组件是否被禁止。如果意图清单通过了验证策略116(例如,验证组件110未检测到任何由验证策略116指示的禁止项),则验证组件110可以指示意图清单是有效的。然而,如果验证组件110在意图清单中检测到由验证策略116指示的一个或多个禁止项,则验证组件110可以确定该意图清单无效。
例如,验证策略116可以指示缺失了诸如动作定义、参数、数据值或链接的一条或多条信息的意图清单是无效的或错误的。举例来说,如果意图清单不包括意图名称、链接模板(或URL模板)、参数、参数值,或有关是否需要该参数的指示中的一个或多个,则验证清单110使用验证策略116可以确定意图清单无效。如果名称未与值配对,或者值未与名称配对,则验证组件110使用验证策略116可以确定意图清单是缺失信息。
验证策略116可以指示意图清单118的有效格式。验证组件110可以使用验证策略116基于许可的意图清单的格式来确定意图清单是有效还是无效。例如,有效格式可以是JavaScript对象符号(“JSON”)文件。JSON文件可以指用于存储和传输数据的轻量级格式。JSON文件可以包括记录数组。记录数组可以包括有关动作、实现、链接模板、或链接模板的参数的信息。可以使用语法规则构造JSON文件。语法规则可以包括:例如,名称/值对中的数据、用逗号隔开的数据、大括号持有对象、以及方括号持有数组。验证策略116可以将这些语法规则包括为意图清单数据结构118的许可格式。验证组件110可以将此验证策略116与语法规则一起使用,以确定意图清单数据结构118的格式是否有效,并确定验证还是无效由验证3P开发者装置162接收到的意图清单数据结构118。
验证策略116可以包括测试使用意图清单118中提供的链接模板构造的链接。例如,验证组件110基于验证策略116可以使用意图清单118构建测试链接。验证组件110可以输入链接模板中的参数的数据值,然后执行所构造的链接以确定该链接是否起作用并且可以执行动作,或者确定该链接是否断开或导致另一故障。因此,验证组件110可以以导致构造用于执行动作的工作链接的方式来确定意图清单118是否定义动作、参数和链接模板。验证组件110可以使用意图清单118来生成链接或发起动作,以确定3P开发者装置162是否接收到请求以及用于执行动作的参数的数据值。验证组件110可以从3P开发者装置162接收状态指示,该状态指示指示动作的执行是成功还是失败。
验证策略116可以包括确定意图清单118是否包括任何恶意代码或者是否容易受到侵入或安全漏洞的影响。验证策略116可以包括受信的链接列表或不是受信的或未经授权的链接列表。验证组件110使用验证策略116可以基于预定列表确定意图清单118中包含的链接是授权的还是未授权的,以便验证或者无效意图清单118。例如,网站可以是恶意配置,以规避由Web浏览器的同源策略建立的限制。Web浏览器130可以使用同源策略来防止与不同内嵌框架相关联的不同域访问彼此的数据。数据处理***102可以通过在意图清单118中的链接模板122中标识网站并确定链接是否有效来确定网站是无效的或恶意的。这可以基于预定的受信列表、或者预定的非受信或恶意网站的列表。因此,使用意图清单118,数据处理***102可以验证3P电子资源134。
验证组件110可以应用或执行验证策略116,以确定是否阻断、拒绝、阻止或从意图清单118中移除意图清单118。因此,验证组件110使用验证策略116可以基于意图清单118是否不具有缺失信息、格式是否正确或是否可用于构建工作链接来确定要验证或不验证意图清单118。例如,验证组件110可以响应于确定格式正确并且没有来自意图清单118的丢失信息来验证意图清单118以存储在数据处理***102的数据存储库114中。例如,如果验证组件110检测到意图清单118中的错误的或未许可的格式或缺失信息,则验证组件110可以响应于检测到意图清单118中的格式错误或缺失信息来确定不验证意图清单118,并从数据存储库114中的存储中移除意图清单118。
验证组件110可以在将意图清单118存储在数据处理***102的存储器中或数据存储库114中之前验证意图清单118。数据处理***102可以存储经过验证的意图清单118。数据处理***102可以确定不存储无效意图清单118。数据处理***102可以确定移除未通过验证组件110执行的验证过程的无效意图清单118。通过确定不存储无效意图清单118,数据处理***102可以减少数据存储库114中的存储器或存储利用。数据处理***102可以通过不将无效文档转发到客户端计算装置128来防止或减轻在客户端计算装置128上发生的错误活动,从而防止客户端计算装置128执行或渲染可能包含错误或未经授权的功能性的无效意图清单118。数据处理***102可以通过确定不使用无效意图清单118来实现来自客户端计算装置128的动作或意图来防止或减轻安全故障。因此,验证组件110可以减少数据处理***102的计算资源利用(例如,存储器利用),减少或防止在客户端计算装置128上发生错误或崩溃,并避免在客户端计算装置128上发生安全故障。由于包含链接模板的意图清单118可能会导致可以被恶意第三方利用的侵入或漏洞,因此可能发生安全故障。数据处理***102使用验证策略116可以确定不在数据存储库114中存储此类意图清单118,并且不使用此类意图清单118来实现来自客户端计算装置128的意图或动作。
数据处理***102可以向3P开发者装置162提供指示验证状态的提示。数据处理***102可以指示验证成功或者验证不成功或失败。如果数据处理***102确定意图清单118无效或未通过验证,则数据处理***102可以自动解决、修改或修复在意图清单118中检测到的错误,从而可以验证意图清单118,或者数据处理***102可以向3P开发者装置162发送解决在意图清单118中检测到的错误的请求。
数据处理***102可以响应于检测到错误或意图清单118无效而自动解决、调试或修复意图清单118。数据处理***102可以通过移除或擦除错误或无效代码来自动调试或解决意图清单118。例如,数据处理***102可以移除对不可用或不用于执行动作的参数的引用。数据处理***102可以移除对数字助理***无法执行的动作的引用。数据处理***102可以通过将代码转换或重新格式化为有效或许可格式来自动解决包含无效格式的代码的意图清单118。例如,数据处理***102可以检测到意图清单118的语法不是JSON格式,并自动将意图清单118转换成许可的语法或格式,诸如JSON或其他许可的格式。因此,验证组件110可以使用验证策略116来确定意图清单118是否有效,确定是否要存储意图清单118、拒绝意图清单118或在存储在数据存储库114中之前解决意图清单118。数据存储库114可以保存或存储已经经过验证的意图清单118。
客户端计算装置128可以包括或执行Web浏览器130。Web浏览器130可以包括被设计、构造或操作为渲染或呈现电子内容的应用。Web浏览器130可以包括或者可以例如是应用。Web浏览器130可以是本机应用、网络应用或其他组件,用于传输对3P电子资源134的请求,接收3P电子资源134以及渲染3P电子资源134。Web浏览器130可以配置为将对3P电子资源134的请求发送给数据处理***102或3P开发者装置162或某些其他服务器,诸如缓存服务器。在一些情况下,数据处理***102可以包括可以拦***问3P电子资源134的请求的缓存服务器。拦截该请求可以指的是缓存服务器接收对3P电子资源134的请求,而不是3P开发者装置162。缓存服务器可以通过使用缓存服务器的IP地址配置Web浏览器130来拦截请求,从而将3P开发者装置162对电子文档的请求发送到缓存服务器,而不是3P开发者装置162、或与3P开发者装置162关联的服务器。通过配置Web浏览器130将请求发送到缓存服务器而不是3P开发者装置162,***100可以减少与对电子文档的请求的响应关联的滞后或延迟。
Web浏览器130可以在Web浏览器130中加载3P电子资源134。Web浏览器130可以从数据处理***102或3P开发者装置162或其他服务器接收3P电子资源134。Web浏览器130可以解析或处理3P电子资源134(例如,电子文档或网页)以在Web浏览器130中渲染或呈现3P电子资源134。Web浏览器130可以解析3P电子资源134以确定是否检索、下载、或获取或利用3P电子资源134的其他资源。
Web浏览器130可以向一个或多个服务器发送一个或多个请求,以下载与3P电子资源134相关联的一个或多个附加文件或资源。附加文件或资源可以包括:例如,级联样式表(“css”文件)或图像。css文件可以是用于格式化电子文档上的内容的文本文件,并且可以包括诸如字体、大小、颜色、间距、边框或HTML信息在电子文档上的位置之类的信息。当下载与电子文档相关联的一个或多个文件或资源时,Web浏览器130可以构建电子文档。Web浏览器130可以通过组合在检索到的电子文档中找到的信息(例如原始HTML文件)和在资源中找到的其他信息来构建用电子文档进行显示。Web浏览器130可以构建文档对象图(“DOM”),该文档对象图可以包括根据HTML在页面上显示事物的位置的图。DOM可以按照有关系的方式映射页面。Web浏览器130可以构建CSS对象图(“SSOM”),该SSOM对象图可以根据使用样式的CSS来映射应当将哪些样式应用于电子文档的不同部分。Web浏览器130可以构建渲染树,该渲染树可以包括将DOM和CSSOM组合在一起以创建有关电子文档的布局和绘制方式的图。
Web浏览器130可以在父框架132中渲染或绘制电子文档。与加载到内嵌框架138中相反,父框架132可以指将电子文档加载到Web浏览器130本身中。在某些情况下,Web浏览器130可以将电子文档加载到内嵌框架138中。例如,Web浏览器130或电子文档可以建立一个或多个内嵌框架138,并将3P电子资源的内容加载在内嵌框架中。
3P电子资源134可以包括HTML内容、JavaScript内容、XML内容或其他类型的内容。3P电子资源134可以包括JavaScript(“JS”)库148。JS库148可以被嵌入或包括在3P电子资源134中。3P开发者装置162可以为JS库148提供或建立3P电子资源134。3P开发者装置162可以从数据处理***102(例如,从数据存储库114)下载JS库148,然后向JS库148安装、链接、包括或以其它方式提供3P电子资源134,使得当客户端计算装置128下载3P电子资源134时,JS库148就会包括有3P电子资源134。
JS库148可以安全且可靠地托管数字助理功能性作为在3P电子资源134上渲染的覆盖物,并能够以对3P电子资源134不透明的方式向数据处理***102提供交互和经过认证的回调。本技术方案的JavaScript库148可以提供安全的通信,因为可以在授权之前禁止或阻止3P电子资源134访问与JavaScript库148关联的数据或与数据处理***102进行通信。此类数据值的安全提供可以通过减少输入数据值或在客户端计算装置128上启动其他应用以获得数据值所引起的延迟量来减少计算装置的处理器、存储器或电池消耗。
JS库148可以被托管在内嵌框架138中。JS库148可以提供或执行数据交换组件140和授权组件142。JS库148可以包括代码、程序、脚本、规则或逻辑以便为3P电子资源134提供数字助理功能性。数字助理功能性可以包括:例如,通过NLP组件106进行NLP处理的语音接口、3P电子资源134的基于语音的导航、以及用于在3P电子资源134上执行动作的预测数据值。
JS库148可以加载或建立内嵌框架138以与数据处理***102进行通信。内嵌框架138可以与数据处理***102或与数据处理***102关联的网络域链接。JS库148或托管在内嵌框架138中的一个或多个组件可以使用发布消息API与3P电子资源134的一个或多个其他内嵌框架或父框架132通信。
托管在内嵌框架138中的JS库148可访问存储在数据存储库114中的数据。JS库148可访问数据存储库114,而3P电子资源134可被禁止访问数据存储库114。可以使用允许JS库148与数据处理***102及其数据存储库114通信的标识符、令牌或其他凭证来配置JS库148。因为内嵌框架138托管有其他网络域名,所以Web浏览器130可以禁止或阻止3P开发者装置162的3P电子资源134访问与数据处理***102相关联的不同网络域的某些数据。Web浏览器130可以对不同的域使用同源策略以防止彼此交互,以限制对另一域的访问。
在Web浏览器130构建电子文档之后,JS库148可以建立Web浏览器130的内嵌框架138。Web浏览器130可以包括内嵌框架138。内嵌框架138可以指内联框架。内嵌框架138可以是嵌入Web浏览器130中另一个HTML文档内部的HTML文档。Web浏览器130可以将内嵌框架138元素用作可以在其中提供数字助理功能性的覆盖物。内嵌框架138可以嵌入到Web浏览器130中。Web浏览器130可以在内嵌框架138中加载数据交换组件140和授权组件142。数据处理***102可以授权数据交换组件140响应于通过验证策略116对3P电子资源134的验证而加载到3P电子资源134的内嵌框架138中。数据处理***102可以基于意图清单118来验证3P电子资源134。3P电子资源134可以通过由验证组件110验证的针对3P电子资源134的意图清单来验证。如果验证组件110使用一个或多个验证策略116来验证意图清单118,则数据处理***102可以确定3P电子资源134被授权将JS库148加载到内嵌框架138中,并且可以使数据交换组件140能够访问客户端计算装置128的标识符并允许在数据交换组件140和数据处理***102之间的通信。但是,如果数据处理***102认为意图清单118是无效的,则数据处理***102可以阻止数据交换组件140被建立,这可以指代或包括拒绝数据交换组件140访问数据处理***102或账户124信息。Web浏览器130可以约束组件访问Web浏览器130的某些部分或访问客户端计算装置128的某些存储器或功能。因此,Web浏览器130可以为内嵌框架138或父框架132建立安全约束条件或其他控制,以限制由内嵌框架138或父框架132提供的访问或功能性的类型。
Web浏览器130可以包括或执行数据交换组件140。数据交换组件140可以包括一个或多个规则、脚本或程序。经由JS库148加载到内嵌框架138中的数据交换组件140可以确定客户端计算装置128的标识符。该标识符可以与同客户端计算装置128所链接或对应的账户124相关联。标识符可以是客户端计算装置128的账户标识符。标识符可以是字母数字标识符、令牌、密钥、数字标识符或其他标识符。标识符可以存储在客户端计算装置128上的存储器或其他存储中。然而,3P电子资源134可以被约束访问客户端计算装置128的存储标识符的存储器。Web浏览器130可以防止未经授权的组件访问标识符。加载到内嵌框架138中的JS库148的数据交换组件140可以访问存储器,因为数据交换组件140与标识符的相同的来源或起源(诸如数据处理***102的网络域)相关联。因此,数据交换组件140可以从客户端计算装置128的存储器中获得账户124的标识符。数据交换组件140可以通过Web浏览器130的同源策略或其他配置约束父框架132中的3P电子资源134访问客户端计算装置128的标识符。可以禁止开发3P电子资源134的3P开发者装置162访问客户端计算装置128的标识符。
数据交换组件140可以包括或被配置有一种或多种协议以与Web浏览器130、父框架132、数据处理***102或客户端计算装置128进行通信。数据交换组件140可以通过发送消息与Web浏览器130的一个或多个组件进行通信。数据交换组件140可以向内嵌框架138、父框架132或3P电子资源134的组件发送消息、或从它们发送消息或在它们之间发送消息。例如,Web浏览器130(例如,经由数据交换组件140)可以使用例如“iframeE1.contentWindow.postMessage”向内嵌框架138(或数据交换组件140)发送消息。经由数据交换组件140,Web浏览器130或父框架可以使用例如“window.addEventListener(‘message’)”来接收消息。内嵌框架138(或数据交换组件140)可以使用例如“window.parent.postMessage”向Web浏览器130发送消息。内嵌框架138(例如,数据交换组件件140)可以使用例如“window.addEventListener(‘message’)”来接收消息。该postMessage()技术可以接受参数,诸如message和targetOrigin。message参数可以包括要发送到接收窗口的字符串或对象。targetOrigin参数可以包括消息被发送到的窗口的统一资源定位符(“URL”)。可以将目标窗口的协议、端口和主机名设置为与要发送的消息的该参数匹配。使用通配符,诸如“*”,可以匹配任何URL。
数据交换组件140和加载在Web浏览器130中的其他组件或资源可以彼此通信。例如,数据交换组件140可以对应于内嵌框架138,并且3P电子资源134可以在作为父框架132的子框架的内嵌框架138中执行。在另一示例中,数据交换组件140可以被加载到单独的内嵌框架138中,在这种情况下,数据交换组件140和3P电子资源134(例如,现场意图执行API144)可以使用Web浏览器130的父框架132作为中继彼此通信。例如,父框架132(例如,第一框架)可以具有两个子内嵌框架(例如,第二内嵌框架和第三内嵌框架)。第二内嵌框架可以与父框架132通信,后者可以将通信中继到第三内嵌框架138。第三内嵌框架138可以通过将消息发送回父框架132来答复该通信,父框架可以将消息中继到第二内嵌框架138。
数据交换组件140可以将客户端计算装置128的标识符发送或提供给数据处理***102。数据处理***102可以从客户端计算装置128加载的3P电子资源134的内嵌框架138的数据交换组件140接收执行3P电子资源134的客户端计算装置128的标识符。数据处理***102可以向现场状态共享API 146查询有关3P电子资源134状态的信息。数据处理***102可以响应于接收到客户端计算装置128的标识符或其他请求来查询现场状态共享API 146。
可以使用现场状态共享应用编程接口(“API”)146来配置或构造3P电子资源134。3P开发者装置162可以使用现场状态共享API 146开发或构造3P电子资源134。3P开发者装置162可以开发或构造3P电子资源134以与现场状态共享API 146接口连接。现场状态共享API 146可以被设计、构造或操作以确定3P电子资源134的语义前台状态,并将该语义前台状态信息发送给数据处理***102。
现场状态共享API 146可以包括一个或多个规则、逻辑、代码、脚本、或程序,被配置为标识、检测或确定3P电子资源134的语义状态。现场状态共享API 146可以包括模式定义或包括实体(诸如人、地方或事物)以及实体之间的关系的存储库。现场状态共享API 146可以包括监视器或追踪器组件,以标识3P电子资源134的当前状态。例如,现场状态共享API146可以解析3P电子资源134的前台以标识正在显示的内容、或可以指示语义前台状态的任何标签或标记语言。现场状态共享API 146可以检测文本、元数据、输入字段、按钮或其他图形用户接口小部件。现场状态共享API 146可以使用语义分析或处理技术将检测到的信息转换为与模式相对应的结构化数据。
现场状态共享API 146可以包括或提供JavaScript回调。回调可以指代或包括在另一个函数已经完成执行之后执行的函数。现场状态共享API 146可以由3P开发者装置162实施,以便在数据处理***102请求时,站点可以发布语义前台状态。数据处理***102可以向现场状态共享API 146查询或请求语义前台状态。响应该请求,现场状态共享API 146可以提供语义前台状态。语义前台状态可以指3P电子资源134的当前语义状态,诸如正在网页上显示的内容或正在执行或可用的功能或动作。可以使用为语义状态提供结构的模式来编码或传达语义状态信息。语义状态可以包括一个或多个实体,这些实体在电子资源的前台将真实世界或物理概念表示为结构化数据。实体可以指人、地方或事物。实体可以具有唯一标识符。实体可以包括属性、类型和描述。实体可以包括与一个或多个其他实体的关系。实体可以向数据提供结构。语义状态可以包括在电子资源的当前场境中瞬时可用的一个或多个数字助理意图。
现场状态共享API 146可以由3P开发者装置162使用针对3P电子资源的一个或多个状态的语义状态信息来配置。例如,用于乘车共享电子资源的语义状态信息可以包括诸如“乘车”或“预订乘车”或“乘车请求”之类的动作。附加语义前台信息可以包括客户端计算装置128的位置、目的地、车辆类型或上车时间。在另一示例中,电子资源可以对应于音乐会的门票。语义前台信息可以包括“门票”、“购买”、“价格”或“数量”。
数据处理***102可以从现场状态共享API 146接收电子资源的语义前台状态。数据处理***102可以通过客户端计算装置128从Web浏览器130或从3P开发者装置162接收语义前台状态信息。例如,3P开发者装置162可以从现场状态共享API 146接收语义前台状态信息。数据处理***102可以使用与渲染在客户端计算装置128上的3P电子资源134关联的唯一标识符向3P开发者装置162查询语义前台信息。数据处理***102可以响应于查询3P开发者装置162而接收现场状态共享信息。
数据处理***102可以经由数据交换组件140接收语义前台状态信息。数据处理***102可以从JS库148接收语义前台状态,JS库148从第三方电子资源134的现场状态共享API 146接收语义前台状态。数据交换组件140可以使用Web浏览器130的消息传递协议与现场状态共享API 146进行接口连接或通信。数据处理***102可以向数据交换组件140查询状态信息。数据交换组件140可以向现场状态共享API 146查询3P电子资源134的当前语义前台状态。现场状态共享API 146可以将语义前台状态提供给数据交换组件140,后者可以将语义前台状态转发到数据处理***102。
数据处理***102可以从数据交换组件140接收来自电子资源134的现场状态共享API 146的电子资源134的语义前台状态。数据处理***102可以响应于查询而接收信息。数据处理***102可以包括数据值预测器组件112,该数据值预测器组件112被设计、构造或操作为基于语义前台状态和意图清单数据结构118来确定参数,并且基于客户端计算装置128的标识符来选择该参数的数据值。
数据值预测器组件112可以接受语义前台状态作为输入。语义前台状态可以指示或标识与电子资源相关联的当前意图。数据值预测器组件112可以使用语义前台状态信息搜索与渲染电子资源134的客户端计算装置128(或其账户124)链接的数据存储库或数据库。数据值预测器组件112可以搜索数据库,以预测当前意图的参数的数据值。如果数据值预测器组件112标识出可接受的预测,则数据值预测器组件112可以将预测值提供给JS库148(或其组件)。JS库148(例如,经由授权组件142)可以呈现预测数据值进行授权。如果预测数据值被授权,则可以将数据值提供或传递给电子资源。JS库148可以通过链接(例如,URL深度链接)或JavaScript意图执行API 144将预测的且授权的数据值提供给第三方电子资源134。
例如,电子资源可以包括汽车租赁网站。数据处理***可以标识当前语义前台状态,该当前语义前台状态指示book_car_rental(to_location、from_location、start_time、end_time)的意图。数据处理***可以搜索和标识与对应于渲染第三方电子资源的客户端计算装置的账户相关联的、关于存储在数据库中的即将到来的航班预订的数据。数据处理***可以基于数据库中的数据预测意图参数的数据值。数据处理***可以将参数的预测数据值发送给客户端计算装置。数据处理***可以响应于授权而执行与第三方电子网站上的意图相对应的动作。
数据值预测器组件112可以使用一种或多种选择技术响应于由现场状态共享API146提供的语义前台状态信息来标识数据值。使用语义前台状态信息,数据值预测器组件112可以标识在针对3P电子资源134的意图清单118中的动作。数据值预测器组件112可以在数据存储库114中执行查找以标识或选择与语义前台状态相对应或匹配的意图清单数据结构118。数据值预测器组件112可以使用语义选择技术或其他选择或匹配技术来标识3P电子资源134的意图清单118。例如,数据值预测器组件112可以确定3P电子资源134的域,然后标识具有与3P电子资源134的域匹配的链接模板122的一个或多个意图清单118。此后,数据值预测器组件112可以选择3P电子资源134的意图清单118,该意图清单118包含与语义前台状态相对应的动作。例如,如果语义前台状态指示“预订乘车”,则数据值预测器组件112可以选择具有动作“预订乘车”的意图清单118。
现场状态共享API 146可以提供与意图清单118中的动作相对应的语义前台状态信息,以便数据值预测器组件112可以标识匹配。数据值预测器组件112可以使用各种匹配或选择技术来预测匹配。数据值预测器组件112可以确定每个意图清单118或动作120与语义前台信息之间的匹配分数,以确定最高得分匹配或最相关的匹配。
在标识出匹配的意图清单118或动作120之后,数据值预测器组件112可以确定链接模板122的参数。意图清单118将动作120映射到链接模板122。数据值预测器组件112可以标识与对应于语义前台状态的动作120相对应的动作122的链接模板。数据值预测器组件112可以标识链接模板122的参数。链接模板122可以包括一个或多个参数。参数可以包括参数名称。链接模板122中的参数可以用作参数数据值的占位符。
数据值预测器组件112可以标识链接模板122的参数的数据值。数据值预测器组件112可以访问数据存储库114以标识存储数据值126的账户信息124。数据值预测器组件112可以在账户124数据结构中执行查找以确定响应于意图清单118的参数的数据值126,并促进3P电子资源134或3P开发者装置162执行服务、动作或功能。数据值预测器组件112可以选择或标识可以由直接动作API 108用来生成可以被发送到3P开发者装置162以执行或实现请求的动作数据结构的值。
数据值预测器组件112可以使用语义处理技术、选择准则、机器学习或其他技术来选择或标识意图清单118的链接模板122的参数的候选数据值。数据值预测器组件112可以访问一个或多个源以确定数据值。例如,数据值预测器组件112可以访问包含与客户端计算装置128或其用户相关联的数据值126的账户数据结构124。数据处理***102可以被配置为响应于来自客户端计算装置128的授权查询与客户端计算装置128相关联的外部数据源。
数据值预测器组件112可以标识响应于从数据交换组件140接收的语义前台状态信息的一个或多个数据值。数据值预测器组件112可以标识多个数据值。数据值预测器组件112可以确定将由数据值预测器组件112标识的一个或多个数据值发送到数据交换组件140或Web浏览器130。在某些实施例中,数据值预测器组件112可能无法标识直接响应于场境信息的特定数据值,并且可以基于排名或过滤技术确定发送所标识的数据值的子集。例如,每个数据值可以与置信分数或排名分数或相关性分数相关联。数据值预测器组件112可以确定发送排名最高的数据值,因为那些数据值可能最有可能响应3P电子资源134的语义前台信息。在某些情况下,数据值预测器组件112可以发送前三名数据值、前五名数据值、前十名数据值或其他数量的数据值。
例如,语义前台状态信息可以用动作120指示意图清单118,该动作具有3P电子资源134请求的地理地址参数以便执行服务或动作。数据值预测器组件112可以在与客户端计算装置128相对应的账户124的数据值数据结构126中执行查找以标识该地址。数据值126可以包括一个或多个地址。数据值预测器组件112可以响应于该请求而发送从数据值数据结构126检索到的一个或多个地址。在另一示例中,链接模板122可以指示3P电子资源134请求金融账户信息以执行动作或服务。数据值预测器组件112可以在数据值126数据结构中执行查找以标识一个或多个账户标识符,并且经由网络101将该一个或多个账户标识符发送给Web浏览器130。因此,数据值预测器组件112可以响应于意图清单118生成数据值。
数据处理***102可以基于语义前台状态确定用于执行电子资源134提供的动作的多个参数。例如,具有与所接收的语义前台状态匹配或相对应的动作120的意图清单118可以包括多个参数。数据处理***102可以基于客户端计算装置128的标识符选择与多个参数对应的多个数据值。例如,对于“预订乘车”动作,参数可以包括“上车经度”、“上车纬度”、“账户标识符”、“金融账户信息”、“上车时间”、“目的地经度”或“目的地纬度”。数据处理***102可以将数据值提供给授权组件142,以使授权组件142将数据值提供给现场意图执行API 144。然后,现场意图执行API 144可以使用数据值来绕过电子资源134所用的一个或多个状态以执行动作。
3P电子资源134可能已经使用了多个状态、页面、流程、提示或请求以获取针对用于执行动作的参数而输入的数据值。例如,用于预订乘车的交易流程可以包括:用户发起请求的第一页、用户输入上车位置的第二页、用户输入目的地的第三页、用户选择支付信息的第四页、以及用户发送请求的第五页。然而,由于数据值预测器组件112可以使用意图清单118来标识执行动作120所需的多个参数,因此JS库148可以在单次通信或传输、或一系列数据分组(是单次传输的一部分)中提供动作120的参数的所有数据值。当接收到多个参数和数据值时,现场意图执行API 144可以绕过乘车预订交易流程中的一个或多个页面,并且直接继续执行请求乘车的动作,或者请求对执行乘车的确认。例如,现场意图执行API 144可以跳过第二页、第三页或第四页。因此,数据处理***102经由JS库148、现场状态共享API146和现场意图执行API 144,能够促进输入并且可以通过绕过一个或多个页面、请求或提示执行动作来减少计算资源消耗和远程过程调用。
数据处理***102可以基于语义前台状态和意图清单数据结构118确定电子资源134的一个或多个后续状态。例如,意图清单结构118可以包括链接模板122的多个参数。多个参数可以指示对输入数据值的后续请求。数据处理***102可以确定3P电子资源134被配置为在一个或多个后续状态中向用户请求数据值信息。后续状态可以包括针对输入数据值信息的不同网页、下拉菜单、按钮、提示或其他图形用户接口元素。数据处理***102可以基于语义前台信息确定多个后续状态。数据处理***102可以基于3P电子资源134的历史状态信息或基于与语义前台状态信息相关联的历史信息来确定多个后续状态。语义前台状态可以与一组预定的后续状态相关联,或者在历史上可以跟随有一个或多个状态。例如,购买运动鞋的语义前台状态通常可以跟随有对鞋子尺码、地址、账单信息和运输方法的请求。数据处理***102可以基于客户端计算装置128的标识符或账户124标识符,在电子资源进入一个或多个后续状态之前,为一个或多个参数选择一个或多个数据值。例如,在3P电子资源134请求运动鞋尺码、账单信息或其他信息之前,数据处理***102可以经由数据值预测器组件112选择数据值。数据处理***102可以在3P电子资源134进入后续状态之前提供数据值,从而允许3P电子资源绕过那些状态,或者通过使输入的数据值在进入状态后立即可用来使那些状态更高效。
数据处理***102可以将参数的数据值提供给JS库148。数据处理***102可以将参数的数据值提供给数据交换组件140或授权组件142。例如,数据处理***102可以将所选择的候选数据值提供给内嵌框架138中的JS库148的授权组件142,以确定3P电子资源134是否被授权接收该数据值。授权组件142可以生成授权提示,响应于该授权提示接收来自客户端计算装置128的输入,并且响应于数据值的授权将数据值发送到电子资源134的现场意图执行API 144,以使电子资源134利用数据值执行动作。
授权组件142可以包括一个或多个规则、策略、代码、程序或脚本。授权组件142可以由内嵌框架138中的JS库148建立或托管。在无授权的情况下,授权组件142可以安全地接收数据值,而无需向3P电子资源134或3P开发者装置162共享或同意其对数据的访问。Web浏览器130可以阻止3P电子资源134访问授权组件142接收到的数据值。
授权组件142可以被构造或操作为生成包括从数据处理***102接收到的一个或多个数据值的提示。授权组件142可以生成图形用户接口、窗口、按钮或包括一个或多个数据值的其他通知。授权组件142可以在同意3P电子资源134访问数据值之前生成包含数据值的提示,从而维持安全的通信信道。授权组件142可以生成弹出窗口或具有一个或多个按钮或控件的其他用户接口元素。授权组件142可以确定将该窗口覆盖在3P电子资源134上。例如,授权组件142可以生成建议下拉菜单或自动填充下拉菜单,或者在3P电子资源134上与输入表格字段或输入文本框对应的位置处进行建议。授权组件142可以将3P电子资源134上的数据值渲染在单独的内嵌框架中,该内嵌框架是安全的并且3P电子资源134无法访问。
授权组件142可以被配置为在对数据值进行授权之前禁止3P电子资源134访问数据值。例如,授权组件142可能已经访问了数据值以便生成提示,但是现场意图执行API 144和3P电子资源134可能还无法访问数据值,除非它被客户端计算装置128授权。此外,3P电子资源134或现场意图执行API 144可能无法访问由数据处理***102发送到Web浏览器130并由授权组件142在提示中提供的所有候选数据值。而是,可以同意3P电子资源134访问由客户端计算装置128授权的数据值,但是不能访问由授权组件142在提示中显示但未被客户端计算装置128选择以提供给3P电子资源134的其他候选数据值。因此,JS库148可以配置为仅将授权的数据值发送到现场意图执行API 144以输入到3P电子资源134中。
授权组件142可以提供数据值进行显示并且包括输入按钮以允许客户端计算装置128选择数据值或授权数据值以发送到3P电子资源134。例如,授权组件142可以从数据值预测器组件112接收三个不同的地址。授权组件142可以通过Web浏览器130以安全的方式提供这三个候选地址的指示。授权组件142可以包括按钮或其他输入机构以允许客户端计算装置128选择这三个候选地址之一。Web浏览器130可以从客户端计算装置128接收数据值的选择或向3P电子资源134传输或提供数据值的授权。Web浏览器130可以响应于提示接收来自授权数据值的客户端计算装置128的输入。
响应于授权组件142对数据值的授权,JS库148可以将数据值提供给3P电子资源134,或者执行使用链接模板122和授权的数据值构造的链接。数据处理***102可以使用链接模板122来构造链接,并且将该链接提供给JS库148(例如,经由数据交换组件140)。数据交换组件140可以将链接提供给现场意图执行API 144以执行。现场意图执行API 144可以执行或启动所构造的链接以发起对动作的执行。
在一些情况下,JS库148可以将数据值提供给现场意图执行API 144。现场意图执行API 144可以获取数据值并发起对动作的执行,而无需通过链接将Web浏览器130重定向到不同的网页。现场意图执行API 144可以将数据值输入到3P电子资源134中,并使3P电子资源134使用该数据值来执行动作。例如,现场意图执行API 144可以将地址输入到3P电子资源134中的输入表格字段中,然后选择链接或其他触发器以发起对该地址的处理以执行功能。现场意图执行API 144可以将一个或多个授权的数据值输入到3P电子资源134中的一个或多个输入字段中。数据处理***102可以将数据值提供给现场意图执行API 144以使现场意图执行API 144将数据值输入到电子资源134的输入文本框中。
数据处理***102可以在电子资源134请求数据值之前提供数据值,以由授权组件142进行授权并输入到现场意图执行API 144。数据处理***102可以预测或确定数据值,以基于电子资源134的意图清单118中的一个或多个参数进行输入,并在电子资源134必须请求数据值之前将数据值提供给客户端计算装置128。
数据处理***102可以将数据值提供给客户端计算装置,以使客户端计算装置128利用该数据值建立深度链接,并将该深度链接加载到由客户端计算装置128执行的Web浏览器130中。例如,数据处理***102将链接模板122提供给客户端计算装置128。在对数据值进行授权后,JS库148或现场意图执行API 144可以使用数据值来构建链接。在一些情况下,现场意图动作API 144可以具有内置的链接模板或其他意图执行技术。现场意图执行API 144可以生成、构件或构造具有数据值的链接或其他命令。现场意图执行API 144可以确定是构造具有参数的数据值的深度链接,还是生成另一种类型的命令以发送给3P开发者装置162以执行该动作。
例如,为了预订航班,现场意图执行API 144可以构造具有数据值的深度链接,并在Web浏览器130中启动深度链接。现场意图执行API 144可以使Web浏览器130加载具有数据值的深度链接以显示可用的航班和价格,并允许用户选择航班。在另一示例中,诸如为了预订乘车,现场意图执行API 144可以确定生成具有数据值的命令,以执行预订乘车的动作,而不会使Web浏览器130加载新的网页。相反,现场意图执行API 144可以确定:显示请求用预测的数据值许可或授权预订乘车(或执行动作120)的提示可能更为有效。一旦确认,现场意图执行API 144可以将命令发送到3P开发者装置162,以使3P开发者装置162完成该动作。因此,从计算装置处理的角度来看,避免将Web浏览器130重定向到新的web页面并加载该web页面,而是将命令发送到3P开发者装置162以执行该动作,可能更有效。
现场意图执行API 144可以基于策略确定是生成并加载深度链接还是发送命令而不加载深度链接。例如,策略可以是是否需要额外的数据值输入才能执行动作。如果可以基于所有预测的数据值执行动作,则在不加载深度链接的情况下发送命令可能会更有效。然而,如果要获得额外的输入,诸如从多个选项中选择航班,则现场意图执行API 144可以加载深度链接。数据处理***102可以基于映射到动作120的链接模板122来构建具有数据值的链接,并经由数据交换组件140将链接提供给现场意图执行API 144。现场意图执行API144可以确定是加载链接,还是将链接或基于链接的命令或信息发送给3P开发者装置162(例如,与3P开发者装置162相关联以完成动作120的服务器)以执行动作。
现场意图执行API 144可以确定数据值或链接是否有效。例如,如果电子资源134与追踪装运信息有关,并且输入数据值是追踪号,则现场意图执行API 144可以确定数据值的格式是否对应于3P开发者装置162所使用的追踪号的预定格式(例如,字母数字、位数、数字和字母的顺序)。现场意图执行API 144在确定数据值有效后,可以构造具有数据值的深度链接。
现场意图执行API 144可以包括由3P开发者装置162实现的JavaScript回调,以使电子资源134能处理由数据处理***102或客户端计算装置128触发的数字助理意图。数字助理意图可以指意图清单118中的动作120。
客户端计算装置128可以包括语音导航器和响应组件150。语音导航器和响应组件150可以与传感器152、换能器154、音频驱动器156、预处理器158或显示装置160中的一个或多个接口连接。语音导航器和响应组件150可以包括数据处理***102的一个或多个组件或功能性,诸如NLP组件106或直接动作API 108。
语音导航器和响应组件150可以称为数字助理组件或客户端或本地数字助理组件。数据处理***102可以称为服务器数字助理组件。当数据处理***102经由自然语言处理器组件106提供可以由与语音导航器和响应组件150以及JS库148集成的第三方电子资源134处理的结构化意图解析(例如,基于链接模板122构造的动作120或链接)时,数据处理***102可以调用语音导航器和响应组件150。该技术可以将用户意图解析转换为URL链接或JavaScript意图执行调用,其可用于经由现场意图执行API 144导航电子资源134。在JS库148经由现场意图执行API 144在第三方电子资源134上执行了意图之后,JS库148可以向电子资源134的JavaScript回调请求前台语义状态。语音导航器和响应组件150或数据处理***102可以将前台状态数据与语音响应(文本转语音)模板进行匹配,该语音响应(文本转语音)模板已预先与匹配的用户意图相关联。语音导航器和响应组件150可以通过将状态数据传递到模板来向用户渲染文本转语音响应。本技术可以使用户在整个网站上进行语音导航,并在每次语音导航后听到文本转语音(“TTS”)答案。
语音导航器和响应组件150可以允许在电子资源134上进行基于语音的导航。语音导航器和响应组件150可以从传感器152(例如,麦克风)接收音频输入。语音导航器和响应组件150可以将音频输入发送(或通过数据分组发送预处理的音频输入)到数据处理***102。数据处理***102可以通过NLP组件106确定音频输入中的意图。数据处理***102可以确定意图是对电子资源执行动作。数据处理***102可以查询现场状态共享API 146,以确定电子资源134的语义前台状态。因此,由语音导航器和响应组件150检测到的语音输入可以包括执行从用户接收到的动作的请求。响应于基于语音的请求,数据处理***102可以查询现场状态共享API 146以确定电子资源134的语义前台状态,选择意图清单118,并且基于意图清单的动作120或链接模板122来预测或选择数据值。
数据处理***102可以将数据值提供给授权组件142。授权组件142可以与语音导航器和响应组件150接口连接以经由视觉输出或音频输出来呈现数据值。授权组件142可以与语音导航器和响应组件150接口连接以经由语音音频输入获得授权或输入。授权组件142可以响应于授权数据值的语音输入将数据值传递到现场意图执行API 144。因此,数据处理***102可以从由客户端计算装置执行的语音导航器和响应组件150接收数据分组,该数据分组携带有由客户端计算装置128的传感器152检测到的输入音频信号。数据处理***102可以从数据分组中标识对候选数据值的请求,并响应于该请求而提供该数据值作为候选数据值。
现场意图执行API 144可以响应于接收到数据值而在3P电子资源134上执行动作。在一些情况下,如果用户接口是由语音导航器和响应组件150提供的基于语音的用户接口,则现场意图执行API 144可以确定不加载深度链接,从而通过避免必须绘制或在显示装置160上加载网页来减少计算资源利用。
图2是用于在网页中进行安全通信的***200的操作的图示。***200可以包括图1所描绘的***100或图4所描绘的***400的一个或多个组件。***200可以包括数据处理***102。数据处理***102可以与3P开发者装置162通信,与之接口连接或与之交互。在动作202中,数据处理***可以从3P开发者装置162接收意图清单。3P开发者装置162可以将意图清单提供或上传到数据处理***102。在动作204中,数据处理***102可以确定意图清单是否有效。数据处理***102可以使用验证策略来确定意图清单是否有效。验证策略可以考虑意图清单中的代码类型、语法、格式或链接是否受信。例如,如果电子文档不包含名称/值对,则数据处理***102可以确定该电子文档是无效的。
如果数据处理***102确定意图清单无效,则数据处理***102可以应用安全约束条件并在动作206中通知3P开发者装置162。数据处理***102可以生成指示意图清单验证失败或无效的提示或通知。数据处理***102可以进一步指示意图清单无效的原因,并提供关于如何解决、修复或修改意图清单以使意图清单有效的建议。如果在动作204中数据处理***102确定意图清单有效,则数据处理***102可以在动作208中继续将意图清单存储在数据存储库中。
在动作210中,客户端计算装置128可以在Web浏览器130中加载电子资源。例如,电子资源可以包括网页。在动作212中,客户端计算装置128可以接收语音输入。语音导航器和响应组件150可以经由客户端计算装置128的麦克风或传感器检测语音输入。在动作214中,客户端计算装置128可以将包括与所检测的语音输入相对应的音频输入的数据分组发送给数据处理***102。在动作214中,数据处理***102可以使用自然语言处理(例如,经由NLP组件106)来处理音频输入以确定意图。
在动作216中,数据处理***102可以确定是否从电子资源请求状态信息。数据处理***102可以基于意图来确定是否请求状态信息。如果意图对应于对电子资源的动作,则数据处理***102可以在决策框216中确定请求状态信息。然而,如果意图与电子资源无关(例如,请求降低音量或与电子资源无关的其他请求),则数据处理***102可以在动作218中确定退出。
如果数据处理***102确定意图与要经由电子资源执行的动作有关,则数据处理***可以进入动作220并请求状态信息。数据处理***102可以查询现场状态共享API 146以获得语义前台状态信息。在动作222中,数据处理***102可以从现场状态共享API 146接收语义前台状态信息。
在动作224中,数据处理***102可以接收状态信息并确定参数。数据处理***102可以访问意图清单数据结构以便为与状态信息相对应的电子资源选择意图清单。意图清单可以包括与基于语音输入212在动作214中确定的意图相对应或响应于其的动作。数据处理***102可以选择将动作映射到链接模板的意图清单,以标识与动作和链接模板关联的参数。
在动作226中,数据处理***102可以接收客户端计算装置128的标识符。数据处理***102可以在该过程中的任何点处接收标识符。例如,数据处理***102可以在220中请求状态信息时,响应于在动作210中加载资源,在212中加载输入语音,来接收标识符。在动作228中,数据处理***102可以使用标识符和参数确定数据值。数据处理***102可以***到客户端计算装置128或标识符的一个或多个数据源,以确定、预测、选择或标识候选数据值。
在动作230中,数据处理***102可以将所选的或候选的数据值提供给客户端计算装置128的授权组件142。授权组件142可以在JS库148中的覆盖物中执行,该覆盖物阻止电子资源在授权之前访问数据值。授权组件142可以接收指示数据值是否被授权的输入(例如,语音、键盘、鼠标、手势或其他输入)。在某些情况下,可以提供多个候选数据值,并且用户可以选择一个或多个数据值进行输入。
在判定框232中,授权组件142可以确定是否将数据值提供给电子资源。如果授权组件142确定数据值被授权,则授权组件可以经由JS库148将数据值提供给现场意图执行API 234以执行动作。JS库可以使现场意图执行API 234经由电子资源或3P开发者装置162来完成动作。
然而,如果授权组件142确定数据值未被授权,则授权组件142可以向数据处理***102提供指示。在判定框236中,数据处理***102可以响应于授权组件142未对数据值授权确定是否更新数据值。如果更新次数小于阈值数(例如2、3、4、5或更多次),或基于电子资源或意图清单中所指示的第三方开发者装置162的意图类型或偏好,如果存在可用的其他候选值,则数据处理***102可以确定更新该值。如果数据处理***102确定更新数据值,则数据处理***102可以返回到动作228以选择另一数据值。如果数据处理***102确定不更新数据值,则数据处理***102可以进入动作238并终止通信。
图3是用于在移动页面中进行安全通信的示例方法的图示。方法300可以由图1所描绘的***100、图2所描绘的***200、或图4所描绘的***400的一个或多个组件、***或元件执行。例如,方法300可以由数据处理***执行。在动作302中,数据处理***可以接收意图清单。数据处理***可以从3P开发者装置接收意图清单。意图清单可以将动作映射到链接模板,并指示用于执行动作的参数。
在动作304中,数据处理***可以验证意图清单。数据处理***可以使用验证策略来验证意图清单。验证意图清单可以包括:例如,确定意图清单是否包括某些类型的内容、代码、链接或格式。如果意图清单不包括禁止的内容、代码或格式,则数据处理***可以验证意图清单。如果意图清单包含禁止的内容、代码、链接或格式,则数据处理***可使意图清单无效。通过使某些意图清单无效,数据处理***可以减少客户端计算装置上的安全风险、错误、漏洞、崩溃、以及浪费的计算资源利用。
如果在动作306中数据处理***确定意图清单无效,则数据处理***可以进入动作308,以确定是否自动修改意图清单。数据处理***可以基于一个或多个因素或策略来确定是否自动修改意图清单。如果3P开发者装置授权或指示数据处理***自动修改无效的意图清单,则数据处理***可以确定自动修改意图清单。如果确定意图清单无效的原因对应于数据处理***被配置用来补救的问题,则数据处理***可以确定自动修改意图清单。例如,如果意图清单由于格式化或标记语言的格式而无效,并且数据处理***被配置为将意图清单重新格式化为许可的格式(例如,JSON),则数据处理***可以继续重新格式化意图清单。如果修改包括移除对未经许可的动作或参数的引用,则数据处理***可以确定自动修改意图清单。如果需要移除意图清单中可能导致进一步错误或漏洞的方面(例如,移除链接模板中的域),则数据处理***可以确定不进行修改。因此,数据处理***可以基于验证失败的次数或类型确定修改意图清单。
如果数据处理***确定不自动修改意图清单,则数据处理***可以进入动作310,并通知3P开发者意图清单无效、意图清单无效的原因,并请求3P开发者解决意图清单中的问题。
如果在动作308中数据处理***确定自动修改意图清单,则数据处理***可以进入动作312并修改意图清单。数据处理***可以进入动作312以通过基于验证策略重新格式化意图清单来修改意图清单。
数据处理***可以进入动作314,以将意图清单存储在数据处理***的数据存储库中。如果在动作306中数据处理***基于验证策略确定意图清单是有效的,则数据处理***可以进入314以将意图清单存储在数据存储库中。响应于对意图清单的验证或对意图清单的修改,数据处理***可以将意图清单存储在数据处理***的数据存储库中。
在动作316中,数据处理***可以接收客户端计算装置的标识符。标识符可以对应于与客户端计算装置链接的账户。该账户可以包括与客户端计算装置相关联的信息或数据值。该账户可以包括基于客户端计算装置的历史网络利用的数据值。该账户可以包括由客户端计算装置存储的信息。该账户可以存储在数据处理***或一个或多个外部源上。该账户可以包括来自与客户端计算装置相关联的一个或多个外部源或服务器的信息。
在动作318中,数据处理***可以接收语义前台状态信息。数据处理***可以向现场状态共享API查询状态信息。数据处理***可以响应于执行动作的请求来查询状态共享API。数据处理***可以响应于该查询接收状态信息。
在动作320中,数据处理***可以确定参数。数据处理***可以选择意图清单并标识动作和链接模板。动作和链接模板可以指示参数。在动作322中,数据处理***可以基于与客户端计算装置的标识符相关联的账户信息,为意图清单中的参数选择数据值。
在动作324中,数据处理***可以将数据值提供给客户端计算装置的授权组件。授权组件可以在电子资源上的覆盖物中执行,使得数据值不可被电子资源访问,直到数据值被授权提供给电子资源为止。授权组件可以通过覆盖物、提示、通知、弹出窗口、内嵌框架或音频输出来呈现数据值。授权组件可以接收授权或拒绝数据值的输入。如果数据值被授权,则授权组件可以通过JS库和意图执行API将数据值传递给电子资源,以使电子资源基于数据值执行动作。
图4是示例计算机***400的框图。计算机***或计算装置400可以包括或用于实现***100、或其组件,诸如数据处理***102。数据处理***102可以包括智能个人助理或基于语音的数字助理。计算***400包括总线405或用于传送信息的其他通信组件、以及耦合到总线405以用于处理信息的处理器410或处理电路。计算***400还可以包括一个或多个处理器410或耦合到总线以处理信息的处理电路。计算***400还包括耦合至总线405用于存储信息用于存储信息和待由处理器415执行的指令的主存储器410,诸如随机存取存储器(RAM)或者其他动态存储装置。主存储器415可以是或可以包括数据存储库145。主存储器415还可以用于存储位置信息、临时变量、或者在处理器410执行指令期间的其他中间信息。计算***400可以进一步包括只读存储器(ROM)420或者耦合至总线405用于存储用于处理器410的静态信息和指令的其他静态存储装置。存储装置425(诸如,固态装置、磁盘或者光盘)可以耦合至总线405以便持久地存储信息和指令。存储装置425可以包括数据存储库145或者是数据存储库145的一部分。
计算***400可以经由总线405耦合至显示器435(诸如,液晶显示器、或者有源矩阵显示器)以便向用户显示信息。输入装置430,诸如包括字母数字和其他键的键盘,可以耦合到总线405,用于将信息和命令选择传送给处理器410。输入装置430可以包括触摸屏显示器435。输入装置430还可以包括光标控件,诸如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传送给处理器410,并控制在显示器435上的光标移动。例如,显示器435可以是数据处理***102、客户端计算装置128、或图1中的其他组件的一部分。
本文描述的过程、***和方法可以由计算***400响应于处理器410执行包含在主存储器415中的指令的布置来实现。这样的指令可以从另一计算机可读介质(诸如存储装置425)读入主存储器415中。执行包含在主存储器415中的指令的布置使计算***500执行本文所述的说明性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。与本文所述的***和方法一起,可以代替或结合软件指令使用硬连线电路。本文描述的***和方法不限于硬件电路和软件的任何特定组合。
虽然已经在图4中对示例计算***进行了描述,但是可以通过使用其他类型的数字电子电路***,或者在计算机软件、固件、或者硬件中(包括本说明书所公开的结构及其结构等效物)、或者在它们中的一个或多个的组合中实施本主题(包括本说明书中描述的操作)。
在本文讨论的***采集有关用户的个人信息或者可以利用个人信息的情况下,可以为用户提供如下机会:控制程序或者特征是否采集用户信息(例如,有关用户的社交网络、社交动作、或者活动;用户的偏好;或者用户的位置的信息)或者控制是否或如何从内容服务器或其他数据处理***接收可能与用户更有关的内容。另外,在存储或者使用特定数据之前,可以按照一种或者多种方式来使特定数据匿名化,从而使得在生成参数时可以去除个人身份信息。例如,可以使用户的身份匿名化,从而使得无法确定用户的个人身份信息,或者可以将用户的可以从中获取位置信息(诸如,城市、邮政编码、或者州县等级)的地理位置一般化,从而使得无法确定用户的特定位置。由此,用户可以对内容服务器采集和/或使用有关用户的信息的方式进行控制。
可以在数字电子电路***中、或者在计算机软件、固件、或者硬件中(包括本说明书所公开的结构及其结构等效物)、或者它们中的一个或多个的组合中实施本说明书中描述的主题和操作。可以将本说明书中描述的主题实施为一个或多个计算机程序,即,编码在一个或多个计算机存储介质上用于由数据处理装置执行或者用于控制数据处理装置的操作的计算机程序指令的一个或多个电路。可替代地或者另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学、或者电磁信号,生成该信号是为了对信息进行编码以便传输至合适的接收器装置供数据处理装置执行。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或者串行存取存储器阵列或者装置、或者它们中的一个或多个的组合,或者包括在其中。当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机还可以是一个或多个单独的部件或者介质(例如,多个CD、磁盘、或者其它存储装置),或者包括在其中。可以将本说明书中描述的操作实施为由数据处理装置对存储在一个或多个计算机可读存储装置或者从其它源接收到的数据执行的操作。
术语“数据处理***”、“计算装置”、“组件”或“数据处理装置”囊括了用于处理数据的所有种类的装置、装置、和机器,包括:例如,可编程处理器、计算机、片上***、或者前述中的多种或者组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为探讨中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、跨平台运行时间环境、虚拟机、或者它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如,网络服务、分布式计算和网格计算基础设施。例如,直接动作API 108或NLP组件106和其他数据处理***102组件可以包括或共享一个或多个数据处理装置、***、计算装置或处理器。
可以以任何形式的程序语言来写入计算机程序(也称为程序、软件、软件应用、应用、脚本、或者代码),包括编译的或者解译的语言、宣告式语言或者程序式语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为模块、组件、子例程、对象、或者适合在计算环境中使用的其他单元。计算机程序可以与文件***中的文件对应。可以将计算机程序存储在保持其它程序或者数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,或者存储在专用于所探讨中的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或多个模块、子程序、或者部分代码的文件)中。可以将计算机程序部署为在一个计算机上执行或者在位于一个站点处或者分布在多个站点中并且通过通信网络互相连接的多个计算机上执行。
可以通过一个或多个可编程处理器来进行本说明书中描述的过程和逻辑流程,该一个或多个可编程处理器执行一个或多个计算机程序(例如,数据处理***102的)以通过操作输入数据并且生成输出来进行动作。还可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))来执行过程和逻辑流,并且还可以将装置实施为专用逻辑电路(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括:例如,半导体存储器装置(例如,EPROM、EEPROM、和闪速存储器装置)、磁盘(例如,内部硬盘或者可移动盘)、磁光盘、CD-ROM盘和DVD-ROM盘。处理器和存储器可以由专用逻辑电路***补充或者可以并入该专用逻辑电路***中。
本文中描述的主题可以实施在计算***中,该计算***包括后端组件(例如,作为数据处理器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户接口或者Web浏览器的客户端计算机,通过该Web浏览器,用户可以与本说明书中描述的主题的实施方式交互)、或者这种后端组件、中间件组件、或者前端组件的组合。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)、以及点对点网络(例如,ad hoc点对点网络0)。
诸如***100或***400之类的计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络(例如,网络101)进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施方式中,服务器向客户端装置发送数据(例如,表示数字组件的数据分组)(例如,为了向与客户端装置进行交互的用户显示数据并且接收来自该用户的用户输入)。可以从服务器处的客户端装置接收在客户端装置处生成的数据(例如,用户交互的结果)(例如,由数据处理***102从客户端计算装置128或3P开发者装置162接收)。
尽管在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或以顺序来执行这样的操作,并且不需要执行所有示出的操作。可以按照不同的顺序执行本文描述的动作。
各个***部件的分离不要求在所有实施方式中都分离,并且描述的程序部件可以包括在单个硬件或者软件产品中。例如,NLP组件106和直接动作API 108可以是单个组件、应用或程序,或者是具有一个或多个处理电路的逻辑装置,或数据处理***102的一个或多个服务器的一部分。
现在,在已经描述了一些说明性实施方式之后,显而易见的是,前述说明只是说明性的而非限制性的,其是以示例的方式呈现的。具体地,虽然本文呈现的许多示例都涉及方法动作或者***元件的具体组合,但是这些动作和这些元件可以按照其它方式组合以实现相同的目的。结合一个实施方式讨论的动作、元件和特征不旨在从其它实施方式或者实施方式中的相似作用排除。
本文使用的措辞和用语是为了进行描述,不应该将其视为具有限制性。本文对包括(“including”)、包括(“comprising”)、具有(“having”)、包含(“containing”)、涉及(“involving”)及其变形的使用旨在涵盖其后列出的项、其等同物、和其他项、以及由其后排他地列出的项组成的替代实施方式。在一种实施方式中,本文描述的***和方法由所描述的元件、动作或组件中的一个、或多个的每种组合、或所有组成。
对本文中以单数形式提及的***和方法的实施方式或元素或动作的任何提及也可以囊括包括多个这些元素的实施方式,并且在本文中以复数形式对任何实施方式或元素或动作的任何提及也可以囊括仅包括一个元素的实施方式。单数或复数形式的提及无意将当前公开的***或方法、它们的组件、动作、或元素限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的提及可以包括该动作或元素至少部分地基于任何信息、动作或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“某些实施方式”、“一种实施方式”等的提及不一定是互斥的,并且旨在指示结合该实施方式描述的特定特征、结构或特点可以被包括在至少一种实施方式或实施例中。如本文所使用的,这种术语不一定全部是指相同的实施方式。任何实施方式都可以按照与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包括性地或排他地相结合。
对“或”的提及可以被解释为包括性的,使得使用“或”描述的任何术语可以指示单个、一个以上、以及所有所描述术语中的任何一个。对“‘A’和‘B’中的至少一个”的提及可以包括仅‘A’,仅‘B’、以及‘A’和‘B’。结合“包括”或其他开放式术语使用的这种提及可以包括其他项。
在附图、详细描述或任何权利要求中的技术特征后带有附图标记,这些附图标记已经被包括以增加附图、详细描述和权利要求的可理解度。因此,附图标记或它们的不存在对任何权利要求要素的范围没有任何限制作用。
本文描述的***和方法可以按照其他特定形式来体现而不背离其特点。前述实施方式是说明性的,而不限制所描述的***和方法。因此,本文所描述的***和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。
Claims (20)
1.一种用于与网页进行安全数字助理集成的***,包括:
包括至少一个处理器的数据处理***,用于:
从第三方开发者装置接收意图清单数据结构,所述意图清单数据结构包含在数字助理的多个动作与由所述第三方开发者装置开发的电子资源的多个链接模板之间的映射;
经由验证策略,基于所述意图清单数据结构验证所述电子资源;
从由客户端计算装置加载的所述电子资源的内嵌框架的数据交换组件接收执行所述电子资源的所述客户端计算装置的标识符;
从现场状态共享应用编程接口接收所述电子资源的前台状态;
基于所述前台状态和所述意图清单数据结构确定参数;
基于所述客户端计算装置的所述标识符从数据存储库选择所述参数的数据值;
将所述数据值提供给加载在所述客户端计算装置上的所述电子资源的所述内嵌框架的授权组件,以使所述授权组件:
生成授权提示;
响应于所述授权提示,接收来自所述客户端计算装置的输入;以及
响应于所述数据值的授权,将所述数据值发送给所述电子资源的现场意图执行应用编程接口,以使所述电子资源利用所述数据值执行所述多个动作中的一个动作。
2.根据权利要求1所述的***,其中,在所述电子资源的所述内嵌框架中执行的所述数据交换组件约束父框架中的所述电子资源访问所述客户端计算装置的所述标识符,并且开发了所述电子资源的所述第三方开发者装置被禁止访问所述客户端计算装置的所述标识符。
3.根据权利要求1或2所述的***,包括:
所述数据处理***,用于响应于经由所述验证策略对所述电子资源的验证,授权所述数据交换组件加载在所述电子资源的所述内嵌框架中。
4.根据任何前述权利要求所述的***,包括:
所述数据处理***,用于基于受信站点列表验证所述电子资源。
5.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
接收来自由所述客户端计算装置执行的所述数据交换组件的请求;以及
响应于所述请求向所述电子资源的所述现场状态共享应用编程接口进行查询。
6.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
从所述客户端计算装置执行的语音导航器和响应组件接收数据分组,所述数据分组携带有由所述客户端计算装置的传感器检测到的输入音频信号;
从所述数据分组标识对候选数据值的请求;以及
响应于所述请求,提供所述数据值作为所述候选数据值。
7.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
将所述数据值提供给所述现场意图执行应用编程接口,以使所述现场意图执行应用编程接口将所述数据值输入到所述电子资源的输入文本框中。
8.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
基于所述前台状态,确定执行由所述电子资源提供的所述动作要使用的多个参数;
基于所述客户端计算装置的所述标识符,选择与所述多个参数对应的多个数据值;以及
将所述多个数据值提供给所述授权组件以使所述授权组件将所述多个数据值提供给所述现场意图执行应用编程接口,其中,所述现场意图执行应用编程接口被配置为使用所述多个数据值来绕过所述电子资源所用的一个或多个状态以执行所述动作。
9.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
基于所述前台状态和所述意图清单数据结构,确定所述电子资源的一个或多个后续状态;
基于所述一个或多个后续状态,确定一个或多个参数;以及
基于所述标识符,在所述电子资源进入所述一个或多个后续状态之前,选择所述一个或多个参数的一个或多个数据值。
10.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
在所述电子资源请求所述数据值之前,提供所述数据值以供所述授权组件进行授权并且输入到所述现场意图执行应用编程接口。
11.根据任何前述权利要求所述的***,包括:
所述数据处理***,用于将所述数据值提供给所述客户端计算装置以使所述客户端计算装置建立与所述数据值的深度链接,并且将所述深度链接加载在所述客户端计算装置执行的Web浏览器中。
12.根据任何前述权利要求所述的***,其中,所述电子资源包括网页。
13.根据任何前述权利要求所述的***,包括所述数据处理***,用于:
基于所述多个链接模板中的映射到所述多个动作中的所述动作的链接模板,建立与所述数据值的链接;以及
经由所述数据交换组件,将所述链接提供给所述现场意图执行应用编程接口。
14.一种用于与网页进行安全数字助理集成的方法,包括:
通过包括至少一个处理器的数据处理***,从第三方开发者装置接收意图清单数据结构,所述意图清单数据结构包含在数字助理的多个动作与由所述第三方开发者装置开发的电子资源的多个链接模板之间的映射;
通过所述数据处理***,经由验证策略,基于所述意图清单数据结构验证所述电子资源;
通过所述数据处理***,从由客户端计算装置加载的所述电子资源的内嵌框架的数据交换组件接收执行所述电子资源的所述客户端计算装置的标识符;
通过所述数据处理***,向所述电子资源的现场状态共享应用编程接口进行查询;
通过所述数据处理***,响应于所述查询,从所述现场状态共享应用编程接口接收所述电子资源的前台状态;
通过所述数据处理***,基于所述前台状态和所述意图清单数据结构确定参数;
通过所述数据处理***,基于所述客户端计算装置的所述标识符从数据存储库选择所述参数的数据值;
通过所述数据处理***,将所述数据值提供给加载在所述客户端计算装置上的所述电子资源的所述内嵌框架的授权组件,以使所述授权组件:
生成授权提示;
响应于所述授权提示,接收来自所述客户端计算装置的输入;以及
响应于所述数据值的授权,将所述数据值发送给所述电子资源的现场意图执行应用编程接口,以使所述电子资源利用所述数据值执行所述多个动作中的一个动作。
15.根据权利要求14所述的方法,其中,在所述电子资源的所述内嵌框架中执行的所述数据交换组件约束父框架中的所述电子资源访问所述客户端计算装置的所述标识符,并且开发了所述电子资源的所述第三方开发者装置被禁止访问所述客户端计算装置的所述标识符。
16.根据权利要求14或15所述的方法,包括:
响应于经由所述验证策略对所述电子资源的验证,授权所述数据交换组件加载在所述电子资源的所述内嵌框架中。
17.根据权利要求14至16中任一项所述的方法,包括:
基于受信站点列表验证所述电子资源。
18.根据权利要求14至17中任一项所述的方法,包括:
接收来自所述客户端计算装置执行的所述数据交换组件的请求;以及
响应于所述请求向所述电子资源的所述现场状态共享应用编程接口进行查询。
19.根据权利要求14至18中任一项所述的方法,包括:
从所述客户端计算装置执行的语音导航器和响应组件接收数据分组,所述数据分组携带有由所述客户端计算装置的传感器检测到的输入音频信号;
从所述数据分组标识对候选数据值的请求;以及
响应于所述请求,提供所述数据值作为所述候选数据值。
20.根据权利要求14至19中任一项所述的方法,包括:
将所述数据值提供给所述现场意图执行应用编程接口,以使所述现场意图执行应用编程接口将所述数据值输入到所述电子资源的输入文本框中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/030919 WO2020226616A1 (en) | 2019-05-06 | 2019-05-06 | Secure digital assistant integration in web pages |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112262391A true CN112262391A (zh) | 2021-01-22 |
Family
ID=66625297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002168.7A Pending CN112262391A (zh) | 2019-05-06 | 2019-05-06 | 网页中的安全数字助理集成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11361066B2 (zh) |
EP (2) | EP4235456A1 (zh) |
CN (1) | CN112262391A (zh) |
WO (1) | WO2020226616A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086959B2 (en) | 2019-05-06 | 2021-08-10 | Google Llc | Secure digital assistant integration in web pages |
US11748096B2 (en) * | 2020-04-24 | 2023-09-05 | K2 Software, Inc. | Interactive documentation pages for software products and features |
CN112269607A (zh) * | 2020-11-17 | 2021-01-26 | 北京百度网讯科技有限公司 | 小程序的控制方法、***、服务器以及终端设备 |
US20230081429A1 (en) * | 2021-09-14 | 2023-03-16 | Paypal, Inc. | Iframe injection in mobile web browser applications for web browser extension opt-in |
US20230273817A1 (en) * | 2022-02-25 | 2023-08-31 | Apple Inc. | Systems and methods for transitioning computing devices between operating states |
US20230315837A1 (en) * | 2022-03-31 | 2023-10-05 | Toshiba Global Commerce Solutions, Inc. | Inline frame content data management system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110301982A1 (en) * | 2002-04-19 | 2011-12-08 | Green Jr W T | Integrated medical software system with clinical decision support |
US8751800B1 (en) * | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
US10956957B2 (en) * | 2015-03-25 | 2021-03-23 | Facebook, Inc. | Techniques for automated messaging |
US10416854B2 (en) * | 2017-03-07 | 2019-09-17 | Google Llc | Autofill for a user device |
-
2019
- 2019-05-06 CN CN201980002168.7A patent/CN112262391A/zh active Pending
- 2019-05-06 EP EP23170455.2A patent/EP4235456A1/en active Pending
- 2019-05-06 EP EP19725488.1A patent/EP3762889B1/en active Active
- 2019-05-06 US US16/466,213 patent/US11361066B2/en active Active
- 2019-05-06 WO PCT/US2019/030919 patent/WO2020226616A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP3762889A1 (en) | 2021-01-13 |
WO2020226616A1 (en) | 2020-11-12 |
US11361066B2 (en) | 2022-06-14 |
US20210326430A1 (en) | 2021-10-21 |
EP3762889B1 (en) | 2023-07-05 |
EP4235456A1 (en) | 2023-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829435B2 (en) | Secure digital assistant integration in web pages | |
US11924644B2 (en) | Secure communication in mobile digital pages | |
EP3762889B1 (en) | Secure digital assistant integration in web pages | |
US11574634B2 (en) | Interfacing with applications via dynamically updating natural language processing | |
US20240144928A1 (en) | Systems and methods to verify trigger keywords in acoustic-based digital assistant applications | |
US20220308987A1 (en) | Debugging applications for delivery via an application delivery server | |
EP3729259B1 (en) | Assessing applications for delivery via an application delivery server | |
US20230267928A1 (en) | Indexing Application Actions for Voice-Based Execution |
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 |