# US 2018/0025395 A1 · Computer system and method for analyzing data sets and generating personalized ecommendations

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

- Number: US 2018/0025395 A1
- Document ID: US20180025395A1
- Status: Published application
- Kind: A1
- Application number: 15/724,370
- Filed: 2017-10-04
- Published: 2018-01-25
- Earliest claimed: 2010-10-15
- Assignees: OpenTable, Inc.
- Applicants: OpenTable, Inc.
- Inventors: Jeremy Ryan Schiff; Paul Kenneth Twohey; Steven Charles Schlansker; Leejay Wu; Corey Reese; Sourav Chatterji
- Web page: https://patentgrep.com/patent/US20180025395A1

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06Q 30/0282: Rating or review of business operators or products
- G06Q 30/06: Buying, selling or leasing transactions
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G06Q 30/0643: {graphically representing goods, e.g. 3D product representation}
- 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

## Abstract

Embodiments of the invention relate to a computer-implemented method and system for generating personalized recommendations for a target user based at least on stored data about the target user. The method comprises obtaining, at the server computer, data from a plurality of data sources, including entity data associated with a plurality of entities, stored in an entity database, or personal data associated with a plurality of users, stored in a user database. The personalized recommendations system then merges the entity data or personal data and maps the entity or personal data to a corresponding entity or target user, respectively. The entity or personal data is differentiated, a relevance is determined, a weight is assigned to the data and corresponding source to canonicalize the data, the respective databases are updated with the corresponding data, and then a set of personalized recommendations to the target user is generated using the updated databases.

## Claims

### Claim 1

A method, comprising:
receiving first feedback data from a first data source entity related to a first physical entity, wherein the first physical entity has therewith associated one or more first data elements;
receiving second feedback data from a second data source entity related to a second physical entity, wherein the second physical entity has therewith associated one or more second data elements;
canonicalizing the first physical entity and the second physical entity to determine a first canonicalized physical entity and a second canonicalized physical entity;
determining whether the first physical entity corresponds to the second physical entity based at least in part on the first canonicalized physical entity and the second canonicalized physical entity;
when it is determined that the first physical entity corresponds to the second physical entity, updating one or more first canonical data elements associated with the first canonical physical entity based at least in part on the one or more second data elements and updating one or more first canonical feedback data elements based at least in part on the second feedback data;
providing for display the one or more first canonical feedback data elements associated with the first physical entity,
wherein the method is performed by one or more computing devices.

### Claim 2 (depends on 1)

The method of claim 1, wherein the method further comprises:
receiving third feedback data from a third data source entity related to a third physical entity, wherein the third physical entity has therewith associated one or more third data elements;
canonicalizing the third physical entity to determine a third canonicalized physical entity;
determining whether the first physical entity corresponds to the third physical entity based at least in part on the first canonicalized physical entity and the third canonicalized physical entity; and
when it is determined that the first physical entity does not correspond to the third physical entity, updating one or more third canonical data elements associated with the third canonical physical entity based at least in part on the one or more third data elements and updating one or more third canonical feedback data elements based at least in part on the third feedback data.

### Claim 3 (depends on 1)

The method of claim 1, wherein when it is determined that the first physical entity does not correspond to the second physical entity, storing the first physical entity as a new physical entity.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining whether the first physical entity corresponds to the second physical entity at least in part based on the first canonicalized physical entity and the second canonicalized physical entity comprises comparing metadata related to the first physical entity with metadata related to the second physical entity.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first feedback data comprises data related to service experience or data related to goods available from the first physical entity.

### Claim 6 (depends on 2)

The method of claim 2, wherein the first data source entity relates to a first user account, the second data source entity relates to a second user account, and the third data source entity relates to a third user account, wherein the method further comprises:
receiving a request for a physical entity from a fourth user account;
determining a ranking of the first physical entity, the second physical entity, and the third physical entity based at least in part on data associated with the first user account, the second user account, the third user account, and the fourth user account; and
responding to the request from the fourth user account based at least in part on the determined ranking.

### Claim 7 (depends on 6)

The method of claim 6, wherein determining the ranking of the first physical entity, the second physical entity, and the third physical entity comprises determining the ranking of the first physical entity, the second physical entity, and the third physical entity based at least in part on associative data relating determining the first user account, the second user account, the third user account, and the fourth user account.

### Claim 8 (depends on 2)

The method of claim 2, wherein the first data source entity relates to a first user account, the second data source entity relates to a second user account, and the third data source entity relates to a third user account, and the first physical entity and second physical entity are associated with a particular physical entity category, and the third physical entity is associated with a different entity category, wherein the method further comprises:
receiving a request for a physical entity in the particular physical entity category from a fourth user account;
determining a ranking of the first physical entity and the second physical entity based at least in part on data associated with the first user account, the second user account, and the fourth user account; and
responding to the request from the fourth user account based at least in part on the determined ranking.

### Claim 9

