A system and method of adjusting execution of a digital action
By selecting appropriate digital interfaces and execution modes through the data processing system, the problem of excessive resource consumption by digital assistants on third-party applications or electronic resources is solved, and efficient execution of digital actions is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2020-02-28
- Publication Date
- 2026-06-05
AI Technical Summary
In existing technologies, digital assistants consume excessive resources and are inefficient when performing functions on third-party applications or electronic resources, especially in specific computing environments where they struggle to perform digital actions efficiently.
By querying the historical interaction levels between client computing devices and digital assistants through the data processing system, appropriate digital interfaces and execution modes are selected, and the way digital actions are executed is dynamically adjusted, including platform-specific action links and device selection, thereby optimizing resource utilization.
It improves the efficiency of digital actions, reduces resource consumption, ensures efficient execution of related functions on third-party applications or electronic resources, and avoids resource waste and delays.
Smart Images

Figure CN115210692B_ABST
Abstract
Description
Background Technology
[0001] Computing devices can run applications. Applications can provide a user interface that can receive input information, perform functions, and output information. Summary of the Invention
[0002] This technical solution generally involves selecting the type of interface and mode used to perform digital actions. The solution can tailor the interface or mode based on the device type and the historical level of interaction between the device and the digital assistant. For example, executing different types of interfaces or modes can utilize varying amounts of computing resources, energy or power resources, network bandwidth resources, display resources, sensor resources, or time. Therefore, selecting an interface that consumes excessive resources may be inefficient compared to using fewer resources. However, some resources may be incompatible with certain types of devices or may execute inefficiently in specific computing environments, causing potentially more efficient interfaces to ultimately consume excessive resources to complete the execution of digital actions. Therefore, the system and method of this technical solution can select the type of interface or mode for performing digital actions to reduce excessive resource consumption, thereby improving the efficiency of the computing environment in performing digital actions.
[0003] At least one aspect of this technical solution relates to a system for adjusting the execution of digital actions. The system can include a data processing system comprising one or more processors. The data processing system can load a script library embedded in an electronic resource. The data processing system can load the script library via a client computing device. The client device can be one of multiple client computing devices linked to an electronic account. The script library can include one or more invocation actions for the electronic resource, these invocation actions being configured to be executed by one or more digital assistants provided by each of the client computing devices. The data processing system can query a digital assistant component to determine the historical engagement level between the client computing device and one or more digital assistants. The data processing system can select the type of digital interface presenting multiple invocation actions based on a first attribute of the client computing device and the historical engagement level. The data processing system can generate a digital interface with the invocation action based on the type of digital interface selected according to the first attribute of the client computing device and the historical engagement level. The data processing system can detect an instruction to execute the invocation action via the digital interface. In response to the instruction to execute the invocation action, the data processing system can determine an execution mode for the invocation action based on a second attribute of the client computing device and the historical engagement level. The data processing system can select a digital assistant from one or more digital assistants and multiple client computing devices to perform an invocation action based on the execution mode. The data processing system can also transmit the invocation action to the second client device, enabling the second client device to invoke the digital assistant to perform the action.
[0004] At least one aspect of this technical solution relates to a method for adjusting the execution of digital actions. The method can be executed by a data processing system including one or more processors. The method can include the data processing system loading a script library embedded in an electronic resource via client computing devices linked to an electronic account. The script library can include invocation actions for the electronic resource, configured to be executed by one or more digital assistants provided by each client computing device. The method can include the data processing system querying a digital assistant component to determine the historical engagement level between the multiple client computing devices and the one or more digital assistants. The method can include the data processing system selecting a type of digital interface in which multiple invocation actions are presented, based on a first attribute of the client computing device and the historical engagement level. The method can include the data processing system generating a digital interface with the invocation action based on the type of digital interface selected according to the first attribute of the client computing device and the historical engagement level. The method can include the data processing system detecting an instruction to execute the invocation action via the digital interface. The method can include the data processing system determining an execution mode for the invocation action based on a second attribute of the client computing device and the historical engagement level in response to the instruction to execute the invocation action. This method can include a data processing system selecting a digital assistant from one or more digital assistants and a second client device among multiple client computing devices to perform an invocation action based on an execution mode. The method can also include the data processing system transmitting the invocation action to the second client device so that the second client device invokes the digital assistant to perform the invocation action.
[0005] These and other aspects, as well as implementation methods, are discussed in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and implementation methods, and provide an overview or framework for understanding the nature and characteristics of the claimed aspects and implementation methods. The accompanying drawings provide illustration and further understanding of the various aspects and implementation methods, and are incorporated in and constitute a part of this specification. Attached Figure Description
[0006] The accompanying drawings are not intended to be drawn to scale. In each drawing, the same reference numerals and designations indicate the same elements. For clarity, not every component is labeled in every drawing.
[0007] In the picture:
[0008] Figure 1 This is a diagram of a system for adjusting digital actions according to an implementation method.
[0009] Figure 2 This is a diagram illustrating the process of adjusting the execution of digital actions according to the implementation method.
[0010] Figure 3 This is a diagram illustrating the process of adjusting the execution of digital actions according to the implementation method.
[0011] Figure 4 This is an illustration of a graphical user interface for performing digital actions according to an embodiment.
[0012] Figure 5 This is an illustration of a graphical user interface for performing digital actions according to an embodiment.
[0013] Figure 6 This is an illustration of a method for adjusting the execution of digital actions according to an implementation method.
[0014] Figure 7 This is a block diagram illustrating the overall architecture of a computer system that can be adopted for implementation. Figure 1 The elements of the system described in Figure 2 , 3 The processes and methods described in section 6 and Figure 4 and 5 The graphical user interface elements depicted in the document. Detailed Implementation
[0015] The following is a more detailed description of various concepts and their implementations related to methods, apparatuses, and systems for selecting interfaces and modes for the execution of digital actions. For example, the methods, apparatuses, and systems are capable of adjusting the execution of digital actions. The various concepts introduced above and discussed in more detail below can be implemented in any of many ways.
[0016] This technical solution generally involves selecting the interface or mode for executing digital actions. The systems and methods of this technical solution can adjust the execution of digital actions by selecting the type of interface or mode for executing the digital actions.
[0017] Actions can be linked for performance by a voice-based digital assistant. An action (or function) can refer to or include any type of digital action that can be performed by one or more applications, computing devices, servers, or electronic resources. Efficiently providing notifications of the functions a digital assistant can perform on a third-party (“3P”) application or electronic resource that can interface with the digital assistant can be challenging or impossible. As the number of types of actions a digital assistant can perform increases, discovering these functions can become increasingly challenging and inefficient, not to mention performing them appropriately at the best time or in the best manner in a given context.
[0018] For example, a notification can include displaying or playing audio indicating the types of functions or actions that the digital assistant can perform. However, displaying or playing audio listing all available digital assistant functions for a 3P application can be time-consuming, inefficient, introduce latency, and provide sub-windows or a wasteful user interface, as many of these functions may be irrelevant to the current computing environment or context. A system lacking awareness of the relevant functions that the digital assistant can perform on a 3P application or electronic resource can lead to underutilization or inefficient use of the digital assistant or application by performing unnecessary or multiple actions that could be performed by more efficient digital assistant functions. Therefore, the systems and methods of this technical solution can select interfaces or execution modes that can improve the efficiency of actions being performed (e.g., by selecting digital assistant functions or actions).
[0019] This technical solution helps identify and select available and relevant functions that a digital assistant with a voice-based interface can perform on a 3P application, and facilitates the execution of these functions. For example, the system can capture available actions or functions that the digital assistant can perform on a specific application. The system can identify which actions are relevant to the computing environment. The system can provide instructions for those relevant actions (e.g., invocation actions) via the user interface. The system can immediately execute those relevant actions from within the application, thereby directly linking invocation actions to relevant actions on the digital assistant (e.g., action linking).
[0020] For example, a user can navigate to a website such as an electronic financial instrument trading website. The system can capture or detect contextual computing information (e.g., actions associated with the website, such as logging in, authenticating an account to determine current portfolio values, trading status, or executing trades or fund transfers). The system can identify available actions related to the current computing environment that a voice-based digital assistant is configured to perform. The system can provide direct instructions (e.g., action invocation) via a user interface within the website, providing notifications of available digital assistant actions related to the current computing environment. The system can receive or detect instructions, commands, or interactions with one of the digital assistant actions presented via notifications. The system can provide a digital assistant interface that facilitates the execution or invocation of the selected action. Therefore, compared to actions being performed directly by a 3P application or electronic resource without a digital assistant, this technical solution identifies and selects relevant actions that a digital assistant can perform more efficiently on third-party applications or electronic resources. The system is able to detect when a digital assistant is configured to perform one or more actions associated with an application or electronic resource (e.g., a website) when the application is invoked, identify which actions are relevant to the current computing environment, display an invocation action that provides a notification of the relevant action, and then perform the relevant action.
[0021] This system provides dynamic interface adjustments for invoking action discovery. For 3P applications or electronic resources that provide functionality via voice interfaces, efficiently invoking the functionality provided by the application or resource without interrupting the current non-voice computing interaction with the application or resource can be challenging or impossible. This system provides a platform-specific action linking mechanism for voice-based digital assistants. For 3P applications or electronic resources that provide functionality via voice interfaces, allowing efficient invocation of the voice interface functionality provided by the 3P from non-voice contexts that notify the user can be challenging or impossible.
[0022] For example, upon discovering available actions relevant to the current computing environment, the system can determine what type of action to offer to the user (a notification of available actions). The system can include a dynamic notification component that can dynamically determine the level of engagement with the application or electronic resource (e.g., based on parameters, characteristics, or features associated with the current computing environment) to determine which action to display and its format or type. For instance, if a client device is actively interacting with a website to perform certain digital actions, the dynamic notification of this technical solution can provide a pop-up window with the discovered action, as the device (or its user) is more likely to engage with a digital assistant to perform the corresponding action. By providing a more prominent notification (e.g., compared to embedded notifications, banner notifications, or small icons located in the corner of a website), the dynamic notification increases the likelihood of engaging with a digital assistant to perform an action, thereby preventing the direct execution of functions via non-voice-based interfaces using applications that might consume additional computing resources or waste time.
[0023] The system can determine if a user on a client device is passively viewing an application or electronic resource. Passively viewing an electronic resource can refer to a non-interactive state or viewing an electronic resource without interacting with it. Not interacting with an electronic resource can mean that the client device has not received any input regarding the electronic resource for a period of time. Examples of applications or electronic resources that can be passively viewed can include music, video, streaming music, streaming video, or other types of audio or video content that can be viewed or consumed without interaction for a period of time. When passive viewing of an electronic resource is detected, the dynamic notification can select a notification format or type that is less noticeable compared to the notification type that can be selected for applications or electronic resources that are actively consumed. Examples of less noticeable notifications can include audio or voice overlays, or small icons positioned in the corner of the display screen or the application's graphical user interface.
[0024] When the system receives an interaction with an invocation action on a third-party application or electronic resource, the system can execute platform-specific action links for a voice-based digital assistant. Platform-specific action links can refer to the appropriate platform-specific technology used by the system to determine the selected action for guiding or navigating the user within the digital assistant. The system can include a digital assistant selector component (e.g., a dynamic device selector) that dynamically selects the device to be used to perform the digital action. The system can identify multiple devices linked to each other for the purpose of performing digital actions. A device that displays a notification and receives an instruction to perform an invocation action (e.g., a digital action) can be linked to an account that can be associated with or linked to multiple devices. One or more devices linked to an account can be configured to or be able to perform or execute digital actions. Devices linked to an account can be configured with a digital assistant. One or more devices can be used to perform actions in response to instructions or during some other desired time interval. The system can use a selection strategy to identify or select the device for performing the digital action. This selection strategy can select the device based on the current computing environment or context.
[0025] Examples of platform-specific action links could include using deep links to launch or trigger a native digital assistant to perform an action on a client device. In another example, the system could generate a generic application link or a custom Uniform Resource Locator (URL) to launch a non-native digital assistant application on a client device to perform an action. In yet another example, the system could select different devices with digital assistants to perform actions. Platform-specific action links can refer to or include, for example, actions performed based on the type of operating system, the type of device, the characteristics of the device, the configuration of the device, or the capabilities of the device.
[0026] Therefore, in some cases, the system can dynamically determine the execution mode based on configuration, device type, applications installed on the device, network connectivity, or other characteristics associated with the computing environment. For example, if a digital assistant application is installed, the system can navigate to the digital assistant application and enter commands to perform digital actions in response to the invoke action. On the other hand, if a digital assistant application is not installed on the device, the system can provide a notification requesting the installation of the digital assistant application before performing a digital action. This notification can include a link, path, or pointer to a cloud-based repository of application executable files that can be downloaded and installed by the device.
[0027] This system can launch a digital assistant on different devices to perform digital actions. For example, electronic resources can include web pages rendered in applications such as web browsers. The invocation action can be presented via a web browser. The invocation action can be presented as a banner, pop-up, interstitial, or otherwise overlaid on the electronic resource. The system can detect interactions with the invocation action or other indications to perform the digital action corresponding to the invocation action. The system can determine current computing environment information, such as the type of web browser, device, network connection, account information associated with the device running the application, or additional devices linked to the account. The system can display a web page with a list of devices linked to the same account as the device providing the invocation action via a dynamic device selector component or function. The system can preprocess or filter the device list so that only those devices are compatible with or capable of performing the digital action corresponding to the invocation action are presented. In some cases, the system can rank the device list to weight the devices based on relevance, capability, compatibility, performance, or other factors. For example, the system can rank or filter devices based on their relevance to the digital action (e.g., showing only the screen of actions that can provide graphical output to the device). The dynamic device selector in this technical solution can rank the device list so that the device most relevant to the current computing context is ranked higher than the device less relevant to the current computing context (e.g., recently used devices are ranked higher than recently unused devices, and frequently used devices are ranked higher than infrequently used devices).
[0028] Figure 1The illustration shows an example system 100 for selecting interfaces and modes for the execution of digital actions. System 100 is capable of adjusting the execution of digital actions. System 100 may include a content selection architecture. System 100 may include a data processing system 102. Data processing system 102 may include or execute on computing device 122. Data processing system 102 is capable of communicating via network 105 with one or more of 3P digital content provider device 160, remote data processing system 136, or 3P electronic resource servers 142, 148. Network 105 may include computer networks such as the Internet, local area networks, wide area networks, metropolitan area networks or other regional networks, intranets, satellite networks, and other communication networks such as voice or data mobile phone networks. Network 105 can be used to access information resources such as web pages, websites, domain names, or Uniform Resource Locators, which can be presented, output, rendered, or displayed on at least one computing device 122, such as a laptop computer, desktop computer, tablet computer, personal digital assistant, smartphone, portable computer, or speaker. For example, via network 105, a user of computing device 122 can access information or data provided by 3P digital content provider device 134. Computing device 122 may or may not include a display; for example, the computing device may include limited types of user interfaces, such as microphones and speakers. In some cases, the primary user interface of computing device 122 may be a microphone and speakers. Computing device 122 is capable of interacting with or being included in a voice-based computing environment.
[0029] Network 105 can be used by data processing system 102 to access information resources, such as applications, web pages, websites, domain names, or Uniform Resource Locators, that can be presented, output, rendered, or displayed by client computing device 122. For example, a user of client computing device 122 can access information or data provided by 3P digital content provider device 134 via network 105. Network 105 can include or constitute a subnet of information resources available on the Internet, which is associated with content delivery or search engine results systems, or is eligible to include third-party digital components as part of digital component delivery activities.
[0030] Network 105 can be any type or form of network and can include any of the following: point-to-point network, broadcast network, wide area network, local area network, telecommunications network, data communication network, computer network, ATM (Asynchronous Transfer Mode) network, SONET (Synchronous Optical Network) network, SDH (Synchronous Digital Hierarchy) network, wireless network, and wired network. Network 105 may include wireless links, such as infrared channels or satellite bands. The topology of network 105 may include bus, star, or ring network topologies. The network may include a mobile phone network using any one or more protocols for communication between mobile devices, including Advanced Mobile Phone Protocol (“AMPS”), Time Division Multiple Access (“TDMA”), Code Division Multiple Access (“CDMA”), Global System for Mobile Communications (“GSM”), General Packet Radio Service (“GPRS”), or Universal Mobile Telecommunications System (“UMTS”). Different types of data may be transmitted via different protocols, or the same type of data may be transmitted via different protocols.
[0031] System 100 may include, interface with, communicate with, or otherwise access a 3P eResource Server 142. Data processing system 102 may communicate with the 3P eResource Server 142 via network 105. The 3P eResource Server 142 may be located remotely from and distinct from data processing system 102, remote data processing system 136, 3P digital content provider device 134, and computing device 122. The 3P eResource Server 142 may be associated with the developer of eResource 112. The 3P eResource Server 142 may facilitate the execution of eResource 112. For example, the 3P eResource Server 142 may perform backend processing on eResource 112 executed by application 110. Application 110, running on computing device 122, may execute frontend components of application 110, and the 3P eResource Server 142 may execute backend components of application 110. Application 110, running on computing device 122, may transmit teleprompters or other requests or data to the 3P eResource Server 142. The 3P electronic resource server 142 can transmit data, information, or requests to the application 110 to perform functions or actions. The 3P electronic resource server 142 can modify or change the state of the application 110 or electronic resource 112 executed or provided by the application 110 running on the computing device 122.
[0032] System 100 may include at least one remote data processing system 136. The remote data processing system 136 may include at least one logical device, such as a computing device having a processor to communicate via network 105, for example, with data processing system 102, or a 3P digital content provider device 134 (e.g., a content provider). The remote data processing system 136 may include at least one computing resource, server, processor, or memory. For example, the remote data processing system 136 may include multiple computing resources or servers located in at least one data center. The remote data processing system 136 may include multiple logically grouped servers and may facilitate distributed computing technologies. The logical group of servers may be referred to as a data center, server farm, or machine farm. Servers may also be geographically distributed. A data center or machine farm may be managed as a single entity, or a machine farm may comprise multiple machine farms. Servers within each computer farm may be heterogeneous—one or more servers or machines may operate according to one or more operating system platforms.
[0033] Servers in a server farm can be stored alongside associated storage systems in high-density rack systems and can be located within an enterprise data center. For example, consolidating servers in this way can improve system manageability, data security, physical security, and system performance by placing servers and high-performance storage systems on a localized, high-performance network. The centralization of all or some of the 136 components of a remote data processing system, including servers and storage systems, and coupling them with advanced system management tools, allows for more efficient use of server resources, saving power and processing demands while reducing bandwidth usage.
[0034] The remote data processing system 136 may include a digital assistant server 138 and a content selector component 140. The digital assistant server 138 may be designed, constructed, and operated to perform one or more functions communicating with the digital assistant component 106 of the computing device 122. The content selector component 140 may be designed, constructed, and operated to select digital component items (e.g., content items) provided by the 3P digital content provider device 134. The content selector component 140 may select content items in response to a request for content from the computing device 122. The content selector component 140 may transmit the selected content items to the computing device 122 for presentation (e.g., audio output, visual output, or audiovisual output).
[0035] System 100 may include, access, or otherwise interact with at least one 3P digital content provider device 134. The 3P digital content provider device 134 may include at least one logical device, such as a computing device with a processor, to communicate via network 105 with, for example, computing device 122, data processing system 102, or remote data processing system 136. The 3P digital content provider device 134 may include at least one computing resource, server, processor, or memory. For example, the 3P digital content provider device 134 may include multiple computing resources or servers located in at least one data center. The 3P digital content provider device 134 may include or refer to service provider devices or goods provider devices.
[0036] The 3P digital content provider device 134 is capable of providing audio-based digital components for presentation as audio output digital components by the computing device 122. The digital components can include responses to search queries or requests. The digital components can include information from databases, search engines, or web resources. For example, the digital components can include news information, weather information, sports information, encyclopedia entries, dictionary entries, or information from digital textbooks. The digital components can include offers of goods or services, such as voice-based messages stating, "Would you like me to order you ataxi?" The 3P digital content provider device 134 can include memory to store a series of audio digital components that can be provided in response to voice-based queries. The 3P digital content provider device 134 is also capable of providing audio-based digital components (or other digital components) to a teledata processing system 136, where they can be stored for selection by a content selector component 140. The teledata processing system 136 can select audio digital components and provide (or instruct the content provider computing device 140 to provide) the digital components to the client computing device 122. Audio-based digital components can be dedicated audio or can be combined with text, image, or video data. Digital components or content items can include images, text, video, multimedia, or other types of content in one or more formats.
[0037] The remote data processing system 136 may include a content delivery system having at least one computing resource or server. The remote data processing system 136 may include at least one content selector component 108, connected to or otherwise communicating with the at least one content selector component 140. The remote data processing system 136 may include at least one digital assistant server 138, interface with or otherwise communicate with the at least one digital assistant server 138.
[0038] Content selector component 140 and digital assistant server 138 may each include at least one processing unit or other logical device, such as a programmable logic array engine, or a module configured to communicate with each other or with other resources or databases. Content selector component 140 and digital assistant server 138 may be separate components, single components, or part of remote data processing system 136. System 100 and its components, such as remote data processing system 136, may include hardware elements such as one or more processors, logical devices, or circuitry.
[0039] The remote data processing system 136 is capable of obtaining anonymous computer network activity information associated with multiple computing devices 122. Users of computing devices 122 can authorize the remote data processing system 136 to obtain network activity information corresponding to their computing devices 122. For example, the remote data processing system 136 can prompt the user of computing devices 122 to consent to obtaining one or more types of network activity information. The identity of the user of computing devices 122 can remain anonymous, and computing devices 122 can be associated with unique identifiers (e.g., unique identifiers for users or computing devices provided by the data processing system). The remote data processing system 136 can associate each observation with a corresponding unique identifier.
[0040] The 3P digital content provider device 134 can create electronic content campaigns. These campaigns can be stored as content data in the repository of the content selector component 140. Each electronic content campaign can refer to one or more groups of content corresponding to a common theme. The campaign can include a hierarchical data structure comprising content groups, digital component data objects, and content selection criteria. To create a content campaign, the 3P digital content provider device 134 can specify values for campaign level parameters. These parameters can include, for example, campaign name, preferred content network for delivering digital component objects, the value of resources to be used for the campaign, the start and end dates of the campaign, the duration of the campaign, the schedule for delivering digital component objects, language, geographic location, and the type of computing device on which the digital component objects are to be delivered. In some cases, an impression can refer to when digital component objects are retrieved from their source (e.g., remote data processing system 136 or digital content provider device 134) and is countable. In some cases, bot activity can be filtered and excluded based on the impression due to the possibility of click fraud. Therefore, in some cases, an impression can refer to a measure of the response from a web server to a page request from a browser, filtered out for bot activity and error codes, and recorded at a point as close as possible to the chance of rendering the digital component object for display on display device 122. In some cases, an impression can refer to a visible or audible impression; for example, the digital component object is at least partially visible (e.g., 20%, 30%, 30%, 40%, 50%, 60%, 70% or more) on the display device of the client computing device 122, or audible via the speakers of computing device 122. A click or selection can refer to an interaction between a user and the digital component object, such as a voice response to an audible impression, a mouse click, a touch interaction, a gesture, a shake, an audio interaction, or a keyboard click. A conversion can refer to a user taking an intended action relative to the digital component object; for example, purchasing a product or service, completing a survey, visiting a physical store corresponding to the digital component, or completing an electronic transaction.
[0041] The 3P digital content provider device 134 can further establish one or more content groups for content campaigns. A content group includes one or more digital component objects and corresponding content selection criteria, such as keywords, words, terms, phrases, geographic location, type of computing device, time, interests, themes, or verticals. Content groups under the same content campaign can share the same campaign-level parameters, but can be customized for specific content group-level parameters, such as keywords, negative keywords (e.g., preventing digital components from being delivered if negative keywords are present in the main content), keyword bids, or parameters associated with bids or content campaigns.
[0042] To create a new content group, the 3P digital content provider device 134 can provide values for content group-level parameters. Content group-level parameters include, for example, the content group name or content group topic, and bids for different content delivery opportunities (e.g., automated or managed delivery) or results (e.g., clicks, impressions, or conversions). The content group name or content group topic can be one or more terms that the 3P digital content provider device 134 can use to capture the topic or theme to be selected for display by the digital component objects of the content group. For example, a car dealership can create different content groups for each brand of vehicles it sells, and can further create different content groups for each model of vehicle it sells. Examples of content group topics that a car dealership can use include, for example, “Make A sportscar,” “Make B sportscar,” “Make C sedan,” “Make C truck,” “Make C hybrid,” or “Make D hybrid.” Example content activity topics can be "hybrid vehicles" and include, for example, content groups for both "Brand C Hybrid (Make C hybrid)" and "Brand D Hybrid (Make D hybrid)".
[0043] The 3P digital content provider device 134 can provide one or more keywords and digital component objects to each content group. Keywords can include terms related to a product or service that is associated with or identified by a digital component object. Keywords can include one or more terms or phrases. For example, a car dealer can include "sports car," "V-6 engine," "four-wheel drive," and "fuel efficiency" as keywords for a content group or content campaign. In some cases, the content provider can specify negative keywords to avoid, prevent, block, or disable content delivery for certain terms or keywords. The content provider can specify the matching type used to select digital component objects, such as exact match, phrase match, or broad match.
[0044] The 3P digital content provider device 134 can provide one or more keywords for use by the remote data processing system 136 to select digital component objects provided by the 3P digital content provider device 134. The 3P digital content provider device 134 can identify one or more keywords to bid on and further provide bid amounts for various keywords. The 3P digital content provider device 134 can provide other content selection criteria for use by the remote data processing system 136 to select digital component objects. Multiple 3P digital content provider devices 134 can bid on the same or different keywords, and the remote data processing system 136 can run a content selection process or advertising auction in response to keyword instructions received via electronic message.
[0045] The 3P digital content provider device 134 can provide one or more digital component objects for selection by the remote data processing system 136. When a content delivery opportunity becomes available that matches resource allocation, content schedule, maximum bid, keywords, and other selection criteria specified for the content group, the remote data processing system 136 (e.g., via the content selector component 140) can select a digital component object. Different types of digital component objects can be included in the content group, such as voice digital components, audio digital components, text digital components, image digital components, video digital components, multimedia digital components, or digital component links. When selecting a digital component, the remote data processing system 136 can transmit the digital component object for presentation via computing device 122, on computing device 122, or on a display device of computing device 122. Rendering can include displaying the digital component on a display device or playing the digital component via speakers of computing device 122. The remote data processing system 136 can provide instructions to computing device 122 to render the digital component object. The remote data processing system 136 can instruct the digital assistant component 106 of the computing device 122 or the audio driver 132 of the computing device 122 to generate audio signals or sound waves. The remote data processing system 136 can instruct an application 110 executed by the computing device 122 to present a selected digital component object. For example, the application 110 can include slots (e.g., content slots) (e.g., audio slots or visual slots) capable of presenting digital component objects.
[0046] Data processing system 102 can include, execute, or otherwise communicate with content selector component 140 to receive queries, keywords, or trigger keywords recognized by a natural language processor, and select digital components based on the trigger keywords. Content selector component 140 can select digital components via a real-time content selection process. The content selection process can include, for example, performing a search via a search engine, or accessing a database stored on a remote server or device, such as 3P digital content provider device 134. The content selection process can refer to or include selecting sponsored digital component objects provided by third-party content provider 134. The real-time content selection process can include a service where digital components provided by multiple content providers are parsed, processed, weighted, or matched to select one or more digital components to provide to computing device 122. Content selector component 140 can execute the content selection process in real time. Executing the content selection process in real time can refer to executing the content selection process in response to a request for content received via client computing device 122. The system can perform a real-time content selection process within a time interval (e.g., 1 second, 2 seconds, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 1 minute, 2 minutes, 3 minutes, 5 minutes, 10 minutes, or 20 minutes) when a request is received. The real-time content selection process can be performed during a communication session with the client computing device 122 or within a time interval after the communication session has ended. The data processing system 102 can select the audio beep to be provided after completing digital component selection processing or other digital tasks.
[0047] For example, digital data processing system 102 may include a content selector component 140 designed, constructed, configured, or operable to select digital component objects. To select digital components for display in a voice-based environment, data processing system 102 (e.g., via an NLP component of digital assistant component 106) may parse input audio signals to identify queries, keywords (e.g., trigger keywords), and use the keywords to select matching digital components. Data processing system 102 may select matching digital components based on broad matching, exact matching, or phrase matching. For example, content selector component 140 may analyze, parse, or otherwise process the subject of candidate digital components to determine whether the subject of the candidate digital component corresponds to the subject of a keyword or phrase in the input audio signal detected by the microphone of client computing device 122. Content selector component 140 may use image processing techniques, character recognition techniques, natural language processing techniques, or database lookups to identify, analyze, or recognize the speech, audio, terms, characters, text, symbols, or images of candidate digital components. The candidate digital component may include metadata indicating the subject of the candidate digital component. In this case, the content selector component 140 may process the metadata to determine whether the subject of the candidate digital component corresponds to the input audio signal.
[0048] The 3P digital content provider 134 can provide additional indicators when setting up content activities that include digital components. The content provider can provide information at the content activity or content group level about how the content selector component 140 can perform lookup identification using information about candidate digital components. For example, candidate digital components can include unique identifiers that can be mapped to content groups, content activities, or content providers. The content selector component 140 can determine information about the 3P digital content provider device 134 based on information stored in the content activity data structure in the data repository 108.
[0049] The remote data processing system 136 is capable of receiving requests via a computer network for content to be presented on the computing device 122. The data processing system 102 is capable of recognizing the request by processing input audio signals detected by the microphone of the client computing device 122. The request can include selection criteria such as device type, location, and keywords associated with the request.
[0050] In response to the request, the remote data processing system 136 can select a digital component object from a data repository or database capable of including content provided by one or more 3P digital content provider devices 134, and provide the digital component for presentation via network 105 through computing device 122. Computing device 122 is capable of interacting with the digital component object. Computing device 122 is capable of receiving audio responses to the digital component. Computing device 122 is capable of receiving instructions to select a hyperlink or other button associated with the digital component object, which enables or allows computing device 122 to identify a service provider, request services from the service provider, instruct the service provider to perform services, transmit information to the service provider, or otherwise query the service provider's device.
[0051] Computing device 122 (or client computing device or client device) may include or execute data processing system 102. Data processing system 102 may include at least one interface 104, which it interfaces with or otherwise communicates with. Data processing system 102 may include at least one local digital assistant component 106 (or digital assistant component 106), which it interfaces with or otherwise communicates with. Local digital assistant component 106 may include natural language processing capabilities or functions. Local digital assistant component 106 may include a natural language processor (“NLP”) component. Data processing system 102 may include at least one data repository 108, which it interfaces with or otherwise communicates with. Data processing system 102 may include or execute at least one application 110. Data processing system 102 may at least partially execute at least one application 110 (e.g., the application may include client components and server components). Application 110 may execute or provide electronic resources 112. Electronic resources 112 may include a script library 114. The script library 114 can include, access, provide, or otherwise utilize the dynamic notification component 116 or the digital assistant selector component 120.
[0052] Data repository 108 may include one or more local or distributed databases and may include a database management system. Data repository 108 may include a computer data storage device or storage device and may store application 110, application data, profiles, indexes, device configuration information, account information, preferences, data associated with electronic resources, and other data. Application 110 may include executable files, application package files, configuration files, or other data that facilitates application execution.
[0053] Interface 104, digital assistant component 106, application 110, or other components of data processing system 102 may each include or utilize at least one processing unit or other logic device, such as a programmable logic array engine, or a module configured to communicate with each other or with other resources or databases. Interface 104, digital assistant component 106, application 110, or other components of data processing system 102 may be separate components, single components, or part of data processing system 102. System 100 and its components, such as data processing system 102, may include hardware elements such as one or more processors, logic devices, or circuitry. Components, systems, or modules of data processing system 102 may be at least partially executed by remote data processing system 136.
[0054] The computing device 122 may include, interface with, or otherwise communicate with, at least one sensor 130, transducer 126, audio driver 132, preprocessor 124, or display device 128. The sensor 130 may include, for example, an ambient light sensor, proximity sensor, temperature sensor, accelerometer, gyroscope, motion detector, GPS sensor, position sensor, microphone, or touch sensor. The transducer 126 may include a speaker or microphone. The audio driver 132 may provide a software interface to the hardware transducer 126. The audio driver may execute an audio file or other instructions provided by the data processing system 102 to control the transducer 126 to generate corresponding sound waves or audio waves. The display device 128 may include... Figure 7 The depicted display 735 includes one or more components or functions. The preprocessor 124 can be configured to detect trigger keywords, predefined hot words, initialization keywords, or activation keywords. In some cases, the trigger keyword can include a request to perform an action. In some cases, the trigger keyword can include a predefined action keyword to enable or activate the computing device 122, and the request keyword can follow the trigger keyword or hot word. The preprocessor 124 can be configured to detect keywords and perform actions based on those keywords. The preprocessor 124 can detect wake words or other keywords or hot words, and in response to this detection, invoke the digital assistant component 106 of the data processing system 102 executed by the computing device 122. In some cases, the preprocessor 124 can filter out or modify one or more terms before transmitting terms to the remote data processing system 136 for further processing. The preprocessor 124 can convert analog audio signals detected by a microphone into digital audio signals, and transmit or provide one or more data packets carrying the digital audio signals to the data processing system 102 or the remote data processing system 136 via the network 105. In some cases, in response to detecting an instruction to perform such a transmission, the preprocessor 124 can provide a data packet carrying some or all of the input audio signals to the digital assistant component 106 or the remote data processing system 136. This instruction can include, for example, triggering a keyword or other keyword or permission to transmit the data packet including the input audio signals to the data processing system 102 or the remote data processing system 136.
[0055] Client computing device 122 can be associated with an end user who inputs a voice query as audio input (via sensor 130) into client computing device 140 and receives audio output in the form of computer-generated speech, which can be provided to client computing device 122 from data processing system 102 (or 3P digital content provider device 134) and output from transducer 126 (e.g., speaker). Computer-generated speech can include recordings from real people or computer-generated language.
[0056] Data processing system 102 may include at least one interface 104 designed, configured, constructed, or operable to receive and transmit information using, for example, data packets. Interface 104 may use one or more protocols, such as network protocols, to receive and transmit information. Interface 104 may include a hardware interface, a software interface, a wired interface, or a wireless interface. Interface 104 may facilitate the conversion or formatting of data from one format to another. For example, interface 104 may include an application programming interface (API) that includes definitions for communication between various components, such as software components. Interface 104 may facilitate communication between one or more components of system 100, such as communication between digital assistant component 106, application 110, and data repository 108.
[0057] Data processing system 102 may include a local digital assistant component 106. Local digital assistant component 106 may include applications, scripts, or programs installed on client computing device 122. Local digital assistant component 106 may receive input signals, data packets, or other information. Local digital assistant component 106 may receive data packets or other input via interface 104. Local digital assistant 106 may include applications for receiving input audio signals from interface 104 of data processing system 102 and driving components of the client computing device to present output audio signals. Data processing system 102 may receive data packets or other signals that include or identify audio input signals. For example, local digital assistant component 106 may be configured with NLP technologies, functions, or components that can receive or acquire audio signals and parse audio signals. Digital assistant component 106 may provide human-computer interaction. Digital assistant component 106 may be configured with technologies for understanding natural language and allowing data processing system 102 to derive meaning from human or natural language input. Digital assistant component 106 may include or be configured with machine learning-based technologies, such as statistical machine learning. Digital assistant component 106 is capable of parsing input audio signals using decision trees, statistical models, or probabilistic models. Digital assistant component 106 is capable of performing functions such as named entity recognition (e.g., given a stream of text, determining which items in the text map to appropriate names such as people or places, and what type each such name is, such as person, location, or organization), natural language generation (e.g., converting information from a computer database or semantic intent into understandable human language), natural language understanding (e.g., converting text into more formal representations, such as first-order logical structures that a computer module can manipulate), machine translation (e.g., automatically translating text from one human language to another), morphological segmentation (e.g., separating words into individual morphemes and identifying the category of morphemes, which can be challenging based on the morphological or structural complexity of words in the language under consideration), question answering (e.g., determining answers to human language questions, which can be specific or open-ended), and semantic processing (e.g., processing that occurs after words are identified and their meanings are encoded to relate the identified words to other words with similar meanings).
[0058] Digital assistant component 106 is capable of (e.g., utilizing NLP techniques, functions, or components) converting an audio input signal into recognized text by comparing it to a representative set of stored audio waveforms and selecting the closest match. The set of audio waveforms can be stored in data repository 108 or another database accessible to data processing system 102. Representative waveforms can be generated across a large user set and can then be enhanced using speech samples from users. After the audio signal is converted into recognized text, digital assistant component 106 is capable of matching the text with words that are associated with actions available from data processing system 102, for example, using models stored in data repository 108 that have been trained across users or manually specified.
[0059] Audio input signals can be detected by sensor 130 or transducer 126 (e.g., microphone) of client computing device 122. The client computing device 122 can provide the audio input signals to data processing system 102 via transducer 126, audio driver 132, or other components, wherein the audio input signals can be received (e.g., via interface 104) and provided to local digital assistant 106 or stored in data repository 108.
[0060] Digital assistant component 106 is capable of acquiring input audio signals. Based on the input audio signals, digital assistant component 106 is capable of recognizing at least one request or at least one trigger keyword corresponding to the request. The request is capable of indicating the intent or subject of the input audio signal. The trigger keyword is capable of indicating the type of action that may be taken. For example, digital assistant component 106 is capable of parsing the input audio signal to recognize at least one request to invoke the application. Digital assistant component 106 is capable of parsing the input audio signal to recognize at least one request, such as a request to leave home for dinner or to watch a movie. Keywords can include at least one word, phrase, root word or part of a word, or a derivative indicating an action to be taken. For example, the keyword "go" or "to go to" from the input audio signal can indicate a need for transportation. In this example, the input audio signal (or the recognized request) does not directly express an intent to travel; however, the keyword indicates that transportation is an auxiliary action to at least one other action indicated by the request.
[0061] Digital assistant component 106 is capable of parsing input audio signals to identify, determine, retrieve, or otherwise obtain requests and keywords. For example, digital assistant component 106 can apply semantic processing techniques to the input audio signal to identify keywords or requests. Digital assistant component 106 can apply semantic processing techniques to the input audio signal to identify one or more keywords. Keywords can include one or more terms or phrases. Digital assistant component 106 can apply semantic processing techniques to identify the intent to perform a digital action.
[0062] For example, computing device 122 can receive an input audio signal detected by sensor 130 (e.g., microphone) of client computing device 122. The input audio signal could be “digital assistant, I need someone to do my laundry and my dry cleaning”. Preprocessor 124 of client computing device 122 can detect wake words, hot words, or trigger keywords in the input audio signal, such as “digital assistant”. Preprocessor 124 can detect wake words, hot words, or trigger keywords by comparing an audio signature or waveform in the input audio signal with a model audio signature or waveform corresponding to the trigger keyword. Preprocessor 124 can determine that the input audio signal includes a wake word, hot word, or trigger keyword, indicating that the input audio signal will be processed by digital assistant component 106. In response to the detection of a hot word, wake word, or trigger keyword, preprocessor 124 can determine, authorize, route, forward, or otherwise provide the detected input audio signal to data processing system 102 for processing by digital assistant component 106.
[0063] Digital assistant component 106 is capable of receiving input audio signals and applying semantic processing or other natural language processing techniques to the input audio signals, including sentences, to identify trigger phrases such as "do my laundry" and "do my dry cleaning." In some cases, digital assistant component 106 can provide data packets corresponding to the input audio signals to remote data processing system 136 so that digital assistant server 138 can process the input audio signals. Digital assistant component 106 can process the input audio signals in conjunction with or via digital assistant server 138. Digital assistant component 106 can further identify multiple keywords, such as "laundry" and "dry cleaning."
[0064] Digital assistant component 106 is capable of recognizing and executing search queries, keywords, intents, or phrases corresponding to searches for information or other requests. Digital assistant component 106 is capable of determining that an input audio signal corresponds to a request for information about a topic, event, current event, news event, dictionary definition, historical event, person, place, or thing. For example, digital assistant component 106 can determine that an input audio signal corresponds to a query, request, intent, or action to make travel arrangements, book an itinerary, obtain information, perform a web search, check stock prices, launch an application, view the news, order food, or purchase other products, goods, or services.
[0065] Digital assistant component 106 can use one or more techniques to parse or process input audio signals. Techniques can include rule-based or statistical techniques. Techniques can utilize machine learning or deep learning. Example techniques can include named entity recognition, sentiment analysis, text summarization, aspect mining, or topic mining. Techniques can include or be based on text embeddings (e.g., real-valued vector representations of strings), machine translation (e.g., language analysis and language generation), or dialogue and conversation (e.g., models used by artificial intelligence). Techniques can include determining or utilizing grammatical techniques (e.g., word arrangement in a grammatically based sentence), such as lexicalization, morphological segmentation, word segmentation, part-of-speech tagging, parsing, sentence breaking, or stemming. Techniques can include determining or utilizing semantic techniques, such as named entity recognition (e.g., determining text portions that can be identified and classified into the current group, such as the name, person, or location of application 152), word sense disambiguation, or natural language generation.
[0066] In some cases, digital assistant component 106 can launch application 110. In some cases, application 110 may have been launched before digital assistant component 106 receives the input audio signal. For example, based on the processing or parsing of the input audio signal, digital assistant component 106 can identify application 110 to invoke, launch, open, or otherwise activate it. Digital assistant component 106 can identify application 110 based on parsing the input audio signal to identify terms, keywords, trigger keywords, or phrases. Digital assistant component 106 can perform a lookup in data repository 108 using the identified terms, keywords, trigger keywords, or phrases to identify application 110. In some cases, keywords can include the identifier of application 110, such as "Application_Name_A" or "Application_Name_B". In some cases, keywords can indicate the type or category of application 110, such as a ride-sharing application, restaurant reservation application, movie ticket application, news application, weather application, navigation application, streaming music application, streaming video application, restaurant review application, or other types or categories of application 110. In cases where application 110 may have been started and executed before the input audio signal is received, digital assistant component 106 can process the input audio signal to determine the action to be performed in application 110 or the response to a call action presented via an electronic resource rendered by application 110.
[0067] Client computing device 122 is capable of executing application 110. Data processing system 102 is capable of executing application 110. Data processing system 102 may include or execute an operating system, through which client computing device 122 can execute application 110. Application 110 may include any type of application configured by client computing device 122 to execute, run, launch, or otherwise provide. Application 110 may include multimedia applications, music players, video players, web browsers, word processors, mobile applications, desktop applications, tablet applications, video games, e-commerce applications, or other types of applications 110. Application 110 is capable of executing, rendering, loading, parsing, processing, presenting, or otherwise outputting data corresponding to electronic resource 112. Electronic resource 112 may include, for example, websites, web pages, multimedia web content, video content, audio content, travel content, entertainment content, content related to shopping or services, or other content.
[0068] Application 110 can receive data associated with electronic resource 112 from a third-party (“3P”) electronic resource server 142. The 3P electronic resource server 142 can provide electronic resource 112 for execution by application 110. The 3P electronic resource server 142 may include a file server, web server, game server, multimedia server, cloud computing environment, or other backend computing systems configured to provide data so that application 110 can present or provide electronic resource 112 via computing device 122. Computing device 122 can access the 3P electronic resource server 142 via network 105.
[0069] The administrator of the 3P eResource Server 142 can develop, create, maintain, or provide eResource 112. The 3P eResource Server 142 can transfer eResource 112 to computing device 122 in response to a request for eResource 112. eResource 112 can be associated with identifiers such as Uniform Resource Locators (“URLs”), Uniform Resource Identifiers, web addresses, or filenames or file paths. The 3P eResource Server 142 can receive requests for eResource 112 from application 110. eResource 112 can include electronic documents, web pages, multimedia content, streaming media content, audio, video, text, images, video games, or other digital or electronic content.
[0070] The administrator of the 3P e-resource server 142 can provide a script library 114. The 3P e-resource server 142 can embed the script library 114 into the e-resource 112. The script library 114 can include a JavaScript library. The script library 114 can be configured to communicate with a remote data processing system 136 to provide digital assistant-based functionality to the e-resource 112. The script library 114 can provide user interface elements (e.g., buttons, forms, autocomplete suggestions) on the e-resource 112.
[0071] Data processing system 102 can load a graphical user interface element corresponding to script library 114 at a location on electronic resource 112 established by the electronic resource provider. Script library 114 can be launched within an embedded frame (“iframe”) on electronic resource 112. By launching or executing within the embedded frame on electronic resource 112, data processing system 102 can host script library 114 or its corresponding user interface element in a secure computing environment. The computing environment can be secure with respect to the electronic resource or 3P electronic resource server 142. For example, the iframe in which script library 114 executes can control or prevent access to the content or data of the iframe. The iframe can prevent electronic resource 112 or 3P electronic resource server 142 from accessing the content or data associated with script library 114. Script library 114 executing in the iframe can communicate data with digital assistant server 138, while electronic resource 112 (or 3P electronic resource server 142) does not gain access to the data. The script library 114 can obtain data or information or other information associated with the data processing system 102, the account logged into the data processing system 102, and the computing device 122.
[0072] The administrator of electronic resource 112 can place Hypertext Markup Language (“HTML”) tags on electronic resource 112. Electronic resource 112 can include HTML tags. The HTML tags on electronic resource 112 can include descriptions or configuration settings for how script libraries display user interface elements on electronic resource 112. The following diagram illustrates an example of HTML tags in electronic resource 112:
[0073]
[0074]
[0075] Custom web elements <digital-assistant-action-link-group>It can act as a container, holding the calling actions provided by the 3P e-resource server 142 for display on the e-resource 112. Each within the container <digital-assistant-action-link>It can represent a single invoke action to be displayed on electronic resource 112. 3P can specify additional configurations for the invoke action on the page, such as icons, item identifiers, or attributes. For example, an attribute can be a hypertext reference ("href") and have the type "string". The href attribute can include a Uniform Resource Locator (URL) for the action link in the local digital assistant experience. The URL can be validated before rendering the selected action user interface. Data processing system 102 can block or not render invalid action links. To validate action links, data processing system 102 or remote data processing system 136 can: 1) determine whether the suffix of the loaded script library 114 matches the URL suffix of the action link; 2) determine whether the loaded script library 114 has an action intended for the action link; and 3) determine whether the loaded script library 114 has a link enabled for the action link's intent.
[0076] Another example attribute can include "Title" with the type "String". The title attribute can display or provide a title. This title can be the same as the intent_title of the action link, or a different title set by the administrator of eResource112.
[0077] Application 110, such as a web browser, can load electronic resources 112. Loading electronic resources 112 can include downloading data or content of electronic resources 112 from a 3P electronic resource server 142 or other file server, web server, or host server. Loading electronic resources 112 can include application 110 rendering or executing electronic resources 112. Loading electronic resources 112 can include application 110 loading a script library 114 embedded with electronic resources 112. The script library can include multiple invocation actions for electronic resources 112 configured to be executed by one or more digital assistants. Invocation actions can be configured to be executed by a local digital assistant component 106 or a digital assistant server 138. Invocation actions can be executed by both local digital assistant component 106 and digital assistant server 138. For example, local digital assistant component 106 and digital assistant server 138 can communicate with each other to execute invocation actions, or execute different parts of invocation actions.
[0078] Computing device 122 or data processing system 102 can be associated with or linked to multiple digital assistants executed by multiple computing devices 122. Digital assistants can be associated with or linked to the same account identifier. For example, a user can log in to data processing system 102 using a username and password or other credentials. Data processing system 102 can authenticate and authorize users to use digital assistant components. Accounts can be associated with multiple computing devices 122, such as smartphones, laptops, tablets, smartwatches, and desktop computers. Each of the computing devices 122 can include a local digital assistant component 106 capable of interfacing with digital assistant server 138. Therefore, a script library can be configured with invocation actions that can be executed by one or more digital assistants corresponding to one or more local digital assistant components 106 executed by one or more computing devices 122, which are linked with or associated with the same account identifier of the user of the computing device 122.
[0079] When loading eResource 112, application 110 enables script library 114 to be loaded into a secure iframe of eResource 112. Script library 114 can initiate, call, initiate, execute, invoke, or otherwise provide one or more components, such as dynamic notifyer component 116 and digital assistant selector component 120. For example, if 3P eResource server 142 does not receive the transmitted data, components of script library 114 can securely communicate with one or more components or elements of data processing system 102 or remote data processing system 136. Script library can be created by a third-party service provider (e.g., 3P eResource server 142) using invocation actions that include a predetermined set of invocation actions selected by the third-party service provider. Administrators of 3P eResource server 142 can create invocation actions for eResource 112 and embed these actions into script library 114. Each invocation action can be associated with attributes or metadata indicating what task, when, or under what conditions the invocation action is invoked or presented. Script library 114 can be designed, configured, and operated to perform... Figure 2 and Figure 3 One or more functions, processes, or methods described herein, such as processes 200 and 300.
[0080] The dynamic notification component 116 can be designed, constructed, and operated to query the digital assistant component 106 to determine the historical engagement level between the computing device 122 and one or more digital assistants. The dynamic notification component 116 can determine the historical engagement level between a digital assistant and an account associated with the computing device 122. An account can be associated with multiple computing devices. In some cases, the historical engagement level can be based on engagements with digital assistants on all computing devices 122 associated with the same account. In some cases, the historical engagement level can be based on engagements with the digital assistant associated with the computing device 122 that loads the script library 114.
[0081] The dynamic notification component 116 can determine what action to present and then select the type of digital interface used to present the action. To select the action, the dynamic notification component 116 can determine the current context or state of the electronic resource 112. For example, the state or context can refer to or include a search status, purchase status, checkout process, or information collection process. The context may indicate that the user is searching for flights or cannot identify flights with, for example, a desired price, time, or duration. The electronic resource 112 can present a survey or prompt to obtain context information. The dynamic notification component 116 can identify the action associated with the current context or state of the electronic resource 112.
[0082] To select the type of interface to generate, the dynamic notifyer component 116 can determine the historical contact level. The historical contact level can refer to the previous contact level. The historical contact level can refer to the contact level before the current time. The historical contact level can refer to the contact level within the most recent 24 hours, 48 hours, 72 hours, 1 week, 2 weeks, 3 weeks, 4 weeks, 30 days, 60 days, 90 days, 6 months, or longer.
[0083] Data processing system 102 (e.g., via dynamic notification component 116) can receive information about historical engagement levels from digital assistant server 138, which is located remotely from data processing system 102, via network 105. Dynamic notification component 116 can determine engagement levels based on the amount of digital assistant usage. Engagement levels can be based on the number of times the digital assistant is used, the number of interactions with the digital assistant, or the number of times the digital assistant has been activated or invoked. Engagement levels can also be based on the type of interaction with the digital assistant. The type of interaction can include, for example, the category or type of task performed by the digital assistant, the type of query, the type of request, or the type of invocation action. Examples of task or invocation action types can include launching an application, performing an online search, making a purchase, ordering a service, making a ride-sharing request, checking the weather, or other types of tasks. The category of task or invocation action can include, for example, requests for information, entertainment tasks, purchases, business, ride-sharing requests, or multimedia requests. Dynamic notification component 116 can determine historical engagement levels based on the number of previous interactions between multiple client computing devices over a time interval (e.g., the past 24 hours, 48 hours, 7 days, or 30 days).
[0084] The dynamic notification component 116 can determine the engagement level for a specific category or task. It can determine the engagement level for a specific electronic resource 112 or application 110. It can determine the engagement level for a specific time of day, a specific day of the week, or the location of the computing device 122. It can determine the engagement level for a specific account logged into the computing device 122. It can determine the engagement level for a specific user of the computing device 122.
[0085] The dynamic notification component 116 can determine the engagement level as a score, value, percentage, or other label. For example, the dynamic notification component 116 can determine the engagement level as low, medium, or high. The dynamic notification component 116 can determine a numerical value or score to represent the score level. For example, the dynamic notification component 116 can use a scale from 1 to 10 to represent the engagement level, where 1 is the lowest engagement level and 10 is the highest engagement level. In another example, the dynamic notification component 116 can represent the engagement level as a grade, such as A, B, C, D, or F, where A is the highest engagement level and F is the lowest engagement level. The dynamic notification component 116 can use binary values to represent the engagement level, where 1 indicates that there has been a historical engagement between the account and the digital assistant during a previous time interval (e.g., the last week), and 0 indicates that there is no engagement between the account and the digital assistant or that the account was recently created.
[0086] Engagement levels can be based on multiple factors. These factors can be combined to determine the overall engagement level. Factors can include, for example, the type of engagement, the category of engagement, or other aspects of historical engagements. For example, the dynamic notification component 116 can assign values to multiple engagement factors and then combine these values (e.g., sum, product, average, or weighted average) to determine a total score. For example: the number of engagements in the past week + the number of engagements of the same category with the same electronic resource 112 + the number of engagements on the same computing device 122. The dynamic notification component 116 can determine the total score based on these factors. The dynamic notification component 116 can compare the score to a threshold to determine whether the engagement level is low or high; or map the score to a more granular level, such as low, medium-low, medium-high, or high engagement level. The threshold can be predetermined or configured by the administrator of the remote data processing system 136. The threshold can be dynamically determined based on the aggregated engagement levels of other accounts.
[0087] For example, e-resource 112 could be a website involved in purchasing airline tickets. Dynamic notification component 116 can determine that a digital assistant has been used to facilitate the purchase of airline tickets on e-resource 112 within the past 30 days. Therefore, dynamic notification component 116 can determine that the account and the e-resource 112 have a high level of engagement.
[0088] To determine historical engagement levels, the dynamic notification component 116 can communicate with the digital assistant server 138 via network 105. The dynamic notification component 116 can transmit requests or queries to the digital assistant server 138 to obtain information from the digital assistant server 138 regarding the historical engagement levels between an account logged into computing device 122 and the digital assistant. In some cases, the dynamic notification component 116 can obtain information from the local digital assistant component 106. For example, the dynamic notification component 116 can query or otherwise communicate with the local digital assistant component 106 to determine engagement levels. The local digital assistant component 106 can store information related to historical or previous engagements, interactions, uses, calls, or usage with the digital assistant component 106 or the digital assistant 106 on other computing devices associated with the same account.
[0089] The dynamic notification component 116 can securely access information related to historical engagement levels. For example, the script library 114 can be launched in an iframe, which can be a secure computing environment or sandbox computing environment that prevents eResource 112 from accessing data obtained or used by the dynamic notification component 116. Therefore, the dynamic notification component 116 can determine the historical engagement level of an account without eResource 112 obtaining the information.
[0090] The dynamic notification component 116 can determine the attributes of the computing device 122 (e.g., a client computing device). The attributes of the computing device 122 can refer to or include the type of the computing device, its location, configuration, applications installed on it, its operating system, remaining battery power, performance capabilities, or available interfaces. For example, attributes related to device type can include mobile or desktop devices, smartphones, tablets, desktop computers, smartwatches, wearables, smart speakers, smart TVs, or appliances. The attributes of the computing device 122 can indicate whether it has a local digital assistant, microphone, or speaker. A local digital assistant can refer to a local digital assistant component 106 integrated on or installed on or running on the computing device 122. A computing device 122 without a local digital assistant can have a digital assistant component installed on it as a third-party application. In some cases, the computing device 122 may not have any digital assistant installed; in such cases, attribute values can indicate that no digital assistant is installed or no digital assistant is available. Attributes can include whether an account associated with the electronic resource is logged in.
[0091] The dynamic notification component 116 can determine device attributes. The dynamic notification component 116 can obtain device attributes from the remote data processing system 136. For example, the remote data processing system 136 can transmit device attributes to the data processing system 102. In some cases, the data processing system 102 can obtain device attributes directly from the computing device 122. Attributes can include, for example: account identifier; device operating system type; device operating system version; or device location.
[0092] The dynamic notification component 116 can select a type of digital interface in which invocation actions, including multiple invocation actions included in the script library 114, are presented. The dynamic notification component 116 can select the type of digital interface based on the attributes and historical engagement level of the computing device 122. The invocation actions can correspond to tasks associated with the electronic resource 112 that the digital assistant can perform. Example tasks could include, for example, ordering a ride from a ride-sharing application, booking a flight on a travel electronic resource, purchasing goods or services from a business electronic resource, continuing or repeating a task on an electronic resource, or conducting a financial transaction.
[0093] The types of digital interfaces that present the calling action can include icons, banners, pop-ups, overlays, animated icons, scrolling text, blinking icons, embedded text or images, or audio output located in the corners of electronic resources or display devices of computing device 122. The type of digital interface can be an obvious digital interface (e.g., covering the entire electronic resource 112 or a large portion of electronic resource 112), or a subtle or inconspicuous digital interface (e.g., an icon in the upper right corner of electronic resource 112 that does not obscure the rest of the electronic resource).
[0094] The dynamic notifier component 116 can select the type of digital interface based on the attributes and historical engagement level of the client computing device 122. The dynamic notifier component 116 can use various techniques to select the digital interface based on one or more attributes and historical engagement levels. For example, the selection techniques used by the dynamic notifier component 116 can use or include one or more of account preferences, pre-defined configurations, mappings, historical performance of the digital interface, or machine learning.
[0095] The dynamic notification component 116 can use account preferences to select a digital interface. Account preferences can be based on the type of computing device indicating a preference for a digital interface. For example, a user of computing device 122 can establish account preferences. These account preferences can include a ranking of preferred types of digital interfaces for the type of computing device 122. For example, the ranking of digital interfaces for a smartphone could be: 1) a corner icon on the screen; 2) a banner; and 3) overlaid on electronic resources, where 1 represents the highest ranking (or the most preferred type of digital interface), and 3 represents the lowest ranking (or the least preferred type of digital interface). The dynamic notification component 116 can use historical engagement levels associated with the smartphone to enhance this ranking for selecting the type of digital interface. For example, if the historical engagement level is already high, the dynamic notification component 116 can select the highest-ranked type of digital interface. If the historical engagement level is already low, the dynamic notification component 116 can determine to select a different type of digital interface to increase the likelihood of engagement with a digital assistant. In another example, if the historical engagement level with the digital assistant is high, the dynamic notification component 116 can override the ranking to select a more prominent type of digital interface, thereby increasing the likelihood of engagement with the digital assistant. Increasing the likelihood of engagement with the digital assistant can reduce computational resource utilization, as the digital assistant can increase the efficiency of computational tasks.
[0096] The dynamic notification component 116 can select the type of digital interface using a predefined mapping. Example mappings are illustrated in Table 1.
[0097] Table 1: Descriptive Mapping of Attributes and Historical Engagement Levels to Digital Interface Types
[0098]
[0099] interface
[0100] The dynamic notifier component 116 can utilize mappings provided by the administrator of the digital assistant server 138 or the 3P electronic resource server 142. These mappings can be referred to as selection technologies, policies, or logic. The dynamic notifier component 116 can determine attributes and historical engagement levels to identify the type of digital interface to be selected. The dynamic notifier component 116 can perform a lookup in the mapping using attributes and levels to identify the corresponding type of the digital interface.
[0101] The dynamic notifier component 116 can use the historical performance of the digital interface to determine the digital interface to select. The dynamic notifier component 116 can obtain attributes and historical engagement levels associated with the performance of the digital interface. The performance of the digital interface can refer to whether the interface causes an interaction or performs a call action. Positive execution can refer to performing a call action to enable engagement with the digital assistant, while negative execution can refer to closing, terminating, or otherwise not performing a call action or not calling or using the digital assistant to perform a task. The dynamic notifier component 116 can utilize a model trained using machine learning techniques, wherein the model's features can include one or more attributes, historical engagement levels, the type of digital interface, and the performance of the digital interface (e.g., a binary value indicating whether an engagement action is performed or not).
[0102] The dynamic notifier component 116 can use machine learning techniques to select the type of digital interface. One or more components or systems can use machine learning techniques to generate a model. For example, a remote data processing system 136 (e.g., via digital assistant server 138) can generate a model, a local digital assistant component 106 can generate a model, or the dynamic notifier component 116 can generate a model. Data is used to train the model used by machine learning with data for a specific account. The dynamic notifier component 116 can use data associated with a specific account to generate or use a model for that account. In some cases, the dynamic notifier component 116 can aggregate de-identified or anonymized data associated with multiple accounts to train the model.
[0103] Dynamic Notifier Component 116 can apply weights to scores or values associated with attributes or historical engagement levels to determine a score. Dynamic Notifier Component 116 can use this score to select the type of numeric interface. For example, the presence or absence of an attribute can be represented as a numerical value. Historical engagement levels can be represented as numerical values. Dynamic Notifier Component 116 can weight the scores (e.g., apply a multiplier to the scores). Dynamic Notifier Component 116 can combine scores (or weighted scores) to determine a total score for selecting the numeric interface. Dynamic Notifier Component 116 can map the scores to the type of numeric interface. Table 2 illustrates the mapping based on example scores.
[0104] Score threshold Types of digital interfaces Less than 3 Icons in the corner of electronic resources 3 to 5 Banner at the bottom of electronic resources Greater than 5 and less than 7 Interfaces that are clearly covered in electronic resources Greater than 7 Voice-based interface
[0105] Therefore, the dynamic notification component 116 can perform customized, dynamic selection of the type of digital interface based on real-time information associated with the attributes of the computing device 122 and the historical engagement level of the digital assistant, in order to improve the computational efficiency of the computing device 122, the 3P eResource server 142, or the remote data processing system 136 in performing tasks or functions associated with the eResource 112. For example, the data processing system 102 (e.g., via the dynamic notification component 116) can select the type of digital interface as a voice-based interface based on the nature of the client computing device 122, which indicates that the client computing device 122 includes a microphone and speaker, and the historical engagement level, which indicates that the number of interactions between the client computing device 122 associated with the same account and one or more digital assistants is greater than a threshold (e.g., 7).
[0106] Dynamic Notifier Component 116 is capable of generating digital interfaces with invocation actions. Dynamic Notifier Component 116 can generate digital interface types based on a first attribute and historical engagement level selected by the client computing device 122. Dynamic Notifier Component 116 can generate digital interfaces in response to this selection. Dynamic Notifier Component 116 can use, invoke, populate, or otherwise utilize templates, images, text, scripts, functions, user interface elements, audio, multimedia, or other components to generate digital interfaces. For example, Dynamic Notifier Component 116 can access templates for digital interfaces and populate fields in the templates based on invocation actions established by 3P eResource Server 142 for eResource 112. In another example, Script Library 114 can include pre-built or configured digital interfaces for each type of digital interface. Dynamic Notifier Component 116 can render the pre-built or pre-configured digital interface corresponding to the selected digital interface type for the invocation action. In another example, the dynamic notification component 116 can select the type of digital interface as a graphical user interface based on a first attribute of the client computing device 122 indicating that the client computing device 122 lacks a microphone (or that access to the microphone or speaker of the client computing device 122 via one or more digital assistants has been disabled). If access to the microphone is disabled, the dynamic notification component 116 can select the type of digital interface capable of receiving non-voice-based input such as touch input, or keyboard or mouse input.
[0107] The data processing system 102 is capable of detecting instructions to execute a calling action. These instructions can be detected via the input device of the client computing device 122. The computing device 122 can receive input via a touch interface, mouse input, keyboard input, voice input, gesture-based input, or other types of input. Input can be interaction with a digital interface, such as selection of buttons, links, or other interactive widgets presented through the interface. Therefore, the data processing system 102 can detect instructions to execute a calling action via the digital interface.
[0108] Data processing system 102 or script library 114 may include or execute digital assistant selector component 120, which is designed, constructed, and operated to determine the execution mode of an invocation action, select a digital assistant to execute the invocation action, and transmit the invocation action. Digital assistant selector component 120 may determine the execution mode of the invocation action based on one or more attributes and historical engagement levels of the client computing device 122 in response to an instruction to execute the invocation action. The execution mode may refer to or include executing a local digital assistant on computing device 122, or executing a non-local digital assistant on computing device 122. A non-local digital assistant may refer to or include a digital assistant that does not have an operating system pre-installed. A non-local digital assistant may refer to a digital assistant installed on computing device 122 as a third-party application.
[0109] The execution modes can include, for example: navigating to a non-local digital assistant application installed on computing device 122; redirecting to an electronic resource using prompts or instructions to download and install the digital assistant; navigating to a local digital assistant installed on computing device 122; navigating to the local digital assistant and immediately performing the invocation action; navigating to a digital assistant electronic resource using prompts instructing how to perform the invocation action; providing a prompt with a list of other computing devices 122 that have digital assistants linked to the same account as the computing device 122 executing the data processing system 102, and providing a prompt to select one of the other computing devices 122 to initiate the digital assistant to perform the invocation action.
[0110] The data processing system 102 can select the execution mode of a calling action based on one or more attributes of the client computing device that indicate the type of the client computing device's operating system. The attributes used by the data processing system 102 to select the execution mode can be referred to as a second attribute or a second set of attributes, while the attributes used to select the digital interface can be referred to as a first attribute or a first set of attributes. The first attribute can be the same as the second attribute. The first set of attributes can overlap with the second set of attributes. The first attribute can be different from the second attribute. The first set of attributes can be mutually exclusive with the second set of attributes.
[0111] To select the execution mode, the digital assistant selector component 120 can use one or more functions or technologies similar to the dynamic notifyer component 116. For example, the digital assistant selector component 120 can utilize mapping techniques, indexing, machine learning techniques, logic-based techniques, rules, or policies.
[0112] The digital assistant selector component 120 can select an execution mode based on a second attribute and historical engagement level. The digital assistant selector component 120 can perform a lookup in a mapping or index with the second attribute and historical engagement level to identify the corresponding execution mode. The digital assistant selector component 120 can use a machine learning model or a model trained using machine learning techniques to determine the execution mode. This model can include features such as attributes, historical engagement levels, different execution modes, and the digital assistant's historical executions or executions of actions with corresponding execution modes.
[0113] The digital assistant selector component 120 can select an execution mode based on account-associated preferences or configurations provided by the 3P eResource Server 142 or the digital assistant server 138.
[0114] The digital assistant selector component 120 is capable of selecting a digital assistant from one or more digital assistants and a second client device among multiple client computing devices to perform an invocation action based on an execution mode. For example, the execution mode can include initiating, invoking, executing, or otherwise utilizing a digital assistant on a second computing device 122 (e.g., a computing device 122 different from the computing device 122 that initially loaded electronic resources 112 and script library 114). The digital assistant selector component 120 can provide a list of available computing devices 122 and receive a selection of computing devices. The digital assistant selector component 120 can rank the list of computing devices 122 linked to the same account and configured or operated to initiate a digital assistant to perform an invocation action. The digital assistant selector component 120 can automatically select the highest-ranked computing device 122 or receive an instruction to select a computing device.
[0115] For example, the list of computing devices 122 with digital assistants configured to perform invocation actions can be ranked based on one or more of the following: how frequently computing devices 122 are used to launch digital assistants to perform invocation actions; the time when computing devices 122 were last used; how close (location / proximity) the computing device 122 that initially loads script library 114 is to another computing device 122; or how relevant the computing device 122 is to the invocation action. For example, a smart speaker computing device 122 with a digital assistant enabled is highly relevant to invocation actions for playing music, while a smartwatch computing device 122 is less relevant to such invocation actions. In another example, a smart TV with a digital assistant enabled is highly relevant to invocation actions for playing video, while a smartwatch computing device 122 is less relevant to such invocation actions.
[0116] The digital assistant selector component 120 is capable of selecting a second computing device 122, different from the first computing device (e.g., the computing device that initially loaded script library 114), to perform the invocation action. The digital assistant selector component 120 is capable of transmitting the invocation action to the second client computing device 122 so that the second client computing device 122 invokes the digital assistant to perform the invocation action. The digital assistant selector component 120 may transmit information that facilitates the execution of the invocation action, such as information associated with electronic resource 112 or accounts associated with electronic resource 112. This information may include references, pointers, metadata, location information, or other data that facilitates the execution of the invocation action by the digital assistant of the second computing device 122.
[0117] In some cases, system 100 can select digital components for provision. The system can select content items or digital components from 3P digital content provider device 134. System 100 can provide the selected digital components for presentation on electronic resource 112 via a digital interface through computing device 122, or on a second computing device 122 that performs the invocation action. Content items or digital components can be selected based on electronic resource 112, attributes, historical contact levels, invocation actions, or other information.
[0118] For example, the remote data processing system 136 may include a content selector component 140. The content selector component 140 of the remote data processing system 136 can select content items (e.g., digital component objects). The content selector component 140 can select content items based on or in response to one or more of the following: a request for content, selection of a digital interface based on the dynamic notification component 116, selection of the mode of the execution or computing device 122 based on the digital assistant selector component 120, based on an invocation action, or based on a transmission based on or in response to an invocation action. The content selector component 140 can select content items that are related to or otherwise matched to information associated with the invocation action. For example, if the application is an e-commerce application selling shoes, the content selector component 140 can select content items for a type of athletic shoe. In another example, if the invocation action involves booking a flight, the remote data processing system 136 can select travel-related content items (e.g., flight coupons).
[0119] In some cases, after the dynamic notification component 116 of the data processing system 102 selects the type of digital interface, the content selector component 140 of the remote data processing system 136 can determine to select a content item (e.g., a digital component object) provided by the 3P digital content provider device 134. After the dynamic notification component 116 selects the type of digital interface, it can provide the remote data processing system 136 with an indication of the selected digital interface type. The dynamic notification component 116 can provide this indication to the digital assistant server 138. The digital assistant server 138 can generate a request for the content item and forward that request to the content selector component 140. The digital assistant server 138 can generate a request for content in response to receiving an indication of the selection of the digital interface type. In some cases, the digital assistant server 138 can determine to generate a request for content based on the type of digital interface generated by the dynamic notification component 116. For example, if the dynamic notification component 116 selects a prominent or obvious interface that occupies more screen space, the digital assistant server 138 can determine that there may be sufficient space to include the content item. Therefore, in response to determining that there is sufficient screen space to supplement the content item, the digital assistant server 138 can generate a request for the content. However, if the type of digital interface selected is less obvious, such as a small icon in the corner of the screen, the digital assistant server 138 can determine not to generate a request for the content, thereby reducing wasted computing resource utilization.
[0120] When a request for content is generated, the digital assistant server 138 can forward the request to the content selector component 140. The content selector component 140 can perform real-time content selection processing to select content items. The content selector component 140 can use one or more parameters or selection criteria to select content items. For example, a request received by the content selector component 140 can include information about the electronic resource 112 (e.g., keywords, topics, concepts, or other contextual information), the invocation action to be provided in the digital interface, the type of digital interface selected, or information associated with the electronic account. The content selector component 140 can use this information to select relevant content items.
[0121] The remote data processing system 136 can provide selected content items to the data processing system 102 for presentation. The remote data processing system 136 can also provide content items to the script library 114 so that the script library 114 displays or presents the content items via a digital interface selected by the dynamic notification component 116. The dynamic notification component 116 can display the content items and the invocation actions presented via the digital interface. Therefore, real-time content selection processing can occur after the type of digital interface is selected and before the digital interface is presented for display.
[0122] In some cases, data processing system 102 can present content items via digital assistant component 106. Remote data processing system 136 can provide selected content items to application 110 for presentation. Content items can be presented via the user interface of application 110, such as in a visual content slot or audio output. Dynamic notification component 116 can provide or present content items and selected digital interfaces. Digital assistant selector component 120 can provide content items to a second computing device 122 selected to perform a calling action, causing the second computing device 122 to present the content items.
[0123] Digital assistant component 106 can present content items separately or independently of application 110. For example, digital assistant component 106 can invoke a separate user interface, such as a pop-up window or banner content, for display via display device 128 of computing device 122. In some cases, digital assistant component 106 can provide content items as audio output. The audio output can be presented before, during, or after the audio output of application 110. When application 110 does not provide audio output, digital assistant component 106 can provide content items via audio output independently of the interface used by the application. Therefore, data processing system 102 can present content items via the user interface (e.g., audio interface) of digital assistant component 106 or application 110 (e.g., graphical user interface).
[0124] In some cases, the remote data processing system 136 can transmit the selected content item to a second computing device 122 that is different from the computing device 122 that initially loaded the electronic resource 112. For example, the remote data processing system 136 can receive an instruction from the digital assistant selector component 120 to identify the second computing device 122. The digital assistant selector component 120 can select the second computing device 122 to perform the invocation action provided via the digital interface. Therefore, the system 100 can present the content item via the second computing device 122 that performs the invocation action, rather than presenting the selected content item via the computing device 122.
[0125] Therefore, in some cases, the remote data processing system 136 can transmit content items to the data processing system 102, and the data processing system 102 can determine to delay the presentation of content items until the digital assistant selector component 120 selects the digital assistant of the second computing device 122 to perform the invocation action. When the digital assistant of the second computing device 122 is selected, the data processing system 102 can forward the selected content item along with the invocation action to be performed to the corresponding second computing device 122.
[0126] In some cases, the data processing system 102 can present the content item along with the digital interface and then transmit the content item to a selected digital assistant of the second computing device 122 so that the second computing device 122 can re-display the selected content item or related content item.
[0127] Figure 2 This is an illustration of the process for adjusting the execution of digital actions according to an implementation method. This process 200 can be performed by... Figure 1 or Figure 7 The execution of one or more systems or components described herein includes, for example, a data processing system, a remote data processing system, a local digital assistant, a script library, a dynamic notification component, or a number selector component. Method 200 can be initiated by checking whether an account has been activated for the session. If the account is not activated, the data processing system can determine that dynamically selecting a number interface may be impossible because the historical engagement level may not be determined. Therefore, if the account is not active or logged in for the session, the data processing system can select a default number interface. When the default number interface is selected, a prompt requesting account login credentials can be generated.
[0128] If the account is logged in, the script library can check whether the account has engaged with a digital assistant by: (1) communicating with the digital assistant server to confirm the existence of any assistant-enabled devices associated with the account, or (2) whether the account has completed a past digital assistant upload experience. If the account is not an assistant user, the script library can select the same default, non-customized digital interface button as if the account were not logged in, since there is no signal regarding the historical engagement level that can be used to dynamically select a more prominent digital interface. However, if the account is logged in and the account has historically engaged with a digital assistant, the library can check whether there have been any past interactions between the user and third-party e-resource providers via the digital assistant associated with the account. The script library can determine the historical engagement level with the digital assistant performing actions on e-resources by querying the digital assistant server.
[0129] If the account has not used the digital assistant to interact with electronic resources in the past (e.g., if there is no recorded interaction between electronic resources and the digital assistant associated with the account in the past), the script library is able to select the same non-personalized default digital interface button because there is no signal (positive or negative) about whether they can benefit from a more obvious call to the digital assistant's voice function.
[0130] If an account is logged in, has engaged with a digital assistant, and has engaged with a digital assistant to interact with or perform actions on an e-resource, the script library can determine and demonstrate more explicit calls to the digital assistant's voice functions on the e-resource.
[0131] For example, in action 202, the data processing system executing the script library can determine whether an account of the available assistant provider exists. If the account is unavailable (e.g., not logged in), the script library can proceed to action 218 to display a default digital interface not customized for the embedded button entry point, and then proceed to action 220 to provide web-based action links, such as links with information about the digital assistant, and proceed to action 210 to provide a preemptive entry point to the underlying form. However, if at action 202 the script library determines that the account associated with the digital assistant is logged in for that session (e.g., via the operating system, application, or electronic resource of a computing device), the script library (or the system executing the script library) can proceed to action 204 to determine whether the account has already engaged with the digital assistant. In action 204, the script library can determine the account's historical engagement level. The script library can determine whether the account has used the digital assistant in the past.
[0132] If at action 204 the script library determines that the account has not previously used the digital assistant, the script library can proceed to action 218 to select the default digital interface for the embedded button entry point. If at action 204 the script library determines that the account has already engaged with the digital assistant, the script library can proceed to action 206 to determine whether the account (or the computing device 122 on which the account is logged) has already performed an invocation action using the digital assistant for the e-resource. If at action 206 the script library determines that the user has previously performed an action for the e-resource using the digital assistant, the script library can proceed to action 208 to select the digital interface corresponding to that engagement level based on the device's attributes, and then proceed to action 210. If at action 206 the script library determines that the account has not yet used the digital assistant to perform an action for the e-resource, the script library can proceed to action 210 to provide a preemptive entry point for the underlying form.
[0133] In action 210, the script library can provide a preemptive entry point to the underlying form, which can include determining the execution mode of the digital assistant. The script library can determine to provide a more prominent digital interface. The script library can proceed to action 212 to determine whether an account link to the electronic resource is required. An account link can link the digital assistant to the electronic resource to facilitate the digital assistant performing actions associated with the electronic resource. The script library can determine whether an account link is required based on the type of action to be performed (e.g., purchase). If the script library determines at action 212 that an account link is required, the script library can proceed to action 214 to execute the account link flow, which can include prompting for account credentials or a request to link the electronic resource's account to the digital assistant, and then proceed to action 216. If the script library determines at action 212 that an account link is not required, the script library can proceed to action 216 to provide an action link user interface with a device selector. The script library can rank the available devices of the digital assistant configured to perform actions and receive a selection of the device for performing the action. In some cases, the script library can automatically select the highest-ranked device to perform the action.
[0134] Figure 3 This is an illustration of the process for adjusting the execution of digital actions according to an embodiment. This process 300 can be performed by... Figure 1 or Figure 7 The execution is performed by one or more systems or components described herein, including, for example, a data processing system, a remote data processing system, a local digital assistant, a script library, a dynamic notification component, or a digit selector component. Process 300 can be used on devices that already have a linked account. For example, in action 302, the script library can determine whether the digital assistant provider's account is available. The script library can determine whether the digital assistant account is activated or logged in for a session, such as in an application, operating system, or device. If, at action 302, the script library determines that the digital assistant's account is not logged in or is unavailable, the script library can proceed to action 306 to select and provide an embedded button entry point. The script library can provide a default digital interface for invocation actions that are not customized. The script library can proceed to action 308 to provide a web-based action link that can point to or include links to electronic resources.
[0135] However, if the script library determines at action 302 that a digital assistant account is logged in, the script library can proceed to action 304 to determine the historical engagement level with the digital assistant. If the account has not historically engaged with the digital assistant, or has a low engagement level with the digital assistant below a threshold (e.g., more than 3 months have passed since the account engaged with the digital assistant), the script library can proceed to action 306 to provide a default, non-customized digital interface.
[0136] If, at action 304, the script library determines that the account has already been contacted by the digital assistant or has been contacted beyond a certain threshold, the script library can proceed to action 310 to determine whether the e-resource's account has been linked to the digital assistant's account. The script library can determine whether the digital assistant account is linked to the 3P e-resource or the 3P e-resource server. If the digital assistant account is not linked to the e-resource's account, the script library can proceed to action 318 to execute the account linking flow.
[0137] However, if at action 310 the script library determines that the digital assistant account is linked to an e-resource account (e.g., an account for a travel website, music service, or online marketplace), the script library can proceed to action 312 to determine whether the device or account has already used the digital assistant to perform the action for the e-resource. If at 312 the script library determines that the device has not yet used the digital assistant to perform the action for the e-resource, the script library can proceed to action 316 to return to the action-linked user interface ("UI") with a device selector. However, if the script library determines that the digital assistant has been used to perform the action for the e-resource, the script library can proceed to action 314 to select an embedded button entry point, which can be a customized or personalized digital interface prominently displayed along with the action for the digital assistant. The script library can select a more prominent digital interface based on the linked account that has previously been used to perform the action for the e-resource. The script library can then proceed to action 318 to provide the action-linked UI with a device selector. The script library can rank available devices for selection or automatically select the highest-ranked device.
[0138] Figure 4 This is an illustration of a graphical user interface (GUI) for performing digital actions according to an embodiment. The GUI 400 can be... Figure 1 or Figure 7 One or more systems or components described herein are provided, including, for example, a data processing system, a remote data processing system, a local digital assistant, a script library, a dynamic notification component, a digital selector component, or a display device. The graphical user interface 400 may include electronic resource 112, main content 402, and an icon or embedded entry point button 404. The main content 402 may include or refer to text, images, multimedia content, or other content provided by the provider of electronic resource 112. The icon 404 may be an example of a digital interface type and may include an embedded button entry point with a prompt, such as "try it with digital assistant." The script library may select button 404 based on the detection that a digital assistant account is not logged in (e.g., via process 200 or 300). The script library may display icon 404 below the main content 402 so as not to confuse or otherwise obstruct the main content 402.
[0139] Figure 5 This is an illustration of a graphical user interface (GUI) for performing digital actions according to an embodiment. The GUI 500 can be... Figure 1 or Figure 7 One or more systems or components described herein are provided, including, for example, a data processing system, a remote data processing system, a local digital assistant, a script library, a dynamic notification component, a digit selector component, or a display device. The graphical user interface 500 may include the display of electronic resources 112, main content 402, and pop-up windows 502, which have buttons for linking accounts 504 or not linking accounts 506. The graphical user interface 500 may be provided via processing 300 or 400.
[0140] The pop-up window can be a digital interface and corresponds to the type of digital interface selected by the script library based on attributes and historical engagement levels. The script library can select, generate, and provide pop-up window 502 in response to determining that a digital assistant account is logged in, the account has previously engaged with a digital assistant, but the e-resource provider's account is not linked to a digital assistant provider. For example, the script library can determine the type of digital interface with a more significant invocation action based on historical engagement levels and device attributes. For example, if a first attribute indicates that the client computing device is a smartphone enabled using a digital assistant, and the historical engagement level indicates that the computing device interacted with one or more digital assistants during the time interval prior to the script library loaded by the data processing system for the e-resource, the script library can select a digital interface with a pop-up icon 502 overlaid on the e-resource 112. Pop-up window 502 is more... Figure 4 The icon 404 depicted is more prominent because the pop-up window 502 obscures a portion of the main content 402 of the electronic resource 112 (e.g., half of the main content 402). The script library is able to determine the type of digital interface that provides greater prominence. As depicted in processes 200 and 300, the linked account button 504 is able to execute an account linking flow.
[0141] Figure 6 This is an illustration of a method for adjusting the execution of digital actions according to an implementation method. Method 600 can be performed by... Figure 1 or Figure 7 The system or components described herein perform actions such as, for example, a data processing system, a remote data processing system, a local digital assistant, a script library, a dynamic notification component, or a number selector component.
[0142] In method 602, method 600 can include loading or embedding a script library of an electronic resource into a computing device or data processing system. The script library can be embedded in a webpage provided by a web server. The data processing system or device can execute the script library within the embedded framework of the electronic resource. The script library can include one or more invocation actions, components, or modules. The data processing system can load the script library embedded in the electronic resource via a client computing device linked to an electronic account of a digital assistant. The script library can include multiple invocation actions for the electronic resource, configured for execution by one or more digital assistants provided by the client computing device.
[0143] At 604, the script library can determine whether the digital assistant account is logged in for a session (e.g., currently logged in on the device). The script library can query the device's application or operating system to determine whether the digital assistant account is active, active, or otherwise logged in. If the script library determines that the digital assistant account is not active or not logged in, the script library can proceed to action 606 to provide the default digital interface for invoking the action, which is not customized or configured for digital assistant execution.
[0144] However, if the script library determines in Action 604 that the digital assistant account is active, it can proceed to Action 608. In Action 608, the script library can determine the historical engagement level. The script library can query the digital assistant server to determine the historical engagement level between the account and the digital assistant. The script library can also query the digital assistant server to determine the historical engagement level between the client computing device linked to the electronic account and one or more digital assistants.
[0145] In version 610, the script library can select and generate digital interfaces based on the historical engagement level between the account and the digital assistant. The script library can select the digital interface based on the client computing device's primary attributes and historical engagement level. The script library can then provide invocation actions via the digital interface.
[0146] In 612, the script library can detect instructions to execute a call action and determine the execution mode of the call action. The script library can determine the execution mode of the call action in response to the instruction to execute the call action, based on the secondary attributes of the client computing device and the historical engagement level. The execution mode can be, for example, launching a local digital assistant or a digital assistant provided by 3P.
[0147] In action 614, the script library determines whether any compatible devices are available. The script library can identify available digital assistant-enabled devices. If the script library cannot identify any currently available digital assistant-enabled devices, it can proceed to action 606 to provide a default digital interface. For example, the execution mode could be to use a local digital assistant, but the client device may not have a local digital assistant installed. In another example, the execution mode could be to use a third-party digital assistant, but the current client device may not have a third-party digital assistant installed, and the second linked device may be offline or not located near the first computing device.
[0148] However, if the script library identifies an available digital assistant-enabled device capable of performing the invocation action via the selected execution mode, the script library can proceed to action 616. In action 616, the script library can select a digital assistant to perform the invocation action. The script library can select a second computing device based on one or more attributes and historical engagement levels. For example, the script library can select a digital assistant configured on the second computing device that has recently been used to perform a similar invocation action and is located near the first computing device (e.g., on the same Wi-Fi network). In action 618, the script library can transmit the invocation action to the selected second computing device so that the digital assistant on the second computing device performs the invocation action.
[0149] Figure 7 This is a block diagram of an exemplary computer system 700. The computer system or computing device 700 can include or be used to implement system 100 or components thereof, such as data processing system 102. Computer system 700 includes a bus 705 or other communication components for transmitting information, and a processor 710 or processing circuitry coupled to the bus 705 for processing information. Computing system 700 can also include one or more processors 710 or processing circuitry coupled to the bus for processing information. Computing system 700 also includes main memory 715, such as random access memory (RAM) or other dynamic storage devices, coupled to the bus 705 for storing information and instructions to be executed by processor 710. Main memory 715 can be or include a data repository. Main memory 715 can also be used to store location information, temporary variables, or other intermediate information during instruction execution by processor 710. Computing system 700 may further include a read-only memory (ROM) 720 or other static storage device coupled to the bus 705 for storing static information and instructions for processor 310. Storage device 725, such as a solid-state device, disk, or optical disk, can be coupled to bus 705 to persistently store information and instructions. Storage device 725 can include or be part of a data repository.
[0150] Computer system 700 can be coupled to display 735, such as a liquid crystal display or an active matrix display, via bus 705 for displaying information to a user. Input device 730, such as a keyboard including alphanumeric and other keys, can be coupled to bus 705 for transmitting information and command selections to processor 710. Input device 730 can include touchscreen display 735. Input device 730 can also include cursor controls, such as a mouse, trackball, or arrow keys, for transmitting directional information and command selections to processor 710 and for controlling cursor movement on display 735. Display 735 can be, for example... Figure 1 It is part of the data processing system 102, the client computing device 122, or other components.
[0151] The processes, systems, and methods described herein can be implemented by a computing system 700 in response to a processor 710 executing instructions contained in main memory 715. Such instructions can be read into main memory 715 from another computer-readable medium, such as storage device 725. The arrangement of executing the instructions contained in main memory 715 causes the computing system 700 to perform the illustrative processes described herein. One or more processors in a multiprocessor arrangement may also be used to execute the instructions contained in main memory 715. Hardwired circuitry can be used in place of software instructions or in combination with software instructions and the systems and methods described herein. The systems and methods described herein are not limited to any particular combination of hardware circuitry and software.
[0152] Although Figure 7 The specification describes an exemplary computing system, but the subject matter including the operations described herein can be implemented in other types of digital electronic circuits, or in computer software, firmware, or hardware, or one or more combinations thereof, including the structures disclosed herein and their equivalents.
[0153] In the cases described herein where the system collects or uses personal information about a user or an application installed on a user's device, the user is given the opportunity to control whether a program or feature can collect user information (e.g., information about the user's social networks, social behaviors or activities, occupation, user preferences, or the user's current location). Alternatively or additionally, certain data can be processed in one or more ways before being stored or used to remove personal information.
[0154] The subject matter and operations described in this specification can be implemented in digital electronic circuits, or computer software, firmware, or hardware (including the structures disclosed in this specification and their equivalents), or combinations thereof. The subject matter described in this specification can be implemented as one or more computer programs, for example, one or more circuits of computer program instructions encoded on one or more computer storage media for execution by or control of the operation of a data processing device. Alternatively or additionally, program instructions can be encoded on artificially generated propagating signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a suitable receiver device for execution by the data processing device. The computer storage medium can be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or combinations thereof. Although the computer storage medium is not a propagating signal, it can be a source or destination of computer program instructions encoded as artificially generated propagating signals. The computer storage medium can also be or be included in one or more separate components or media (e.g., multiple CDs, disks, or other storage devices). The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0155] The terms "data processing system," "computing device," "component," or "data processing apparatus" encompass a variety of devices, apparatuses, and machines for processing data, including, for example, programmable processors, computers, systems-on-a-chip (SoCs), or combinations thereof. The apparatus may include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus may include code that creates an execution environment for the computer program involved, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations thereof. The apparatus and execution environment can implement various computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures. Digital assistant component 106 and other data processing system 102 or remote data processing system 136 components may include or share one or more data processing apparatuses, systems, computing devices, or processors. Digital assistant server 138 and content selector component 140 may, for example, include or share one or more data processing apparatuses, systems, computing devices, or processors.
[0156] A computer program (also known as a program, software, software application, application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for a computing environment. A computer program can correspond to a file in a file system. A computer program can be stored as a part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), as a single file dedicated to said program, or as multiple coordinating files (e.g., a file storing one or more modules, subroutines, or code portions). A computer program can be deployed to execute on a single computer or on multiple computers located at a single site or distributed across multiple sites and interconnected by a communication network.
[0157] The processes and logic flows described in this specification can be executed by one or more programmable processors that execute one or more computer programs (e.g., components of data processing system 102) to perform actions by manipulating input data and generating output. The processes and logic flows can also be executed by dedicated logic circuitry, and the apparatus can also be implemented as dedicated logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). Suitable devices for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory can be supplemented or incorporated into dedicated logic circuitry.
[0158] The subject matter described herein can be implemented in computing systems that include backend components, such as a data server; middleware components, such as an application server; or frontend components, such as a client computer having a graphical user interface or web browser through which a user can interact with embodiments of the subject matter described herein; or combinations of one or more such backend, middleware, or frontend components. The components of the system can communicate digitally via any form or medium, such as a communication network interconnected. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), the Internet (e.g., the Internet) and peer-to-peer networks (e.g., self-organizing peer-to-peer networks).
[0159] Computing systems such as System 100 or System 700 can include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network (e.g., Network 105). The client-server relationship is established by means of computer programs running on respective computers and having a client-server relationship with each other. In some implementations, the server transmits data (e.g., data packets representing digital components) to the client device (e.g., for the purpose of displaying data to a user interacting with the client device or receiving user input from it). Data generated at the client device (e.g., the result of user interaction) can be received at the server (e.g., by the digital assistant server 138 from the digital assistant component 106 of computing device 122 or the 3P digital content provider device 134).
[0160] Although the operations are depicted in a specific order in the accompanying drawings, it is not necessary to perform these operations in the specific or sequential order shown, nor is it necessary to perform all the operations shown. The actions described herein can be performed in different orders.
[0161] The separation of various system components does not need to be required in all implementations, and the described program components can be included in a single hardware or software product. For example, the dynamic notification component 116 and the digital assistant selector component 120 can be a single component, application, or program, or a logic device with one or more processing circuits, or executed by one or more processors of the data processing system 102.
[0162] Some illustrative embodiments have now been described, and it is obvious that the foregoing is exemplary and not restrictive, and has been presented by way of example. In particular, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and those elements can be combined in other ways to achieve the same objective. Actions, elements, and features discussed in conjunction with one embodiment are not intended to exclude similar roles in other embodiments.
[0163] The wording and terminology used herein are for descriptive purposes and should not be construed as limiting. The use of "comprising," "including," "having," "containing," "involving," "characterized in," "characterized as," and variations thereof means to cover the items listed thereafter, their equivalents, and additional items, as well as alternative implementations comprised of the items listed thereafter. In one implementation, the systems and methods described herein include one or more of each combination or all of the described elements, actions, or components.
[0164] Any reference in the singular to any implementation, element, or action of the systems and methods herein may also cover implementations that include multiple such elements, and any reference in the plural to any implementation, element, or action herein may also cover implementations that include only one element. References in either the singular or plural form are not intended to limit the currently disclosed systems or methods, their components, actions, or elements to a single or multiple configurations. A reference to any action or element based on any information, action, or element may include an implementation in which the action or element is at least partially based on any information, action, or element.
[0165] Any implementation disclosed herein may be combined with any other implementation or embodiment, and references to "implementation," "some implementations," "one implementation," etc., are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with an implementation may be included in at least one implementation or embodiment. These terms used herein do not necessarily refer to the same implementation. Any implementation may be included or exclusively combined with any other implementation in any manner consistent with the aspects and implementations disclosed herein.
[0166] A reference to "or" can be interpreted as inclusive, such that any term described using "or" can indicate a single, more than one, or all of the terms described. A reference to at least one of a list of combinations of terms can be interpreted as inclusive "or," indicating a single, more than one, or all of the terms described. For example, a reference to "at least one of 'A' and 'B'" can include only 'A', only 'B', or both 'A' and 'B'. Such references, used in conjunction with "include" or other open terms, can include additional items.
[0167] Where a reference numeral follows a technical feature in the drawings, detailed description, or any claim, the reference numeral is included to increase the comprehensibility of the drawings, detailed description, and claims. Therefore, the reference numerals and their omission do not limit the scope of any claim element.
[0168] The systems and methods described herein may be embodied in other specific forms without departing from their characteristics. For example, devices, products, or services described as 3P or third parties, such as 3P digital content provider device 160, may be partially or wholly owned by or include first-party devices, products, or services, and may be jointly owned by entities associated with data processing system 102, digital assistant server 138, or other components. The foregoing embodiments are illustrative and not limiting of the systems and methods described. Therefore, the scope of the systems and methods described herein is indicated by the appended claims rather than the foregoing description, and variations in the meaning and scope of equivalents of the claims are covered herein.
Claims
1. A system for adjusting the execution of digital actions, comprising: A data processing system comprising one or more processors, used for: A script library embedded in an e-resource is loaded via a client computing device among a plurality of client computing devices linked to an e-account. The script library includes a plurality of invocation actions for the e-resource, which are configured to be executed by one or more digital assistants provided by each of the plurality of client computing devices. Query the digital assistant component to determine the historical engagement level between the plurality of client computing devices and the one or more digital assistants; The type of digital interface in which the multiple invocation actions are presented is selected based on the first attribute of the client computing device and the historical engagement level. A digital interface with the invocation action is generated based on the type of the digital interface selected according to the first attribute of the client computing device and the historical engagement level; The instruction to execute the invocation action is detected via the digital interface; In response to an instruction to execute the invocation action, an execution mode for the invocation action is determined based on a second attribute of the client computing device and the historical engagement level, each of the first attribute and the second attribute being one of the following: type of computing device, location of computing device, configuration of computing device, application installed on computing device, operating system of computing device, remaining battery power, performance capabilities, and available interfaces. Based on the execution mode, a digital assistant is selected from the one or more digital assistants and a second client device among the plurality of client computing devices to perform the invocation action; as well as The invocation action is transmitted to the second client device so that the second client device invokes the digital assistant to execute the invocation action.
2. The system according to claim 1, wherein, The script library is built by a third-party service provider using the plurality of invocation actions, which include a predetermined set of invocation actions selected by the third-party service provider.
3. The system according to claim 1, comprising: The data processing system is used to load graphical user interface elements corresponding to the script library at locations on the electronic resources established by the provider of the electronic resources.
4. The system according to claim 1, comprising: The data processing system is used to receive information about the historical contact level from the digital assistant component located remotely from the data processing system via a network.
5. The system according to claim 1, comprising: The data processing system determines the historical engagement level based on the number of previous interactions between the multiple client computing devices during the time interval.
6. The system according to claim 1, comprising: The data processing system is used to determine the historical contact level based on the type of the invocation action.
7. The system according to claim 1, comprising: The data processing system is used to select the type of digital interface, including a voice-based interface, based on the first attribute of the client computing device, which indicates that the client computing device includes a microphone and a speaker, and the historical engagement level, which indicates that the number of interactions between the plurality of client computing devices and the one or more digital assistants is greater than a threshold.
8. The system according to claim 1, comprising: The data processing system is used to select the type of digital interface, including a graphical user interface, based on a first attribute of the client computing device that indicates the client computing device lacks a microphone or that access to the microphone or speaker of the client computing device via one or more digital assistants has been disabled.
9. The system according to claim 1, comprising: The data processing system is used to select the execution mode for the invocation action based on the second attribute of the client computing device, which indicates the type of operating system of the client computing device.
10. The system according to claim 1, wherein, The first attribute indicates that the client computing device is a smartphone enabled using the digital assistant, and the historical contact level indicates that the plurality of client computing devices interacted with the one or more digital assistants during a time interval prior to the script library loaded by the data processing system for the electronic resource, including: The data processing system selects the digital interface, which includes a pop-up icon overlaid on the electronic resource.
11. A method for adjusting the execution of digital actions, comprising: A data processing system comprising one or more processors loads a script library embedded in an electronic resource via a client computing device among a plurality of client computing devices linked to an electronic account. The script library includes a plurality of invocation actions for the electronic resource, the plurality of invocation actions being configured to be executed by one or more digital assistants provided by each of the plurality of client computing devices. The data processing system queries the digital assistant component to determine the historical engagement levels between the plurality of client computing devices and the one or more digital assistants; The data processing system selects the type of digital interface in which the multiple invocation actions are presented, based on a first attribute of the client computing device and the historical engagement level. The data processing system generates a digital interface with the invocation action based on the type of the digital interface selected according to the first attribute of the client computing device and the historical engagement level; The data processing system detects and executes the instruction for the invocation action via the digital interface; In response to an instruction to execute the invocation action, the data processing system determines an execution mode for the invocation action based on a second attribute of the client computing device and the historical engagement level. Each of the first and second attributes is one of the following: type of computing device, location of computing device, configuration of computing device, application installed on computing device, operating system of computing device, remaining battery power, performance capabilities, and available interfaces. The data processing system selects a digital assistant from the one or more digital assistants and a second client device among the plurality of client computing devices to execute the invocation action based on the execution mode; as well as The data processing system transmits the invocation action to the second client device so that the second client device invokes the digital assistant to execute the invocation action.
12. The method according to claim 11, wherein, The script library is built by a third-party service provider using the plurality of invocation actions, which include a predetermined set of invocation actions selected by the third-party service provider.
13. The method of claim 11, comprising: Load the graphical user interface element corresponding to the script library at the location on the electronic resource established by the provider of the electronic resource.
14. The method of claim 11, comprising: Information about the historical contact level is received via a network from the digital assistant component located remotely from the data processing system.
15. The method of claim 11, comprising: The historical engagement level is determined based on the number of previous interactions between the plurality of client computing devices during the time interval.
16. The method of claim 11, comprising: The historical contact level is determined based on the type of the invocation action.
17. The method of claim 11, comprising: The type of digital interface, including a voice-based interface, is selected based on the first attribute of the client computing device, which indicates that the client computing device includes a microphone and a speaker, and the historical engagement level, which indicates that the number of interactions between the plurality of client computing devices and the one or more digital assistants is greater than a threshold.
18. The method of claim 11, comprising: The type of digital interface, including a graphical user interface, is selected based on the first attribute of the client computing device that indicates the client computing device lacks a microphone or that access to the microphone or speaker of the client computing device via one or more digital assistants has been disabled.
19. The method of claim 11, comprising: The execution mode for the invocation action is selected based on the second attribute of the client computing device, which indicates the type of operating system of the client computing device.
20. The method according to claim 11, wherein, The first attribute indicates that the client computing device is a smartphone enabled by the digital assistant, and the historical contact level indicates that the plurality of client computing devices interacted with the one or more digital assistants during a time interval prior to the script library loaded by the data processing system for the electronic resource, including: Select the digital interface that includes a pop-up icon overlaid on the electronic resource.