IP Library Granted Patent US 11,863,641
Granted Patent B1
US 11,863,641 · App. 17/901,788 · Granted Jan 2, 2024

Predictive web navigation

Inventors: John Edward Schlerf (Oakland, CA); Nicholas Lee Gaylord (Alameda, CA); Melanie Manguin (San Francisco, CA)
Assignee: ZENPAYROLL, INC.
H04L67/535G06F16/954H04L67/02
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 11,863,641
App. No.
17/901,788
Granted
Jan 2, 2024
Kind
B1
Abstract

A central database system provides predictive web navigation using machine learning and clustering to guide a user to a web page. After tracking a number of web pages viewed by various users on one or more web domains and the orders in which these web pages are viewed, the central database system can train a model to predict which web page a user is likely to view next. If the user is lost while navigating, the central database system may guide the user to the predicted web page. In one example of guidance, the central database system presents a web element with a hyperlink to the predicted web page. For example, the central database system can modify a web page that the lost user is presently viewing to include an iframe with a recommendation to travel to a different web page.

Claims (72)

1. A method comprising:

tracking, for each of a plurality of users by a central database system, a number and order of web pages within a domain viewed by the user;

generating, by the central database system, a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

training, by the central database system, a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user;

identifying, by the central database system, characteristics of a target user and web pages viewed by the target user; and

predicting, by the central database system, a next web page viewed by the target user by applying the machine-learned model to the characteristics of the target user and the web pages viewed by the target user.

2. The method of claim 1 , wherein generating the training data set comprises:

generating a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

labeling the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

3. The method of claim 2 , wherein generating the plurality of feature vectors comprises:

identifying an order of web pages viewed by a historical user of the plurality of users;

identifying corresponding user characteristics of the historical user; and

generating a feature vector using a subset of web pages of the order of web pages and the corresponding user characteristics.

4. The method of claim 3 , further comprising:

creating a label using a next web page viewed by the historical user in the order of web pages subsequent to visiting the subset of web pages; and

labeling the generated feature vector using the label.

5. The method of claim 1 , further comprising:

generating vectors representing web page addresses of the web pages viewed by the target user; and

determining a combined vector using the generated vectors, wherein the combined vector represents transitions between the web pages viewed by the target user.

6. The method of claim 5 , wherein determining the combined vector using the generated vectors comprises:

calculating a plurality of similarity metrics between a web page address of the latest viewed web page of the web pages viewed and web page addresses of a set of the web pages viewed before the latest viewed web page; and

identifying a subset of the generated vectors corresponding to a subset of the web page addresses having at least a threshold similarity metric with the web page address of the latest viewed web page, wherein the subset of the generated vectors is used to determine the combined vector.

7. The method of claim 1 , further comprising:

for a plurality of domains, determining one or more keywords in web page addresses of the plurality of domains visited by the plurality of users;

determining a first subset of web page addresses of the web pages within the domain having one of the one or more keywords and a second subset of web page addresses of the web pages within the domain without the one or more keywords; and

wherein generating the training data set comprises:

applying a first set of weights to the first subset of the web page addresses and a second set of weights to the second subset of the web page addresses, wherein the first set of weights is larger than the second set of weights.

8. The method of claim 1 , wherein the training data set is further generated using session context data for each of the plurality of users, wherein session context data comprises one or more of an amount of time spent on each web page of the web pages within the domain viewed by the user, a device type used to access each web page, a session identifier, a date on which each web page was viewed, or an internet protocol address.

9. The method of claim 1 , wherein the training data set is further generated using web markup used to render at least one of the web pages within the domain, wherein the web markup indicates a multimedia content item on the at least one of the web pages within the domain.

10. The method of claim 1 , wherein generating the training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and the one or more characteristics of the user comprises:

determining a first portion of the order of web pages viewed by one of the plurality of users, the portion indicating that the user was lost when viewing the order of web pages, wherein a second portion of the order of web pages viewed by the user includes web pages before or after the first portion; and

