# US 11,308,540 B2 · Real time recommendation engine

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

- Number: US 11,308,540 B2
- Document ID: US11308540B2
- Status: Granted
- Kind: B2
- Application number: 15/646,280
- Filed: 2017-07-11
- Published: 2019-01-17
- Granted: 2022-04-19
- Earliest claimed: 2017-07-11
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Arindam Bhowmick; Carlos Chivardi; Jennifer M. Hatfield; Gregory S. Hurlebaus; Josef Scherpa
- Web page: https://patentgrep.com/patent/US11308540B2

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06F 16/24578: {using ranking}
- G06F 16/285: {Clustering or classification}
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06F 16/9535: Search customisation based on user profiles and personalisation
- 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)}
- G06F 40/211: Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
- G06F 40/30: Semantic analysis
- 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for providing recommendations to at least one user is disclosed. A user profile for the user is obtained. Data is identified in the user indicative of interests of the users. This is stored in a profile store. Activity profiles and profiles of reviewers of the activity are created. A match between the author profiles, the user profiles and the activity profiles are identified. From these matches a list of activities is generated and presented to the user to select an activity to engage in.

## Claims

### Claim 1

A method for providing recommendations to a user, comprising:
obtaining a group profile relating to the user, wherein the group profile includes a group of users formed in an ad hoc manner;
identifying by analyzing by a device data in the group profile indicating interests of the users based on a set of conditions set by the user;
storing the group profile and the identified data in a profile store;
creating an activity profile for a plurality of activities at a plurality of locations, each activity having a corresponding activity profile,
creating, by a device, author profiles for at least one author of a review for at least one of the plurality of activities as an author profile, the author profile corresponding to at least one activity profile;
identifying by the device at least one trigger event between the group profile, at least one activity profile, and at least one author profile corresponding to the at least one activity profile, wherein the trigger event is identified by a recommendation system within the device, the recommendation system includes:
providing by, an explicit-implicit database, catalog items acquired responsive to preferences exhibited by a population of users,
clustering by, a model maker and a cluster engine, the catalog items into catalog dusters, and
recommending, by a recommender engine, the catalog items in the catalog clusters, wherein the catalog items correspond to the trigger event relating to the group profile;
generating a list of activities associated with the trigger event;
displaying the list of activities to the user;
generating, using machine learning techniques, a list of conditions relating to the user, wherein the conditions indicate a current state of the user;
determining, by the device, that a trigger condition from the list of conditions has occurred to the user by analyzing by the device, at least one electronic profile associated with the user using natural language processing of the at least one electronic profile and the list of activities;
determining by the device a duration of the trigger condition;
associating the determined trigger condition with the group profile by converting, by the device, data regarding the determined trigger condition into profile data;
determining by the device if activities in the list of activities are not compatible with the trigger condition;
filtering out, by determining activities in the list of activities that activate the trigger condition, the activities from the list of activities; and
displaying, by the device, an updated list of activities to the user.

### Claim 2 (depends on 1)

The method of claim 1 wherein the list of activities includes activities proximate to a location of the user.

### Claim 3 (depends on 1)

The method of claim 1 wherein the group profile is formed by:
identifying a plurality of users, each of the plurality of users having at least one common interest in a corresponding user profile;
defining a group, the group including users having a threshold number of common interests; and
creating a group profile for the group, the group profile including at least one activity and a set of conditions for the at least one activity.

### Claim 4 (depends on 1)

The method of claim 1 wherein the group is formed when each of the users indicates they are part of the group.

### Claim 5 (depends on 1)

The method of claim 1 wherein the group is formed based on connections with at least one of the users through public electronic information.

### Claim 6 (depends on 5)

The method of claim 5 wherein the public electronic information is electronic social media.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
selecting, by the user, at least one activity from the list.

### Claim 8 (depends on 7)

The method of claim 7 further comprising:
receiving feedback from the user following completion of the at least one activity; and
updating a corresponding activity profile for the at least one activity with the received feedback.

### Claim 9 (depends on 1)

The method of claim 1 wherein the list of activities includes a probability that the user will like the activity.

### Claim 10 (depends on 9)

The method of claim 9 wherein the list of activities are presented to the user in ranked order.

### Claim 11 (depends on 1)

The method of claim 1 wherein the author profiles are generated by natural language processing of electronic reviews of a particular activity.

### Claim 12

