RECOMMENDATION ENGINE THAT PROCESSES DATA INCLUDING USER DATA TO PROVIDE RECOMMENDATIONS AND EXPLANATIONS FOR THE RECOMMENDATIONS TO A USER
Embodiments of the invention relate to a computer-implemented method for generating explanatory data from a personalized recommendations process for a primary user based at least on stored data about the primary user. The method comprises a server computer obtaining data related to one or more users who are relevant to the primary user, then determining at least one group of users relevant to the primary user. The server computer also obtains data related to one or more entities, determines one or more entities relevant to the primary user, and associates the at least one relevant group of users with the one or more relevant entities. One or more potential candidate factors are generated. A set of factors are selected from the one or more potential candidate factors, wherein the potential candidate factors are used as explanatory data to determine recommendations to the primary user.
1 . A computer-implemented method for generating explanatory data from a personalized recommendations process for a primary user based at least on stored data about the primary user, the method comprising:
determining the primary user for whom explanatory data is to be generated, the primary user being one of a plurality of users over which recommendations are considered;
obtaining data related to a set of relevant users, wherein the set of relevant users comprises one or more users in the plurality of users that are deemed relevant to the primary user, wherein relevancy of a user in the set of relevant users to the primary user is based, at least in part, on similarities, according to stored user data, between the relevant user and the primary user;
obtaining, at the server computer, entity data from a plurality of data sources, wherein the entity data is associated with an entity in a plurality of entities;
storing the entity data at the server computer, wherein the entity data associated with the plurality of entities is stored in an entity database;
determining, at the server computer, one or more entities relevant to the primary user based on the data related to the one or more entities;
determining, by the server computer, one or more potential candidate factors based on at least the one or more relevant entities; and
generating, by the server computer, explanation data based on the one or more potential candidate factors used in the personalized recommendations process.
2 . The method of claim 1 , further comprising:
selecting, by the server computer, a set of factors from the one or more potential candidate factors; and
communicating, by the server computer, the set of selected factors to the primary user, wherein the potential candidate factors are used to determine recommendations to the primary user.
3 . The method of claim 1 , further comprising:
determining, at the server computer, at least one group of users relevant to the primary user based on the data related to the one or more users, each relevant group including one or more relevant users to the primary user;
associating, by the server computer, the at least one relevant group of users with the one or more relevant entities;
determining, by the server computer, one or more potential candidate factors based on at least the relevant group of users; and
generating, by the server computer, explanation data based on the one or more potential candidate factors used in the personalized recommendations process.
4 . The method of claim 1 , wherein associating the at least one relevant group of users with the one or more relevant entities includes determining a relationship between a relevant user with a relevant entity, a relationship between a relevant entity with another relevant entity, or a relationship between a relevant user with another relevant user.
5 . The method of claim 1 , wherein data related to one or more relevant users includes account information stored in a database of users, wherein the account information includes demographic data.
6 . The method of claim 1 , wherein the data related to one or more relevant users includes current location information of the user.
7 . The method of claim 5 , wherein the pre-determined attributes includes cuisine preferences or food allergies.
8 . The method of claim 1 , wherein the current location information is associated with data related to one or more relevant entities, wherein the data related to one of relevant entities includes previous data from the one or more relevant users related to the one or more relevant entities.
9 . The method of claim 3 , wherein selecting the set of factors is based on at least one of, or combinations of, spatial, temporal, social, demographic, or user history data previously stored in a database.
10 . The method of claim 9 , wherein selecting the set of factors is based on at least one of, or combinations of, spatial, temporal, social, demographic, or user current data collected in real-time.
11 . The method of claim 9 , wherein the user history data includes at least one of, or combinations of, query history, browsing history, or purchase history of the primary user.
12 . The method of claim 9 , wherein selecting the set of factors is based on table driven matching, wherein the tables are stored in the database.
13 . The method of claim 10 , wherein selecting the set of factors is based on psychological models of behavior of a demographic of the primary user.
14 . The method of claim 3 , further comprising:
determining a set of media objects associated with the set of selected factors, wherein the set of media objects includes at least one of, or combinations of, textual information, pictures, video, hyperlinked text, webpages, styled text, and sounds; and
communicating the set of media objects with the set of selected factors for the recommendation explanation.
15 . The method of claim 3 , wherein communicating the set selected factors includes multi-dimensional models, vibrations, electric shocks, pulses, or scents.
16 . A server computer comprising a processor and a non-transitory computer readable medium, the non-transitory computer readable medium comprising code executable by the processor to implement a computer-implemented method for generating explanatory data from a personalized recommendations process for a primary user based at least on stored data about the primary user, the method comprising:
determining the primary user for whom explanatory data is to be generated, the primary user being one of a plurality of users over which recommendations are considered;
obtaining, at a server computer, data related to a set of relevant users, wherein the set of relevant users comprises one or more users in the plurality of users that are deemed relevant to the primary user, wherein relevancy of a user in the set of relevant users to the primary user is based, at least on part, on similarities, according to stored user data, between the relevant user and the primary user;
obtaining, at the server computer, entity data from a plurality of data sources, wherein the entity data is associated with an entity in a plurality of entities;
storing the entity data at the server computer, wherein the entity data associated with the plurality of entities is stored in an entity database;
determining, at the server computer, one or more entities relevant to the primary user based on the data related to the one or more entities;
determining, by the server computer, one or more potential candidate factors based on at least the one or more relevant entities; and
generating, by the server computer, explanation data based on the one or more potential candidate factors used in the personalized recommendations process.
17 . The server computer of claim 16 , the method further comprising:
selecting, by the server computer, a set of factors from the one or more potential candidate factors; and
communicating, by the server computer, the set of selected factors to the primary user, wherein the potential candidate factors are used to determine recommendations to the primary user.
18 . The server computer of claim 16 , the method further comprising:
determining, at the server computer, at least one group of users relevant to the primary user based on the data related to the one or more users, each relevant group including one or more relevant users to the primary user;
associating, by the server computer, the at least one relevant group of users with the one or more relevant entities;
determining, by the server computer, one or more potential candidate factors based on at least the relevant group of users; and
generating, by the server computer, explanation data based on the one or more potential candidate factors used in the personalized recommendations process.
19 . The server computer of claim 16 , wherein associating the at least one relevant group of users with the one or more relevant entities includes determining a relationship between a relevant user with a relevant entity, a relationship between a relevant entity with another relevant entity, or a relationship between a relevant user with another relevant user.
20 . The server computer of claim 16 , wherein data related to one or more relevant users includes account information stored in a database of users, wherein the account information includes demographic data.
21 . The server computer of claim 16 , wherein the data related to one or more relevant users includes current location information of the user.
22 . The server computer of claim 20 , wherein the pre-determined attributes includes cuisine preferences or food allergies.
23 . The server computer of claim 16 , wherein the current location information is associated with data related to one or more relevant entities, wherein the data related to one of relevant entities includes previous data from the one or more relevant users related to the one or more relevant entities.
24 . The method of claim 18 , wherein selecting the set of factors is based on at least one of, or combinations of, spatial, temporal, social, demographic, or user history data previously stored in a database.
25 . The method of claim 24 , wherein selecting the set of factors is based on at least one of, or combinations of, spatial, temporal, social, demographic, or user current data collected in real-time.
26 . The method of claim 24 , wherein the user history data includes at least one of, or combinations of, query history, browsing history, or purchase history of the primary user.
27 . The method of claim 24 , wherein selecting the set of factors is based on table driven matching, wherein the tables are stored in the database.
28 . The method of claim 25 , wherein selecting the set of factors is based on psychological models of behavior of a demographic of the primary user.
29 . The method of claim 18 , further comprising:
determining a set of media objects associated with the set of selected factors, wherein the set of media objects includes at least one of, or combinations of, textual information, pictures, video, hyperlinked text, webpages, styled text, and sounds; and
communicating the set of media objects with the set of selected factors for the recommendation explanation.
30 . The method of claim 18 , wherein communicating the set selected factors includes multi-dimensional models, vibrations, electric shocks, pulses, or scents.