| CPC G06F 16/9535 (2019.01) | 9 Claims |

|
1. A method, performed by at least one processor of a computing device, for recommending an event, the method comprising:
receiving a request for a recommendation of an event to a target user;
retrieving data from a storage device, wherein the data indicates a number of executions of each of a plurality of candidate events by each of a plurality of users including the target user;
determining, based on the retrieved data, a first metric of the target user for each of the candidate events, wherein the first metric of the target user is calculated based on a ratio of a number of executions of one of the candidate events by the target user to a total number of executions of the candidate events by the target user;
determining, based on the retrieved data, a second metric for each of the candidate events, wherein the second metric is calculated based on a ratio of a total number of the plurality of users to a number of users who have executed one of the candidate events;
generating and storing in the storage device a recommendation factor for each of the candidate events by modifying storing in the storage device the first metric for each of the candidate events based on the second metric for each of the candidate events,
wherein the recommendation factor is modified according to:
Recommendation Factorij =tij/Σmk=1tik ×loga |U|/|{uεU:xjεu}|, where tij/Σmk=1 tik represents an execution frequencyij and loga |U|/|{uεU:xjεu}|represents an inverse user frequencyi, where i is an integer from 1 to n and n=a number of users U, where j is an integer from 1 to m and m=a number of events X, and where loga is a logarithm base a where a is a real number, wherein the first metric includes the execution frequencyij, wherein the second metric includes the inverse user frequencyj;
calculating, and storing in the storage device based on a machine learning algorithm, a result using the recommendation factor for each of the candidate events as input;
selecting and storing in the storage device an event among the plurality of candidate events based on the result of the calculating; and
presenting on a display the selected event.
|