Determining dynamic interaction conditions for triggering provision of related content interface notifications

By optimizing the delivery of relevant content interface notifications through dynamic interactive conditions and machine learning models, the problem of early and late arrival caused by static presentation has been solved, improving user experience and saving resources.

CN114730325BActive Publication Date: 2026-06-19GOOGLE LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GOOGLE LLC
Filing Date
2019-12-13
Publication Date
2026-06-19

Smart Images

  • Figure CN114730325B_ABST
    Figure CN114730325B_ABST
Patent Text Reader

Abstract

The implementation determines the attributes of an Internet resource; processes the attributes to generate a predicted output; based on the predicted output, determines the provided interaction conditions for triggering a relevant content interface notification for the Internet resource; and in response to a given client device accessing the Internet resource, and in response to determining the interaction conditions: in response to determining that the access to the Internet resource satisfies the interaction conditions, causes the given client device to present a relevant content interface notification. In some implementations, the interaction conditions vary with the Internet resource, and / or may vary for a single Internet resource (e.g., based on the navigation path used when accessing the Internet resource and / or the client device used when accessing the Internet resource).
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] A related content interface notification has been proposed, which is optional during access to a given webpage, and when selected, presents fragments of related Internet resources. For example, when viewing a webpage about the Kentucky Derby, a related interface notification can be selected, and when selected, fragments and links to the webpage are presented, where the webpage is determined to be related to the webpage about the Kentucky Derby. For example, related webpages could include webpages related to the Kentucky Bourbon Circuit, etc. Various techniques can be used to determine whether two webpages (or other Internet resources) are related, such as many users accessing the two webpages (optionally very close in time), content overlap (e.g., the topic of the webpages), the two webpages frequently appearing simultaneously in search results, and / or other techniques.

[0002] However, current relevant content interface notifications are typically presented statically. For example, they might be presented once the underlying webpage has been accessed, or after certain fixed conditions are met, such as scrolling a fixed percentage of the webpage. Static presentation of relevant content interface notifications can result in notifications appearing too early or too late (or not at all) during the access to the underlying webpage. When presented too early, the relevant content interface notification may occupy typically limited screen space and / or distract the user from viewing the webpage, both of which can increase the amount of time a user spends viewing the relevant portion of the webpage, thus increasing the use of client device resources while the webpage is being presented. When presented too late or not at all, the user may ignore the notification or even not be shown it, instead using more computing resources and / or network-intensive methods (e.g., performing an internet search) to find the relevant content. Summary of the Invention

[0003] The implementation disclosed herein involves determining dynamic interaction conditions provided for triggering relevant content interface notifications for Internet resources (e.g., web pages, images, videos, portable document format (PDF) documents, application status, and / or documents). The interaction conditions are dynamic because they can vary with the Internet resource and / or even be specific to a single Internet resource. For example, they can vary for a single Internet resource based on the navigation path used when accessing the Internet resource and / or based on the client device used when accessing the Internet resource and / or the user account associated with the user accessing the Internet resource. Interaction conditions for a given Internet resource may include, for example, the duration of access to the given Internet resource (e.g., time elapsed since the given Internet resource was requested, retrieved, or presented) and / or scrolling conditions (e.g., whether scrolling has occurred, the extent of scrolling, the speed of scrolling, and / or the direction of scrolling).

[0004] As an example, for a first webpage, the interaction condition could include a 15-second duration for accessing or scrolling a specific percentage of the first webpage, while for a second webpage, the interaction condition could include a 10-second duration for accessing or scrolling a different specific percentage of the second webpage. As another example, for a third webpage and access to the third webpage via a first navigation path, the interaction condition could include a 20-second access duration, and for access to the third webpage via a second navigation path, the interaction condition could include a 15-second access duration. Note that when multiple interaction conditions are determined for a given resource, the satisfaction of a condition can be determined when any one of the interaction conditions is satisfied, or alternatively, when a combination of one or more (e.g., all) interaction conditions is satisfied (which will trigger the provision of relevant content interface notifications).

[0005] Various implementations of determining dynamic interaction conditions can mitigate the occurrence of late and / or early delivery of relevant content interface notifications, thereby mitigating the technical drawbacks of late and / or early delivery. This mitigation is particularly effective when considering large-scale interactions among user groups. Furthermore, as described herein, various implementations utilize machine learning models trained based on user interactions (or no interactions) with previously provided relevant content interface notifications to determine dynamic interaction conditions, ensuring that the technical drawbacks of late and / or early delivery are mitigated at least overall across the user group.

[0006] Some implementations disclosed herein additionally or alternatively involve determining, for a given Internet resource, whether or not to generate and / or provide any relevant content interface notifications. Like interaction conditions, the determination of whether to provide relevant interface notifications can vary depending on the Internet resource, and / or even for a single Internet resource. For example, the determination of whether to provide relevant interface notifications for an Internet resource can vary based on the navigation path taken when accessing the Internet resource and / or based on the client device used when accessing the Internet resource and / or the user account associated with the user accessing the Internet resource. Various implementations of determining whether to provide any relevant content interface notifications when they are not relevant can prevent the waste of network and / or client device resources while ensuring that relevant content interface notifications are presented when relevant (thus enabling more efficient access to the corresponding relevant content). In some implementations of determining whether or not to provide any relevant content interface notifications, this determination is made using a machine learning model trained on user interaction (or no interaction) with previously provided relevant content interface notifications, ensuring that the distinction between relevant and irrelevant is meaningful at least in the overall user population. In some of these implementations, the same machine learning model can be used to determine whether to provide any relevant content interface notifications and to determine any interactive conditions under which relevant content interface notifications are provided.

[0007] Various implementations of determining whether to generate any relevant content interface notifications for Internet resources can also prevent the waste of network and / or server resources used in determining relevant resources associated with Internet resources. For example, relevant resources can be determined based on: performing Internet searches based on the content of the Internet resource and identifying relevant resources from the search results of these searches; analyzing historical data to determine relevant resources accessed very close in time to the Internet resource; analyzing databases to determine relevant resources that share common topics with the Internet resource and / or respond to queries that are the same or similar to the Internet resource; and / or performing other network and / or server resource-intensive techniques. Therefore, resources can be saved, for example, by performing only these network and / or server resource-intensive techniques when it is determined that a relevant interface notification should be provided. As mentioned above, a machine learning model trained on user interaction (or no interaction) with previously provided relevant content interface notifications can be used to determine whether to provide a relevant interface notification, and optionally, the same machine learning model can be used in any interaction condition that determines the provision of relevant content interface notifications.

[0008] Some implementations disclosed herein additionally or alternatively involve determining whether (and / or the extent to which) relevant content resources linked in a relevant content interface notification are pre-cached at the client device viewing the Internet resource. Pre-caching the relevant content resource can reduce the wait time for rendering the relevant content resource if the corresponding link is selected in the relevant content interface notification. For example, the relevant content interface notification may include content fragments from a corresponding additional webpage as the topmost relevant content item. When viewing the Internet resource, at least some (e.g., all) of the corresponding additional webpage can be pre-cached at the client device based on the determination of pre-cached relevant content items. In some of these implementations, whether and / or the extent to which relevant content items are pre-cached for the Internet resource can be based on the determined interaction conditions of the Internet resource. For example, it can be determined that no pre-caching occurs when the defined interaction condition for an Internet resource includes a duration greater than 30 seconds; pre-caching occurs to a first degree when the interaction condition includes a duration of 15 to 30 seconds; and pre-caching occurs to a greater degree (e.g., more relevant content items and / or a greater degree of relevant content items) when the interaction condition includes a duration of less than 15 seconds. Therefore, when determining to provide a relevant interface notification for an Internet resource, the implementations disclosed herein determine whether to pre-cachate content items linked in the relevant interface notification and / or the degree of pre-caching. These implementations seek to reduce the latency of rendering relevant content items through pre-caching, but also seek to balance latency reduction with network usage considerations by selectively pre-caching only (e.g., only for certain Internet resources and / or navigation paths) and / or dynamically sized pre-caching.

[0009] Various attributes can be used to determine interaction conditions and / or whether to generate and / or provide relevant content interface notifications for a given Internet resource. These attributes include, for example, content attributes, navigation attributes, global history attributes, personal history attributes, and / or relevant content attributes.

[0010] Content attributes of a given Internet resource are based on the content of that given Internet resource. Content attributes can include, for example, type attributes indicating that the given Internet resource conforms to multiple different types / vertical domains. Different types can be defined at various levels of granularity and can include, for example, news (and / or finer-grained types such as technology news, political news, etc.), travel (and / or finer-grained types such as air travel, car travel, western US travel, etc.), shopping (and / or finer-grained types such as home goods shopping, electronics shopping), and / or other types. A given Internet resource can be identified as a single type, or it can be identified as multiple types (optionally, each type has a weight). In various implementations, a trained classifier is used to process the content of the given Internet resource (e.g., word embeddings of titles and / or specific sentences) and generate a predictive output that predicts the type of the given Internet resource. Content attributes may additionally or alternatively include one or more low-dimensional embeddings of at least some content of the given Internet resource, such as word embeddings of terms from the given Internet resource (e.g., using Word2Vec or other techniques). Content attributes may additionally or alternatively include one or more structural attributes of at least some content of a given Internet resource. Structural attributes may be based on the markup language (e.g., XML tags or HTML tags) and / or the organization of the markup language (e.g., order) included in the given Internet resource.

[0011] A navigation attribute for a given Internet resource indicates one or more specific attributes used to navigate to that Internet resource. As a result, when a navigation attribute is used to determine whether to provide relevant content interface notifications and / or interactive conditions for it, this determination is specific to the navigation attribute and only for access to the given Internet resource as a result of navigation conforming to the navigation attribute. In some implementations, the navigation attribute includes a path attribute that indicates which of a plurality of navigation paths is used to access the Internet resource. Various navigation paths of varying granularity can be utilized. For example, navigation paths can include query-based paths (e.g., a link to a given Internet resource is presented as a search result in response to a query and is selected) and query-independent paths (e.g., selecting a link to a given Internet resource provided in an active "content feed," or navigating to a given Internet resource by typing its URL in the address bar). As another example, navigation paths can include more fine-grained query-based paths, such as multiple query-based paths corresponding to different query breadths.

[0012] For example, suppose there's a webpage for a hypothetical café, a hypothetical restaurant in Louisville, Kentucky, serving vegan food. A query for "hypothetical café in Louisville, Kentucky" could be categorized as a first-degree-of-breadth (e.g., very narrow or navigable) query, a query for "vegan food in Louisville, Kentucky" as a broader second-degree-of-breadth query, and a query for "restaurant in Louisville, Kentucky" as an even broader-degree-of-breadth query. Generally, when a given internet resource is accessed as a result of a broader query, relevant content interface notifications are more likely to be provided and / or will be provided with "more aggressive" interactive conditions compared to when the given internet resource is accessed as a result of a narrower query (e.g., a navigable query). This could be a factor in navigable or narrower queries, which indicate an expectation to view one (or a limited set) internet resource, while a broader query indicates an expectation to explore multiple internet resources related to a particular topic.

[0013] The global historical interaction attributes of a given Internet resource, in response to previous presentations of previously relevant content interface notifications regarding past accesses by multiple client devices to the given Internet resource and / or additional Internet resources identified as similar to the given Internet resource, indicate the past extent of a measure of past interactions with the previously relevant content interface notifications. Various techniques can be used to determine the similarity between additional Internet resources and the given Internet resource, for example, by comparing word (and / or other content) embeddings of the content of the given Internet resource with the additional Internet resource, and determining similarity if the embeddings satisfy a distance threshold.

[0014] A personal history interaction attribute for a given Internet resource indicates the past extent of a user's past interactions with previous relevant content interface notifications (e.g., all previous relevant content interface notifications, recent notifications, and / or notifications about Internet resources identified as similar to the given Internet resource). As a result, the personal history interaction attribute is personal to the current access to a given Internet resource, and when used to determine whether to provide relevant content interface notifications and / or interaction conditions for that access, the determination is specific to the current access.

