Language selection

Search

Patent 2842255 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2842255
(54) English Title: A RECOMMENDATION ENGINE THAT PROCESSES DATA INCLUDING USER DATA TO PROVIDE RECOMMENDATIONS AND EXPLANATIONS FOR THE RECOMMENDATIONS TO A USER
(54) French Title: MOTEUR DE RECOMMANDATION QUI TRAITE DES DONNEES COMPRENANT DES DONNEES D'UTILISATEUR POUR FOURNIR DES RECOMMANDATIONS ET DES EXPLICATIONS DE CELLES-CI A UN UTILISATEUR
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 30/06 (2012.01)
(72) Inventors :
  • BERNER, CHRISTOPHER ERIC SHOGO (United States of America)
  • SCHIFF, JEREMY RYAN (United States of America)
  • REESE, COREY LAYNE (United States of America)
  • TWOHEY, PAUL KENNETH (United States of America)
(73) Owners :
  • OPENTABLE, INC. (United States of America)
(71) Applicants :
  • NESS COMPUTING, INC. (United States of America)
(74) Agent: BERESKIN & PARR LLP/S.E.N.C.R.L.,S.R.L.
(74) Associate agent:
(45) Issued: 2020-02-18
(86) PCT Filing Date: 2012-07-19
(87) Open to Public Inspection: 2013-01-24
Examination requested: 2014-08-07
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2012/047476
(87) International Publication Number: WO2013/013091
(85) National Entry: 2014-01-16

(30) Application Priority Data:
Application No. Country/Territory Date
61/509,999 United States of America 2011-07-20

Abstracts

English Abstract

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.


French Abstract

Conformément à des modes de réalisation, l'invention concerne un procédé mis en uvre par ordinateur pour générer des données explicatives à partir d'un processus de recommandations personnalisées pour un utilisateur primaire sur la base au moins de données stockées concernant l'utilisateur primaire. Le procédé comporte l'obtention, par un ordinateur de serveur, de données relatives à un ou à plusieurs utilisateurs ayant un rapport avec l'utilisateur primaire, puis la détermination, par l'ordinateur de serveur, d'au moins un groupe d'utilisateurs ayant un rapport avec l'utilisateur primaire. L'ordinateur de serveur obtient également des données relatives à une ou à plusieurs entités, détermine une ou plusieurs entités ayant un rapport avec l'utilisateur primaire, et associe le ou les groupes d'utilisateurs ayant un rapport à la ou aux entités ayant un rapport. Un ou plusieurs facteurs candidats potentiels sont générés. Un ensemble de facteurs sont sélectionnés parmi le ou les facteurs candidats potentiels, les facteurs candidats potentiels étant utilisés en tant que données explicatives pour déterminer des recommandations à l'utilisateur primaire.

Claims

Note: Claims are shown in the official language in which they were submitted.



CLAIMS

1. A computer-implemented method for generating explanatory data from a
personalized
recommendations process for a primary user based at least on stored attributes
of the primary
user, the method comprising:
obtaining attributes of a plurality of users and storing the attributes of the
plurality of
users in a user database;
based on the stored attributes of the primary user and the attributes of the
plurality of
users, identifying, by a server computer, similarities between the primary
user and
one or more users of the plurality of users;
based on the similarities, determining that the one or more users of the
plurality of users
are a set of relevant users that are deemed relevant to the primary user,
wherein
the set of relevant users that are deemed relevant to the primary user
includes
users who belong to the same demographics as the primary user or users who are

located near the primary user;
determining a plurality of service providers for the set of relevant users;
obtaining, at the server computer, a plurality of attributes of the plurality
of service
providers from a plurality of data sources;
storing, at the server computer, the plurality of attributes of the plurality
of service
providers in an entity database;
based on the stored attributes of the primary user and the plurality of
attributes of the
plurality of service providers, selecting, by the server computer, one or more

relevant service providers, from the plurality of service providers that are
relevant to the primary user;
based on attributes of the set of relevant users and attributes of the one or
more relevant
service providers, determining, by the server computer, one or more potential
service provider candidate factors for providing a service provider
recommendation to the primary user;
selecting, by the server computer, a set of factors from the one or more
potential service
provider candidate factors for recommending service providers to the primary
user;



using, by the server computer, the set of factors to provide the service
provider
recommendation of a particular service provider to the primary user;
based on the set of factors, generating, by the server computer, the
explanatory data, the
explanatory data comprising one or more reasons for the server computer
providing the service provider recommendation of the particular service
provider,
and the one or more reasons comprising an identification of a particular user
selected from the set of relevant users and an evaluation of the particular
service
provider;
communicating, by the server computer, the explanatory data to the primary
user.
2. The method of claim 1, further comprising:
determining, at the server computer, at least one relevant group of users who
are relevant
to the primary user based on attributes of the at least one relevant group of
users;
associating, by the server computer, the at least one relevant group of users
with the one
or more relevant service providers;
determining, by the server computer, one or more potential candidate factors
based on the
at least one relevant group of users; and
generating, by the server computer, the explanatory data based on the one or
more
potential candidate factors used in the personalized recommendations process.
3. The method of claim 2, wherein associating the at least one relevant
group of users with
the one or more relevant service providers includes determining a relationship
between a
relevant user and a relevant entity, a relationship between two relevant
service providers, or a
relationship between two relevant users.
4. The method of claim 1, wherein the attributes of the set of relevant
users includes account
information stored in a database of users, wherein the account information
includes demographic
data.
5. The method of claim 1, wherein the attributes of the set of relevant
users includes current
location information of a user.

26


6. The method of claim 1, wherein the attributes of the plurality of users
include cuisine
preferences or food allergies.
7. The method of claim 5, wherein the current location information is
associated with at
least one relevant entity of the one or more relevant service providers.
8. The method of claim I, 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.
9. The method of claim 1, 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.
10. The method of claim 8, wherein the user history data includes at least
one of, or
combinations of, query history, browsing history, or purchase history of the
primary user.
11. The method of claim 1, wherein selecting the set of factors is based on
table driven
matching, wherein tables are stored in a database.
12. The method of claim 1, wherein selecting the set of factors is based on
psychological
models of behavior of a demographic of the primary user.
13. The method of claim 1, further comprising:
determining a set of media objects associated with the set of 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 explanatory data.
14. The method of claim 1, wherein communicating the explanatory data
includes multi-

27


dimensional models, vibrations, electric shocks, pulses, or scents.
15. 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 attributes of
the primary user, the method comprising:
obtaining attributes of a plurality of users and storing the attributes of the
plurality of
users in a user database;
based on the stored attributes of the primary user and the attributes of the
plurality of
users, identifying, by a server computer, similarities between the primary
user and
one or more users of the plurality of users;
based on the similarities, determining that the one or more users of the
plurality of users
are a set of relevant users that are deemed relevant to the primary user,
wherein
the set of relevant users that are deemed relevant to the primary user
includes
users who belong to the same demographics as the primary user or users who are

located near the primary user;
determining a plurality of service providers for the set of relevant users;
obtaining, at the server computer, a plurality of attributes of [[a]] the
plurality of service
providers from a plurality of data sources;
storing, at the server computer, the plurality of attributes of the plurality
of service
providers in an entity database;
based on the stored attributes of the primary user and the plurality of
attributes of the
plurality of service providers, selecting, by the server computer, one or more

relevant service providers, from the plurality of service providers that are
relevant to the primary user;
based on attributes of the set of relevant users and attributes of the one or
more relevant
service providers, determining, by the server computer, one or more potential
service provider candidate factors for providing a service provider
recommendation to the primary user;
selecting, by the server computer, a set of factors from the one or more
potential service

28


