IP Library Granted Patent US 9,195,703
Granted Patent B1
US 9,195,703 · App. 13/928,828 · Granted Nov 24, 2015

Providing context-relevant information to users

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 9,195,703
App. No.
13/928,828
Granted
Nov 24, 2015
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for predicting context-relevant information based on large-scale aggregations of data. One of the methods includes receiving a user context of a user, wherein the user context specifies a location of a user device being used by the user. Data that represents counts of websites visited by users matching the user context is obtained. Data that represents counts of websites visited by users in general is obtained. Using the obtained counts, one or more likely websites visited by users matching the user context more frequently than by users in general is determined. Information identifying the one or more likely websites in response to receiving the user context is provided.

Claims (182)

1. A computer-implemented method comprising:

receiving a user context of a user, wherein the user context specifies a location of a user device being used by the user;

obtaining user activity data organized into sessions, each session being data representing a plurality of user activities performed by a distinct user during a respective time period, the sessions including sessions for multiple users;

obtaining matching sessions for the received user context, each matching session being a distinct session that includes data representing one or more websites visited by a respective user having a context matching the received user context during a time period represented by the matching session;

obtaining general sessions, each general session including data representing one or more websites visited by a respective user during a time period represented by the general session;

determining, from the obtained matching sessions and the obtained general sessions, one or more likely websites that occur in the matching sessions more frequently than the one or more likely websites occur in the general sessions, the one or more likely websites being websites visited by users matching the received user context more frequently than by users in general; and

providing information identifying the one or more likely websites in response to receiving the user context.

2. The method of claim 1 , wherein each session includes data representing two or more different user activities.

3. The method of claim 1 , wherein determining, from the obtained matching sessions and the obtained general sessions, one or more likely websites that occur in the matching sessions more frequently than the one or more likely websites occur in the general sessions comprises:

generating a session query from the user context; and

identifying, from an indexed collection of sessions, matching sessions, the matching sessions each satisfying the session query.

4. The method of claim 3 , wherein generating the session query from the user context comprises generating one or more terms from a dictionary of terms, wherein each term represents a particular attribute of the user context.

5. The method of claim 3 , further comprising:

computing a signal for each website occurring in the matching sessions, the signal representing a likelihood that users matching the user context will visit the website compared to a likelihood that users in general will visit the website.

6. The method of claim 5 , wherein computing the signal comprises computing a signal S that satisfies the equation:

S

=

(

count

of

matching

sessions

with

the

activity

/

number

of

matching

sessions

)

(

count

of

all

sessions

with

the

activity

/

number

of

sessions

)

wherein the count of all sessions having the website and the count of the number of sessions are determined with reference to a plurality of sessions.

7. The method of claim 1 , wherein receiving a user context of a user comprises receiving a user context from the user device associated with the user,

and wherein providing information identifying the one or more likely websites in response to receiving the user context comprises providing links to the one or more of the one or more likely websites to the user device, wherein the links are not provided in a response to a search query from the user device.

8. The method of claim 1 , wherein the user context specifies one or more of a language of the user, an interest of the user, a time of day, a date, a season, a home city of the user, a previous query issued by the user, a previous website visited by the user, or a future event.

9. The method of claim 1 , further comprising:

obtaining a second user context specifying a second geographic location that is at least a threshold distance away from the location of the user device associated with the user;

determining one or more second likely websites visited by users matching the second user context more frequently than by users in general; and

modifying the one or more likely websites including filtering out one or more second likely websites from the one or more likely websites.

10. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a user context of a user, wherein the user context specifies a location of a user device being used by the user;

obtaining user activity data organized into sessions, each session being data representing a plurality of user activities performed by a distinct user during a respective time period, the sessions including sessions for multiple users;

obtaining matching sessions for the received user context, each matching session being a distinct session that includes data representing one or more websites visited by a respective user having a context matching the received user context during a time period represented by the matching session;

obtaining general sessions, each general session including data representing one or more websites visited by a respective user during a time period represented by the general session;

determining, from the obtained matching sessions and the obtained general sessions, one or more likely websites that occur in the matching sessions more frequently than the one or more likely websites occur in the general sessions, the one or more likely websites being websites visited by users matching the received user context more frequently than by users in general; and

providing information identifying the one or more likely websites in response to receiving the user context.

11. The system of claim 10 , wherein each session includes data representing two or more different user activities.

12. The system of claim 10 , wherein determining, from the obtained matching sessions and the obtained general sessions, one or more likely websites that occur in the matching sessions more frequently than the one or more likely websites occur in the general sessions comprises:

generating a session query from the user context; and

identifying, from an indexed collection of sessions, matching sessions, the matching sessions each satisfying the session query.

13. The system of claim 12 , wherein generating the session query from the user context comprises generating one or more terms from a dictionary of terms, wherein each term represents a particular attribute of the user context.

14. The system of claim 12 , wherein the operations further comprise:

computing a signal for each website occurring in the matching sessions, the signal representing a likelihood that users matching the user context will visit the website compared to a likelihood that users in general will visit the website.

15. The system of claim 14 , wherein computing the signal comprises computing a signal S that satisfies the equation:

S

=

(

count

of

matching

sessions

with

the

activity

/

number

of

matching

sessions

)

(

count

of

all

sessions

with

the

activity

/

number

of

sessions

)

wherein the count of all sessions having the website and the count of the number of sessions are determined with reference to a plurality of sessions.

16. The system of claim 10 , wherein receiving a user context of a user comprises receiving a user context from the user device associated with the user,

and wherein providing information identifying the one or more likely websites in response to receiving the user context comprises providing links to the one or more of the one or more likely websites to the user device, wherein the links are not provided in a response to a search query from the user device.

17. The system of claim 10 , wherein the user context specifies one or more of a language of the user, an interest of the user, a time of day, a date, a season, a home city of the user, a previous query issued by the user, a previous website visited by the user, or a future event.

18. The system of claim 10 , wherein the operations further comprise:

obtaining a second user context specifying a second geographic location that is at least a threshold distance away from the location of the user device associated with the user;

determining one or more second likely websites visited by users matching the second user context more frequently than by users in general; and

modifying the one or more likely websites including filtering out one or more second likely websites from the one or more likely websites.

19. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving a user context of a user, wherein the user context specifies a location of a user device being used by the user;

obtaining user activity data organized into sessions, each session being data representing a plurality of user activities performed by a distinct user during a respective time period, the sessions including sessions for multiple users;

obtaining matching sessions for the received user context, each matching session being a distinct session that includes data representing one or more websites visited by a respective user having a context matching the received user context during a time period represented by the matching session;

obtaining general sessions, each general session including data representing one or more websites visited by a respective user during a time period represented by the general session;

determining, from the obtained matching sessions and the obtained general sessions, one or more likely websites that occur in the matching sessions more frequently than the one or more likely websites occur in the general sessions, the one or more likely websites being websites visited by users matching the received user context more frequently than by users in general; and

providing information identifying the one or more likely websites in response to receiving the user context.

20. The computer program product of claim 19 , wherein each session includes data representing two or more different user activities.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: KIRMSE, ANDREW; LEFTIN, KENNY J.; LEE, IVAN YOUNG; WANSLEY, ANDREW T.; TAROPA, EMANUEL; BERRYMAN, ALEC W.; LIU, YAXIN; VENKATARAMAN, RAJESH
To: GOOGLE INC.
Reel/Frame 032897/0456 →