A computer program product having computer executable instructions that when executed by at least one computer having at least one processor, wherein the instructions modify a recommender system to execute a method comprising:
obtaining a group profile relating to the user, wherein the group profile includes a group of user formed in an ad hoc manner;
identifying by analyzing by a device data in the group profile indicating interests of the users based on a set of conditions set by the user;
storing the group profile and the identified data in a profile store;
creating an activity profile for a plurality of activities at a plurality of locations, each activity having a corresponding activity profile;
creating, by a device, author profiles for at least one author of a review for at least one of the plurality of activities as an author profile, the author profile corresponding to at least one activity profile;
identifying by the device at least one trigger event between the group profile, at least one activity profile, and at least one author profile corresponding to the at least one activity profile, wherein the trigger event is identified by a recommendation system within the device, the recommendation system includes:
providing by, an explicit-implicit database, catalog items acquired responsive to preferences exhibited by a population of users,
clustering by, a model maker and a cluster engine, the catalog items into catalog dusters, and
recommending, by a recommender engine, the catalog items in the catalog dusters, wherein the catalog items correspond to the trigger event relating to the group profile;
generating a list of activities associated with the trigger event;
displaying the list of activities to the user;
generating, using machine learning techniques, a list of conditions relating to the user, wherein the conditions indicate a current state of the user;
determining, by the device, that a trigger condition from the list of conditions has occurred to the user by analyzing by the device, at least one electronic profile associated with the user using natural language processing of the at least one electronic profile and the list of activities;
determining by the device a duration of the trigger condition;
associating the determined trigger condition with the group profile by converting by the device, data regarding the determined trigger condition into profile data;
filtering out, by determining activities in the list of activities that activate the trigger condition, the activities from the list of activities, and
displaying, by the device, an updated list of activities to the user.

### Claim 13 (depends on 12)

The computer program product of claim 12 wherein the group profile is formed by:
identifying a plurality of users, each of the plurality of users having at least one common interest in a corresponding user profile;
defining a group, the group including users having a threshold number of common interests; and
creating a group profile for the group, the group profile including at least one activity and a set of conditions for the at least one activity.

### Claim 14 (depends on 12)

The computer program product of claim 12 wherein the group is formed when each of the users indicates they are part of the group.

### Claim 15 (depends on 14)

The computer program product of claim 14 wherein the group augmented with at least one member identified based on connections with at least one of the users through public electronic information.

### Claim 16 (depends on 12)

The computer program product of claim 12 further comprising:
selecting, by the user, at least one activity from the list.

### Claim 17 (depends on 16)

The computer program product of claim 16 further comprising:
receiving feedback from the user following completion of the at least one activity; and
updating a corresponding activity profile for the at least one activity with the received feedback.

### Claim 18

A recommendation system configured to provide recommendations to at least one user comprising:
at least one processor;
at least one memory component;
a recommender engine configured to provide a recommendation to the at least one user;
the recommender engine configured to execute a method of:
obtaining a group profile for the user, wherein the group profile includes a group of users formed in an ad hoc manner;
identifying by analyzing by a device data in the group profile indicating interests of the users based on a set of conditions set by the user;
storing the user profile and the identified data in a profile store;
creating an activity profile for a plurality of activities at a plurality of locations, each activity having a corresponding activity profile, wherein each activity is an event;
creating, by a device, author profiles for at least one author of a review for at least one of the plurality of activities as an author profile, the author profile corresponding to at least one activity profile;
identifying by the device at least one trigger event between the group profile, at least one activity profile, and at least one author profile corresponding to the at least one activity profile, wherein the trigger event is identified by a recommendation system within the device, the recommendation system includes:
providing by, an explicit-implicit database, catalog items acquired responsive to preferences exhibited by a population of users,
clustering by, a model maker and a cluster engine, the catalog items into catalog clusters, and
recommending, by a recommender engine, the catalog items in the catalog clusters, wherein the catalog items correspond to the trigger event relating to the group profile;
generating a list of activities associated with the trigger event;
displaying the list of activities to the user;
generating, using machine learning techniques, a list of conditions relating to the user, wherein the conditions indicate a current state of the user;
determining by the device that a trigger condition from the list of conditions has occurred to the user by analyzing, by the device, at least one electronic profile associated with the user using natural language processing of the at least one electronic profile and the list of activities;
determining by the device a duration of the trigger condition;
associating the determined trigger condition with the group profile by converting, by the device, data regarding the determined trigger condition into profile data;
filtering out, by determining activities in the list of activities that activate the trigger condition, the activities from the list of activities; and
displaying, by the device, an updated list of activities to the user.
