| CPC H04W 4/021 (2013.01) [G06N 5/04 (2013.01); G06N 5/048 (2013.01); H04W 4/029 (2018.02)] | 13 Claims |

|
1. A method for inferring a location of a user, the method comprising:
receiving raw location data from a mobile device associated with a user;
filtering the raw location data to generate filtered location data, wherein filtering the raw location data comprises:
filtering low accuracy location data from the raw location data, wherein the low accuracy location data is identified based upon an accuracy estimate associated with one or more portions of the raw location data with respect to an indicated location, the accuracy estimate reported by the mobile device, and wherein the low accuracy location data is filtered based upon a first threshold; and
filtering noisy location data from the raw location data, wherein noisy location data is location data estimated as accurate but has a distance greater than a second threshold from an average location, the average location determined based upon a predetermined number of locations readings preceding the noisy location data and a predetermined number of location readings after the noisy location data;
identifying, from the filtered location data, a stationary location of the mobile device, wherein the stationary location is associated with the mobile device being stationary for longer than a threshold time;
determining multiple candidate place names that are within a predetermined radius of the stationary location, wherein determining multiple candidate place names that are within a predetermined radius of the stationary location includes querying a place name database that includes place information and corresponding geo-location data;
obtaining attributes of the filtered location data and attributes of the multiple candidate place names;
extracting, for each candidate place name, place features based upon attributes for an individual place name;
extracting cluster features describing cluster properties, wherein the cluster features comprise radius of the cluster, number of location readings within the cluster, and noisiness of location readings in the cluster, and wherein the cluster features are applicable to the multiple candidate place names located within the cluster;
extracting user features from a profile associated with the user;
generating a composite feature vector based upon the place features comprising the place features describing a candidate place, the cluster features, and the user features describing the user, the user features comprising demographic attributes; and
inferring, based upon the composite feature vector, one of the multiple candidate place names as a place name for the stationary location based on a comparison of the attributes.
|