[0015] Relevant content attributes are based on one or more relevant Internet resources that are linked to in the relevant content notifications for Internet resources or presented in response to the selection of relevant content notifications. For example, relevant content attributes may be based on query-independent metrics determined for one or more relevant Internet resources. Query-independent metrics for Internet resources may be based on, for example, the frequency of access to the Internet resource, inbound links to the Internet resource, and / or other query-independent attributes of the Internet resource. Relevant content attributes for relevant Internet resources may additionally or alternatively be based on the strength of the relationship between the relevant Internet resource and the given Internet resource. The strength of the relationship between the relevant Internet resource and the given Internet resource may be based on, for example, how many users accessed the two Internet resources (optionally very close in time), the degree of overlap in the content of the Internet resources (e.g., the topic of the Internet resource), and / or the frequency with which the two Internet resources appear together in search results.

[0016] The above description serves only as an overview of some implementation methods disclosed in this article. These and other implementation methods will be described in detail in this article.

[0017] Various implementations may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform methods such as one or more methods described herein. Other various implementations may include a system comprising memory and one or more hardware processors operable to execute instructions stored in memory to perform methods such as one or more methods described herein. Attached Figure Description

[0018] Figure 1 A block diagram depicts an example environment that illustrates various aspects of this disclosure and in which the implementations disclosed herein can be implemented.

[0019] Figure 2A and Figure 2B Each described its implementation method. Figure 1 Some of the components, and example interactions that can occur between these components.

[0020] Figure 3 A flowchart illustrating example methods for training machine learning models based on various implementations is provided.

[0021] Figure 4 A flowchart illustrating example methods for determining whether and / or when to present relevant content interface notifications, based on various implementations, is provided.

[0022] Figure 5A , Figure 5B , Figure 5C and Figure 5D Various non-restricted examples of relevant content interface notifications based on different implementation methods are described.

[0023] Figure 6 Example architectures of computing devices based on various implementations are described. Detailed Implementation

[0024] Figure 1 A block diagram illustrating an example environment demonstrating various aspects of this disclosure is shown. Client device 110 is in... Figure 1 As shown, it includes an Internet access resource engine 111, a rendering engine 112, and a pre-caching engine 113.

[0025] Internet resource access engine 111 can detect access to a given Internet resource at client device 110. Access to a given Internet resource can be achieved through interaction with one or more users via a web browser or other software application installed on client device 110. As a non-limiting example, Internet resource engine 111 can be integrated as part of a web browser installed on client device 110 and can detect Internet resources accessed via the web browser. As another non-limiting example, Internet resource engine 111 can be part of the operating system or assistant application of client device 110 and can detect Internet resources accessed via web browser applications, social media applications, or other applications.

[0026] In response to access to a given Internet resource, the Internet resource engine 111 may transmit a request for one or more interaction conditions to the viewing content system 180 via one or more networks 190 (e.g., Wi-Fi, Bluetooth, LAN, WAN, and / or other networks) to provide relevant content interface notifications for the accessed Internet resource (e.g., such as...). Figure 2B (As described in more detail below). The request may include, for example, a Uniform Resource Identifier (URI) for an Internet resource. The request may also include navigation path data indicating a navigation path for accessing the Internet resource. The navigation path data may be included in the URI (e.g., in a query component of the URI) and / or separate from the URI. The request may also optionally include an identifier of the client device 110 and / or an identifier of the client device 110's account (e.g., an account associated with access to the Internet resource).

[0027] In response to transmitting the request, client device 110 may receive one or more interaction conditions for a relevant content interface notification of the accessed Internet resource from the viewing content system 180 and through one or more networks 190, and optionally, content for presentation in the relevant content interface notification. The content for presentation in the relevant content interface notification may include content for presentation during the initial presentation of the relevant content interface notification and / or after an “extension” of the relevant content interface notification (e.g., in response to user interface inputs such as taps, swipes up, swipes down, and / or other user interface inputs). Presentation engine 112 may monitor for the occurrence of interaction conditions and, in response to detecting that an interaction condition is met, present the relevant content interface notification. The relevant content interface notification may include relevant content related to the accessed Internet resource. In some implementations, the relevant content may be pre-cached in one or more databases (not shown) of client device 110 and may be retrieved using pre-caching engine 113 for inclusion in the relevant content interface notification (e.g., as shown in the image). Figure 2B (As described in more detail below). In some versions of these implementations, the pre-caching engine 113 may store the underlying content of the relevant content (e.g., the content of the relevant Internet resource) in one or more databases. In other versions of these implementations, the pre-caching engine 113 stores only indications of the relevant content in one or more databases, such as fragments of the relevant Internet resource (e.g., such as...). Figure 5A and Figure 5B (As shown in 551A and 551B).

[0028] In some implementations, the content spying system 180 may be implemented at least in part by one or more servers. The content spying system 180 may include an attribute engine 130, a prediction engine 140, a relevant content generation engine 150, and a request engine 160. The attribute engine 130 may determine multiple attributes of a given Internet resource. These multiple attributes may include, for example, content attributes determined using the content attribute engine 131; relevant content attributes determined using the relevant content attribute engine 132; navigation attributes determined using the navigation attribute engine 133; personal and / or global historical interaction attributes determined using the historical interaction attribute engine 134; and / or other attributes determined using the attribute engine 130.

[0029] The prediction engine 140 may include an interaction condition engine 141 and an optional determination engine 142. The interaction condition engine 141 may apply multiple attributes as input across the machine learning model 140A to generate a prediction output. Based on the prediction output, the interaction condition engine 141 may determine the interaction conditions for a given Internet resource. Furthermore, the determination engine 142 may determine whether the client device 110 should present a relevant content interface notification based on the interaction conditions and / or based on individual portions of the prediction output (i.e., different portions of the prediction output used to generate the interaction conditions). If the determination engine 142 determines that a relevant interface notification for the Internet resource should be presented (at least for certain navigation paths and / or other conditions), the interaction conditions determined by the interaction condition engine 141 may be provided to the client device 110 by the content viewing system 180. When the interaction conditions are met, the presentation engine 112 of the client device 110 may present the relevant content interface notification via the display of the client device 110. However, if the determination engine 142 determines that the client device 110 should not present the relevant content interface notification, the snooping content system 180 may respond to a resource-related request from the Internet resource access engine 111 by providing a response indicating that the presentation of the relevant content interface notification should not occur, or the snooping content system 180 may avoid providing any response.

[0030] In some implementations, when the determining engine 142 makes a determination based on a prediction output separate from the prediction output utilized by the interaction condition engine 141, the interaction condition engine 141 may optionally determine the interaction condition for a given resource only in response to the determining engine 142 determining that relevant interface notifications should be provided. Therefore, computational resources can be saved by avoiding the determination of interaction conditions when the determining engine 142 determines that relevant content interface notifications should not be provided for the corresponding Internet resource. As described herein, the interaction conditions determined by the interaction condition engine 141 are dynamic because they can vary with the Internet resource based on multiple attributes of the given Internet resource and can vary for the given Internet resource based on the navigation path used to access it.

[0031] Content attribute engine 131 can determine type attributes of a type / vertical domain, indicating that a given Internet resource accessed at client device 110 conforms to multiple different types (e.g., news, travel, shopping, restaurants, sports, and / or other types), based on the content of a given Internet resource. A given Internet resource can be determined to be a single type, or it can be determined to be multiple types (optionally, each type has a weight). For example, an Internet resource accessed at client device could be of the news and sports types, with a weight of 0.6 assigned to the news type and a weight of 0.4 assigned to the sports type. In various implementations, content attribute engine 131 can also use a trained classifier and generate an output predicting the type of a given Internet resource based on its content (e.g., headlines and / or word embeddings of specific sentences).

[0032] In some additional and / or alternative implementations, the content attribute engine 131 may generate one or more low-dimensional embeddings of at least some content of a given Internet resource, such as word embeddings of terms of the given Internet resource (e.g., using Word2Vec or other techniques). For example, the content attribute engine 131 may generate word embeddings based on the header, body, metadata, and / or other content of a given Internet resource, where the word embeddings are in an embedding space. By mapping the content of the Internet resource to the embedding space, similar Internet resources (e.g., different types) may be grouped together in the embedding space based on the underlying content of the Internet resource. Furthermore, in some additional and / or alternative implementations, the content attribute engine 131 may determine one or more structural attributes of at least some content of a given Internet resource. Structural attributes may be based on which markup languages ​​(e.g., XML tags or HTML tags) are included in the given Internet resource and / or the organization of the markup languages ​​(e.g., order). For example, suppose the Internet resource is an airline webpage. In this example, the airline's webpage will include structured information (e.g., flight date / time, fare, flight number, and / or other information). Therefore, by taking into account the content attributes determined using the content attribute engine 131, the interaction conditions can vary for each Internet resource accessed by the client device 110.

[0033] The relevant content attribute engine 132 can determine one or more query-irrelevant metrics for relevant Internet resources based on relevant Internet resources that are linked to in relevant content notifications for Internet resources or presented in response to selections in relevant content interface notifications. As described in more detail here, the relevant content attribute engine 132 can utilize information processed by the relevant content engine 150. Query-irrelevant metrics for relevant Internet resources can be based on, for example, the frequency of access to the Internet resource, inbound links to the Internet resource, and / or other query-irrelevant attributes of the Internet resource. Furthermore, in some additional and / or alternative implementations, the relevant content attribute engine 132 can determine the strength of the relationship between a given Internet resource and one or more relevant Internet resources. The strength of the relationship between a given Internet resource and one or more relevant Internet resources can be based on, for example, how many users accessed the two Internet resources (optionally very close in time), the degree of overlap in the content of the Internet resources (e.g., the topic of the Internet resources), and / or the frequency with which the two Internet resources appear together in search results.

[0034] In some versions of those additional and / or alternative implementations, the relevant content attribute engine 132 may consider only relevant content attributes if the strength of the relationship between a given Internet resource and one or more related Internet resources meets a threshold. For example, for the webpage of an example airline, assume that the webpage of a hypothetical airline frequently appears alongside search results for flight information, along with the webpage of the example airline. Further assume that, in response to receiving search results for flight information, most users typically view the webpage of the example airline, and subsequently view the webpage of the hypothetical airline. Based on the simultaneous appearance of the webpages of the example airline and the hypothetical airline, and the access to both webpages, the relevant content attribute engine 132 may determine a strong relationship strength (e.g., 0.8) between the webpages of the example airline and the hypothetical airline that meets a threshold (e.g., 0.7). Furthermore, the relationship strength may be based on the temporal proximity between accessing the webpage of the example airline and accessing the webpage of the hypothetical airline. For example, if most users access the webpage of the example airline and immediately afterwards access the webpage of the hypothetical airline, the relationship strength score (e.g., 0.9) may be stronger than if most users access one or more other webpages in between (e.g., 0.6). Therefore, by taking into account the relevant content attributes determined using the relevant content attribute engine 132, the interaction conditions can vary for each Internet resource (e.g., as referenced herein). Figure 5D (More detailed description).

[0035] The navigation attribute engine 133 can determine one or more specific navigation attributes used for navigating to a given Internet resource. In implementations that use navigation attributes to determine whether to provide relevant content interface notifications and / or interaction conditions, this determination (e.g., through...) Figure 1 The determination engine (142) is dedicated to navigation attributes and is only used for accessing a given Internet resource as a result of navigation conforming to the navigation attributes. In some of these implementations, the navigation attributes include path attributes that indicate which of a plurality of navigation paths was used to access the Internet resource (e.g., as referenced herein). Figures 5A to 5D (For a more detailed description). The interaction conditions for a given Internet resource can be further based on the navigation path used to access the given Internet resource.

[0036] For example, navigation paths may include query-related paths (e.g., a link to a given Internet resource is presented as a search result in response to the query and is selected) and query-independent paths (e.g., selecting a link to a given Internet resource provided in an active "content feed" on client device 110, or navigating to a given Internet resource by typing its URL in the address bar). For query-related paths, navigation paths may include multiple query-related paths corresponding to, for example, different query breadths (e.g., as referenced herein). Figure 5B and Figure 5C (More detailed description). For example, if a given Internet resource is accessed via a navigation path or a broader query corresponding to an active content feed from client device 110, the interaction condition can be "more aggressive" compared to the case where the given Internet resource is accessed via a navigation path corresponding to a narrower query (e.g., a navigation query).

