IP Library Granted Patent US 9,723,450
Granted Patent B2
US 9,723,450 · App. 15/018,538 · Granted Aug 1, 2017

Inference pipeline system and method

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,723,450
App. No.
15/018,538
Granted
Aug 1, 2017
Kind
B2
Abstract

A system to infer place data is disclosed that receives location data collected on a user's mobile electronic device, recognizes when, where and for how long the user makes stops, generates possible places visited, and predicts the likelihood of a user to visit those places.

Claims (51)

1. A method for inferring a location of a user, the method comprising:

receiving a series of location data from a mobile device associated with a user;

identifying a location associated with a stop time of the mobile device;

wherein the stop time is a time when the mobile device has stopped at a location for longer than a threshold time;

determining multiple candidate place names that are within a predetermined radius of the identified location;

obtaining attributes of the stop time and attributes of the multiple candidate place names; and

inferring one of the multiple candidate place names as a place name for the identified location at the stop time based on a comparison of the attributes.

2. The method of claim 1 , further comprising:

classifying a sliding window of N contiguous location data over the series of location data as moving or not moving, wherein N is an integer number of location data;

segmenting the series of location data into two or more location clusters based on whether the sliding window is classified as moving or not moving; and

identifying a place name for each of the two or more location clusters.

3. The method of claim 1 , wherein determining multiple candidate place names that are within a predetermined radius of the identified location includes querying a place name database that includes place information and corresponding geo-location data.

4. The method of claim 1 , further comprising:

receiving reference data associated with the user that links a user to a proposed place at an instance of time;

wherein inferring one of the multiple candidate place names as a place name for the identified location at the stop time includes inferring one of the multiple candidate place names based on the received reference data.

5. The method of claim 1 , wherein the series of location data includes latitude and longitude coordinate data and an associated time at which the data was measured.

6. The method of claim 1 , wherein the series of location data includes accuracy estimates for the data.

7. The method of claim 1 , wherein receiving a series of location data from a mobile device associated with a user includes receiving the series of location data during continuous tracking of the user.

8. The method of claim 1 , wherein receiving a series of location data from a mobile device associated with a user includes receiving the series of location data during session-based tracking of the user.

9. A system for inferring a location of a user using location readings and sensor data from a mobile device wirelessly coupled to a network, the system comprising:

a memory;

a processor configured to execute instructions stored in the memory to:

receive multiple location readings,

wherein each location reading includes latitude and longitude coordinate data, and

wherein each location reading has an associated time and an estimated accuracy;

determine a stop for the mobile device based on the location readings, wherein the stop includes a time and a location; and

predict possible places associated with the determined stop at the determined time of the stop.

10. The system of claim 9 , wherein the processor is further configured to execute instructions stored in the memory to filter the location readings to remove location readings that are noisy or have an estimated accuracy lower than a threshold accuracy.

11. The system of claim 9 , wherein the stop is determined by determining the time and location of the mobile device by clustering the location readings into location clusters.

12. The system of claim 9 , wherein the stop is determined by determining the time and location of the mobile device by clustering the location readings into location clusters; and

wherein the processor is further configured to merge neighboring location clusters when a centroid of each of the neighboring location clusters is below a centroid threshold.

13. The system of claim 9 , wherein the stop is determined by determining the time and location of the mobile device by clustering the location readings into location clusters; and

wherein the processor is further configured to query a place database to retrieve the possible places that are within a radius from a centroid of each of the location clusters;

wherein the place database stores addresses, locations and attributes corresponding to places.

14. The system of claim 9 , wherein the processor is further configured to extract an attribute of each of the possible places, wherein the attribute includes at least one of a place category or hours of operation.

15. The system of claim 9 , wherein the processor is further configured to calculate a probability that the user is located at each of the possible places, wherein the probability is based on a distance between reference data and each of the possible places and the extracted attribute.

16. The system of claim 15 , wherein the reference data links the user to a proposed place at an instance of time, and wherein the reference data is derived from at least one of: place check-in, internet search activity, social networking site activity, geo-tagged image, email, phone call, calendar appointment or network activity.

17. The system of claim 9 , wherein the stop is determined by determining the time and location of the mobile device by clustering the location readings into location clusters;

wherein the processor is further configured to compute a centroid of each of the location clusters as a weighted combination of location readings associated with the location cluster, wherein a weight of a location reading depends on the source of the location reading.

18. The system of claim 9 , wherein the stop is determined by determining the time and location of the mobile device by clustering the location readings into location clusters;

wherein the processor is further configured to:

extract at least two of cluster features from each location cluster, place features from each of the possible places, or user features associated with the user;

determine a composite feature vector by combing the extracted features;

determine a ranking score for each of the possible places using the composite feature vector; and

calculate a probability that the user is located at each of the possible places based at least in part on the ranking score.

19. A computer-readable storage medium storing instructions for inferring a future location of a user, the computer readable storage medium comprising:

instructions for receiving user profile data for the user;

wherein the user profile data includes historical data for the user that identifies places previously visited by the user;

instructions for identifying possible candidate places to be visited by the user; and

instructions for suggesting places similar to the places to be visited by the user.

20. The computer-readable storage medium of claim 10 , wherein the user profile data includes data identifying patterns of visits to the places by the user.

Assignments (11)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 50884/0418 Recorded Jul 15, 2022
From: OBSIDIAN AGENCY SERVICES, INC.
To: FOURSQUARE LABS, INC.
Reel/Frame 060669/0657 →
SECURITY INTEREST Recorded Jul 13, 2022
From: FOURSQUARE LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 060649/0366 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2022
From: PLACED, LLC
To: FOURSQUARE LABS, INC.
Reel/Frame 059977/0671 →
SECURITY INTEREST Recorded Oct 30, 2019
From: PLACED, LLC
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 050884/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2019
From: SNAP INC.
To: PLACED, LLC (F/K/A PLACED, INC.)
Reel/Frame 050077/0358 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PCT NUMBER PCT/IB2016/058014 PREVIOUSLY RECORDED ON REEL 047690 FRAME 0640. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jan 17, 2019
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 048089/0452 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 15/018,539 PREVIOUSLY RECORDED AT REEL: 044866 FRAME: 0232. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2019
From: PLACED, INC.
To: SNAP INC.
Reel/Frame 048070/0771 →
CHANGE OF NAME Recorded Dec 6, 2018
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 047690/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2018
From: PLACED, INC.
To: SNAP INC
Reel/Frame 044866/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2016
From: SHIM, DAVID; BICKNELL, BRAD; VARGHESE, GEORGE; GERNER, NICK; YI, WEILIE
To: PLACED, INC.
Reel/Frame 040807/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2016
From: SHIM, DAVID; BICKNELL, BRAD; VARGHESE, GEORGE; GERNER, NICK; YI, WEILIE
To: PLACED, INC.
Reel/Frame 041038/0405 →