Personalization is a big trend today. There is so much information available that we need to find new ways to filter, categorize and display data that is relevant.
Recommender systems guide users in a personalized way to interesting objects in a large set of possible options.
Content-based systems try to recommend items similar to those a given user has liked in the past.
The basic process performed by a content-based recommender systems consists of matching up the attributes of a user profile in which preferences and interests are stored, with those of an object. These attributes have been previously collected and is subjected to analysis and modelling with the intent to arrive at a relevant result.
The recommendation process is performed in 3 steps:
- The Content Analyzer: When information has no structure, it is the Content Analyzer’s role to provide the structure necessary for the next processing steps. Data items are analyzed by feature extraction techniques to shift item representation from the original information to the target one. This representation is the input for the next 2 steps.
- The Profile Learner: This module collects data from the Content Analyzer and tries to generalize it, building a user profile. The generalization strategy is usually performed using machine learning techniques, which are able to infer a model of user interests.
- The Filtering Component: This module uses the user profile to suggest relevant items by matching the profile representation to the items being recommended.
The process begins with the “Content Analyzer” extracting features (keywords, concepts, etc.) to construct an item representation. A profile is created and updated for the active user and reactions to the items collected in some way and stored in a repository. These reactions, called feedback or annotations, in combination with the related item description are exploited during the learning of a model to predict the relevance of a newly presented item. Users can also provide initial information to build a profile without the need of feedback.
Generally feedback can be positive and negative and two types of techniques can be used to determine that feedback; implicit and explicit.
Explicit feedback can be obtained by gathering likes/dislikes, ratings and comments, while implicit feedback is derived form monitoring and analyzing the user’s activities.
The “Profile Learner” generates a predictive model utilizing supervised learning algorithms and then stored to be later used by the “Filtering Component”. Users tastes are likely to change over time, so its important to keep information up-to-date to feed back into the “Profile Learner”.
Amongst the advantages of the Content-based recommendation systems are:
- User independence since recommendations are based solely on the users ratings
- Transparency since how the systems works in making a particular recommendation can be described in function of content and descriptions; and
- New item which is capable of being recommended that has not yet been rated by a user.
Content-based recommendation systems also have disadvantages:
- Limited Content: There is a natural limit in the number and type of features that can be associated with the objects they recommend, therefore the information collected might not be sufficient to define a particular user’s interests.
- Over-Specialization: Content-based recommendation systems have no way to recommend something unexpected. The system is limited to ranking a number of items based on score and matching them to the user’s profile, solely based on similarities to items that he has already provided positive feedback on. This drawback is also known as “serendipity” problem, showing the tendency of the system to limit its degree of novelty.