[0037] In other words, if a given Internet resource is accessed via a navigation path that indicates the user of client device 110 is typically browsing Internet resources (e.g., typically using content feeds and / or extensive queries for restaurants), then the interaction condition can instruct the user to be more likely to interact with the relevant content interface notification, and the relevant content interface notification can be provided quickly so that the user does not need to return to the content feed or search results page, thereby reducing user input at client device 110. Conversely, if a given Internet resource is accessed via a navigation path that indicates the user of client device 110 is looking for a specific Internet resource (e.g., using a navigation query for a specific restaurant), then the determined interaction condition can instruct the user to be less likely to interact with the relevant content interface notification because the user is looking for a specific Internet resource, and the relevant content interface notification can be suppressed for a period of time (if provided). Therefore, the computational resources of client device 110 can be saved by delaying (or completely eliminating) the presentation of relevant content interface notifications at client device 110, and network resources (if any) can be saved by providing relevant content interface notifications at the right time. In addition, it should be noted that when considering saving resources for a large number of users, a significant amount of network resources can be saved.

[0038] The historical interaction attribute engine 134 can determine personal historical interaction attributes and / or global historical interaction attributes for a given Internet resource. The historical interaction attribute engine 134 can determine the personal historical interaction attributes for a given Internet resource based on the past extent of a measurement of past interactions of a given user on client device 110 with previous relevant content interface notifications (e.g., all previous relevant content interface notifications, recent notifications, and / or notifications about Internet resources identified as similar to the given Internet resource). The historical interaction attribute engine 134 can retrieve personal past interactions with multiple Internet resources and / or past interactions with relevant content interface notifications presented when the user views each of the multiple Internet resources from the personal interaction database 134A.

[0039] The personal interaction database 134A may include, for example, data indicating that a user of client device 110 has previously accessed multiple Internet resources, as well as information about the previous access to each of the multiple Internet resources. For example, the personal interaction database 134A may include interaction conditions (e.g., access duration and / or scrolling conditions) encountered by a given user when previously accessing multiple Internet resources. As described herein, various techniques can be used to determine the similarity of additional Internet resources to a given Internet resource. These techniques include, for example, comparing word (and / or other content) embeddings of the content of the given Internet resource with the additional Internet resource, and determining that they are similar if the embeddings satisfy a distance threshold. Therefore, the personal historical interaction attributes determined using the historical interaction attribute engine 134 are personal to the user accessing the given Internet resource on client device 110 (e.g., as referenced herein). Figure 5A (as described).

[0040] Furthermore, the historical interaction attribute engine 134 can determine the global historical interaction attributes of a given Internet resource based on the past extent of measurements of past interactions by multiple additional users (i.e., users other than those on client device 110) with previous relevant content interface notifications regarding that Internet resource. These past interactions by multiple additional users can be retrieved from the global interaction database 134B. For example, the global interaction database 134B may include interaction conditions (e.g., access duration and / or scrolling conditions) encountered by multiple additional users when they previously accessed the given Internet resource. Additionally, if a relevant content interface notification was presented during a previous access, the global interaction database 134B may include an indication of whether each of the multiple users interacted with the relevant content interface notification, and if so, the extent of the interaction (e.g., accessing the underlying content of the relevant content interface notification, viewing additional relevant content of the relevant content interface notification, excluding the relevant content interface notification and / or other historical interactions).

[0041] The global interaction database 134B may include, for example, data indicating previous accesses of a given Internet resource by multiple additional users, as well as information about the previous accesses of each of the multiple additional users. Therefore, the global historical interaction attributes determined for a given Internet resource using the historical interaction attribute engine 134 can be generalized based on interactions between other users and the given Internet resource and / or similar Internet resources (e.g., as referenced herein). Figure 5A (as described).

[0042] As described above, the prediction engine 140 may include at least an interaction condition engine 141 and a determination engine 142. The prediction engine 140 may apply multiple attributes determined by the attribute engine 130 as input to the machine learning model 140A to generate a prediction output. Furthermore, the interaction condition engine 141 may determine the interaction conditions for a given Internet resource based on the prediction output, and the determination engine 142 may also determine whether the client device 110 should present a relevant content interface notification based on the prediction output. If the determination engine 142 determines that the client device 110 should present a relevant content interface notification, then when the interaction conditions are met, the client device 100 may send a signal to the client device 110 to cause the presentation engine 112 to present the relevant content interface notification via the user interface of the client device 110.

[0043] Interaction conditions for a given Internet resource may include, for example, the duration of access to the given Internet resource (e.g., time elapsed since the given Internet resource was requested, retrieved, or presented), and scrolling conditions (e.g., whether scrolling has occurred, the extent of scrolling, the speed of scrolling, and / or the direction of scrolling). Furthermore, interaction conditions may depend on the navigation path used to access the given Internet resource. As an example, for a first webpage, interaction conditions may include a 15-second duration for accessing and / or scrolling a specific percentage of the first webpage, and for a second webpage, interaction conditions may include a 10-second duration for accessing and / or scrolling a different specific percentage of the second webpage. As another example, for a third webpage, and for access to the third webpage via a first navigation path (e.g., a query-related navigation path), interaction conditions may include a 20-second access duration, and for access to the third webpage via a second navigation path (e.g., a query-independent navigation path), interaction conditions may include a 15-second access duration. Note that when multiple interaction conditions are defined for a given resource, the satisfaction of a condition can be determined when any one of the interaction conditions is met, or alternatively, when a combination of one or more (e.g., all) interaction conditions is met (this will trigger the provision of relevant content interface notifications). Therefore, interaction conditions are dynamic because they can vary with the Internet resource and / or even for a single Internet resource (e.g., depending on the navigation path to the Internet resource and / or the client device and / or the user account accessing the Internet resource).

[0044] Furthermore, by leveraging dynamic interaction conditions, the peeping content system 180 can reduce the occurrence of late and / or early delivery of relevant content interface notifications, thereby mitigating the technical drawbacks of late and / or early delivery. Additionally, as described herein, various implementations utilize machine learning models trained based on user interactions (or lack thereof) with previously provided relevant content interface notifications to determine dynamic interaction conditions, ensuring that the technical drawbacks of late and / or early delivery are mitigated at least overall across the user population.

[0045] The machine learning model 140A used by the prediction engine 140 can be trained using the training engine 140A1. The training engine 140A1 can utilize one or more training techniques to train the machine learning model 140A. The machine learning model 140A can include, for example, a neural network model, a support vector machine, a Bayesian network, and / or other machine learning models. In some implementations, the training engine 140A1 can utilize reinforcement learning techniques to train the machine learning model 140A. In some other implementations, the training engine 140A1 can utilize supervised learning techniques to train the machine learning model 140A.

[0046] In implementations utilizing reinforcement learning training techniques, relevant content interface notifications can be presented when a user is consuming a given Internet resource. For a given state-action space of the client device, discrete actions can be sampled to determine the interaction conditions for providing relevant content interface notifications. In some implementations, training can be performed "online" (e.g., as described below), while in some additional and / or alternative implementations, training can be performed "offline" to guide the machine learning model 140A (e.g., as referenced herein). Figure 3 (More detailed description). For example, for a given state (e.g., s1), the training engine 140A1 can sample multiple discrete actions (e.g., a1, a2, ... a...). N (where N is a positive integer). This state can correspond to, for example, multiple attributes, and each discrete action can correspond to, for example, the duration of access to a given Internet resource and / or a scrolling condition for a given Internet resource. Furthermore, the probability of each action and given state can be determined based on the predicted output of the machine learning model 140A. For example, a first discrete action could include a ten-second access duration to a given Internet resource and a scrolling condition of 20% for the user scrolling the given Internet resource; a second discrete action could include a twenty-second access duration to a given Internet resource, but without a scrolling condition; and so on.

[0047] In some implementations, for each action in a given state, a given discrete action can be selected based on probability, and other discrete actions similar to the selected action can be resampled. For example, the selected discrete action could include a ten-second access duration to a given Internet resource and a 20% scrolling condition for the user to access the given Internet resource; a second discrete action could include a ten-second access duration to a given Internet resource and a 25% scrolling condition for the user to access the given Internet resource; a third discrete action could include a twelve-second access duration to a given Internet resource and a 20% scrolling condition for the user to access the given Internet resource; and so on. Therefore, a set of discrete actions can be analyzed, and a given discrete action (e.g., the interaction condition for a given Internet resource) can be selected based on the corresponding probability of each discrete action in that set.

[0048] Furthermore, based on the selected discrete action, a given client device can present a relevant content interface notification when the interaction condition indicated by the given discrete action is met. Additionally, when the interaction condition indicated by the given discrete action is satisfied, a reward can be determined based on one or more user interactions (or no interaction) with the relevant content interface notification (e.g., such as...). Figure 3 (As described in [the document]). For example, one or more weights of the machine learning model 140A used to determine the probability associated with a given discrete action can be updated. In this way, the machine learning model 140A can be updated for each discrete action in the discrete action space based on multiple user interactions of multiple users (optionally including or excluding users of client device 110).

[0049] In an implementation utilizing supervised learning training techniques, similar to reinforcement learning, relevant content interface notifications can be presented when a user is consuming a given Internet resource. However, instead of sampling actions (e.g., interaction conditions) from a discrete action space of a given state (e.g., attributes of a given Internet resource) as in reinforcement learning, multiple attributes of the given Internet resource can be applied as inputs across the machine learning model to generate a predicted output. Furthermore, the relevant content interface notification can be presented via a user interface on a client device when or shortly after accessing a given Internet resource. Based on one or more user interactions (or no interaction) with the relevant content interface notification, a base fact output corresponding to the predicted output of the relevant content interface notification can be generated. Furthermore, the base fact output can be compared with the predicted output to determine an error, and this error can be backpropagated across the machine learning model 140A (e.g., using one or more backpropagation techniques) to update the machine learning model 140A based on this error.

[0050] For example, suppose a relevant content interface notification is presented along with a webpage, and a user views the webpage for 30 seconds and scrolls 40% of it before interacting with the notification. Further suppose a predicted output is generated based on multiple attributes of the webpage, and the interaction conditions generated based on the predicted output include a 50-second visit duration and / or a 60% scrolling condition. In this example, the base fact output could be generated based on the user viewing the webpage for 30 seconds and scrolling 40%. However, the predicted output generated based on multiple attributes of the webpage produces the interaction conditions of a 50-second visit duration and / or a 60% scrolling condition. Therefore, the base fact output based on the actual interaction with the webpage's relevant content interface notification can be compared with the predicted output to generate an error, which can be backpropagated across the machine learning model 140A. This technique can be performed iteratively for multiple internet resources and based on interactions from multiple users. Furthermore, each iteration can focus on a single interaction condition and / or each interaction condition. In this way, for a given internet resource, the machine learning model 140A can be iteratively updated using supervised learning techniques.

[0051] Furthermore, the determination engine 142 can also utilize the predictive output from the machine learning model to determine whether relevant content interface notifications should be provided to the user of the client device 110 and / or whether interaction conditions should be stored in the interaction condition database 145. For example, depending on various implementations, Figure 2A Depicting Figure 1 The system includes several components and example interactions that can occur between these components. The attribute engine 130 can determine multiple attributes 206, including content attributes 201, navigation attributes 202, personal interaction attributes, global interaction attributes 204, and / or related content attributes 205. The prediction engine 140 can use a machine learning model 140A to process the attributes 206 to generate a prediction output 207.

[0052] In some implementations, the interaction condition engine 141 can determine the interaction condition 208, and the interaction condition 208 can be stored in the interaction condition database 145. In some versions of those implementations, the interaction condition 208 is indexed by Internet resources, and optionally, by each navigation path of each Internet resource. For example, the interaction condition 208 for a given Internet resource can be stored in the interaction condition database 145 as the URI and / or URL of the given Internet resource. Furthermore, different interaction conditions specific to each navigation path used to access a given Internet resource can be stored in association with the URI and / or URL of the given Internet resource. By indexing the interaction condition 208 in the interaction condition database 145 based on the URI and / or URL, and optionally by the different navigation paths used to access a given Internet resource, the interaction condition 208 can be quickly identified in response to request 209, thereby reducing the waiting time for responding to request 209. This allows interaction condition 208 to be determined once for a given Internet resource, but for multiple requests, thereby preventing computationally intensive re-determination of interaction condition 208 for each request (although interaction condition 208 can be updated in response to changes in the content of the Internet resource and / or an updated version of machine learning model 140A).