A non-transitory computer readable medium storing instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform a method of:
receiving first feedback data from a first data source entity related to a first physical entity, wherein the first physical entity has therewith associated one or more first data elements;
receiving second feedback data from a second data source entity related to a second physical entity, wherein the second physical entity has therewith associated one or more second data elements;
receiving third feedback data from a third data source entity related to a third physical entity, wherein the third physical entity has therewith associated one or more third data elements;
canonicalizing the first physical entity, the second physical entity, and the third physical entity to determine a first canonicalized physical entity, a second canonicalized physical entity, and a third canonicalized physical entity;
determining whether the first physical entity corresponds to either of the second physical entity or third physical entity based at least in part on the first canonicalized physical entity, the second canonicalized physical entity, and the third canonicalized physical entity;
when it is determined that the first physical entity corresponds to the second physical entity, updating one or more first canonical data elements associated with the first canonical physical entity based at least in part on the one or more second data elements and updating one or more first canonical feedback data elements based at least in part on the second feedback data;
providing for display the one or more first canonical feedback data elements associated with the first physical entity.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the method further comprises: when it is determined that the first physical entity does not correspond to the third physical entity, updating one or more third canonical data elements associated with the third canonical physical entity based at least in part on the one or more third data elements and updating one or more third canonical feedback data elements based at least in part on the third feedback data.

### Claim 11 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein when it is determined that the first physical entity does not correspond to the second physical entity or the third physical entity, storing the first physical entity as a new physical entity.

### Claim 12 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein determining whether the first physical entity corresponds to either of the second physical entity or third physical entity at least in part based on the first canonicalized physical entity, the second canonicalized physical entity, and the third canonicalized physical entity comprises comparing metadata related to the first physical entity with metadata related to the second physical entity and metadata related to the third physical entity.

### Claim 13 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the first feedback data comprises data related to service experience or data related to goods available from the first physical entity.

### Claim 14 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the first data source entity relates to a first user account, the second data source entity relates to a second user account, and the third data source entity relates to a third user account, wherein the method further comprises:
receiving a request for a physical entity from a fourth user account;
determining a ranking of the first physical entity, the second physical entity, and the third physical entity based at least in part on data associated with the first user account, the second user account, the third user account, and the fourth user account; and
responding to the request from the fourth user account based at least in part on the determined ranking.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein determining the ranking of the first physical entity, the second physical entity, and the third physical entity comprises determining the ranking of the first physical entity, the second physical entity, and the third physical entity based at least in part on associative data relating determining the first user account, the second user account, the third user account, and the fourth user account.

### Claim 16

A system for performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more computing devices, cause performance of a process including:
receiving first feedback data from a first data source entity related to a first physical entity, wherein the first physical entity has therewith associated one or more first data elements;
receiving second feedback data from a second data source entity related to a second physical entity, wherein the second physical entity has therewith associated one or more second data elements;
canonicalizing the first physical entity and the second physical entity to determine a first canonicalized physical entity and a second canonicalized physical entity;
determining whether the first physical entity corresponds to the second physical entity based at least in part on the first canonicalized physical entity and the second canonicalized physical entity;
when it is determined that the first physical entity corresponds to the second physical entity, updating one or more first canonical data elements associated with the first canonical physical entity based at least in part on the one or more second data elements and updating one or more first canonical feedback data elements based at least in part on the second feedback data;
providing for display the one or more first canonical feedback data elements associated with the first physical entity.

### Claim 17 (depends on 16)

The system of claim 16, wherein the process further comprises: when it is determined that the first physical entity does not correspond to the second physical entity, updating one or more second canonical data elements associated with the second canonical physical entity based at least in part on the one or more second data elements and updating one or more second canonical feedback data elements based at least in part on the second feedback data.

### Claim 18 (depends on 16)

The system of claim 16, wherein when it is determined that the first physical entity does not correspond to the second physical entity, storing the first physical entity as a new physical entity.

### Claim 19 (depends on 16)

The system of claim 16, wherein the first data source entity relates to a first user account, the second data source entity relates to a second user account, and a third data source entity relates to a third user account, wherein the process further comprises:
receiving a request for a physical entity from a fourth user account;
determining a ranking of the first physical entity, the second physical entity, and a third physical entity based at least in part on data associated with the first user account, the second user account, the third user account, and the fourth user account; and
responding to the request from the fourth user account based at least in part on the determined ranking.

### Claim 20 (depends on 16)

The system of claim 16, wherein the first data source entity relates to a first user account, the second data source entity relates to a second user account, and a third data source entity relates to a third user account, and the first physical entity and second physical entity are associated with a particular physical entity category, and a third physical entity is associated with a different entity category, wherein the process further comprises:
receiving a request for a physical entity in the particular physical entity category from a fourth user account;
determining a ranking of the first physical entity and the second physical entity based at least in part on data associated with the first user account, the second user account, and the fourth user account; and
responding to the request from the fourth user account based at least in part on the determined ranking.
