IP Library Granted Patent US 9,411,897
Granted Patent B2
US 9,411,897 · App. 13/760,999 · Granted Aug 9, 2016

Pattern labeling

Inventors: Andrea Vaccari (San Francisco, CA); Gabriel Grisè (San Francisco, CA); Mayank Lahiri (San Francisco, CA)
Assignee: Facebook, Inc.
G06F17/3087
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,411,897
App. No.
13/760,999
Granted
Aug 9, 2016
Kind
B2
Abstract

In one embodiment, a method includes accessing a log associated with a user. The log includes a number of entries that each indicate a geo-location of the user at a point in time. The log spans a period of time and some of the entries are based on a geo-location determined and reported by a mobile computing device of the user without manual user input. The method also includes determining a pattern among the geo-locations of the user at the points in time; and determining for some of the geo-locations of the user at the points in time, a place corresponding to the geo-location; and inferring by the computing device a routine of the user based at least in part the pattern and the places.

Claims (36)

1. A method comprising:

by a computing device, accessing a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input;

by the computing device, determining one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week;

by the computing device, determining a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities;

by the computing device, updating a social graph associated with the user with information associated with the activities;

by the computing device, determining a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of geo-location centroids of the particular time of the particular day of the week;

by the computing device, determining a time-based routine of the particular day of the week based at least in part on a number of spatial centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of spatial centers of a plurality of times of the day of the particular day of the week; and

by the computing device, determining a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.

2. The method of claim 1 , the method further comprising inferring by the computing device the user is employed at a particular business based at least in part on a number of entries corresponding to a geo-location of the particular business at past points of time corresponding to working hours.

3. The method of claim 1 , wherein the place comprises a residence, grocery store, restaurant, supermarket, sporting venue, landmark, freeway, movie theater, or place of employment.

4. The method of claim 3 , wherein the activity comprises working, patronizing, residing, attending an event, or visiting.

5. The method of claim 1 , wherein:

the social graph comprises a plurality of nodes and edges connecting the nodes; and

at least one node in the graph corresponding to the user.

6. One or more computer-readable non-transitory storage media storing computer-readable instructions which when executed by a processor device, cause to processor device to:

access a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input;

determine one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week:

determine a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities;

update a social graph associated with the user with information associated with the activities;

determine a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of geo-location centroids of the particular time of the particular day of the week;

determine a time-based routine of the particular day of the week based at least in part on a number of spatial centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of spatial centers of a plurality of times of the day of the particular day of the week; and

determine a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.

7. The media of claim 6 , comprising instructions to infer the user is employed at a particular business based at least in part on a number of entries corresponding to a geo-location of the particular business at past points of time corresponding to working hours.

8. The media of claim 6 , wherein the place comprises a residence, grocery store, restaurant, supermarket, sporting venue, landmark, freeway, movie theater, or place of employment.

9. The media of claim 8 , wherein the activity comprises working, patronizing, residing, attending an event, or visiting.

10. The media of claim 6 , wherein the social graph comprises a plurality of nodes and edges connecting the nodes; and at least one node in the graph corresponding to the user.

11. A device comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to the processors and embodying software configured when executed to:

access a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input;

determine one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week;

determine a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities;

update a social graph associated with the user with information associated with the activities;

determine a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of geo-location centroids of the particular time of the particular day of the week;

determine a time-based routine of the particular day of the week based at least in part on a number of spatial centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of spatial centers of a plurality of times of the day of the particular day of the week; and

determine a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: VACCARI, ANDREA; GRISE, GABRIEL; LAHIRI, MAYANK
To: FACEBOOK, INC.
Reel/Frame 030085/0555 →
Continuity (1)
Related Publication 20140222810A1 · Aug 7, 2014