[0053] In some versions of those implementations, the determination engine 142 can determine whether interaction condition 208 should be stored in the interaction condition database 145 before it is stored there. For example, if a given Internet resource is accessed via an active content feed, interaction condition 208 is likely to indicate that a shorter access duration and / or less stringent scrolling conditions are required to present relevant content interface notifications, and the determination engine 142 can provide an indication to store interaction condition 208. Conversely, if a user accesses a given Internet resource by entering a URL in a search bar (e.g., www.exampleurl.com), interaction condition 208 is likely to indicate that a very long access duration and / or very stringent scrolling conditions are required to present relevant content interface notifications, and the determination engine 142 can provide an indication that interaction condition 208 should not be stored in the interaction condition database 145. In other words, engine 142 can prevent the interaction conditions of Internet resources and the navigation path from being stored, or it can store "empty" interaction conditions, wherein "empty" interaction conditions indicate that no content interface indication of Internet resources and the navigation path should be provided.

[0054] In some other implementations, the determination engine 142 can determine whether or not the interaction condition engine 141 should even determine the interaction condition 208 based on the predicted output (e.g., a portion different from the predicted output used to determine the interaction condition 208). For example, suppose the predicted output 207 includes predicted probabilities, but each predicted probability does not meet a threshold for determining the interaction condition 208 using the interaction condition engine 141. In this example, the determination engine 142 can analyze the predicted probabilities of the predicted output 207 and instruct the interaction condition engine 141 to stop any processing and / or determination of the interaction condition 208. Therefore, by using the determination engine 142, the prediction engine 140 can prevent unnecessary processing, thereby saving computational resources.

[0055] Return to reference Figure 1 The relevant content generation engine 150 can identify relevant content to include in the relevant content interface notification. The relevant content generation engine 150 can identify relevant content for the relevant content interface notification based on how many users accessed the accessed Internet resource and related Internet resources (optionally very close in time), the degree of overlap in the content of the accessed Internet resource and related Internet resources (e.g., the topic of the Internet resource), and / or the frequency with which the accessed Internet resource and related Internet resources appear simultaneously in search results. The relevant content generation engine 150 can utilize techniques similar to those of the relevant content attribute engine 132 to identify relevant Internet resources. For example, for the webpage of an example airline, assume that the webpage of a hypothetical airline frequently appears alongside the search results for flight information, along with the webpage of the example airline. Further assume that, in response to receiving search results for flight information, the user typically views the webpage of the example airline and subsequently views the webpage of the hypothetical airline. Based on the simultaneous appearance of the webpages of the example airline and the hypothetical airline and the access to both webpages, the relevant content generation engine 150 can determine that the webpages of the example airline and the hypothetical airline are relevant. Furthermore, the strength of the relationship between the example airline's webpage and the hypothetical airline's webpage can be based on the temporal proximity between the visits to the webpages. For example, if a user visits the example airline's webpage and then immediately visits the hypothetical airline's webpage, the relationship strength can be stronger than if the user visits one or more other webpages in between. In this way, the relevant content attribute engine 132 can utilize the information processed by the relevant content generation engine 150.

[0056] Request engine 160 can process requests received from client device 110 via one or more networks 190. For example, depending on the implementation, Figure 2B Depicting Figure 1Some components, and example interactions that can occur between these components. The Internet resource access engine 111 of the client device 110 can determine that a user of the client device 110 is accessing a given Internet resource, and can send a request 209 to the spying content system 180 via one or more networks 190. The request 209 may include an indication of the given Internet resource (e.g., a URL or other URI), and optionally include a navigation path for accessing the given Internet resource. In some implementations, the request engine 160 may process the request 209 by accessing an interaction condition database 145 to retrieve interaction conditions 208 based on the Internet resource accessed at the client device 110 and optionally based on the navigation path for accessing the Internet resource. Based on one or more techniques described herein (e.g., as referenced...) Figure 2A As described, interaction condition 208 can be pre-stored in interaction condition database 145. In other implementations, interaction condition 208 for a given Internet resource may not be stored in interaction condition database 145, and the content viewing system 180 may determine interaction condition 208 in response to receiving request 209. Furthermore, request engine 160 may also provide indication of a given Internet resource to related content generation engine 150 to identify related content 210 for inclusion in related content interface notifications. In some implementations, related content 210 for a given Internet resource can be determined before receiving request 209. In other implementations, related content 210 for a given Internet resource can be determined in response to receiving request 209.

[0057] In some implementations, the spying content system 180 may, in response to determining interaction condition 208, send interaction condition 208 and / or related content 210 to the rendering engine 112 of the client device 110. When the client device 110 determines that interaction condition 208 is met, the rendering engine 112 may render a related content interface notification 211 including the related content 210. In some other implementations, the spying content system 180 may send interaction condition 208 to the rendering engine 112 of the client device 110, but avoid sending related content 210 to the rendering engine 112 until the spying content system 180 receives an indication from the client device 110 that interaction condition 208 has been met. For example, if interaction condition 208 is "less proactive" because the navigation path instructs the user to access an Internet resource in response to entering the URL of the Internet resource, interaction condition 208 is unlikely to be met, and the spying content system 180 can avoid wasting network resources by suppressing the sending of related content 208. As another example, if interaction condition 208 includes a 50-second access duration and / or a 95% scrolling condition for an Internet resource (due to the navigation path instructing the user to access the Internet resource in response to entering its URL), then the spying content system 180 may avoid sending relevant content 208 for a specific time period (e.g., 45 seconds of the 50-second access duration), or until a specific scrolling condition that is an interaction condition is met (e.g., 85% of the 95% scrolling condition). Therefore, in the case where interaction condition 208 is "less aggressive," computational resources can be saved by avoiding sending relevant content 210 to the client device 110, compared to immediately sending the interaction condition and relevant content 210 in response to a determination by the spying content system 180.

[0058] In some other implementations, the content viewing system 180 may send interaction condition 208 to the rendering engine 112 of the client device 110 and send relevant content 210 to the client device 110 for pre-caching by the pre-caching engine 113 until interaction condition 208 is met. The pre-caching engine 113 may store the relevant content 210 in one or more databases (not shown) on the client device 110. In some versions of these implementations, determining whether to pre-cach (and / or the degree of pre-caching) of relevant content 210 at the client device 110 viewing a given Internet resource may be based on interaction condition 208. For example, if the determined interaction condition 208 for the accessed Internet resource includes a duration greater than thirty seconds, it may be determined not to pre-cachate the relevant content 210; if the interaction condition includes a duration of fifteen to thirty seconds, pre-caching may be performed to a first degree; and if the interaction condition includes a duration of less than fifteen seconds, pre-caching may be performed to a greater degree (e.g., more relevant content items and / or a greater degree of relevant content items). By pre-caching related content 210, if related content 210 is selected in the related content interface notification 211, the waiting time for displaying related content 210 can be reduced.

[0059] Figure 3 A flowchart illustrating Example 300 methods for training machine learning models according to various implementations is depicted. For convenience, the operation of Method 300 is described with reference to a system performing the operation. This system of Method 300 includes one or more processors and / or other components of a computing device (e.g., Figure 1 , Figure 2A and Figure 2B The client device 110 of the spying content system 180 Figure 6 (A combination of computing device 610, one or more servers, and / or other computing devices). Furthermore, although the operations of method 300 are shown in a specific order, this is not intended to be restrictive. One or more operations may be reordered, omitted, or added.

[0060] In box 352, the system determines whether the Internet resource has been accessed. If, in the iteration of box 352, the system determines that the Internet resource has not been accessed, the system can continue monitoring access to the Internet resource in box 352. If, in the iteration of box 352, the system determines that the Internet resource has been accessed, it can proceed to box 354. In box 354, when a user is consuming the accessed Internet resource, the system causes the given client device to display a relevant content interface notification. In box 356, the system determines a reward based on one or more user interactions (or no interaction) with the relevant content interface notification.

[0061] In some implementations, the one or more user interactions (or no interaction) used to determine the reward may be based on the degree of user interaction with one or more user interactions with a relevant content interface notification presented for a given Internet resource, the duration of access to the given Internet resource after the presentation of the relevant content interface notification and before the user interaction with the relevant content interface notification, and / or the scrolling conditions of the Internet resource after the presentation of the relevant content interface notification and before the user interaction with the relevant content interface notification (e.g., whether scrolling has occurred, the degree of scrolling, the speed of scrolling, and / or the direction of scrolling). For example, suppose a user visits the webpage of a hypothetical café, a hypothetical restaurant in Louisville, Kentucky, that serves vegan cuisine. Further suppose that while the user is viewing the webpage of the hypothetical café via a user interface on the user's client device, a relevant content interface notification is presented, which includes links and / or information about other webpages related to the webpage of the hypothetical café.

[0062] In some of these implementations, the reward can vary in part based on the degree of one or more user interactions (i.e., how the user interacts with the relevant content interface notification). For example, if a user accesses the underlying content of an additional webpage linked to in the relevant content interface notification while viewing the imaginary café webpage, the system can determine a reward that is a very strong metric for providing the relevant content interface notification (e.g., 1.0). In contrast, if a user removes the presented relevant content interface notification while viewing the imaginary café webpage, the system can determine a reward that is a very poor metric for providing the relevant content interface notification (e.g., 0.0). However, if a user does not remove or interact with the presented relevant content interface notification while viewing the imaginary café webpage, the system can determine a reward that is a poorer metric for providing the relevant content interface notification (e.g., 0.2).

[0063] In various implementations, the reward can also vary in part based on the duration of access to a given Internet resource, after the relevant content interface notification is presented and before the user interacts with (or does not interact with) the relevant content interface notification. For example, if a user views the imaginary café's webpage for only ten seconds after the relevant content interface notification is presented and before interacting with it (e.g., as shown in the image), the reward could vary. Figures 5A to 5D If, as described in [the document], the system can determine a reward that is a strong metric for providing the relevant content interface notification (e.g., 0.8). Conversely, if the user views the imaginary café's webpage for more than sixty seconds after the relevant content interface notification is presented but before interacting with it, the system can determine a reward that is a milder metric for providing the relevant content interface notification (e.g., 0.4).

[0064] In various implementations, the reward may vary in part based on scrolling conditions of the Internet resource (e.g., whether scrolling has occurred, the extent of scrolling, the speed of scrolling, and / or the direction of scrolling) after the relevant content interface notification is presented and before one or more users interact with (or do not interact with) the relevant content interface notification. For example, if a user views the imaginary café webpage only ten seconds after the relevant content interface notification is presented and does not scroll (or scrolls quickly to the bottom of the imaginary café webpage) before interacting with the relevant content interface notification (e.g., as...). Figures 5A to 5D If, as described in [the description], the system can determine a reward that is a very strong metric for providing the relevant content interface notification (e.g., 1.0), even if the user may not have accessed any underlying content of other web pages included in the relevant content interface notification. Conversely, if the user views the imaginary café webpage for more than sixty seconds after the relevant content interface notification is presented and slowly scrolls to the bottom of the imaginary café webpage without ever interacting with the relevant content interface notification, the system can determine a reward as a poorer metric for providing the relevant content interface notification (e.g., 0.2).

[0065] In this way, one or more user interactions (or no user interaction) used to determine the reward can be based on the degree of user interaction with one or more user interactions with the relevant content interface notification presented for a given Internet resource, the duration of access to the given Internet resource before the user interaction with the relevant content interface notification, and / or the scrolling conditions of the Internet resource before the user interaction with the relevant content interface notification. In some additional and / or alternative implementations, the system can also determine the penalty based on one or more user interactions with the relevant content interface notification. For example, in cases where the reward is a very poor metric (e.g., the user removes the relevant content interface notification and / or other instances) and / or a poor metric (e.g., the user does not interact with the relevant content interface notification), the system can determine a penalty (e.g., -1.0). In these cases, the penalty can be combined with any reward to determine the total reward.

[0066] In box 358, the system can update the machine learning model based on the determined reward. Therefore, the machine learning model can be trained to determine whether and / or when to provide relevant content interface notifications based on a given Internet resource, which can vary for each Internet resource. Although Figure 3 The machine learning model is described as being updated based on rewards via reinforcement learning techniques; however, it should be understood that this is not intended to be limiting. In some additional and / or alternative implementations, other machine learning techniques can be used to update the machine learning model, such as supervised learning techniques, as described herein (e.g., see references). Figure 1 ).

[0067] Furthermore, in some implementations, the machine learning model can be generated by the user's client device via one or more networks (e.g., Figure 1 The implementation involves one or more servers (network 190) communicating with the user's client device, and / or client devices in conjunction with one or more servers. Furthermore, in some implementations, the machine learning model may also be trained based on interactions with one or more additional users who access the same webpage as the user, making the machine learning model a global machine learning model. In some versions of these implementations, the machine learning model may be further trained based on one or more user interactions of a given user, adapting the global machine learning model to the given user to produce a personalized machine learning model.

