# US 11,443,005 B2 · Unsupervised clustering of browser history using web navigational activities

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,005 B2
- Document ID: US11443005B2
- Status: Granted
- Kind: B2
- Application number: 16/428,755
- Filed: 2019-05-31
- Published: 2020-12-03
- Granted: 2022-09-13
- Earliest claimed: 2019-05-31
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Ken M. Sadahiro; Aaron M. Butcher; Philippe Favre; Anatolie Gavriliuc; Kofi S. Opoku; Seung-Yup Chai; Nandini Arijit Bhattacharya; John D. Malatras; Nicolas A. Champagne-Williamson; Kangsan Lee; Jerin R. Schneider
- Web page: https://patentgrep.com/patent/US11443005B2

## CPC

- G06F 16/954: Navigation, e.g. using categorised browsing
- G06F 16/906: Clustering; Classification
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9537: Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and computer program products are described herein for unsupervised clustering of browser history using web navigational activities. For example, correlation scores are calculated that indicate correlations between web pages indicated in a browsing history of a user. Moreover, the correlation scores are calculated based on web navigational activities determined from the browsing history. In addition, the web pages are clustered into a plurality of clusters based on the correlation scores and the clusters are ranked for relevancy to the user based on a relevancy algorithm. The relevancy algorithm determines a likelihood that a user will access a corresponding web page for each web page of a cluster. A cluster having a greatest ranking is identified and an indication of a web page of the identified cluster as a suggested web page to revisit is provided to a user.

## Claims

### Claim 1

A computing device, comprising:
one or more processors; and
one or more memory devices that store executable computer program logic for execution by the one or more processors, the executable computer program logic comprising:
a correlation score determiner configured to calculate correlation scores that indicate correlations between web pages indicated in a browsing history of a user, the correlation score determiner configured to calculate correlation scores for pairs of web pages in the browsing history, each correlation score of the correlation scores calculated based on a combination of coefficients corresponding to types of web navigational activities;
a cluster generator configured to cluster the web pages into a plurality of clusters based on the correlation scores;
a cluster relevancy evaluator configured to rank the clusters for relevancy to the user based on a relevancy algorithm, the relevancy algorithm configured to determine a plurality of likelihoods, each likelihood of the likelihoods being a likelihood of the user accessing a corresponding web page of the web pages; and
a cluster selector configured to
identify a cluster of the clusters having a greatest ranking, and
provide, to the user, an indication of a web page of the identified cluster as a suggested web page to revisit.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the correlation score determiner is configured to collect the web navigational activities while the user browses the Internet using a browser of the computing device, the web navigational activities including at least one of:
an amount of time the user spends at a web page;
a navigational trait of how a web page is visited; or
at least one of temporal information or navigational information that associate a first web page with a second web page of the web pages.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the correlation score determiner is configured to collect the web navigational activities from a plurality of computing devices used by the user.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the cluster generator is configured to:
generate a web activity graph indicating the web pages as nodes and the correlation scores as edges between corresponding web page pairs; and
organize the web pages into the clusters based on the nodes and edges of the web activity graph.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the cluster relevancy evaluator is configured to filter the clusters based on a context of usage of the computing device by the user.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein:
the cluster relevancy evaluator is further configured to calculate a relevancy score for each of the clusters based on the determined likelihoods.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the cluster selector is configured to provide, to the user the ranked clusters arranged according to the ranking, and to enable the user to select a web page of the ranked clusters to revisit.

### Claim 8

A method, comprising:
calculating correlation scores that indicate correlations between web pages indicated in a browsing history of a user, wherein said calculating comprises calculating correlation scores for pairs of web pages in the browsing history, each correlation score of the correlation scores calculated based on a combination of coefficients corresponding to types of web navigational activities;
clustering the web pages into a plurality of clusters based on the correlation scores;
ranking the clusters for relevancy to the user based on a relevancy algorithm, the relevancy algorithm configured to determine a plurality of likelihoods, each likelihood of the likelihoods being a likelihood of the user accessing a corresponding web page of the web pages;
identifying a cluster of the clusters having a greatest ranking; and
providing, to the user, an indication of a web page of the identified cluster as a suggested web page to revisit.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
collecting the web navigational activities while the user browses the Internet using a browser of the computing device, the web navigational activities including at least one of:
an amount of time the user spends at a web page;
a navigational trait of how a web page is visited; or
at least one of temporal information or navigational information that associate a first web page with a second web page of the web pages.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
collecting the web navigational activities from a plurality of computing devices used by the user.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
generating a web activity graph indicating the web pages as nodes and the correlation scores as edges between corresponding web page pairs; and
organizing the web pages into the clusters based on the nodes and edges of the web activity graph.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
filtering the clusters based on a context of usage of the computing device by the user.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
calculating a relevancy score for each of the clusters based on the determined likelihoods.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
providing, to the user the ranked clusters arranged according to the ranking; and
enabling the user to select a web page of the ranked clusters to revisit.

### Claim 15

A computer-readable storage medium having program instructions recorded thereon that, when executed by at least one processor of a client computing device, causes the at least one processor to perform a method comprising:
calculating correlation scores that indicate correlations between web pages indicated in a browsing history of a user, wherein said calculating comprises calculating correlation scores for pairs of web pages in the browsing history, each correlation score of the correlation scores calculated based on a combination of coefficients corresponding to types of web navigational activities;
clustering the web pages into a plurality of clusters based on the correlation scores;
ranking the clusters for relevancy to the user based on a relevancy algorithm, the relevancy algorithm configured to determine a plurality of likelihoods, each likelihood of the likelihoods being a likelihood of the user accessing a corresponding web page of the web pages;
identifying a cluster of the clusters having a greatest ranking; and
providing, to the user, an indication of a web page of the identified cluster as a suggested web page to revisit.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises:
collecting the web navigational activities while the user browses the Internet using a browser of the computing device, the web navigational activities including at least one of:
an amount of time the user spends at a web page;
a navigational trait of how a web page is visited; or
at least one of temporal information or navigational information that associate a first web page with a second web page of the web pages.

### Claim 17 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises:
collecting the web navigational activities from a plurality of computing devices used by the user.

### Claim 18 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises:
generating a web activity graph indicating the web pages as nodes and the correlation scores as edges between corresponding web page pairs; and
organizing the web pages into the clusters based on the nodes and edges of the web activity graph.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises:
filtering the clusters based on a context of usage of the computing device by the user.

### Claim 20 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises:
calculating a relevancy score for each of the clusters based on the determined likelihoods.
