# US 10,455,031 B2 · Systems and methods to determine location recommendations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,031 B2
- Document ID: US10455031B2
- Status: Granted
- Kind: B2
- Application number: 14/971,847
- Filed: 2015-12-16
- Published: 2017-06-22
- Granted: 2019-10-22
- Earliest claimed: 2015-12-16
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Adriel Samuel Frederick
- Web page: https://patentgrep.com/patent/US10455031B2

## CPC

- H04W 4/21: for social networking applications
- G06Q 10/42: Determination of affinities or common interests between users
- H04L 67/306: User profiles
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems, methods, and non-transitory computer readable media are configured to receive ratings for a plurality of locations associated with a location type. The ratings are processed to develop a personalized model for a user to identify candidate locations for the user. At least one candidate location is provided as a recommendation for the user based on the personalized model.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by a computing system, ratings, provided by at least a user and a set of other users through a social networking system, for a plurality of locations associated with a location type, wherein receiving the ratings comprises:
receiving a rating for at least a first location from the user and ratings for at least the first location from the set of other users; and
receiving ratings for a second location from the set of other users;
developing, by the computing system, a personalized model for the user, based on attributes associated with the location type and the ratings for the plurality of locations wherein the developing comprises:
calculating a pairwise difference between the rating for at least the first location from the user and each rating for at least the first location from each user in the set of other users to generate difference values, wherein the difference values are weighted by an exponential decay function based on a similarity between the rating from the user and each rating from each user in the set of other users;
generating a confidence interval based at least in part on the weighted difference values;
calculating an expected rating for the second location based on the ratings for the second location from the set of other users; and
applying the confidence interval to the expected rating, wherein the confidence interval is associated with an accuracy of the expected rating;
providing, by the computing system, the second location as a recommendation for the user based on the personalized model based at least in part on whether the confidence interval satisfies a threshold accuracy;
determining, by the computing system, that an actual rating received from the user for the second location does not fall within the confidence interval; and
developing, by the computing system, the personalized model further for the user based on the actual rating and the ratings for the second location from the set of other users.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the location type relates to at least one of: restaurants, stores, schools, bars, companies, congregations, or destinations.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
for each respective location of the plurality of locations, determining attribute values of each attribute associated with the location type.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein at least a portion of the attribute values are determined based at least in part on user data maintained by the social networking system.

### Claim 5 (depends on 3)

The computer-implemented method of claim 3, wherein the developing the personalized model for the user further comprises:
correlating the ratings for the plurality of locations with the attribute values for each respective location of the plurality of locations;
identifying desired attribute values that are desired by the user based on the correlating; and
developing the personalized model to reflect the desired attribute values that are desired by the user.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the developing the personalized model for the user further comprises:
assigning a weight to each attribute value to reflect an importance of each attribute to the user; and
developing the personalized model to reflect the assigned weight.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein generating the confidence interval comprises combining at least one of: the difference values or the weighted difference values.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the developing the personalized model further for the user further comprises:
developing the personalized model further for the user based on additional ratings for additional locations from the user and the set of other users.

### Claim 9

A system comprising:
at least one processor; and
a memory storing instructions that, when executed by the at least one processor, cause the system to perform:
receiving ratings, provided by at least a user and a set of other users through a social networking system, for a plurality of locations associated with a location type, wherein receiving the ratings comprises:
receiving a rating for at least a first location from the user and ratings for at least the first location from the set of other users; and
receiving ratings for a second location from the set of other users;
developing a personalized model for the user, based on attributes associated with the location type and the ratings for the plurality of locations, wherein the developing comprises:
calculating a pairwise difference between the rating for at least the first location from the user and each rating for at least the first location from each user in the set of other users to generate difference values, wherein the difference values are weighted by an exponential decay function based on a similarity between the rating from the user and each rating from each user in the set of other users;
generating a confidence interval based at least in part on the weighted difference values;
calculating an expected rating for the second location based on the ratings for the second location from the set of other users; and
applying the confidence interval to the expected rating, wherein the confidence interval is associated with an accuracy of the expected rating;
providing the second location as a recommendation for the user based on the personalized model based at least in part on whether the confidence interval satisfies a threshold accuracy;
determining that an actual rating received from the user for the second location does not fall within the confidence interval; and
developing the personalized model further for the user based on the actual rating and the ratings for the second location from the set of other users.

### Claim 10 (depends on 9)

The system of claim 9, wherein the location type relates to at least one of: restaurants, stores, schools, bars, companies, congregations, or destinations.

### Claim 11 (depends on 9)

The system of claim 9, wherein the instructions further cause the system to perform:
for each respective location of the plurality of locations, determining attribute values of each attribute associated with the location type.

### Claim 12 (depends on 11)

The system of claim 11, wherein the developing the personalized model for the user further comprises:
correlating the ratings for the plurality of locations with the attribute values for each respective location of the plurality of locations;
identifying desired attribute values that are desired by the user based on the correlating; and
developing the personalized model to reflect the desired attribute values that are desired by the user.

### Claim 13 (depends on 12)

The system of claim 12, wherein the developing the personalized model for the user further comprises:
assigning a weight to each attribute value to reflect an importance of each attribute to the user; and
developing the personalized model to reflect the assigned weight.

### Claim 14

A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:
receiving ratings, provided by at least a user and a set of other users through a social networking system, for a plurality of locations associated with a location type, wherein receiving the ratings comprises:
receiving a rating for at least a first location from the user and ratings for at least the first location from the set of other users; and
receiving ratings for a second location from the set of other users;
developing a personalized model for the user, based on attributes associated with the location type and ratings for the plurality of locations, wherein the developing comprises:
calculating a pairwise difference between the rating for at least the first location from the user and each rating for at least the first location from each user in the set of other users to generate difference values, wherein the difference values are weighted by an exponential decay function based on a similarity between the rating from the user and each rating from each user in the set of other users;
generating a confidence interval based at least in part on the weighted difference values;
calculating an expected rating for the second location based on the ratings for the second location from the set of other users; and
applying the confidence interval to the expected rating, wherein the confidence interval is associated with an accuracy of the expected rating;
providing the second location as a recommendation for the user based on the personalized model based at least in part on whether the confidence interval satisfies a threshold accuracy;
determining that an actual rating received from the user for the second location does not fall within the confidence interval; and
developing the personalized model further for the user based on the actual rating and the ratings for the second location from the set of other users.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the location type relates to at least one of: restaurants, stores, schools, bars, companies, congregations, or destinations.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the method further comprises:
for each respective location of the plurality of locations, determining attribute values of each attribute associated with the location type.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the developing the personalized model for the user further comprises:
correlating the ratings for the plurality of locations with the attribute values for each respective location of the plurality of locations;
identifying desired attribute values that are desired by the user based on the correlating; and
developing the personalized model to reflect the desired attribute values that are desired by the user.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the developing the personalized model for the user further comprises:
assigning a weight to each attribute value to reflect an importance of each attribute to the user; and
developing the personalized model to reflect the assigned weight.