[0068] Figure 4 A flowchart illustrating an example method 400 for determining whether and / or when to present relevant content interface notifications, based on various implementations, is depicted. For convenience, the operation of method 400 is described with reference to a system performing the operation. This system of method 400 includes one or more processors and / or other components of a computing device (e.g., Figure 1 , Figure 2A and Figure 2B The client device 110 of the spying content system 180 Figure 6 (A combination of computing device 610, one or more servers, and / or other computing devices). Furthermore, although the operations of method 400 are shown in a specific order, this is not intended to be restrictive. One or more operations may be reordered, omitted, or added.

[0069] In box 452, the system determines several attributes of the Internet resource. These attributes may include, for example, content attributes, navigation attributes, global history attributes, personal history attributes, and / or related content attributes. Each attribute is described in more detail here (e.g., regarding...). Figure 1 , Figure 2A and Figure 2B This section also describes in more detail how each attribute affects whether and / or when related content UI notifications are presented (e.g., regarding...). Figures 5A to 5D ).

[0070] In box 454, the system uses a machine learning model to process multiple attributes to generate a predicted output. For example, the system can generate a predicted output by applying multiple attributes as inputs across the machine learning model. Furthermore, the machine learning model can be trained based on one or more interactions (or no interactions) between a given user and / or multiple additional users with previously provided relevant content interface notifications (e.g., as...). Figure 1 and Figure 3 (More detailed description in the text).

[0071] In box 456, the system determines one or more interactions based on the predicted output to trigger the provision of relevant content interface notifications for an Internet resource. Interaction conditions for a given Internet resource may include, for example, the duration of access to the given Internet resource (e.g., time elapsed since the given Internet resource was requested, retrieved, or presented) and / or scrolling conditions (e.g., whether scrolling has occurred, the extent of scrolling, the speed of scrolling, and / or the direction of scrolling). Interaction conditions are dynamic because they can vary depending on the Internet resource, and / or even for a single Internet resource (e.g., depending on the navigation path to the Internet resource and / or the client device and / or the user account accessing the Internet resource). As an example, for a first webpage, interaction conditions may include an access duration of 20 seconds indicative of accessing the first webpage and / or a scrolling condition indicative of scrolling 50% of the first webpage. Conversely, for a second webpage, interaction conditions may include an access duration of 15 seconds indicative of accessing the second webpage and / or a scrolling condition indicative of scrolling 20% ​​of the second webpage. As another example, for a third webpage, and for access to the third webpage via a first navigation path (e.g., a query-independent path fed by content from a given client device), the interaction condition may include a 10-second access duration to the third webpage. However, for the third webpage, and for access to the third webpage via a second navigation path (e.g., a query-dependent path submitted via a navigation query from a given client device), the interaction condition may include a 30-second access duration to the third webpage.

[0072] In box 458, the system determines whether an Internet resource has been accessed at the user's given client device. If, in an iteration of box 458, the system determines that no Internet resource has been accessed at the user's given client device, the system may wait for access to the Internet resource at box 458. If, in an iteration of box 458, the system determines that an Internet resource has been accessed at the user's given client device, in some implementations, the system may proceed to box 460.

[0073] In box 460, the system determines whether one or more interaction conditions of the Internet resource are satisfied. Note that when multiple interaction conditions are determined for a given Internet resource, satisfaction of an interaction condition can be determined when any one interaction condition is satisfied, or alternatively, when a combination of one or more (e.g., a subset or all) interaction conditions is satisfied. If, in the iteration of box 460, the system determines that one or more interaction conditions are not satisfied, then in box 460, the system can continue to monitor the satisfaction of one or more interaction conditions of the Internet resource. If, in the iteration of box 460, the system determines that one or more interaction conditions are not satisfied, then the system can proceed to box 462.

[0074] In box 462, the system presents relevant content interface notifications via the user interface of the client device. In some implementations, while presenting the relevant content interface notification, the system may monitor one or more user interactions with the notification and update the machine learning model based on these interactions during inference. In some versions of these implementations, the system may determine the reward based on one or more user interactions (e.g., such as...). Figure 1 and Figure 3 (as described in [the document]), and the machine learning model can be updated based on the determined reward. In some other versions of those implementations, the system can be based on one or more user interactions (e.g., such as [examples of user interactions]). Figure 1 and Figure 3 As described in [the document], the machine learning model can be continuously updated based on one or more user interactions with the relevant content interface notification to determine the basic fact output.

[0075] Figures 5A to 5D Various non-limiting examples of relevant content interface notifications according to various implementations are depicted. A client device 510 is depicted, which includes a user interface 580. The user interface 580 of the client device 510 includes various system interface elements 591, 592, and 593 (e.g., hardware and / or software interface elements) with which a user can interact to cause the client device 510 to perform one or more actions. Furthermore, the user interface 580 of the client device 510 enables a user to interact with content presented on the user interface 580 via touch input (e.g., by directing user input to the user interface 580) and / or via voice input (e.g., by selecting a microphone interface element 594—or simply by speaking without having to select a microphone interface element 594 (i.e., an automation assistant, at least partially executed on the client device 510, can monitor one or more terms or phrases and / or other conditions to activate voice input)).

[0076] It is worth noting that, Figures 5A to 5DVarious examples are described illustrating whether and / or when relevant content interface notifications are presented on the user interface 580 of client device 510 based on one or more interaction conditions. As described herein, determining one or more interaction conditions for a given webpage can be based on multiple attributes, and determining whether to provide relevant interface notifications based on whether one or more interaction conditions are met can vary depending on the Internet resource and / or even for a single Internet resource (e.g., depending on the navigation path to the Internet resource and / or the client device and / or the user account accessing the Internet resource). Multiple attributes may include, for example, content attributes, navigation attributes, global history attributes, personal history attributes, and / or relevant content attributes.

[0077] First go to Figure 5A On the user interface 580 of client device 510, a webpage for "Imaginary Cafe" 530A is presented. This imaginary cafe is a hypothetical restaurant in Louisville, Kentucky, serving vegan cuisine, and the webpage is associated with URL 525A ("www.exampleurl1.com / ?ref=content-feed"). As shown in navigation path 520A, the webpage for Imaginary Cafe 530A is accessed based on the user's selection of the webpage from the content feed of client device 510. The content feed of client device 510 may include, for example, social media feeds from social media accounts associated with the user of client device 510, active content feeds from the home screen of client device 510, and / or other content feeds accessible to client device 510. In some implementations, such as Figure 5A As shown, URL 525A can be embedded with a navigation path 520A for accessing the webpage of the hypothetical café 530A (e.g., " / ?ref=content-feed").

[0078] In some implementations, Figure 5A One or more interactive conditions of the webpage for the hypothetical café 530A can be based at least in part on navigation attributes. Figure 5A The navigation attributes of the webpage for the imaginary café 530A can be based on navigation path 520A, which instructs the user to access the webpage for the imaginary café 530A via content feedback (e.g., a navigation path unrelated to the query). Based on the user's access to the webpage for the imaginary café 530A via content feedback, compared to accessing a given Internet resource as a result of a query, relevant content interface notification 550A is more likely to be provided and / or will be provided with "more aggressive" interactive conditions (e.g., such as...). Figure 5B and Figure 5C (As described in the text).

[0079] It is worth noting that, in Figure 5AIn this context, client device 510 has presented relevant content interface notification 550A as an extended "peek" via user interface 580, even if the user does not scroll (or scrolls minimally) the webpage of the imaginary café 530A (e.g., as indicated by scroll bar 585; the address, contact information, and / or opening hours of the imaginary café displayed on user interface 580; the top of the menu of the imaginary café being displayed, e.g., only the first part of appetizer 532 and main course 534; and / or other scrolling condition signals). However, even if the user does not scroll the webpage of the imaginary café 530A, client device 510 can still present relevant content interface notification 550A on user interface 580 based on the satisfaction of one or more interaction conditions. Therefore, navigation path 520A can provide an indication of the content feed that the user may normally be browsing (or more specifically, the webpage of a vegetarian restaurant), and relevant content interface notification 550A can enable the user to efficiently navigate to other webpages of the restaurant without having to return to the content feed to identify other webpages and / or other relevant content.

[0080] Furthermore, in some implementations, Figure 5AOne or more interaction conditions for the webpage of the hypothetical café 530A can be based at least in part on historical interaction attributes. Historical interaction attributes can include, for example, personal historical interaction attributes and / or global historical interaction attributes. For example, regarding personal historical interaction attributes, it is assumed that the user has previously accessed multiple other webpages from content feeds, and further assumed that the duration of the user's access to each of the multiple other webpages is only between ten and fifteen seconds. In this example, the interaction condition could indicate that a relevant content interface notification 550A should be provided after a five-second access duration, regardless of any scrolling conditions, because it is likely that the user will exit the webpage of the hypothetical café 530A within ten to fifteen seconds of initially accessing it. As another example, regarding global historical interaction attributes, it is assumed that multiple additional users (e.g., in addition to the user of client device 510, or including the user of client device 510) have previously accessed multiple other webpages related to the restaurant, and it is also assumed that the average duration of the multiple additional users' access to the other webpages is only between eight and ten seconds. In this example, the interaction condition could indicate that a relevant content interface notification 550A should be provided after a three-second visit duration, regardless of any scrolling conditions, because it is likely that the user will also exit the webpage of the imaginary café 530A within eight to ten seconds of initially visiting it. Therefore, the historical interaction attribute can provide indications of how the user of client device 510 and / or multiple additional users typically browse and / or interact with webpages, and the relevant content interface notification 550A allows the user to efficiently navigate to other webpages of the restaurant without having to return to the content feed to identify other webpages and / or other relevant content.

[0081] The relevant content interface notification 550A may include interactive element 550 and relevant content 551A and 552A. Interactive element 550 may, during interaction (e.g., via touch input by swiping up on interactive element 550 or voice input to view more relevant content), enable the user of client device 510 to view additional relevant content (e.g., indicated by 553A). For example, during interaction with interactive element 550, the relevant content interface notification 550A may consume a larger portion of user interface 580, causing it to override and / or replace user interface 580. Furthermore, interactive element 550 may, during interaction (e.g., via touch input by swiping down on interactive element 550 or voice input to remove the relevant content interface notification 550A), allow the relevant content interface notification 550A to be removed.