applying a first set of weights to the first portion of the order of web pages and a second set of weights to the second portion of the order of web pages, wherein the second set of weights is greater than the first set of weights.

11. The method of claim 10 , wherein determining the first portion indicating that the user was lost when viewing the order of web pages comprises:

determining a plurality of similarity metrics between vectors representing web page addresses of the web pages within the domain viewed by the user; and

determining that each of a first set of the similarity metrics corresponding to the first portion of the order of web pages has less than a threshold similarity metric.

12. The method of claim 1 , further comprising:

tracking an observed next web page viewed by the target user;

determining whether the predicted next web page matches the observed next web page; and

in response to the predicted next web page matching the observed next web page:

retraining the machine-learned model using the observed next web page to strengthen an association between the web pages viewed by the target user and the predicted next web page.

13. The method of claim 12 , further comprising:

in response to the predicted next web page not matching the observed next web page:

retraining the machine-learned model using the observed next web page to weaken the association between the web pages viewed by the target user and the predicted next web page.

14. A non-transitory computer readable medium comprising stored instructions that, when executed by one or more processors, cause the one or more processors to:

track, for each of a plurality of users, a number and order of web pages within a domain viewed by the user;

generate a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

train a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user;

identify characteristics of a target user and web pages viewed by the target user; and

predict a next web page viewed by the target user by applying the machine-learned model to the characteristics of the target user and the web pages viewed by the target user.

15. The non-transitory computer readable medium of claim 14 , wherein the instruction that causes the one or more processors to generate the training data set comprises instructions that when executed by the one or more processors, cause the one or more processors to:

generate a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

label the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

16. The non-transitory computer readable medium of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate vectors representing web page addresses of the web pages viewed by the target user; and

determine a combined vector using the generated embeddings, wherein the combined vector represents transitions between the web pages viewed by the target user.

17. The non-transitory computer readable medium of claim 16 , wherein the instruction to determine the combined vector using the generated vectors comprises instructions, when executed by the one or more processors, further cause the one or more processors to:

calculate a plurality of similarity metrics between a web address of the latest viewed web page of the web pages viewed with web addresses of a set of the web pages viewed before the latest viewed web page; and

identify a subset of the generated vectors corresponding to a subset of the web page addresses having at least a threshold similarity metric with the web page address of the latest viewed web page, wherein the subset of the generated vectors is used to determine the combined vector.

18. A system comprising:

one or more processors; and

a non-transitory computer readable storage medium storing executable instructions that, when executed by one or more processors, cause the one or more processors to:

track, for each of a plurality of users, a number and order of web pages within a domain viewed by the user;

generate a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

train a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user;

identify characteristics of a target user and web pages viewed by the target user; and

predict a next web page viewed by the target user by applying the machine-learned model to the characteristics of the target user and the web pages viewed by the target user.

19. The system of claim 18 , wherein the instruction that causes the one or more processors to generate the training data set comprises instructions that when executed by the one or more processors, cause the one or more processors to:

generate a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

label the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

20. The system of claim 18 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate vectors representing web page addresses of the web pages viewed by the target user; and

determine a combined vector using the generated embeddings, wherein the combined vector represents transitions between the web pages viewed by the target user.

Assignments (4)
CHANGE OF NAME Recorded Nov 25, 2025
From: ZENPAYROLL, INC.
To: GUSTO, INC.
Reel/Frame 073705/0640 →
SECURITY INTEREST Recorded Nov 3, 2025
From: GUSTO, INC.; SYMMETRY SOFTWARE, LLC
To: BLUE OWL CREDIT INCOME CORP., AS ADMINISTRATIVE AGENT
Reel/Frame 073529/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2022
From: SCHLERF, JOHN EDWARD; GAYLORD, NICHOLAS LEE; MANGUIN, MELANIE
To: ZENPAYROLL, INC.
Reel/Frame 061158/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2022
From: SCHLERF, JOHN EDWARD; GAYLORD, NICHOLAS LEE; MANGUIN, MELANIE
To: ZENPAYROLL, INC.
Reel/Frame 061077/0260 →
Cited By (1)
US 12,399,947