IP Library Granted Patent US 10,963,527
Granted Patent B2
US 10,963,527 · App. 16/254,125 · Granted Mar 30, 2021

Associating user logs using geo-point density

Inventors: Sungchul Kim (San Jose, CA); Nedim Lipka (Santa Clara, CA); Eunyee Koh (San Jose, CA)
Assignee: Adobe Inc.
G06F16/9535G06F16/337
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 10,963,527
App. No.
16/254,125
Granted
Mar 30, 2021
Kind
B2
Abstract

A method for clustering geolocations using geo-point density includes receiving a user log of geolocation data extracted from user interactions with at least one electronic device. A density is determined relative to other geo-points for each geo-point in a set of geo-points extracted from the user log. Lower density geo-points in the set are merged into higher density geo-points in the set to result in a merged set of geo-points, and clusters of geo-points are identified from the merged set. Merging the geo-points tends to preserve frequently occurring geo-points while reducing those that constitute noise, which improves the reliability of identifying the clusters. Core geo-points of the user log are selected from the clusters. The core geo-points of the user log can be compared to core geo-points of other use logs to identify associations between the user logs.

Claims (63)

1. A computer-implemented method, comprising:

extracting, via a processor, a plurality of geo-points from geolocation information in a plurality of logs;

determining, via the processor, two core geo-points from the plurality of geo-points, each core geo-point of the two core geo-points being representative of geolocation information in a corresponding log of the plurality of logs;

associating, via the processor, two logs corresponding to the two core geo-points to a common user based on respective features of the two core geo-points; and

selecting, via the processor, a personalized content for the common user based on the two core geo-points.

2. The computer-implemented method of claim 1 , further comprising:

determining respective densities of the plurality of geo-points; and

determining the two core geo-points based on the respective densities of the plurality of geo-points.

3. The computer-implemented method of claim 1 , further comprising:

determining a first number of geo-points of the plurality of geo-points;

determining a second number of geo-points that are within a designated area surrounding a geo-point of the plurality of geo-points; and

determining a density of the geo-point based on the first number of geo-points and the second number of geo-points.

4. The computer-implemented method of claim 3 , wherein the designated area surrounding the geo-point is determined based on an average distance between each geo-point to its nearest neighbor in the plurality of geo-points.

5. The computer-implemented method of claim 1 , further comprising:

determining respective densities of a first geo-point and a second geo-point of the plurality of geo-points; and

filtering out the first geo-point from the plurality of geo-points based on a density of the first geo-point being less than a density of the second geo-point.

6. The computer-implemented method of claim 1 , further comprising:

determining respective densities of the plurality of geo-points; and

iteratively merging, based on an order of respective densities of the plurality of geo-points, the plurality of geo-points until each geo-point in the plurality of geo-points has either been used as a given geo-point to merge another geo-point or has been merged.

7. The computer-implemented method of claim 1 , further comprising:

computing a cluster of geo-points from the plurality of geo-points using a k-means based clustering method; and

designating a center of the cluster of geo-points as a core geo-point of the two core geo-points.

8. The computer-implemented method of claim 1 , wherein the respective features of the two core geo-points comprise respective geolocation data; and the method further comprising:

computing a distance between the two core geo-points based on the respective geolocation data; and

associating the two logs based on the distance being below a threshold value.

9. The computer-implemented method of claim 1 ,

wherein the selecting comprises detecting the common user being located at a location corresponding to one of the two core geo-points.

10. A non-transitory computer-readable media having a plurality of executable instructions embodied thereon, which, when executed by one or more processors, cause the one or more processors to perform operations, comprising:

obtaining a plurality of geo-points from a plurality of logs;

determining a plurality of clusters of geo-points based on respective densities of the plurality of geo-points;

designating a plurality of core geo-points to represent respective clusters of the plurality of clusters of geo-points;

identifying associations among the plurality of logs based on the plurality of core geo-points; and

personalizing a content for a user based on the associations among the plurality of logs.

11. The computer-readable media of claim 10 , the operations further comprising:

determining a density of a geo-point of the plurality of geo-points based on a ratio between a first number of geo-points that are within a designated area surrounding the geo-point and a second number of geo-points of the plurality of geo-points.

12. The computer-readable media of claim 10 , the operations further comprising:

merging a first geo-point into a second geo-point based on a density of the first geo-point being less than a density of the second geo-point, and a distance between the first geo-point and the second geo-point being less than a threshold value.

13. The computer-readable media of claim 10 , wherein designating the plurality of core geo-points comprises:

computing a cluster of geo-points from the plurality of geo-points using a k-means based clustering method; and

designating a core geo-point for the cluster of geo-points based on a center point of the cluster of geo-points.

14. The computer-readable media of claim 10 , wherein identifying the associations comprises:

calculating distances among the plurality of core geo-points; and

applying the distances to a probabilistic model to determine the associations among the plurality of logs.

15. The computer-readable media of claim 10 , the operations further comprising:

assigning two logs to the user based on an association between the two logs; and

selecting the content for the user based on respective core geo-points of the two logs.

16. A computer-implemented system, comprising:

means for receiving a plurality of geo-points associated with a plurality of logs;

means for determining a plurality of core geo-points based on respective densities of the plurality of geo-points;

means for identifying associations among the plurality of logs based on the plurality of core geo-points; and

means for selecting a content for a user based on the associations among the plurality of logs.

17. The system of claim 16 , further comprising:

means for determining respective densities of the plurality of geo-points; and

means for iteratively merging, based on an order of respective densities of the plurality of geo-points, the plurality of geo-points.

18. The system of claim 16 , wherein the means for determining the plurality of core geo-points comprises:

means for computing a cluster of geo-points from the plurality of geo-points using a clustering process; and

means for designating a core geo-point for the plurality of geo-points based on the cluster of geo-points.

19. The system of claim 16 , wherein the means for identifying associations comprises:

means for calculating distances among the plurality of core geo-points; and

means for identifying the associations among the plurality of logs based on the distances.

20. The system of claim 16 , further comprising:

means for assigning two logs to the user based on an association between the two logs; and

means for personalizing a content for the user based on respective core geo-points of the two logs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2019
From: KIM, SUNGCHUL; LIPKA, NEDIM; KOH, EUNYEE
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 048681/0333 →
CHANGE OF NAME Recorded Mar 23, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048682/0315 →
Continuity (2)
Continuation 15043363 · Feb 12, 2016
Related Publication 20190155863A1 · May 23, 2019