[0082] Furthermore, the relevant content included in the relevant content interface notification 550A can use a relevant content generation engine (e.g., Figure 1The relevant content generation engine 150 identifies the relevant content. Relevant content may include information about the relevant content (e.g., a description of the relevant content, business hours of the business associated with the relevant content, etc.), links to underlying content associated with the relevant content (e.g., another webpage associated with the relevant content), hyperlink text for accessing the underlying content associated with the relevant content, actionable content (e.g., phone numbers, addresses, and / or other interface elements that, when selected, cause the client device 510 to perform one or more actions), and / or other information. For example, Figure 5A Related content 551A and 552B includes instructions for other hypothetical vegetarian restaurants located in Louisville, Kentucky (e.g., "Example Vegetarian Restaurants" and "Everything About Beetroot"). Additionally, Figure 5A The related content 551A and 552B includes links (e.g., “www.exampleurl2.com” and “www.exampleurl3.com”, respectively) and descriptions of the related content 551A and 551B (e.g., “farm-to-table vegan restaurant” and “specializing in beet dishes”, respectively). Therefore, users can interact with the related content interface notification 550A, presented as an extended “peek,” by interacting with the related content 551A and 551B, or by interacting with the interactive element 550, to view additional related content (e.g., as indicated by the overall 553A) or to remove the related content interface notification 550A.

[0083] Turn now Figure 5B The webpage of the imaginary café 530A is displayed on the user interface 580 of the client device 510. However, compared with... Figure 5A In contrast, the webpage for Imaginary Cafe 530A is associated with URL 525B (“www.exampleurl1.com / ?vegan-cuisine-louisville-ky”). As shown in navigation path 520B, the webpage for Imaginary Cafe 530A is accessed based on a query submitted at client device 510 for “vegan restaurants in Louisville, Kentucky” (e.g., typed or spoken). This is similar to other queries (e.g., Figure 5C Compared to the navigation query described in [the previous section], the query "vegetarian restaurants in Louisville, Kentucky" can be categorized as a broader query. In some implementations, such as [the previous section]... Figure 5B As shown, URL 525B can be embedded as a navigation path 520B (e.g., “ / ?vegan-cuisine-louisville-ky”) for accessing the webpage of the hypothetical café 530A.

[0084] In some implementations, Figure 5BOne or more interactive conditions of the hypothetical café 530A webpage can be based at least in part on navigation attributes, and one or more interactive conditions can be different from... Figure 5A The interaction conditions. Figure 5B The navigation attributes of the webpage for the imaginary café 530A can be based on navigation path 520B, which instructs a user to access the webpage for imaginary café 530A via a query (e.g., a navigation path related to the query). This is based on the user accessing the webpage for imaginary café 530A via a query, and accessing a given Internet resource via content feed (e.g., such as...). Figure 5A Compared to (as described in the previous text), the relevant content interface notification 550A is more likely to be provided and / or will be provided with "less aggressive" interaction conditions, but this is different from providing more nuanced queries (e.g., through narrower queries). Figure 5C Compared to the navigation query described in the document, when accessing a given Internet resource, the relevant content interface notification 550A is more likely to be provided and / or will be provided with "more proactive" interactive conditions.

[0085] It is worth noting that, in Figure 5B Once a user has scrolled through a portion (e.g., 50%) of the webpage for the imaginary café 530A, the client device 510 has presented a related content interface notification 550A via the user interface 580 as an extended "peek" (e.g., indicated by a scroll bar 585; the middle portion of the displayed menu, such as the second part of the main course 534, dessert 536, and the first part of the beverage 538; and / or other scrolling condition signals). Furthermore, interaction conditions may also include the duration of access to the webpage for the imaginary café 530A, and the client device 510 may present the related content interface notification 550A via the user interface 580 based on the access duration and / or scrolling conditions. For example, if a user views the webpage for the imaginary café 530A for forty seconds without scrolling, the client device 510 may present the related content interface notification 550A via the user interface 580. As another example, if a user only views the webpage of the imaginary café 530A for twenty seconds, but has scrolled through 50% of the webpage, then the client device 510 can present a relevant content interface notification 550A via the user interface 580. Therefore, the interaction conditions for a given Internet resource can be various combinations of access duration, scrolling conditions, navigation paths, and / or other conditions.

[0086] Turn now Figure 5C The webpage of the imaginary café 530A is displayed on the user interface 580 of the client device 510. However, compared with... Figure 5A and Figure 5BIn contrast, the webpage for Hypothetical Cafe 530A is associated with URL 525C (“www.exampleurl1.com / ?hypothetical-cafe-louisville”). As indicated by navigation path 520C, the webpage for Hypothetical Cafe 530A is accessed based on a query for “Hypothetical Cafe in Louisville” submitted at client device 510 (e.g., typed or spoken). This is in addition to other broader queries (e.g., Figure 5B Compared to the query "vegetarian restaurants in Louisville, Kentucky" described in the text, the query "imaginary cafes in Louisville" can be categorized as a navigation query. In some implementations, such as... Figure 5C As shown, URL 525C can be embedded as an instruction for navigation path 520C of a webpage used to access hypothetical cafe 530A (e.g., " / ?hypothetical-cafe-louisville").

[0087] In some implementations, Figure 5C One or more interactive conditions of the hypothetical café 530A webpage can be based at least in part on navigation attributes, and one or more interactive conditions can be different from... Figure 5A and Figure 5B The interaction conditions. Figure 5C The navigation attributes of the webpage for the imaginary café 530A can be based on navigation path 520C, which indicates that a user accessed the webpage for imaginary café 530A via a navigation query (e.g., a navigation path related to a query). This is based on the user accessing the webpage for imaginary café 530A via a navigation query, compared to accessing it via content feedback or a broader query (e.g., such as...). Figure 5A and Figure 5B Compared to accessing a given Internet resource, as described in [the document], relevant content interface notifications 550A are more likely to be provided and / or will be provided with "less aggressive" interaction conditions. In some other implementations, interaction conditions may indicate that relevant content interface notifications should not be presented when the navigation path instructs the user to access a webpage via a navigation query (e.g., [example]). Figure 5C The relevant content notification 550A is depicted as a dashed line. In some implementations, the interaction conditions may also include instructions on how to present the relevant content notification 550A (e.g., how much relevant content, if any, should be included in the relevant content notification 550A).

[0088] It is worth noting that, in Figure 5COnce the user has scrolled through a portion (e.g., 100%) of the webpage for the imaginary café 530A, the client device 510 has presented the relevant content interface notification 550A via the user interface 580 as a compressed "peep" (e.g., indicated by a scroll bar 585; some disclaimers and other information about the imaginary café; and / or other scrolling condition signals). Furthermore, interaction conditions may also include the duration of access to the webpage for the imaginary café 530A, and the client device 510 may present the relevant content interface notification 550A via the user interface 580 based on the access duration and / or scrolling conditions. However, with... Figure 5A and Figure 5B compared to, Figure 5C The relevant content interface notification 550A does not include any of the relevant content 551A and 551B, but is merely an indication (e.g., a compressed "peep") of additional relevant content (e.g., as generally indicated by 553A) as specified by the interaction conditions. For example, if a user has viewed the webpage of the imaginary café 530A for more than ninety seconds without scrolling the webpage, or has scrolled less than the specific portion specified by the interaction conditions, the client device 510 may present the relevant content interface notification 550A via the user interface 580. As another example, if a user has viewed the webpage of the imaginary café 530A for more than seventy seconds and has scrolled to the bottom of the webpage, the client device 510 may present the relevant content interface notification 550A via the user interface 580. Therefore, the interaction conditions for a given Internet resource can be various combinations of access duration, scrolling conditions, navigation paths, and / or other conditions.

[0089] It should be noted that, although Figure 5C The related content notification 550A is the only notification displayed as a compressed "peep," but this should not be taken as an example or intended to be restrictive. For example, Figure 5A and / or Figure 5B The related content on the interface of the 550A can also be presented as a compressed "peep". Furthermore, it should be noted that... Figures 5A to 5C The same webpage was depicted for the hypothetical café 530A, but the interaction conditions differed based on different navigation paths. Therefore, when these different interaction conditions were met, the client device presented a relevant content interface notification to 550A. Furthermore, although... Figures 5A to 5C Each "peephole" is presented at the bottom of the user interface 580, but it should be noted that each "peephole" can be presented at the top of the user interface 580 or on either side of the user interface 580.

[0090] Now go to Figure 5DThe webpage for “Example Airline” 530A is presented on the user interface 580 of client device 510 and associated with URL 525D (“www.exampleurl4.com / ?example-airline-flights-from-sdf-to-dca”). As shown in navigation path 520D, the webpage for the imaginary café 530A is accessed based on a query for “Example Flights from SDF to DCA” submitted at client device 510 (e.g., typed or spoken). The query for “Example Flights from SDF to DCA” can be categorized as a navigation query compared to other, more general queries (e.g., queries for “Flights from SDF to DCA”). In some implementations, such as... Figure 5D As shown, URL 525D can be embedded with an indication of navigation path 520C for accessing the webpage of example airline 530D (e.g., " / ?example-airline-flights-from-sdf-to-dca").

[0091] In some implementations, for example Figure 5D One or more interaction conditions on the webpage of the example airline 530D can be based at least in part on navigation attributes. For example Figure 5D The navigation attributes of the webpage of the example airline 530D can be based on a navigation path 520D that indicates that the user accessed the webpage of the example airline 530D via a navigation query (e.g., a navigation path related to the query). Based on the user's access to the webpage of the example airline 530D via a navigation query, the relevant content interface notification 550A is more likely to be provided and / or will be provided with "less aggressive" interactive conditions compared to accessing a given Internet resource as a content feed or the result of a broader query.

[0092] However, in some implementations, such as Figure 5D One or more interaction conditions of the webpage for the example airline 530D may be based at least in part on one or more content attributes. One or more content attributes may include, for example, type attributes indicating multiple different types / vertical domains that a given Internet resource conforms to, low-dimensional embeddings of at least some content of the given Internet resource, structural attributes of at least some content of the given Internet resource, and / or other content attributes. For example, Figure 5D The content attributes of the webpage for example airline 530D may include travel type, or more specifically, air travel type, the underlying content of the webpage for example airline 530D, low-dimensional embeddings of at least some content of the webpage for example airline 530D (e.g., flight date / time, ticket price, flight number, etc.) and / or other content attributes.

[0093] Furthermore, in some implementations, such as Figure 5D One or more interaction conditions for the webpage of the example airline 530D may be based at least in part on one or more relevant content attributes. Relevant content attributes may be based on one or more relevant Internet resources linked to in the relevant content interface notification of the Internet resource (or presented in response to a selection in the relevant content interface notification). For example, relevant content attributes may be based on query-independent metrics determined for one or more relevant Internet resources. Query-independent metrics of Internet resources may be based on, for example, the frequency of access to the Internet resource, inbound links to the Internet resource, and / or other query-independent attributes of the Internet resource. Relevant content attributes of relevant Internet resources may additionally or alternatively be based on the strength of the relationship between the relevant Internet resource and the given Internet resource. The strength of the relationship between the relevant Internet resource and the given Internet resource may be based on, for example, how many users accessed the two Internet resources (optionally very close in time), the degree of overlap in the content of the Internet resources (e.g., the topic of the Internet resource), and / or the frequency with which the two Internet resources appear together in search results. For example, if a user who views the webpage of sample airline 530D typically subsequently views the webpage of hypothetical airline and / or other pages of the travel type (optionally very close in time), then the relevant content attribute can indicate that the user typically views these other pages and / or that they appear simultaneously in search results in response to a query about air travel.

[0094] It is worth noting that, in Figure 5D In this context, client device 510 has already presented relevant content interface notification 550D as an extended "peep" via user interface 580, even if the user does not scroll (or scrolls minimally) the webpage of example airline 530D (e.g., as indicated by scroll bar 585; displaying airline contact information on user interface 580; displaying flight dates / times at the top, such as only flight 540 from SDF to DCA; and / or other scrolling condition signals). However, even if the user does not scroll the webpage of example airline 530D, client device 510 can still present relevant content interface notification 550A on user interface 580 based on the fulfillment of one or more interaction conditions. Furthermore, with... Figure 5CIn contrast, although the user accessed the webpage for Example Airline 530D via a navigation query for “Example Airline Flights from SDF to DCA”, the interaction conditions were “more aggressive.” Based on the content attributes and / or relevant content attributes of the Example Airline 530D webpage, the interaction conditions for the Example Airline 530D webpage could be “more aggressive” than those for the Imaginary Café 530A webpage, even though the user had already navigated to both the Imaginary Café 530A and Example Airline 530D webpages via navigation queries (e.g., “Imaginary Café in Louisville” and “Example Airline Flights from SDF to DCA”, respectively). For example, the interaction conditions for the Example Airline 530D webpage could instruct the relevant content interface notification 550D to be presented without scrolling conditions after a 5-second access duration to the Example Airline 530D webpage. Furthermore, the interaction conditions could instruct the relevant content interface notification 550D to be presented as an expanded “peep” rather than a compressed “peep” (e.g., as shown in the image). Figure 5C (As described in the text).

[0095] The relevant content interface notification 550D may include an interactive element 550 and relevant content 551D. The interactive element 550 may, during interaction (e.g., via touch input by swiping up on the interactive element 550 or voice input to view more relevant content), enable the user of the client device 510 to view additional relevant content (e.g., indicated by a general indication 553D). For example, when interacting with the interactive element 550, the relevant content interface notification 550D may consume a larger portion of the user interface 580, causing it to override and / or replace the user interface 580. Furthermore, the interactive element 550 may, during interaction (e.g., via touch input by swiping down on the interactive element 550 or voice input to remove the relevant content interface notification 550D), allow the relevant content interface notification 550D to be removed.

[0096] Furthermore, the relevant content included in the relevant content interface notification 550D can use the relevant content generation engine (e.g., Figure 1 The relevant content generation engine 150 identifies the relevant content. Relevant content may include information about the relevant content (e.g., a description of the relevant content, business hours of the business associated with the relevant content, etc.), links to underlying content associated with the relevant content (e.g., another webpage associated with the relevant content), hyperlink text for accessing the underlying content associated with the relevant content, actionable content (e.g., phone numbers, addresses, and / or other interface elements that, when selected, cause the client device 510 to perform one or more actions), and / or other information. For example, Figure 5DRelated content 551D includes instructions from other airlines offering flights from SDF to DCA (e.g., "hypothetical airlines"). Additionally, Figure 5D The relevant content 551D includes a link (e.g., “www.exampleurl5”) and a description of the relevant content 551D (e.g., flight date / time, ticket price, flight number, etc.). Therefore, users can interact with the relevant content 551D, or interact with the relevant content interface notification 550D presented as a “peep,” to view additional relevant content (e.g., as generally indicated by 553D) or to remove the relevant content interface notification 550D.

[0097] Although the interaction conditions described herein pertain to both access duration and scrolling conditions, it should be understood that client device 510 may present relevant content interface notifications when only the access duration is met, when only the scrolling condition is met, and / or when a combination of access duration and scrolling conditions is met. In this way, the interaction conditions are dynamic because they can even vary for a single Internet resource (e.g., depending on the navigation path when accessing the Internet resource, client device 510, and / or the user account associated with client device 510 accessing the Internet resource). In this way, not only are the interaction conditions dynamic, but they can also vary for a single Internet resource (e.g., such as...). Figures 5A to 5C As described in [the document], and the interaction conditions are also dynamic, as they can vary with the Internet resource, at least in part, based on its content attributes (e.g., [examples of other Internet resources]). Figure 5D (As described in the text). Furthermore, although... Figures 5A to 5D It is described as utilizing certain interaction conditions and certain properties, but it should be understood that... Figures 5A to 5D Some interaction conditions and properties are provided for illustrative purposes and are not intended to be restrictive. Furthermore, Figures 5A to 5D The scrolling conditions described herein describe the user's behavior when viewing a webpage through the user interface 580 of the client device 510. It should be understood that scrolling conditions may also include scrolling a specific percentage of a video when viewing a video, scrolling a specific percentage of photos when viewing a photo album, and / or other scrolling conditions for a specific Internet resource.

[0098] Figure 6 This is a block diagram of an example computing device 610, which may optionally be used to perform one or more aspects of the techniques described herein. In some implementations, one or more of a client device, a cloud-based automation assistant component, and / or other components may include one or more components of the example computing device 610.

[0099] Computing device 610 typically includes at least one processor 614 that communicates with multiple peripheral devices via a bus subsystem 612. These peripheral devices may include a storage subsystem 624, including, for example, a memory subsystem 625 and a file storage subsystem 626, a user interface output device 620, a user interface input device 622, and a network interface subsystem 616. The input and output devices allow users to interact with computing device 610. The network interface subsystem 616 provides an interface to an external network and is coupled to corresponding interface devices in other computing devices.

[0100] User interface input device 622 may include a keyboard, a pointing device such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touchscreen integrated into a display, an audio input device such as a voice recognition system, a microphone, and / or other types of input devices. Generally, the term "input device" is used to encompass all possible types of devices and methods for inputting information into computing device 610 or a communication network.

[0101] User interface output device 620 may include a display subsystem, a printer, a fax machine, or a non-visual display such as an audio output device. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanisms for creating visual images. The display subsystem may also provide non-visual displays, for example, via an audio output device. Generally, the term "output device" is used to encompass all possible types of devices and methods for outputting information from computing device 610 to a user or another machine or computing device.

[0102] Storage subsystem 624 stores programs and data structures that provide the functionality of some or all of the modules described herein. For example, storage subsystem 624 may include selected aspects of implementing the methods disclosed herein. Figure 1 , Figure 2A and Figure 2B The logic of the various components described in the text.

[0103] These software modules are typically executed by processor 614 alone or in conjunction with other processors. The memory used in storage subsystem 624 may include multiple memories, including main random access memory (RAM) 630 for storing instructions and data during program execution and read-only memory (ROM) 632 for storing fixed instructions. File storage subsystem 626 can provide persistent storage for program and data files and may include hard disk drives, floppy disk drives, and associated removable media, CD-ROM drives, optical drives, or removable media cartridges. Modules implementing certain implementations of functionality may be stored by file storage subsystem 626 within storage subsystem 624 or on other machines accessible to processor 614.

[0104] The bus subsystem 612 provides a mechanism for enabling various components and subsystems of the computing device 610 to communicate with each other as intended. Although the bus subsystem 612 is schematically shown as a single bus, alternative implementations of the bus subsystem may use multiple buses.

[0105] The computing device 610 can be of various types, including workstations, servers, computing clusters, blade servers, server groups, or any other data processing system or computing device. Due to the constantly evolving nature of computers and networks, Figure 6 The description of computing device 610 is intended only as a specific example to illustrate some implementation methods. Many other configurations of computing device 610 may have... Figure 6 The computing device depicted in the text has more or fewer components.

[0106] In cases where the systems described herein collect or otherwise monitor personal information about a user, or may utilize personal and / or monitored information, the user may be given the opportunity to control whether a program or feature collects user information (e.g., information about the user's social networks, social actions or activities, occupation, user preferences, or the user's current geographic location), or to control whether and / or how content that may be more relevant to the user is received from a content server. Furthermore, certain data may be processed in one or more ways before being stored or used to erase personally identifiable information. For example, a user's identity may be processed such that the user's personally identifiable information cannot be determined, or the user's geographic location may be generalized (e.g., city, zip code, or state level) if geographic location information is available, making it impossible to determine the user's specific geographic location. Therefore, the user can control how information about them is collected and / or used.

[0107] In some implementations, a method implemented by one or more processors is provided, the method comprising determining multiple attributes of an Internet resource. The multiple attributes include one or more content attributes based on the content of the Internet resource. The method further comprises processing the multiple attributes using a machine learning model to generate a predictive output, and determining one or more interaction conditions based on the predictive output to trigger the presentation of a relevant content interface notification for the Internet resource. The method further comprises: in response to a given client device accessing the Internet resource, and in response to determining one or more interaction conditions: in response to determining that the access to the Internet resource satisfies one or more interaction conditions, causing the given client device to present a relevant content interface notification.

[0108] These and other implementations of the technologies disclosed herein may optionally include one or more of the following features.

[0109] In some implementations, one or more content attributes include a type attribute that indicates one of several different types that the Internet resource most closely conforms to. In some implementations, one or more content attributes include a structure attribute. In some versions of these implementations, the structure attribute is determined based on the organization of the Internet resource's markup language. In some implementations, one or more content attributes include low-dimensional embeddings of at least some content of the Internet resource, which are generated based on processing at least some of the content using an additional machine learning model.

[0110] In some implementations, the multiple attributes also include one or more navigation attributes indicating one or more specific attributes used for navigation to an Internet resource. In some versions of these implementations, based on predicted output, before a given client device accesses an Internet resource, it determines (a) to provide a relevant content interface notification for the Internet resource, and (b) one or more interaction conditions to trigger the provision of the relevant content interface notification. In some versions of these implementations, in response to determining that access to the Internet resource satisfies one or more interaction conditions, causing the given client device to present the relevant content interface notification also responds to determining that the given client device's access to the Internet resource is the result of navigation conforming to one or more navigation attributes.

[0111] In some versions of these implementations, one or more navigation attributes include a path attribute that indicates a given navigation path among multiple navigation paths for accessing an Internet resource. In some further versions of those implementations, the given navigation path is either a query-based path, indicating access to the Internet resource in response to one or more search queries, or a query-independent path, indicating access to the Internet resource independent of any query. In still other versions of these implementations, the given navigation path is a query-based path and indicates the breadth of one or more search queries.

[0112] In some implementations, the multiple attributes also include one or more global history interaction attributes that, in response to previous presentations of previous relevant content interface notifications of past accesses by multiple client devices to Internet resources and / or additional Internet resources identified as similar to Internet resources, indicate the past extent of a measurement of past interactions with the previous relevant content interface notifications.

[0113] In some implementations, the multiple attributes also include one or more individual history interaction attributes, which indicate the degree of past relevance of a user's past interactions with previously relevant content interface notifications on a given client device. In some versions of those implementations, the degree of past relevance of the measured past interactions pertains to previously relevant content interface notifications accessed with respect to additional Internet resources identified as similar to the Internet resource.

[0114] In some implementations, based on the predicted output, it is determined that one or more interaction conditions for triggering the provision of a relevant content interface notification occur before a given client device accesses an Internet resource. In some versions of these implementations, causing a given client device to present a relevant content interface notification in response to determining that access to the Internet resource satisfies one or more interaction conditions includes sending one or more interaction conditions to the given client device. In some versions of these implementations, sending one or more interaction conditions to the given client device causes the given client device to monitor the occurrence of one or more interaction conditions during its access to the Internet resource, and causes the given client device to present the relevant content interface notification in response to the occurrence of one or more interaction conditions.

[0115] In some implementations, one or more interaction conditions include the duration of access to the Internet resource. In some implementations, one or more interaction conditions include a scrolling condition indicating whether scrolling occurred during access to the Internet resource, the extent of scrolling, the speed of scrolling, or the direction of scrolling.

[0116] In some implementations, one or more interaction conditions include at least two interaction conditions. Furthermore, access to an Internet resource satisfies one or more interaction conditions only if each of the at least two interaction conditions is satisfied.

[0117] In some implementations, the method further includes determining whether to provide a relevant content interface notification for an Internet resource based on the predicted output. Furthermore, causing a given client device to display a relevant content interface also responds to determining whether to provide the relevant content interface notification for an Internet resource. In some versions of those implementations, the predicted output includes a first output portion specifying whether to provide the relevant content interface notification and a second output portion specifying one or more interaction conditions for triggering the provision of the relevant content interface notification. In some versions of these implementations, the predicted output specifies one or more interaction conditions. Furthermore, determining to provide the relevant interface notification includes determining to provide the relevant interface notification based on one or more interaction conditions that satisfy one or more conditions.

[0118] In some implementations, the relevant content interface notification includes a link to a relevant Internet resource, or optionally, a link to the relevant Internet resource is presented. In some versions of these implementations, the method further includes determining, based on predicted output, the preemptive caching of the relevant Internet resource, and in response to determining the relevant content interface notification to provide the Internet resource, and in response to a given client device's access to the Internet resource: before presenting the relevant content interface notification, further causing the given client device to preemptively cache at least a portion of the Internet resource locally on the given client device.

[0119] In some implementations, a relevant content interface notification is presented on top of an Internet resource, indicating that the resource is available, but the notification does not provide any details about the resource. Furthermore, a single selection of the relevant content interface notification via a user input device on a client device results in at least some details of the resource being presented on the Internet resource.

[0120] In some implementations, relevant content interface notifications are presented on top of Internet resources, providing only details about one or more initial relevant resources. Furthermore, a single selection of the relevant content interface notification via a user input device on a client device results in details of at least one or more additional relevant resources being presented on the Internet resource.

[0121] In some implementations, the plurality of attributes further includes one or more related content attributes, which are based on one or more related Internet resources that are linked to in related content notifications of Internet resources or presented in response to an option to a related content notification.

[0122] In some implementations, the method also includes determining one or more interaction attributes of any user interaction via a given client device using relevant content interface notifications, and updating the machine learning model based on one or more interaction attributes.

[0123] In some versions of those implementations, updating the machine learning model includes reinforcement learning, and updating the machine learning model based on one or more interaction attributes includes determining a reward based on one or more interaction attributes and updating the machine learning model based on the reward. In some further versions of those implementations, determining the reward includes selecting a first reward if one or more interaction attributes indicate interaction with a relevant content interface notification to view a fragment of a relevant resource related to an Internet resource, but indicate no user input to cause the presentation of any relevant resource; and selecting a second reward if the one or more interaction attributes indicate interaction with the relevant content interface notification to view a fragment of a relevant resource, and indicate user input to cause the presentation of at least one of the relevant resources. The second reward is more aggressive than the first reward. In some further versions of those implementations, determining the reward also includes selecting no reward or penalty if one or more interaction attributes indicate no interaction with the relevant content interface notification, or selecting no reward or penalty if one or more interaction attributes indicate the removal of the relevant content interface notification.

[0124] In some versions of these implementations, updating the machine learning model includes supervised learning. Furthermore, the predicted output indicates one or both of the predicted visit duration and the predicted scrolling level, one or more interaction attributes include one or both of the actual visit duration and the actual scrolling level before interacting with the relevant content interface notification, and updating the machine learning model based on one or more interaction attributes includes determining the error by comparing the predicted output with one or more interaction attributes, and updating the machine learning model based on backpropagating the error across the machine learning model.

[0125] In some versions of these implementations, the method further includes, after updating the machine learning model and updating the machine learning model based on additional rewards determined by additional interaction attributes based on additional interactions with additional relevant content interfaces presented for additional Internet resources: processing multiple attributes using the machine learning model to generate new predictive outputs; determining one or more new interaction conditions provided to trigger notifications to relevant content interfaces based on the new predictive outputs; and, in response to access to the Internet resources by additional client devices: causing the additional client devices to present relevant content interface notifications in response to determining that access to the Internet resources satisfies one or more new interaction conditions.

[0126] In some implementations, a method implemented by one or more processors is provided, the method comprising determining multiple attributes of an Internet resource. The multiple attributes include one or more content attributes based on the content of the Internet resource, and one or more navigation attributes indicating one or more specific attributes for navigating to the Internet resource. The method further includes determining, based on the multiple attributes, interaction conditions specific to the one or more navigation attributes for triggering a relevant content interface notification for the Internet resource. The method further includes: in response to a given client device accessing the Internet resource, and in response to determining that the access to the Internet resource by the given client device is the result of navigation conforming to the one or more navigation attributes: in response to determining that the access to the Internet resource satisfies the interaction conditions specific to the one or more navigation attributes, causing the given client device to present a relevant content interface notification.

[0127] These and other implementations of the technologies disclosed herein may optionally include one or more of the following features.

[0128] In some implementations, one or more navigation attributes include a path attribute that indicates a given navigation path among multiple navigation paths used to access Internet resources.

[0129] In some implementations, determining one or more navigation-specific interaction conditions based on multiple attributes includes using a machine learning model to process multiple attributes to generate a predictive output, and determining one or more navigation-specific interaction conditions based on the predictive output.

[0130] Furthermore, some implementations include one or more processors (e.g., a central processing unit (CPU), a graphics processing unit (GPU), and / or a tensor processing unit (TPU)) of one or more computing devices, wherein the one or more processors are operable to execute instructions stored in associated memory, and wherein the instructions are configured to cause execution of any of the foregoing methods. Some implementations also include one or more non-transitory computer-readable storage media storing computer instructions executable by one or more processors to perform any of the foregoing methods. Some implementations also include a computer program product comprising instructions executable by one or more processors to perform any of the foregoing methods.

[0131] It should be understood that all combinations of the foregoing concepts and additional concepts described in more detail herein are considered part of the subject matter disclosed herein. For example, all combinations of the claimed subject matter appearing at the end of this disclosure are considered part of the subject matter disclosed herein.

Claims

1. A method implemented using one or more processors, the method comprising: Determine multiple attributes of an Internet resource, wherein the multiple attributes include one or more content attributes based on the content of the Internet resource; The multiple attributes are processed using a machine learning model to generate a predictive output; Based on the predicted output, determine one or more interactive conditions to trigger relevant content interface notifications for the Internet resources; as well as In response to a given client device's access to the Internet resource: Determine whether to pre-cache the relevant content included in the relevant content interface notification on the given client device; In response to determining that the relevant content is pre-cached on the given client device: The relevant content is identified as being pre-cached on the given client device based on one or more of the following: the number of users who accessed both the Internet resource and the relevant content, the degree of overlap between the Internet resource and the relevant content, or the frequency of simultaneous occurrence of the Internet resource and the relevant content in search results; as well as This allows the relevant content to be pre-cached on the given client device; as well as In response to determining that one or more interaction conditions provided for triggering the relevant content interface notification for the Internet resource are met: This enables the given client device to obtain and present at least the relevant content as the relevant content interface notification.

2. The method according to claim 1, wherein, The one or more content attributes include a type attribute, which indicates one of several different types that the Internet resource most closely matches.

3. The method according to claim 1, wherein, The one or more content attributes include structural attributes, and wherein the structural attributes are determined based on the organization structure of the markup language of the Internet resource.

4. The method according to claim 1, wherein, The one or more content attributes include the embedding of at least some content of the Internet resource, wherein the embedding is generated based on processing the at least some content using an additional machine learning model.

5. The method according to claim 1, in, The plurality of attributes also includes one or more navigation attributes that indicate one or more specific attributes for navigating to the Internet resource.

6. The method according to claim 5, in, Based on the predicted output, it is determined that (a) the relevant content interface notification for providing the Internet resource, and (b) the one or more interactive conditions for triggering the provision of the relevant content interface notification occur before the given client device accesses the Internet resource. and Specifically, in response to determining that the access to the Internet resource satisfies one or more interaction conditions, the given client device displays the relevant content interface notification; further, in response to determining that the access of the given client device to the Internet resource is the result of navigation conforming to one or more navigation attributes.

7. The method according to claim 5, wherein, The one or more navigation attributes include a path attribute that indicates a given navigation path among a plurality of navigation paths for accessing the Internet resource.

8. The method according to claim 7, wherein, The given navigation path is: Query-based path, which indicates access to the Internet resource in response to one or more search queries, or A query-independent path, which indicates access to the Internet resource without any query involved.

9. The method according to claim 8, wherein, The given navigation path is the query-based path and indicates the breadth of the one or more search queries.

10. The method according to claim 1, wherein, The plurality of attributes also includes one or more global history interaction attributes, which indicate the past extent of a measure of past interactions with a previously relevant content interface notification in response to a previous presentation of a previously relevant content interface notification for past accesses of the Internet resource and / or additional Internet resources identified as similar to the Internet resource by multiple client devices.

11. The method according to claim 1, wherein, The plurality of attributes also includes one or more personal history interaction attributes, which indicate the past extent of a measurement of a user's past interactions with previously relevant content interface notifications on a given client device.

12. The method according to claim 11, wherein, The degree of pastness of the measurement of past interactions refers to previous related content interface notifications regarding past accesses to additional Internet resources identified as similar to the Internet resource.

13. The method according to claim 1, wherein, Based on the predicted output, it is determined that the one or more interactive conditions provided to trigger the notification of the relevant content interface occur before the given client device accesses the Internet resource.

14. The method according to claim 1, wherein, The one or more interaction conditions include the duration of access to the Internet resource.

15. The method according to claim 1, wherein, The one or more interaction conditions include scrolling conditions, which indicate whether scrolling has occurred during access to the Internet resource, the extent of scrolling, the speed of scrolling, or the direction of scrolling.

16. The method according to claim 1, wherein, The one or more interaction conditions include at least two interaction conditions, and wherein access to the Internet resource satisfies the one or more interaction conditions only if each of the at least two interaction conditions is satisfied.

17. The method according to claim 1, wherein, The one or more interaction conditions include at least two interaction conditions, and wherein access to the Internet resource satisfies the one or more interaction conditions only if any one of the at least two interaction conditions is satisfied.

18. The method according to claim 1, further comprising: Based on the predicted output, determine whether to provide the relevant content interface notification for the Internet resource; The process of causing the given client device to display the relevant content interface also responds to a notification that determines the relevant content interface to provide the Internet resource.

19. The method according to claim 18, wherein, The predicted output specifies the one or more interaction conditions, and wherein determining to provide the relevant content interface notification includes determining to provide the relevant content interface notification based on the one or more interaction conditions satisfying one or more conditions.

20. The method according to claim 1, wherein, The relevant content interface notification includes links to relevant Internet resources, or optionally, links to the relevant Internet resources are displayed, and also includes: Based on the predicted output, determine the preemptive caching that causes the relevant Internet resources; And in response to determining the relevant content interface notification providing the Internet resource, and in response to a given client device accessing the Internet resource: It also enables the given client device to preemptively cache at least a portion of the Internet resources locally before presenting the relevant content interface notification.

21. The method according to claim 1, in, The relevant content interface notification is displayed on the Internet resource and indicates that the relevant resource is available, but the relevant content interface notification does not provide any details of the relevant resource; and In this context, a single selection of the relevant content interface notification via the user input device of the client device causes at least some details of the relevant resource to be presented on the Internet resource.

22. The method according to claim 1, in, The relevant content interface notification is presented on the Internet resource and provides details about only one or more initial relevant resources; and Specifically, a single selection of the relevant content interface notification via the user input device of the client device causes details of at least one or more additional relevant resources to be presented on the Internet resource.

23. The method according to claim 1, wherein, The plurality of attributes also includes one or more related content attributes, which are based on one or more related Internet resources that are linked to in the related content notification of the Internet resources or presented in response to an selection of the related content notification.

24. The method according to claim 1, further comprising: Determine one or more interaction attributes of any user interaction via the given client device with the relevant content interface notification; and The machine learning model is updated based on one or more of the interactive attributes.

25. The method according to claim 24, wherein, Updating the machine learning model includes reinforcement learning, and wherein updating the machine learning model based on the one or more interaction attributes includes: The reward is determined based on one or more of the aforementioned interactive attributes; and The machine learning model is updated based on the reward.

26. The method of claim 25, wherein, The rewards are determined to include: If one or more interactive attributes indicate interaction with the relevant content interface notification to view fragments of relevant resources related to the Internet resource, but indicate no user input to trigger the presentation of any of the relevant resources, then the first reward is selected; and If the one or more interactive attributes indicate interaction with the relevant content interface notification to view a fragment of the relevant resource, and indicate user input that causes the presentation of at least one of the relevant resources, then the second reward is selected. The second reward is more incentive-based than the first reward.

27. The method according to claim 26, wherein, Determining the reward also includes: If one or more of the interaction attributes indicate no interaction with the relevant content interface notification, then select no reward or penalty, or If one or more of the interaction attributes indicate the elimination of the relevant content interface notification, then select "No reward or penalty".

28. The method of claim 24, wherein updating the machine learning model includes supervised learning, wherein the predicted output indicates one or both of a predicted access duration and a predicted scrolling level, wherein the one or more interaction attributes include one or both of an actual access duration prior to interaction with the relevant content interface notification and an actual scrolling level prior to interaction with the relevant content interface notification, and wherein updating the machine learning model based on the one or more interaction attributes includes: The error is determined by comparing the predicted output with one or more interaction attributes; and The machine learning model is updated by backpropagating the error across the machine learning model.

29. The method according to any one of claims 24 to 28, further comprising: After updating the machine learning model, and further updating the machine learning model based on additional interaction attributes determined according to additional interaction with additional relevant content interfaces presented for additional Internet resources: The machine learning model is used to process the multiple attributes to generate new predictive outputs; Based on the new prediction output, determine one or more new interaction conditions to trigger notifications to the relevant content interface. as well as In response to additional client devices accessing the Internet resource: In response to determining that access to the Internet resource satisfies one or more new interaction conditions, the additional client device displays the relevant content interface notification.

30. A method implemented using one or more processors, the method comprising: Determine multiple attributes of an Internet resource, wherein the multiple attributes include: Based on one or more content attributes of the content of the Internet resource, and One or more navigation attributes that indicate one or more specific attributes used for navigating to the Internet resource. Based on the aforementioned multiple attributes, one or more navigation attribute-specific interaction conditions are determined for triggering content interface notifications related to the Internet resources. In response to a given client device's access to the Internet resource: Determine whether to pre-cache the relevant content included in the relevant content interface notification on the given client device; In response to determining that the relevant content is pre-cached on the given client device: The relevant content is identified as being pre-cached on the given client device based on one or more of the following: the number of users who accessed both the Internet resource and the relevant content; the degree of overlap between the Internet resource and the relevant content; or the frequency of simultaneous occurrence of the Internet resource and the relevant content in search results; and This allows the relevant content to be pre-cached on the given client device; and In response to determining that the access of the given client device to the Internet resource is a result of navigation conforming to one or more of the navigation attributes: This enables the given client device to obtain and present at least the relevant content as the relevant content interface notification.

31. The method according to claim 30, wherein, The one or more navigation attributes include a path attribute that indicates a given navigation path among a plurality of navigation paths for accessing the Internet resource.

32. The method according to claim 31, wherein, Determining specific interaction conditions for one or more navigation attributes based on the multiple attributes includes: The multiple attributes are processed using a machine learning model to generate a predicted output; and Based on the predicted output, specific interaction conditions for the one or more navigation attributes are determined.

33. A computer program product comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to any one of claims 1 to 32.

34. A computer-readable storage medium comprising instructions that, when executed by one or more processors, cause one or more processors to perform the method according to any one of claims 1 to 32.

35. A system for determining dynamic interactive conditions for triggering a notification of a relevant content interface to an Internet resource, the system comprising one or more processors for performing the method according to any one of claims 1 to 32.