IP Library › Granted Patent US 12,585,712
Granted Patent B2
US 12,585,712 · App. 18/936,579 · Granted Mar 24, 2026

Adversarial bandits policy for crawling highly dynamic content

Inventors: Michael Bendersky (Cupertino, CA); Przemysław Gajda (Zurich, CH); Sergey Novikov (Zurich, CH); Marc Alexander Najork (Palo Alto, CA); Shuguang Han (Sunnyvale, CA)
Assignee: GOOGLE LLC
G06F16/951G06F16/953G06F16/9532G06F18/214G06Q30/0239G06Q30/0601
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,585,712
App. No.
18/936,579
Granted
Mar 24, 2026
Kind
B2
Abstract

Techniques of generating recrawl policies for commercial offer pages include generating a multiple strategy approach using a number of different strategies. In some implementations, each strategy is an arm of a K-armed adversarial bandits algorithm with reinforcement learning. Moreover, in some implementations, the multiple strategy approach also uses a machine learning algorithm to estimate parameters such as a click rate, impression rate, and likelihood of price change, i.e., change rate, which was assumed known in the conventional approaches.

Claims (64)

1 . A method, comprising:

receiving, from a repository, a plurality of entities, each of the plurality of entities having a respective value of a quantity that is accurate at a previous time step;

for each of the plurality of entities, generating associated values of a plurality of parameters at a current time step, the plurality of parameters including at least one of an access rate of that entity from the repository or a likelihood of a change in the respective value of the quantity of that entity;

selecting a refresh strategy of a plurality of refresh strategies for updating the respective values of the quantity for the plurality of entities according to a refresh policy, the refresh policy including a weight distribution representing a respective likelihood that each of the plurality of refresh strategies is selected, the plurality of refresh strategies including at least two of a uniform strategy, a change-weighted strategy, an access-weighted strategy, or a resource-optimized strategy;

generating a respective refresh rate for each of the plurality of entities according to the selected refresh strategy, the respective refresh rate for each entity of the plurality of entities being based on the associated values of the plurality of parameters at a sequence of times comprising the previous time step and the current time step; and

performing a refresh operation on the repository based on the respective refresh rates for the plurality of entities, the refresh operation being configured to obtain the respective values of the quantity at the current time step.

2 . The method as in claim 1 , wherein selecting the refresh strategy of the plurality of refresh strategies includes:

generating a probability distribution for the refresh strategy over the plurality of refresh strategies, the probability distribution including a respective probability corresponding to each of the plurality of refresh strategies; and

performing a random sample of the plurality of refresh strategies according to the probability distribution to produce the selected refresh strategy.

3 . The method as in claim 2 , wherein generating the probability distribution includes:

performing an average of a weight of the weight distribution and a reciprocal of a number of refresh strategies of the plurality of refresh strategies, the weight corresponding to the refresh strategy.

4 . The method as in claim 1 , wherein generating the respective refresh rate for each of the plurality of entities according to the selected refresh strategy includes:

for a parameter of the plurality of parameters, generating a respective neural network model corresponding to the parameter; and

generating the respective refresh rate for each of the plurality of entities using the respective neural network model corresponding to the parameter.

5 . The method as in claim 4 , wherein the parameter of the plurality of parameters is the likelihood of a change in the respective value of the quantity of an entity of the plurality of entities, and

wherein generating the respective neural network model corresponding to the parameter includes:

training a model based on a set of history features, the set of history features including at least one of a quantity change frequency in a previous time period and a length of time since most recent change.

6 . The method as in claim 4 , wherein the parameter of the plurality of parameters is the access rate for an entity of the plurality of entities, and

wherein generating the respective neural network model corresponding to the parameter includes:

training a model based on a set of history features, the set of history features including a number of accesses over a previous time period.

7 . The method as in claim 4 , wherein generating the respective neural network model corresponding to the parameter includes:

training a model based on metadata, the metadata including at least one of a day of a week for a prediction time, and a characteristic of each of the plurality of entities.

8 . The method as in claim 4 , wherein:

the repository includes a plurality of offer web pages;

each of the plurality of entities includes an offer web page of the plurality of offer web pages, the offer web page featuring a product offer;

the refresh operation for an entity includes recrawling that web page from a merchant web site;

the plurality of parameters for an entity of the plurality of entities include an impression rate of the offer web page and a click rate of the offer web page;

each of the plurality of entities including a brand identifier of that offer web page, a merchant identifier of that offer web page, and a country identifier of that offer web page, and

generating the respective neural network model corresponding to the parameter includes:

training a model based on metadata, the metadata including at least one of the brand identifier, the country identifier, a day of a week for a prediction time, and the merchant identifier.

9 . A computer program product comprising a nontransitory storage medium, the computer program product including code that, when executed by processing circuitry of a user device configured to perform a method of generating a refresh policy, the method comprising:

receiving, from a repository, a plurality of entities, each of the plurality of entities having a respective value of a quantity that is accurate at a previous time step;

for each of the plurality of entities, generating associated values of a plurality of parameters at a current time step, the plurality of parameters including at least one of an access rate of that entity from the repository or a likelihood of a change in the respective value of the quantity of that entity;

selecting a refresh strategy of a plurality of refresh strategies for updating the respective values of the quantity for the plurality of entities according to a refresh policy, the refresh policy including a weight distribution representing a respective likelihood that each of the plurality of refresh strategies is selected, the plurality of refresh strategies including at least two of a uniform strategy, a change-weighted strategy, an access-weighted strategy, and a resource-optimized strategy;

generating a respective refresh rate for each of the plurality of entities according to the selected refresh strategy, the respective refresh rate for an entity of the plurality of entities being based on the associated values of the plurality of parameters at a sequence of times comprising the previous time step and the current time step; and

performing a refresh operation on the repository based on the respective refresh rates for the plurality of entities, the refresh operation being configured to obtain the respective value of the quantity at the current time step.

10 . The computer program product as in claim 9 , wherein a sum of the respective refresh rates for the plurality of entities is normalized based on an entity refresh budget constraint.

11 . The computer program product as in claim 9 , wherein each of the plurality of refresh strategies is represented as an arm of a K-armed adversarial bandits algorithm.

12 . The computer program product as in claim 9 , further comprising:

generating a weight of the weight distribution using reinforcement learning to maximize a value of a reward parameter, the weight representing a likelihood that a refresh strategy of the plurality of refresh strategies is selected, the reward parameter indicating a relative usefulness of the refresh strategy.

13 . The computer program product as in claim 12 , wherein generating the weight of the weight distribution includes:

generating an exploration probability representing a likelihood that the refresh strategy is not chosen solely due to historical data.

14 . The computer program product as in claim 9 , wherein selecting the refresh strategy of the plurality of refresh strategies includes:

generating a probability distribution for the refresh strategy over the plurality of refresh strategies, the probability distribution including a respective probability corresponding to each of the plurality of refresh strategies; and

performing a random sample of the plurality of refresh strategies according to the probability distribution to produce the selected refresh strategy.

15 . The computer program product as in claim 9 , wherein generating the respective refresh rate for each of the plurality of entities according to the selected refresh strategy includes:

for a parameter of the plurality of parameters, generating a respective neural network model corresponding to the parameter; and

generating the respective refresh rate for each of the plurality of entities using the respective neural network model corresponding to the parameter.

16 . An electronic apparatus configured to generate a refresh policy, the electronic apparatus comprising:

memory; and

controlling circuitry coupled to the memory, the controlling circuitry being configured to:

receive, from a repository, a plurality of entities, each of the plurality of entities having a respective value of a quantity that is accurate at a previous time step;

for each of the plurality of entities, generate associated values of a plurality of parameters at a current time step, the plurality of parameters including at least one of an access rate of that entity from the repository or a likelihood of a change in the respective value of the quantity of that entity;

