Thursday, April 5, 2012

Paper #8
Key design considerations for recommendation systems

The document aims to provide the reader with an overview of the study in the field of recommendation systems (RS). The order in which the information is presented is mean to help readers make the design choices for their own implementation of a RS.

According to the author, recommendation systems "provide personalized information through pull or push services to support a user in decision-making processes that involve great amounts of information."

The RS taxonomy.
The author made a note that this taxonomy is oriented for systems that aim to predict a unknown rating.
a) RS may offer a horizontal or vertical solution
Horizontal: explicitly designed and optimized for a particular application in a specific domain
Vertical: may offer recommendations in different domains

b) RS may be traditional or non-traditional
Traditional: support for only two dimensions (users and items); based on the availability of a single utiliry that is either explicitly assigned by a user or inferred from a transaction or other sources.
Non-traditional: assumptions made on traditional RS are relaxed and treated in a flexible manner.

c) Data used
Explicit ratings: utility is viewed as a user-given rating.
Transaction data: the revealed utility is obtained from implicit user input.
Both (hybrid): both can be used.

d) Approach used to solve the problem (method used to estimate ratings)
Content-based: uses product descriptions, known ratings of a particular user, recommend items similar in content to those items the user has liked in the past
Collaborative: recommend items based on known ratings of users with similar tastes and preferences.
Both: combine both methods.

e) Undefined trait
Heuristic-based RS: rely on a heuristic, built upon an assumption, without verifying correctness of the assumption or the optimality of the solutions.
Model-based: presume that utility data predictions can be obtained from a certain model

Fundamental design aspects
The authors classify decisions in two stages: building a foundation and sculpting a RS.

Building a foundation
The first task is to define personalization and RS goals (both goals should be consistent with each other). Then, the designers should analyze the costs of of accomplishing the previously defined goals. In addition, the designers need to define the type of personalization the system will have. Once the previous step is done, the developers should decide at what level the personalization will reside (user level, or system level).

Sculpting a RS
Data collection: which are the available data sources? what data can be retrieved? how is data going to be retrieved? what information is actually needed?

Building profiles (consumer profiles, item profiles, etc.)
How is information going to be represented? How is the initial profile going to be built?

Matchmaking
Which recommendation technique is going to be used? which information is available? which information should be used to make a particular kind of recommendation?

Delivery and Presentation
How are recommendations going to be presented to the user?

Measuring personalization impact
Which evaluation metrics are going to be considered when evaluating the RS? how to measure the chosen metrics?

Adjusting personalization strategy
Is the personalization strategy going to be continuously refined according to evaluation results? what are the causes for poor evaluation results? how can the different recommendation components be refined given the found causes for poor results?