provider candidate factors for recommending service providers to the primary
user;
using, by the server computer, the set of factors to provide the service
provider
recommendation of a particular service provider to the primary user;
based on the set of factors, generating, by the server computer, the
explanatory data, the
explanatory data comprising one or more reasons for the server computer
providing the service provider recommendation of the particular service
provider,
and the one or more reasons comprising an identification of a particular user
selected from the set of relevant users and an evaluation of the particular
service
provider;
communicating, by the server computer, the explanatory data to the primary
user.
16. The server computer of claim 15, the method further comprising:
determining, at the server computer, at least one relevant group of users who
are relevant
to the primary user based on attributes of the at least one relevant group of
users;
associating, by the server computer, the at least one relevant group of users
with the one
or more relevant service providers;
determining, by the server computer, one or more potential candidate factors
based on the
at least one relevant group of users; and
generating, by the server computer, the explanatory data based on the one or
more
potential candidate factors used in the personalized recommendations process.
17. The server computer of claim 16, wherein associating the at least one
relevant group of
users with the one or more relevant service providers includes determining a
relationship
between a relevant user and a relevant entity, a relationship between two
relevant service
providers, or a relationship between two relevant users.
18. The server computer of claim 15, wherein the attributes of the set of
relevant users
includes account information stored in a database of users, wherein the
account information
includes demographic data.

29


19. The server computer of claim 15, wherein the attributes of the set of
relevant users
includes current location information of a user.
20. The server computer of claim 15, wherein the attributes of the
plurality of users include
cuisine preferences or food allergies.
21. The server computer of claim 19, wherein the current location
information is associated
with at least one relevant entity of the one or more relevant service
providers.
22. The server computer of claim 15, 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.
23. The server computer of claim 15, 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.
24. The server computer of claim 22, wherein the user history data includes
at least one of, or
combinations of, query history, browsing history, or purchase history of the
primary user.
25. The server computer of claim 15, wherein selecting the set of factors
is based on table
driven matching, wherein tables are stored in a database.
26. The server computer of claim 15, wherein selecting the set of factors
is based on
psychological models of behavior of a demographic of the primary user.
27. The server computer of claim 15, further comprising:
determining a set of media objects associated with the set of 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 explanatory data.



28. The
server computer of claim 15, wherein communicating the explanatory data
includes
multi-dimensional models, vibrations, electric shocks, pulses, or scents.