select a refresh strategy of a plurality of refresh strategies for updating the respective values of the quantity for the plurality of entities according to a refresh policy, the refresh policy including a weight distribution representing a respective likelihood that each of the plurality of refresh strategies is selected, the plurality of refresh strategies including at least two of a uniform strategy, a change-weighted strategy, an access-weighted strategy, and a resource-optimized strategy;

generate a respective refresh rate for each of the plurality of entities according to the selected refresh strategy, the respective refresh rate for each entity of the plurality of entities being based on the associated values of the plurality of parameters at a sequence of times comprising the previous time step and the current time step; and

perform a refresh operation on the repository based on the respective refresh rates for the plurality of entities, the refresh operation being configured to obtain the respective value of the quantity at the current time step.

17 . The electronic apparatus as in claim 16 , wherein the controlling circuitry configured to select the refresh strategy of the plurality of refresh strategies is further configured to:

generate a probability distribution for the refresh strategy over the plurality of refresh strategies, the probability distribution including a respective probability corresponding to each of the plurality of refresh strategies; and

perform a random sample of the plurality of refresh strategies according to the probability distribution to produce the selected refresh strategy.

18 . The electronic apparatus as in claim 17 , wherein the controlling circuitry configured to generate the probability distribution is further configured to:

perform an average of a weight of the weight distribution and a reciprocal of a number of refresh strategies of the plurality of refresh strategies, the weight corresponding to the refresh strategy.

19 . The electronic apparatus as in claim 16 , wherein the weight distribution includes a distribution of weights, each of the distribution of weights corresponding to a respective refresh strategy of the plurality of refresh strategies.

20 . The electronic apparatus as in claim 19 , wherein the controlling circuitry is further configured to:

generate a weight of the weight distribution using reinforcement learning to maximize a value of a reward parameter, the weight representing a likelihood that a refresh strategy of the plurality of refresh strategies is selected, the reward parameter indicating a relative usefulness of the refresh strategy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2024
From: BENDERSKY, MICHAEL; GAJDA, PRZEMYSLAW; NOVIKOV, SERGEY; NAJORK, MARC ALEXANDER; HAN, SHUGUANG
To: GOOGLE LLC
Reel/Frame 069179/0763 →
Continuity (2)
Continuation 17995248
Related Publication 20250068679A1 · Feb 27, 2025
References Cited (57)
US 7725452B1 · Randall · 2010 [cited by applicant]
US 11238469B1 · Talvola · 2022 [cited by examiner]
US 11392840B2 · Santhanam et al. · 2022 [cited by applicant]
US 12124490B2 · Joseph · 2024 [cited by examiner]
US 12141214B2 · Bendersky · 2024 [cited by examiner]
US 20200372084A1 · Kolobov · 2020 [cited by examiner]
US 20220058701A1 · Fuchs · 2022 [cited by applicant]
CN 1680938A · 2005 [cited by applicant]
CN 105868327A · 2016 [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2020/025757, mailed on Nov. 3, 2020, 13 pages. [cited by applicant]
Abadi, et al., “Tensorflow: A System for Large-Scale Machine Learning”, In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation, Nov. 2-4, 2016, pp. 265-283. [cited by applicant]
Adar, et al., “The Web Changes Everything: Understanding the Dynamics of Web Content”, In Proceedings of the 2nd ACM International Conference on Web Search and Data Mining., Feb. 9-12, 2009, pp. 282-291. [cited by applicant]
Al, et al., “Learning a Hierarchical Embedding Model for Personalized Product Search”, In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval, Aug. 7-11, 2017,… [cited by applicant]
Allesiardo, et al., “The Non-Stationary Stochastic Multi-Armed Bandit Problem”, CrossMark; Int J Data Sci Anal, 2017, pp. 267-283. [cited by applicant]
Auer, et al., “The Nonstochastic Multiarmed Bandit Problem”, Society for Industrial and Applied Mathematics, vol. 32, No. 1, 2002, pp. 48-77. [cited by applicant]
Azar, et al., “Tractable Near-Optimal Policies for Crawling”, Proceedings of the National Academy of Sciences, vol. 115, No. 32, Aug. 7, 2018, pp. 8099-8103. [cited by applicant]
Baeza-Yates, et al., “Balancing Volume, Quality and Freshness in Web Crawling”, In Proceedings of the 2nd International Conference on Hybrid Intelligent Systems, 2002, pp. 565-572. [cited by applicant]
Brewington, et al., “How dynamic is the Web?”, Computer Networks, vol. 33, Issue 1-6., Jun. 2000, pp. 257-276. [cited by applicant]
Bubeck, et al., “Regret Analysis of Stochastic and Nonstochastic Multi-armed Bandit Problems”, Foundations and Trends® in Machine Learning, vol. 5, No. 1, 2012, pp. 1-26. [cited by applicant]
Calzarossa, et al., “Characterization of the Evolution of a News Web Site”, Journal of Systems and Software, vol. 81, No. 12, 2008, pp. 2336-2344. [cited by applicant]
Calzarossa, et al., “Modeling and Predicting Temporal Patterns of Web Content Changes”, Journal of Network and Computer Applications, vol. 56, 2015, pp. 115-123. [cited by applicant]
Castillo, “Effective Web Crawling”, ACM SIGIR Forum, vol. 39, No. 1, Jun. 2005, pp. 55-56. [cited by applicant]
Cho, et al., “Effective Change Detection Using Sampling”, Proceedings of the 28th VLDB Conference, 2002, pp. 1-12. [cited by applicant]
Cho, et al., “Effective Page Refresh Policies For Web Crawlers”, ACM Transactions on Database Systems, vol. 28, No. 4, Dec. 2003, pp. 1-36. [cited by applicant]
Cho, et al., “Efficient Crawling Through URL Ordering”, Computer Networks and ISDN Systems, vol. 30, No. 1-7, 1998, pp. 161-172. [cited by applicant]
Cho, et al., “Estimating Frequency of Change”, ACM Transactions on Internet Technology (TOIT), vol. 3, No. 3, Aug. 2003, pp. 256-290. [cited by applicant]
Cho, et al., “Synchronizing a Database to Improve Freshness”, In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, 2000, pp. 117-128. [cited by applicant]
Cho, et al., “The Evolution of the Web and Implications for an Incremental Crawler”, In Proceedings of the 26th International Conference on Very Large Data Bases. Morgan Kaufmann Publishers, 2000, pp. 200-209. [cited by applicant]
Coffman , et al., “Optimal Robot Scheduling for Web Search Engines”, Journal of scheduling, vol. 1, No. 1, 1998, pp. 15-29. [cited by applicant]
Cohen, et al., “Refreshment Policies for Web Content Caches”, In IEEE Infocom—The Conference on Computer Communications—Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 3., 2001,… [cited by applicant]
Eckstein, et al., “Monitoring an Information Source Under a Politeness Constraint”, INFORMS Journal on Computing, vol. 20, No. 1, 2008, pp. 3-20. [cited by applicant]
Edwards, et al., “An Adaptive Model for Optimizing Performance of an Incremental Web Crawler”, In Proceedings of the 10th International World Wide Web Conference, May 1-5, 2001, pp. 106-113. [cited by applicant]
Fetterly, et al., “A Large-Scale Study of the Evolution of Web Pages”, In Proceedings of the 12th International World Wide Web Conference, May 20-24, 2003, pp. 1-10. [cited by applicant]
Grimes, et al., “Keeping a Search Engine Index Fresh: Riskand Optimality in Estimating Refresh Rates for Web Pages”, Proceedings of the 40th Symposium on the Interface: Computing Science and Statistics, 2008, pp. 1-14. [cited by applicant]
Han, “Predictive Crawling for Commercial Web Content”, In The World Wide Web Conference, May 13-17, 2019, pp. 1-11. [cited by applicant]
Kolobov, et al., “Optimal Freshness Crawl Under Politeness Constraints”, In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval., Jul. 21-25, 2019, pp. 495-504. [cited by applicant]
Kolobov, et al., “Staying Up to Date with Online Content Changes Using Reinforcement Learning for Scheduling”, In Reinforcement Learning for Real Life (RL4RealLife) Workshop in the 36th International Conference on Machi… [cited by applicant]
Lefortier, et al., “Timely Crawling of High-quality Ephemeral New Content”, In Proceedings of the 22nd ACM International Conference on Information & Knowledge Management, Oct. 27-Nov. 1, 2013, pp. 745-750. [cited by applicant]
Li, et al., “A Contextual-Bandit Approach to Personalized News Article Recommendation”, In Proceedings of the 19th international conference on World wide web, Apr. 26-30, 2010, pp. 1-10. [cited by applicant]
Li, et al., “Temporal Update Dynamics Under Blind Sampling”, IEEE/ACM Transactions on Networking (TON), vol. 25, No. 1, 2017, pp. 363-376. [cited by applicant]
Mccallum, et al., “A Machine Learning Approach to Building Domain-Specific Search Engines”, International Joint Conferences on Artificial Intelligence, vol. 99, 1999, pp. 662-667. [cited by applicant]
Mcmahan, et al., “Ad Click Prediction: a View from the Trenches”, In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining, Aug. 11-14, 2013, pp. 1-9. [cited by applicant]
Mikolov, et al., “Efficient Estimation of Word Representations in Vector Space”, http://arxiv.org/abs/1301.3781, Sep. 7, 2013, pp. 1-12. [cited by applicant]
Najork, et al., “High-Performance Web Crawling”, SRC Research Report, Compaq System Research Center, Sep. 26, 2001, 25 pages. [cited by applicant]
Neu, et al., “Explore No More: Improved High-Probability Regret Bounds for Non-Stochastic Bandits”, In Advances in Neural Information Processing Systems, Nov. 3, 2015, pp. 3168-3176. [cited by applicant]
Olston, et al., “Recrawl Scheduling Based on Information Longevity”, In Proceedings of the 17th International Conference on World Wide Web, Apr. 21-25, 2008, pp. 437-446. [cited by applicant]
Olston, et al., “Web Crawling”, Foundations and Trends® in Information Retrieval, vol. 4, No. 3, 2010, pp. 175-246. [cited by applicant]
Radinsky, et al., “Predicting Content Change on the Web”, In Proceedings of the Sixth ACM International Conference on Web Search and Data Mining., Feb. 4-8, 2012, pp. 415-424. [cited by applicant]
Rennie, et al., “Using Reinforcement Learning to Spider the Web Efficiently”, In International Conference on Machine Learning, vol. 99, 1999, pp. 335-343. [cited by applicant]
Romer, et al., “Real-Time Search for Real-World Entities: a Survey”, Proc. IEEE, vol. 98, No. 11, 2010, pp. 1887-1902. [cited by applicant]
Seldin, et al., “An Improved Parametrization and Analysis of the EXP3++ Algorithm for Stochastic and Adversarial Bandits”, Proceedings of Machine Learning Research, vol. 65, 2017, pp. 1-17. [cited by applicant]
Tan et al., “Clustering-Based Incremental Web Crawling”, ACM Transactions on Information Systems, vol. 28, No. 4, Article 17, Nov. 2010, pp. 1-17. [cited by applicant]
Tan, et al., “Efficiently Detecting Webpage Updates Using Samples”, In International Conference on Web Engineering, 2007, pp. 285-300. [cited by applicant]
Upadhyay, et al., “Learning to Crawl”, arXiv preprint arXiv:1905.12781, 2019, pp. 6046-6053. [cited by applicant]
Wolf, et al., “Optimal Crawling Strategies for Web Search Engines”, In Proceedings of the 11th International Conference on World Wide Web, May 7-11, 2002, pp. 136-147. [cited by applicant]
Wu, et al., “Predicting Latent Structured Intents from Shopping Queries”, In Proceedings of the 26th International Conference on World Wide Web, Apr. 3-7, 2017, pp. 1133-1141. [cited by applicant]
Office Action for Chinese Application No. 202080099441.5, mailed Sep. 1, 2025, 10 pages. [cited by applicant]