31

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02842255 2015-12-16
A RECOMMENDATION ENGINE THAT PROCESSES DATA INCLUDING
USER DATA TO PROVIDE RECOMMENDATIONS AND EXPLANATIONS
FOR THE RECOMMENDATIONS TO A USER
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority from co-pending U.S. Provisional
Patent Application
No. 61/509,999 filed July 20, 2011 entitled "Method and Apparatus for
Explaining
Recommendations".
[0002] The present disclosure may be related to the following commonly
assigned U.S.
Provisional Patent Applications:
U.S. Provisional Patent Application No. 61/509,995 filed July 20, 2011,
entitled
"Method and Apparatus for Category Based Navigation",
U.S. Provisional Patent Application No. 61/510,003 filed July 20, 2011
entitled
"Method and Apparatus for Allowing Users to Augment Searches", and
U.S. Provisional Patent Application No. 61/510,004 filed July 20, 2011
entitled
"Method and Apparatus for Quickly Evaluating Entities".
[0003]
FIELD OF THE INVENTION
[0004] The present invention relates to recommendation systems in general and
in particular to
recommendation system that collect data to sift through and generate
personalized
recommendations and also explain personalized recommendations for users, via
user devices, in
order to present recommendation explanation factors used in providing
informative and intuitive
recommendations.
BACKGROUND OF THE INVENTION
[0005] The Internet has become a useful source of information relating to
goods and services,
but because so many users and companies are connected to the Internet and
providing
1

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
information of their own, it is difficult to find relevant information among
all available data. As
individuals and groups are now able to connect to the Internet and retrieve
information from
websites and via apps, and do so perhaps while in transit towards a geographic
area of interest,
they come to expect the ability to find information about goods and services
being offered.
100061 One source of information may be in the form-of websites hosted by or
for providers.
As used herein, "website" refers to a collection of one or more web pages
displayable by a
browser or other web client, the one or more web pages being hosted on a web
server (i.e., a
computer coupled to the Internet, or other network over which communication
occurs) that
responds to requests for pages hosted thereon. An example might be a
restaurant that generates
information about its hours, pictures of its dining room, contact information,
history, menus and
other offerings, then puts that information into a suitable form (such as HTML
pages,
dynamically generated pages, etc.), stores those pages in electronic storage
accessible by the web
server (hosted by the restaurant or perhaps a company that specializes in web
presence that
provides such services to the restaurant), and then serves those pages as
client devices request
pages. The information might also be presented in another form, such as data
supplied to an
application (i.e., app) on the client device rather than a generic browser on
the client device.
100071 However, while interested users may get information directly from the
restaurant, the
users are still limited to information sourced by that restaurant. A number of
websites have been
set up to collect information from other customers of a vendor of goods or
services and provide
reviews, comments and other details to other customers or potential customers.
For example,
there might be a website that focuses on hotels, another on restaurants, and
another on home
repair, or a general one. However, these websites may have too much
information to be useful to
a user searching for relevant recommendations.
[0008] Additionally, with the increase of users participating in social media
websites, users are
also interested in getting information about their friends, and the opinions
of their friends. For
example, a user may find out that a number of their friends on a social media
website highly
recommend a restaurant, which may be more persuasive to that user than the
recommendations
of strangers or high rankings on general rating websites. Thus, social media
websites that
provide information to a user regarding the user's friends may also be another
source that the
user refers to in gathering information and searching for relevant
recommendations. However,
social media websites allow users to provide a wide variety of information
that may or may not
2

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
be related to what a user is searching for (e.g., status updates unrelated to
a vendor of goods or
services), and it is also difficult to cross-reference the recommendations of
friends through social
media websites with general websites providing reviews, or websites for
particular businesses, in
a user's search for relevant recommendations.
[0009] An improved recommendations system is desirable.
BRIEF SUMMARY OF THE INVENTION
[0010] Embodiments of the invention relate to an improved computer-implemented
method for
generating personalized recommendations and providing explanation data related
to the
personalized recommendations. Existing methods for generating personalized
recommendations
to a target user may not provide explaining factors and processes used to
determine the
personalized recommendations. Thus, if the target user is dissatisfied with
the personalized
recommendations, it is difficult for the target user to feed back to a
personalized
recommendations system how to improve the generation of personalized
recommendations for
the target user. Further, providing the target user with explanation data also
informs the target
user of a source from which the personalized recommendation was determined,
which may
influence the target user's decision to select the personalized recommendation
or not. For
example, a target user may receive a personalized recommendation to go to
Restaurant C and
also receive explanation data that Restaurant C was recommended to the target
user because a
"friend" of the target user, User C, goes there regularly. However, if User C
is an ex-boyfriend
of the target user, the target user may not want to go to Restaurant C for
fear of running into User
C, even though it may be likely that the target user would have enjoyed the
food at Restaurant C.
[0011] Thus, providing explanation data of personalized recommendations to the
target user is
advantageous and allows users to understand the logic and processes behind
generating their
personalized recommendations. Additionally, personalized recommendation
systems are
improved in this manner by becoming more intelligent about generating
personalized
recommendations to its users.
[0012] Embodiments of the invention relate to a method for providing
explanation 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, wherein the one or more users
relevant to the primary
3

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
user are similar to the primary user. The server computer then determines 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. Then,
the server
computer also obtains data related to one or more entities. The method further
comprises
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, and then associating the at
least one relevant group of
users with the one or more relevant entities. The server computer then
generates one or more
potential candidate factors based on at least the relevant group of users or
the one or more
relevant entities.
[0013] The method may further comprise selecting, by the server computer, a
set of factors
from the one or more potential candidate factors and displaying the set of
selected factors to the
primary user, wherein the potential candidate factors are used to determine
recommendations or
explanations to the primary user.
[0014] Another embodiment of the invention relates to 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 method for
generating
personalized recommendations 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, wherein the one or more users relevant to
the primary user are
similar to the primary user. The server computer then determines 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. Then, the
server computer also
obtains data related to one or more entities. The method further comprises
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, and then associating the at least one relevant group of
users with the one or
more relevant entities. The server computer then generates one or more
potential candidate
factors based on at least the relevant group of users or the one or more
relevant entities.
[0015] The method performed by the server computer may further comprise
selecting, by the
server computer, a set of factors from the one or more potential candidate
factors and displaying
the set of selected factors to the primary user, wherein the potential
candidate factors are used to
determine recommendations to the primary user.
4

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] A further understanding of the nature and advantages of the present
invention may be
realized by reference to the following drawings. In the appended figures,
similar components or
features may have the same reference label, with distinct instances of the
component or feature
distinguished by parenthetical indices. If only the first reference label is
used in the
specification, the description is applicable to any one of the similar
components having the same
first reference label irrespective of the second reference label.
[0017] FIG. 1 is a block diagram of a personalized recommendation system
according to
aspects of the present invention.
[0018] FIG. 2 is a block diagram of an exemplary flow that may be performed by
the
personalized recommendation system to explain recommendations according to
aspects of the
present invention.
[0019] FIG. 3 is a block diagram of a modularized personalized recommendations
system
according to aspects of the present invention.
[0020] FIG. 4 is an illustration of a user display of selected factors to
explain recommendations
according to aspects of the present invention.
10021] FIG. 5 is an illustration of a user display of selected factors and
user input to explain
and provide recommendations according to aspects of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
.. [0022] An improved recommendation system is described herein. In order to
provide a context
for describing embodiments of the present invention, embodiments of the
invention will be
described herein with reference to a user device that receives user
recommendations. Those
skilled in the art will recognize, however, that the present invention is not
limited to such
embodiments.
[0023] It should be understood that, given the complexity of the operations
performed, the
invention is implemented using computing elements and may also include
communication
elements that convey data between disparate locations.
[0024] In various embodiments, systems which recommend entities may use a
variety of
algorithmic approaches to produce predicted evaluations or recommendations,
hereafter referred
5

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
to as recommendations. Prior to discussing embodiments of the invention, some
terms used
herein are described below:
100251 "Entities" according to embodiments of the invention may be anything
that can be
represented or referred to in a computer system. In some embodiments, entities
are providers of
goods and services, such as restaurants or nightclubs. In other embodiments,
entities are
particular goods or services or events, such as a particular dish at a
restaurant or a one-time or
repeating event such as a concert. In others entities are documents or
sections of documents, such
as text pages or musical compositions, to be presented to a user. In other
embodiments, an entity
may be a relationship or potential relationship between two people. For
example, a dating
recommendation system may recommend in favor of or against a potential
relationship between
one user and another. In another example, entities may be individuals.
10026] "Recommendations" according to embodiments of the invention may be
along a single
or multiple dimensions, and/or over a discrete or continuous domain.
Recommendations may be
presented in a numerical, textual, pictorial, auditory, video, or tactile
fashion. Recommendations
may be include any of these characteristics, either alone or in combination.
For example, a user
may rate a restaurant on a scale of I, 2, 3,4, or 5 stars, with 1 star being
the lowest rating, and 5
stars being the highest rating. In another realization, a user may instead
rate a restaurant on a 1-5
star scale for taste rating, 1-4 "$" scale for price rating, and add an
optional one word
description.
[0027] In some implementations, recommendations might be called "evaluations"
or used in a
similar manner. For example, an evaluation might be done by a team of doctors
choosing a
picture that best represents the mood or situation of a clinical patient, in
effect, "recommending"
which is the "best" image to used.
100281 Another example of an evaluation or recommendation may include citizen
journalists
recording a five second video to make a review or recommendation, or an audio
summary of a
protest or event. In another example, recommendations may use three
dimensional sensing
technologies to have dancers record their expressions in response to listening
to a composition.
Another example may include a user operating an application on a mobile
device, and dragging
pictorial representations of dishes into different groups or piles categorized
as "tasty", "yucky",
and "only sometimes". In another example, a recommendation may be inferred
from aspects of a
6

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
user's behavior such as whether the user visits a particular web page, looks
in one direction or
another, or whether the user walks or turns in one way or another.
[0029] An "affinity graph" according to embodiments of the invention is a
model of the
affinity between users or entities and users or entities, either in general or
with respect to a given
attribute or cluster of attributes of the users or entities, as a graph.
Affinity graphs may represent
relationships between users and entities, users and other users, or entities
and other entities, and
may be used to determine recommendations. An example of an affinity graph is a
social graph
wherein nodes represent users of a social interaction system and edges between
nodes represent
"friend" links. It should be understood, however, that some embodiments may
not represent
users explicitly and might not require that a person interacting with the
application be identified
or authenticated.
[0030] Attributes provide additional information about a node in the graph.
For example, an
attribute may be the zoom level of a camcorder type or the primary cuisine
type of a restaurant.
Entities may be represented by nodes, with individual users being one type of
entity. Edges
represent relationships between nodes. Directional edges can model
unidirectional relationships,
such as if person A follows person B on Twitter. A symmetric relationship,
like friends on
Facebook, may be represented as two directional edges, or a unidirectional
edge.
[0031] "Evaluation data" for a user may be, according to embodiments of the
invention, inputs
into a recommendation service provided by a personalized recommendation system
described
herein. For example, evaluation data may include ratings on a discrete star
scale for the quality
of a restaurant for a restaurant discovery website/product or answers to
personality questions for
a match making website/service. Evaluation data may be associated with one
entity or a set of
entities. For example, a user may rate Jane's Sushi 90/100 and may rate sushi
restaurants in
general 82/100.
[0032] A "recommendations provider" is a service that generates
recommendations and
predictions of evaluation data of entities for users. The recommendations
provider may be on the
same device or different devices from the device displaying the
recommendations. The
recommendations provider may be operated by the same system collecting the
evaluation data, or
may be operated on a separate system as the system collecting the evaluation
data.
7

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
[0033] An "explanations provider" is a service that generates explanations of
the
recommendations (i.e., recommendation explanations) provided by the
recommendations
provider. The explanations provider may be on the same device or different
devices from the
device displaying explanations. The explanations provider and the
recommendations provider
may be operated on the same or on different systems from each other. The
explanations provider
may be operated on the same system or a separate system as the system
collecting the evaluation
data.
[0034] As used herein, an "unknown user" is a user of the recommendations
provider or other
service known to the recommendations provider for which the service has access
to evaluation
data but is not connected to a primary user or group of users viewing a
recommendation by an
appropriate link or links in the affinity graph. For example, if the affinity
graph is a family tree,
then Jane and her mother, Joan, would be connected, but Jane's best friend
Becky would be an
unknown user in evaluating recommendations for Jane and Joan as primary users.
Depending on
the system or the primary user, a user may be known or unknown in different
contexts. For
example, in a system with an affinity graph linking users with their favorite
celebrities and an
affinity graph linking users and their friends, the celebrity linkage might be
appropriate for
movie or fashion recommendation explanations for a primary user, but not
appropriate for dentist
recommendations. The celebrity's dentist may not be relevant to the primary
user, but the dentist
of the primary user's coworker may be more relevant and useful to the primary
user.
[0035] As used herein, a "known user" is a user of the recommendations
provider or another
service known to the recommendations provider for which the recommender knows
evaluation
data and which is connected to the user (group of users) viewing a
recommendation by an
appropriate link or links in the affinity graph. For example Joan is a known
user to Jane from the
example above.
[0036] An "explained entity" is a specific entity being recommended to a user
or group of
users for which recommendations and recommendation explanations are being
generated. The
explained entity may or may not have associated evaluation data. A "known
entity" is an entity
with sufficient associated evaluation data to show a user how the known entity
has been
evaluated. For example, in a system for recommending theater performances, a
user may have
given the category "Musicals" two thumbs up to indicate approval, thereby
making the category
a known entity (because the thumbs up are evaluation data that can be shown to
a user). As a
8

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
further example, when viewing a page about "Joseph and the Amazing Technicolor
Dreamcoat,"
where the user has not given a thumbs up or thumbs down to that musical, that
entity would not
be a known entity because the system would not have associated evaluation data
(the thumbs up
or down) that could be shown to the user. Nevertheless, the user's previous
thumbs down ratings
.. for two other Andrew Lloyd Webber plays could indicate that "Joseph and the
Amazing
Technicolor Dreamcoat" is an explained entity (because the previous ratings
could be used to
create a recommendation for "Joseph and the Amazing Technicolor Dreamcoat").
[00371 An "evaluation description" is the language or messaging used to
describe evaluation
data for an entity. For example, in a system with 1 to 5 star ratings, 1 star
might be "I hated it," 2
stars might be "1 disliked it," 3 stars might be "I'm okay with it," 4 stars
might be "I liked it,"
and 5 stars might be "I loved it." The descriptions need not be a direct
mapping from an
evaluation to prose and may be dependent on the context in which the
evaluation description is
viewed. From example, in a system with 1 to 5 star ratings where various
entities are being
compared, those with 4 and 5 stars may be described and categorized as
"enjoyed" and I and 2
stars as "Did not care for." Evaluation descriptions may include textual
information as well as
richer media sources in the same or similar manner as recommendation
explanations.
[00381 A "predicted evaluation description" is the language or messaging used
to make
predictions about what known or unknown users would evaluate an explained
entity. For
example, when a recommendations provider for kitchen tiles has an affinity
graph that models
followers and a primary user following Joe, then when the primary user is
viewing an entity
describing marble tile that the recommendations provider believes Joe would
rate 89/90 on
beauty and 75/80 on long term value, a predicted evaluation description might
be, "Joe would
probably love the marble tile." Predicted evaluation descriptions may include
textual
information as well as richer media sources in the same or similar manner as
recommendation
explanations. For example, with "Joe would probably love the marble tile," a
picture of Joe may
appear above his name and both the picture and his name may be hyperlinked to
a page
describing his preferences.
Recommendations
[0039] In FIG. I, an exemplary personalized recommendations system according
to an
embodiment of the invention is shown. The personalized recommendations system
160 may be
coupled to a plurality of users, such as a primary user 100, secondary user
102, or any number of
9

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
users 104. There may be relationships between specific users, for example, the
primary user 100
and secondary user 102 may be friends, family members, or co-workers. The
plurality of users
may be coupled to the personalized recommendations system 160 through
associated user
devices 110, 112, and 114. User devices may include mobile phones (e.g., a
BlackberryTM
phone, an iPhoneTM device, an AndroidTM device), tablets (e.g., an iPadTM
tablet), or other
electronic devices.
[0040] The personalized recommendations system 160 may obtain inputs from any
number of
users 100, 102, 104, registered with the personalized recommendations system
160. The users
100, 102, and 104 may be interconnected and have relationships with one
another. The inputs
may be transmitted through the user devices 110, 112, 114 via an application.
The user devices
110, 112, 114 may be connected to the personalized recommendations system 160
through the
internet, a wireless network, a telecommunications network, or any suitable
communications
network. For example, the primary user 100 may use the primary user device 110
to download
and install an application issued by the personalized recommendations system
160. Through the
application, the primary user 100 may edit personal ratings for entities, such
as venues and
restaurants, and other personal preferences, such as cuisine, type of food,
price range, location,
distance from current location, etc. The primary user 100 may also provide
feedback items or
data through the application to respond to recommendations, to add or remove
entities, and/or
rate an experience at an entity. In other embodiments of the invention,
entities may include
merchants and service providers.
[0041] Additional inputs to the personalized recommendations system 160 may
come from
external data sources, for example, a social network computer system such as
the FacebookTM
computer system 140(A), a public messaging system such as the TwitterTm
messaging system
140(B), and/or any number of other data sources 140(N) via the user accounts
150(A), 150(B),
152(A), 152(B) with the data sources and/or user devices 110, 112. The
external data sources
may also provide raw location data of the users, for example, through a "check-
in" through
system 140(A), system 140(B), or other social networking provider system
capable of providing
raw location data. The other data sources 140(N) may themselves have
associated user accounts,
which may map directly or indirectly to user accounts of other systems.
[0042] The personalized recommendations system or provider may use affinity
graphs as
models of the affinity between users or entities and users or entities, either
in general or with

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
respect to a given attribute or cluster of attributes of the users or
entities, as a graph. Affinity
graphs may represent relationships between users and entities, users and other
users, or entities
and other entities, and may be used to determine recommendations. Attributes
provide
additional information about a node in the graph. For example, an attribute
may be the zoom
level of a camcorder type or the primary cuisine type of a restaurant.
Entities may be represented
by nodes, with individual users being one type of entity. Edges represent
relationships between
nodes. Directional edges can model unidirectional relationships, such as if
person A follows
person B on Twitter. A symmetric relationship, like friends on Facebook, may
be represented as
two directional edges, or a unidirectional edge.
[0043] These relationships may be about different associations other than
social affiliations,
such as an expertise graph where an edge from user A to user B indicates that
user A believes
user B to be an expert. There may also be weights on these edges, which for
example, might
represent the confidence in another user's expertise, or represent how
familiar two users are with
each other. Affinity graph nodes may be further augmented with additional
information such as
short form textual messages, pictures, check-ins, other explicit or implicit
annotations that are
used to denote a user has visited or prefers a location, or other explicitly
tagged content. The
affinity graph may be constructed by users choosing to link themselves to
other nodes, or by
aggregation and analysis methods which infer the links, weights, and/or nodes.
In embodiments,
a link may be inferred from who sends messages to whom in a network, or links
may be taken as
given in the form of user-determined friendship relationships and weights on
the links inferred
from messages, or information may be inferred by who or what a user looks at.
[0044] The recommendations provider operated on the personalized
recommendations system
may also use evaluation data, such as inputs into the recommendation service
provided by the
personalized recommendation system described herein. For example, evaluation
data may
include ratings on a discrete star scale for the quality of a restaurant for a
restaurant discovery
website/product or answers to personality questions for a match making
website/service.
Evaluation data may be associated with one entity or a set of entities. For
example, a user may
rate Jane's Sushi 90/100 and may rate sushi restaurants in general 82/100.
10045] Using affinity graphs, evaluation data, and/or other algorithms and
data, the
recommendations provider operated by personalized recommendations system may
generate
recommendations along a single or multiple dimensions, and/or over a discrete
or continuous
11

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
domain. Recommendations may be numerical, textual, pictorial, auditory, or
tactile in fashion.
Recommendations may be include any of these characteristics, either alone or
in combination.
For example, a user may rate a restaurant on a scale of 1, 2, 3, 4, or 5
stars, with 1 star being the
lowest rating, and 5 stars being the highest rating. In another realization, a
user may instead rate
a restaurant on a 1-5 star scale for taste rating, 1-4 "$" scale for price
rating, and add an optional
one word description. Another example of a recommendation (e.g., evaluation)
involves having
a team of doctors choosing a picture that best represents the mood of a
clinical patient. Other
examples may include recording a five second video to make a review or
recommendation, an
audio summary of a protest or event, where a user looks or how longs the user
looks at
.. something, or in a mobile application, dragging pictorial representations
of entities into rating
categories.
100461 In embodiments, a recommendations provider may construct
recommendations using
statistical techniques that are known in the literatures of statistics,
artificial intelligence, and
machine learning. An example of such a technique is using cosine similarity in
an application
where the ratings are on a 1-5 star rating scale to determine how similar one
entity's set of
ratings is to another entity's set of ratings, and to provide recommendations
of the first entity
based on the similarity. Another example of such a technique is using latent
Dirichlet allocation
in an application where the ratings are combinations of one or more words like
"yucky," "tasty,"
etc., to model the ratings as words associated with topics that an entity is
associated with in a
topic model. Another example of such a technique is using natural language
processing to
extract sentiment information from free-form textual statements related to an
entity and using a
collaborative filtering technique with the information thus extracted.
100471 Example recommendations may be, but are not limited to being, textual
(e.g., a short 20
word comment), continuous (e.g., a ratings slider), discrete as in star
ratings, pictorial (e.g., a
representative picture, drawing, or photograph which most closely resembles
the entity), auditory
(e.g., a volume measurement or review), gestural (e.g., a swipe up or down),
visual (e.g., an
interpretive dance for the entity), or some combination thereof.
Recommendations may involve
adding edges or weights, either individually or some combination to one or
more affinity graphs.
100481 Some recommendations may not be intuitive to the primary user viewing
the
.. recommendation. The personalized recommendations system according to
embodiments of the
invention presents one or many explanations for why an entity has been
included in a
12

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
recommendation to a primary user or set of users. An explanation of the
recommendation may
or may not reflect computations performed to generate the recommendation or
factors used to
perform the computations. Recommendation explanations may be considered as a
set of
plausible reasons that a given entity or entities would be a good choice for a
specific user or
group of users.
[0049] For example, if a recommendation is given to a user that is derived
from a statistical
technique that incorporates large quantities of information, and that uses
features of the
information that are learned by machine and are not human-interpretable, no
aspect of the
decision to make the recommendation may be clearly explainable to the user.
Instead, the
system might construct an explanation by, for example, calculating a
similarity score between an
entity being recommended and another entity the user has already rated, and
reporting on the
similarity.
Recommendation Explanations
[0050] A conceptual architecture of an exemplary system according to an
embodiment of an
invention is diagrammed in FIG. 2. There may be a primary user or primary
group of users 202
in which a recommendation is to be provided to. The personalized
recommendations system
may have a user account database storing data (e.g., evaluation data) related
to all users,
including the primary user. The recommendation for the primary user includes
recommendations to entities within a group of explained entities 204. For
example, the
personalized recommendation system may have an entity database of stored data
for explained
entities 204, such as restaurants, hotels, and other vendors providing goods
and/or services to
users 202.
[0051] Explained entities 204 may be entities that are recommended to a
primary user or group
of users 202 for which recommendations and recommendation explanations are
being generated.
The explained entity may or may not have associated evaluation data, in other
words, it may not
be a known entity, which is an entity with sufficient associated evaluation
data to show a user
how the known entity has been evaluated.
[0052] In step Sl, the personalized recommendations system may perform similar
user and
entity selection. Data related to primary user or primary user group 202 and
data related to
explained entities 204 may be collected, and the personalized recommendations
system may use
this data to determine similar users 206 and similar entities 208. Similar
users and similar
1:3

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
entities are identified as relevant groups of users and entities,
respectively, relative to the primary
user or primary group of users 202 and the entities to be explained 204. In
some embodiments,
only relevant entities are determined and used to generate personalized
recommendations and/or
explanations, and data related to similar or relevant users is not used.
[0053] Next, in step S2, the primary user 202, the entities to be explained
204, the similar users
206, and similar entities 208 are used alone or in combination in a process to
generate candidate
factors for recommendation explanations. From these potential explanation
factors the system
may determine and select, in step S3, a subset to show to the user. Finally,
in step S4, the system
crafts a display of the explanation factors or recommendation explanations to
present to the
primary user.
[0054] Any number or part of the steps may be elided or combined. Such
combinations may
be necessary to improve the speed of computation, ease the maintainability of
an
implementation, or allow customization by a primary user. For example, an
implementation for
a horse recommendation in Montana, the personalized recommendations
explanation system may
decide to generate and process the English language HTML explanations
simultaneously while
generating explanation factors, so that there is no need for display
generation after factor
selection is done. Thus, step S4 may occur simultaneously with step S2 instead
of
chronologically after step S3. This may be done to improve performance (e.g.,
performing steps
in parallel to improve speed) or to simplify the implementation, among other
possible reasons.
[0055] As depicted in FIG. 2, in step Sl, locating similar users 206 and
similar entities 208
may produce many subsets of all the users and entities known to the
personalized
recommendations explanation system. For example, it may produce "user and
user," "user and
entity," and "entity and entity" pairings with optional subsets or supersets
of any combination,
such as pairing a group of users with a set of groups of users. Locating
similar users and entities
may take into account attributes of the entities or users previously stored in
the entity database
and user account database, respectively. Attributes may also be data collected
in real-time at the
time of a recommendation request of the primary user, such as the time of day,
and location
information of the primary user, which may be used either alone or in
combination with each
other or with previously stored data. The user database and entity database
could be NoSQL
databases, an SQL database, another information retrieval system such as a
computer filesystem,
or an in-memory data store. In other embodiments, the system could have a
temporary piece of
14

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
data obtained from a third-party on demand, such that data does not need to be
statically or
locally stored. A database could consist of multiple storage facilities, such
as a cache backed by
a database or a normalized authoritative database and denormalized in-memory
stores.
[0056] Exemplary attributes may include demographic information, user gender,
user height,
user weight, user income, entity revenues, the cost of items, cuisine type,
previous evaluations
done by the user, check-ins, other explicit or implicit annotations that are
used to denote whether
a user has visited or prefers a location or entity, or relations in an
affinity graph(s). Demographic
data may include gender, height, weight, income, or pre-determined attributes.
Additional user
attributes may also include explicitly stated preferences. The personalized
recommendations
explanation system recommending restaurants may allow a user to declare they
are one or more
of pescetarian, vegetarian, vegan, kosher, lactose intolerant, and wheat
gluten intolerant. In an
example of a restaurant recommendation system, two restaurants might be
similar if they both
serve the same or related cuisines, e.g., the system may consider cupcakes and
desserts being
similar cuisines, while Japanese and Chinese are not. Extending the example, a
restaurant
recommendation system may also deem two restaurants similar if their
respective head chefs
both apprenticed at the same restaurant, or if both restaurants are in a zip
code with the same
median family income and have been open for more than 3 years. All these forms
of information
may be learned or explicit. For example, user attributes such as gender might
be inferred from
user behavior;,whether a restaurant is Japanese may be inferred or may be
received from an
external database, and whether Japanese or Chinese should be considered
similar or dissimilar
may be learned or preprogrammed.
[0057] In steps S2 and S3, the generation and selection of recommendation
explanation factors
may be computed using a variety of metrics incorporating different spatial,
temporal, social,
demographic, and user interaction based signals, either alone or in
combination. Other examples
of data user in selecting recommendation explanation factors include, but are
not limited to,
explicit user suggestions, demographic data, location data at the time a user
or group of users is
seeing an explanation, the time of day a primary user or group of users is
requesting a
recommendation and viewing recommendation explanation, explicit user
suggestion of an
explanation or part of an explanation, voting or other group selection of
explicit user suggestions
or system generated suggestions of an explanation or part of an explanation,
table driven
matching. Additionally, historical data, such as query history including click
through and other
interest actions to a search or discovery service, browsing history, purchase
history, the location

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
of the primary user or group of users over time, and information in third
party services from
previous visits or evaluations, may be used in generating and selecting
recommendation
explanation factors. The selection of factors may also involve psychological
models of behavior
which may or may not be culturally dependent. For example, it could be the
case that American
users respond to explanations better when referred to as "users," while
British prefer to be
referred to as "patrons." The selection of factors may also involve functions
to be maximized
such as a prediction of profitability, user retention, or conversion rate (of
a number viewers or
visitors into the number of users who take some action, such as making a
purchase). A function
to be maximized may be predicted for this purpose using statistical techniques
(for example,
regression analysis).
100581 In generation and selection of recommendation explanation factors for
recommendations of explained entities 204 for primary user or primary user
groups 202, the
system may access evaluation descriptions of the explained entities 204 and/or
similar entities
208. Evaluation descriptions describe evaluation data for an entity, relating
to a user's
experience or relationship with that entity. For example, in a system with 1
to 5 star ratings for a
restaurant, I star indicate that the user "hates" it, 2 stars might indicate
that the user "dislikes" it,
3 stars might indicate that the user is "okay" or indifferent to it, 4 stars
might indicate that the
user "likes" it, and 5 stars might indicate that the user "loves" it. The
descriptions may not be a
direct mapping from an evaluation to prose and may be dependent on the context
in which the
evaluation description is viewed. For example, in a system with I to 5 star
ratings where various
entities are being compared, those with 4 or 5 stars may be grouped together
and categorized as
"Enjoyed," and l or 2 stars as "Did not care for." Evaluation descriptions may
include textual
information as well as richer media sources in the same or similar manner as
recommendation
explanations.
[0059] Predicted evaluation descriptions may also be used to make predictions
about what
known or unknown users would evaluate an explained entity. For example, a
recommendations
provider for kitchen tiles may have an affinity graph modeling followers and a
primary user who
is following Joe. When the primary user is viewing an entity describing marble
tile which the
recommendations provider believes Joe would rate 89/90 on beauty and 75/80 on
long term
value, a predicted evaluation description might be, "Joe would probably love
the marble tile."
Predicted evaluation descriptions may include textual information as well as
richer media
sources in the same or similar manner as recommendation explanations. For
example, with "Joe
16

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
would probably love the marble tile," a picture of Joe may appear above his
name and both the
picture and his name may be hyperlinked to a page describing his preferences.
[0060] As another example, consider a system in which bars are evaluated on a
1 to 5 star
rating scale, which has an affinity graph which models friendships, in which
Abby is viewing a
bar Formosa. When the recommendations provider predicts a rating for Abby's
friend, Sarah,
the predicted evaluation description might be: "would probably hate" for a 1
star prediction,
"would dislike" for a 2 star prediction, "would be okay with" for a 3 star
prediction, "would like"
for a 4 star prediction and "would love" for a 5 star prediction. There are
many other ways in
which such a description could be phrased; for instance, a 1 star prediction
could give a
description of "would probably rate 1 star." Note that Abby's and Sarah's
predicted ratings may
be the same or different.
[0061] FIG. 3 shows a block diagram of an exemplary modular personalized
recommendations
system 160 according to an embodiment of the invention, where the personalized

recommendations system 160 is configured to provide explanations of the
personalized
.. recommendations. In other embodiments of the invention, an explanations
provider may be
separate from the recommendations provider, and may be operated by different
systems. In the
example shown in FIG. 3, the personalized recommendations system 160 operates
as the
recommendations provider and explanation (i.e., recommendations explanation)
provider.
[0062] The personalized recommendations system 160 may be a server computer
700, which
may be a single computer, a cluster of computers, a server, or a super
computer. Processes and
methods implemented by or at the server computer could also be implemented by
or at a client,
in various embodiments. The server computer 700 may comprise a processor 740,
and a non-
transitory computer readable medium 750, on which code is stored. There may be
several
databases to store data, for example, an entity database 730(a), a factor
database 730(b), a user
database 730(c), and a media object database 730(d). Stored in the entity
database 730(a) may
be evaluation data relating to entities, including entity meta-data (e.g.,
location, hours of
operation, specialty, rating). Entity meta-data may include any sub-category
of data related to
the entity. The factor database 730(b) may store previously determined and
selected factors from
a plurality of users. The user database 730(c) may store user data obtained
from a plurality of
users, such as real-time data from social networking sites (e.g., tweets,
status updates), and stored
data related to a plurality of users, such as user preferences and settings
(e.g., gender, dietary
17

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
restrictions). The real-time data may be explicit or implicit, and may be
inferred or its
significance or relevance may be inferred, and may include text, images,
video, audio, or other
media. The user data may be directly obtained from the user or may be obtained
from external
data sources, such as a social networking site associated with the user. The
personalized
recommendations system 160 may also include a media object database 730(d),
storing media
objects, such as high resolution photos. The media objects may be associated
with entities,
recommendations, and/or the target user, and may be used in the display of
recommendations
and/or recommendation explanations. The association between media objects and
entities,
recommendations, or a user may be inferred or may be preprogrammed or derived
from a
preexisting database.
[0063] The code stored on the non-transitory computer readable medium 750 may
be in
modules, and is executable by the processor 740 to perform functions, which
are implemented as
processing steps described above by the personalized recommendations system
providing
recommendation explanations. The non-transitory computer-readable medium 750
may
comprise software modules, such as a similar user selection module 701, a
similar entity
selection module 702, a factor generation module 703, a factor selection
module 704, a factor
display module 705, and an explanation module 706. The functions of these
modules are
described in the process flows described above and in FIG. 2.
[0064] The personalized recommendations system 160, to communicate with
external data
sources, social networking sites, and users, may include a network interface
720. The network
interface 720 includes hardware and software that enables the personalized
recommendations
system 160 to transmit and receive data over the Internet or any other
communications network
(e.g., telecommunications network, cable, radio).
Displaying Recommendations and Recommendation Explanations
[0065] Once recommendations have been determined and their explaining factors
have been
selected, the recommendations and recommendation explanations may be
displayed. The display
of recommendation explanations performed in step S4 may be in the form of
textual information
on a screen of a mobile device. However, the means by which information is
communicated is
not limited to textual information or to a device screen, but may include
instead or in addition ,
richer media sources or forms of communication, such as two or three
dimensional models,
pictures, a heads-up display, video, hyperlinked text, web pages, styled text,
recorded sounds,
18

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
computer generated sounds, vibrations of a tactile device, pressure exerted on
the user by haptic
technology, electric shocks or pulses, the control of remote devices, and the
generation of scents.
As an example of a restaurant recommendation system, the system may explain a
recommendation for an Italian restaurant by indicating that five of a primary
user's friends go to
.. the restaurant and then providing pictures of the five friends, where each
picture is linked to
more information from each friend, such as possibly including the friend's
evaluation (e.g.,
review) of the restaurant. The display of recommendation explanations may be
visible or not
depending on external context, for example, not showing recommendations about
user's cuisine
preferences to other users until that primary user has rated at least ten
places on a 1-5 scale.
.. [0066] Similar to the generation and selection of recommendation
explanation factors, the
explanation of display generation may be computed using a variety of metrics
incorporating
different spatial, temporal, social, demographic, and user interaction based
signals, either alone
or in combination. Other examples of data used in explaining display
generation include, but are
not limited to, explicit user suggestions, demographic data, location data at
the time a user or
group of users is seeing an explanation, the time of day a primary user or
group of users is
requesting a recommendation and viewing recommendation explanation, explicit
user suggestion
of an explanation or part of an explanation, voting or other group selection
of explicit user
suggestions or system generated suggestions of an explanation or part of an
explanation, table
driven matching. Additionally, historical data, such as query history
(including click through
and other interest actions to a search or discovery service), browsing
history, purchase history,
the location of the primary user or group of users overtime, and information
in third party
services from previous visits or evaluations, may be used in generating and
selecting
recommendation explanation factors. The selection of factors may also involve
psychological
models of behavior which may or may not be culturally dependent. For example,
it could be the
.. case that American users respond to explanations better when referred to as
"users," while
British prefer to be referred to as "patrons."
[0067] In explaining a predicted evaluation, the personalized recommendations
system may
count or aggregate a number of users with a similar actual or predicted
evaluation. When
generating explanations, incorporating this number the number may be shown
directly to the
user(s) or a description or summary may be shown instead. The language or
messaging used is
known as a numeric descriptor and may include textual information as well as
richer media
19

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
sources in the same or similar manner as discussed earlier in regards to
recommendation
explanations.
[0068] FIG. 4 shows an illustration of a user display 400 in which a
recommendation system
for restaurants is displayed explained entities. The predicted rating 402 is
3.5 stars, and shows a
percentage 404 of 84%, indicating to the primary user, "You'll love it." The
text in 406
describes the explained entity, Kaygetsu (a sushi restaurant), and also
indicates that there exists
sufficient evaluation data for Kirala (a different sushi restaurant), and
there are over 10 people
who like Kirala and Kaygetsu. Therefore, the explanation may be: "Many people
who like
Kirala also like Kaygetsu," where hovering over "many" brings up a slideshow
of photographs
408 of a subset of the people's faces who like both restaurants where the
photos are selected
according to a model of the user(s)'s affinity for facial features. The slide
of photographs of
relevant users to the primary user or textual description may indicate users
who have similar
tastes to the primary user, thus predicting and suggesting that the primary
user may like the same
restaurants as the relevant user (e.g., Gordo Taqueria, The Counter, Bouchon),
or dislike others
(e.g., McDonald's).
[0069] In an embodiment of the invention shown in FIG. 4, one packaging of
explanation
factors may incorporate a numeric descriptor of unknown users, an evaluation
description for a
known entity A, a known entity A, an evaluation description for an unknown
entity B, and an
unknown entity B. For example, "A few people who like Kirala also like
Kaygetsu" 406 or
"People who love Bi Rite Creamery also love Mitchell's Ice Cream".
[0070] In another embodiment of the invention shown in FIG. 4, another
packaging of
explanation factors may incorporate an objective statistic and a relation on
the objective statistic
(possibly involving one or more affinity graphs). For example, "Several people
who have
similar tastes to you love Bouchon" 406, "People who have similar tastes to
you hate Plutos",
and "Many people with similar taste preferences to you are okay with II
Fornaio" may all be
such explanation factors. Examples of objective statistics may include
counting, or other forms
of aggregation and cosine similarity in a vector space, either alone or in
combination.
[0071] Explicit or implicit annotations, such as a check-in or status update
on a social media
website, may indicate that a user has visited or prefers a location or entity.
These explicit or
implicit annotations may be used by the system to determine and specify
narrowing relationships
between users and entities. A check-in on Facebook is an example of such an
annotation, and

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
may be used to determine a number of a primary user's relevant users (e.g.,
Facebook friends,
Twitter follows) that have gone there in the past and/or the frequency at
which the primary user's
relevant users visit the entity. For example, "A few people you follow came
here last month"
410, "Abby (one of your followers) who also likes Plutos checked in here",
"Michael Preysman
(a person you follow) checked in at Baretta and has also checked in here" 412,
"Many people
who have checked in at Delfma have checked in here" 412, "You checked in at
Café Borrone six
months ago" 412, "You checked in at Plutos six times in the last two weeks",
and "Paul came
here recently and loved it" 414 are all example explanations generated from
such a narrowing.
[0072] Narrowing relationships may involve location data that may be obtained
implicitly
through a user's mobile device or other means (e.g., GPS, location services).
For example, "Koi
is the best match for your tastes in San Francisco", "Denny's is the best
match for your tastes in
Sunnyvale that is open now" 416, "The Counter is the best Burger Joint for you
in Palo Alto",
and "Burger King is the best Burger Joint for you in Cupertino open now" all
explain a
restaurant choice in terms of location with optional extra descriptions based
on preferences or
restaurant attributes like hours of operation cross-referenced with the
current time. Location data
may also be used to compute statistics for geographic areas which can be
explanation factors.
For example, "Berkeley is known for sushi, try Kirala" 416 and "New Orleans is
known for Po
Boys, try them at Mahony's". Location may also include facts of general
interest or interest to
the user, for example: "Cafe Du Monde is the home of the Beignet, try one!"
[0073] While the preceding examples and FIG. 4 are related to restaurants, the
preceding
explanation factors may also be extended to narrowing relationships which may
involve one or
more affinity graphs, and in other areas. For example, in a song
recommendation system, "Many
people you follow hate Madonna", "Abby (one of your followers) who has similar
music
preferences to you loves Pink", "Sting would love Meatloaf', and "Eminem who
has similar
music preferences to you would like Mozart" all provide more specific
information than that
computed by an objective statistic alone. One class of narrowing relations
involves selecting a
subset of users who have each rated a subset of entities and showing them as
explanation factors.
For example, in a restaurant recommendation system, there may be 40 ratings
from 40 users
about a given dish, with 6 users rating it 5 stars, and 34 rating it 1 star.
If the primary user whose
recommendations are being explained to are more similar to the 6 users than
the other 34,
according to an objective statistic, like cosine similarity, the
recommendations explanation may
call attention to the 6 and elide the other 34. In other words, the evaluation
data related to users
21

CA 02842255 2014-01-16
WO 2013/013091
PCT/US2012/047476
that are more similar to the primary user may be weighted more heavily than
evaluation data
from users that are not as similar to the primary user.
[0074] Recommendation explanations may be displayed in a variety of contexts
which may or
may not include the recommendation being explained. For example, FIG. 5 shows
an exemplary
user display 500 which presents a list of cosmetic surgery options (e.g., nose
job, face lift, calf
implants, liposuction), along with a percentage ranking of how much the system
recommends the
given surgery to the primary user, see section 506. When the primary user
selects surgery
options from the list, they are presented with a textual description of why
the surgery was ranked
that way for the primary user, thus explaining its ranking recommendation. The
display may
also include other descriptions (either textual or other rich media) of
relevant information 502,
such as the primary user's insurance or other information that the primary
user may find
interesting. The display may also include photographs 504 or other media.
[0075] Recommendation explanations may also be used to explain the ranking of
entities as
part of a browsing, search, or other information retrieval experience. For
example, the
recommendation explanations associated with a list of bars near a group of
users could include
text to explain why one bar was ranked higher than another, examples being "15
Romelo has the
best cocktails in the city" and "Cocktails at BarOne are second only to those
at 15 Romelo".
[0076] The system may monitor and track various metrics, and optionally
incorporate those
while selecting recommendation explanation factors for their display. For
example, explicit
collections or lists of entities a user has annotated, frequency at which
users select an entity with
a given type of explanation optionally adjusting for user location, the time
of day the user is
viewing the recommendation explanation, present and past purchase history for
the user or group
of users, and comparisons between the primary user and other users; may all be
used either alone
or in combination, in generating and selecting recommendation explanations,
and the display of
the selected recommendation explanations.
[0077] Embodiments of the invention may be extended such that an explanation
of a
recommendation relates to a target user's friend (e.g., on Facebook) or
follower/followee (e.g.,
Twitter). Location information may be used in the context of an affinity graph
to determine
recommendations. Explanations of recommendations may also relate to a
prediction of what the
target user might do, or how they might think or evaluate an entity. Then, the
per-user data in
the affinity graph about the user (e.g., a user's followees/friends may lead
to an inference about
22

CA 02842255 2015-12-16
the user) to determine what explanation is likely to be most useful, valuable,
and relevant. The
explanation may involve similarity between users. The explanations may be
offered to the user
as a set of selections, which involves what explanations have been helpful in
the past for the
same or similar users. In some embodiments, there may be multiple simultaneous
target users, or
there may be one target user and several associated users for whom searches
should also be
relevant. Input data from such multiple users can be presented synchronously
or asynchronously.
Some embodiments may provide methods of operation in which they do not need to
know who a
user is; for example, there may be a kiosk mode in which members of the public
can use the
system without identifying themselves.
[0078] The description provides preferred exemplary embodiment(s) only, and is
not intended
to limit the scope, applicability or configuration of the invention. Rather,
the description of the
preferred exemplary embodiment(s) will provide those skilled in the art with
an enabling
description for implementing a preferred exemplary embodiment of the
invention. It is to be
understood that various changes may be made in the function and arrangement of
elements.
[0079] Specific details are given in the description to provide a thorough
understanding of the
embodiments. However, it will be understood by one of ordinary skill in the
art that the
embodiments may be practiced without these specific details. For example,
systems may be
shown in block diagrams in order not to obscure the embodiments in unnecessary
detail. In other
instances, well-known processes, structures and techniques may be shown
without unnecessary
detail in order to avoid obscuring the embodiments.
100801 Also, it is noted that the embodiments may be described as a process
which is depicted
as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a
block diagram.
Although a flowchart may describe the operations as a sequential process, many
of the
operations may be performed in parallel or concurrently. In addition, the
order of the operations
may be re-arranged. A process is terminated when its operations are completed,
but could have
additional steps not included in the figure. A process may correspond to a
method, a function, a
procedure, a subroutine, a subprogram, etc. When a process corresponds to a
function, its
termination corresponds to a return of the function to the calling function or
the main function.
100811 Moreover, as disclosed herein, the term "storage medium" may represent
one or more
devices for storing data, including read only memory (ROM), random access
memory (RAM),
23

CA 02842255 2015-12-16
magnetic RAM, core memory, magnetic disk storage mediums, optical storage
mediums, flash
memory devices and/or other machine readable mediums for storing information.
The term
"computer-readable medium" includes, but is not limited to portable or fixed
storage devices,
optical storage devices, wireless channels and various other mediums capable
of storing,
containing or carrying instruction(s) and/or data.
100821 Furthermore, embodiments may be implemented by hardware, software,
firmware,
middleware, microcode, hardware description languages, or any combination
thereof. When
implemented in software, firmware, middleware or microcode, the program code
or code
segments to perform the necessary tasks may be stored in a machine readable
medium such as
storage medium. A processor(s) may perform the necessary tasks. A code segment
may
represent a procedure, a function, a subprogram, a program, a routine, a
subroutine, a module, a
software package, a class, or any combination of instructions, data
structures, or program
statements. A code segment may be coupled to another code segment or a
hardware circuit by
passing and/or receiving information, data, arguments, parameters, or memory
contents.
Information, arguments, parameters, data, etc. may be passed, forwarded, or
transmitted via any
suitable means including memory sharing, message passing, token passing,
network
transmission, etc.
[0083) Further embodiments may be envisioned to one of ordinary skill in the
art after reading
this disclosure. In other embodiments, combinations or sub-combinations of the
above disclosed
invention may be advantageously made. The example arrangements of components
are shown for
purposes of illustration and it should be understood that combinations,
additions, re-
arrangements, and the like are contemplated in alternative embodiments of the
present invention.
Thus, while the invention has been described with respect to exemplary
embodiments, one
skilled in the art will recognize that numerous modifications are possible.
10084] For example, the processes described herein may be implemented using
hardware
components, software components, and/or any combination thereof. The
specification and
drawings are, accordingly, to be regarded in an illustrative rather than a
restrictive sense. It will,
however, be evident that various modifications and changes may be made
thereunto and that the
scope of the claims should not be limited by the preferred embodiments set
forth in the examples,
but should be given the broadest interpretation consistent with the
description as a whole.
24

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2020-02-18
(86) PCT Filing Date 2012-07-19
(87) PCT Publication Date 2013-01-24
(85) National Entry 2014-01-16
Examination Requested 2014-08-07
(45) Issued 2020-02-18

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $263.14 was received on 2023-07-21


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if standard fee 2024-07-19 $347.00
Next Payment if small entity fee 2024-07-19 $125.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2014-01-15
Maintenance Fee - Application - New Act 2 2014-07-21 $100.00 2014-01-15
Request for Examination $800.00 2014-08-07
Registration of a document - section 124 $100.00 2014-09-16
Registration of a document - section 124 $100.00 2014-09-16
Maintenance Fee - Application - New Act 3 2015-07-20 $100.00 2015-06-16
Maintenance Fee - Application - New Act 4 2016-07-19 $100.00 2016-06-21
Maintenance Fee - Application - New Act 5 2017-07-19 $200.00 2017-06-15
Maintenance Fee - Application - New Act 6 2018-07-19 $200.00 2018-06-14
Maintenance Fee - Application - New Act 7 2019-07-19 $200.00 2019-06-19
Final Fee 2019-12-17 $300.00 2019-11-29
Maintenance Fee - Patent - New Act 8 2020-07-20 $200.00 2020-06-16
Maintenance Fee - Patent - New Act 9 2021-07-19 $204.00 2021-07-09
Maintenance Fee - Patent - New Act 10 2022-07-19 $254.49 2022-07-15
Maintenance Fee - Patent - New Act 11 2023-07-19 $263.14 2023-07-21
Late Fee for failure to pay new-style Patent Maintenance Fee 2023-07-21 $150.00 2023-07-21
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
OPENTABLE, INC.
Past Owners on Record
NESS COMPUTING, INC.
NESS COMPUTING, LLC
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Final Fee 2019-11-29 8 257
Representative Drawing 2020-01-24 1 17
Cover Page 2020-01-24 1 55
Abstract 2014-01-16 1 77
Claims 2014-01-16 6 235
Drawings 2014-01-16 5 264
Description 2014-01-16 24 1,405
Representative Drawing 2014-01-16 1 30
Cover Page 2014-02-27 2 64
Claims 2015-12-16 6 228
Description 2015-12-16 24 1,377
Claims 2016-12-22 6 238
Drawings 2016-12-22 5 205
Examiner Requisition 2017-06-01 3 199
Amendment 2017-11-23 7 322
Examiner Requisition 2018-05-04 3 196
Amendment 2018-07-12 18 740
Claims 2018-07-12 6 242
Examiner Requisition 2018-11-22 3 149
Amendment 2018-12-20 17 675
Assignment 2014-09-16 17 886
Claims 2018-12-20 7 263
Prosecution-Amendment 2014-08-07 1 46
PCT 2014-01-16 7 359
Assignment 2014-01-16 5 156
Examiner Requisition 2015-06-22 5 333
Amendment 2015-12-16 36 1,692
Examiner Requisition / Examiner Requisition 2016-06-27 5 322
Amendment 2016-12-22 26 1,164