High level architecture of a Content-based Recommender
Content-based recommendation systems are a popular and widely used approach to provide
personalized recommendations to users. These systems are based on the idea that a user's preferences
can be predicted based on their previous interactions with items, such as their viewing and purchasing
history.
Example
Architecture of a Content-based Recommender
Systems implementing a
content-based
recommendation approach
analyze a set of
documents and/or descriptions
of items previously rated by a
user, and build a model
or profile of user interests
based on the features of the
objects rated by that user
Systems implementing a
content-based
recommendation approach
analyze a set of
documents and/or descriptions
of items previously rated by a
user, and build a model
or profile of user interests
based on the features of the
objects rated by that user
Systems implementing a
content-based
recommendation approach
analyze a set of
documents and/or descriptions
of items previously rated by a
user, and build a model
or profile of user interests
based on the features of the
objects rated by that user
Systems implementing a
content-based
recommendation approach
analyze a set of
documents and/or descriptions
of items previously rated by a
user, and build a model
or profile of user interests
based on the features of the
objects rated by that user
Systems implementing a content-based recommendation approach analyze a set of documents and/or
descriptions of items previously rated by a user, and build a model or profile of user interests based on
the features of the objects rated by that user.
The profile is a structured representation of user interests, adopted to recommend new interesting
items.
CONTENT ANALYZER –
    When information has no structure (e.g. text), some kind of pre-processing step is needed to
      extract structured relevant information.
    The main responsibility of the component is to represent the content of items(e.g. documents,
      Web pages, news, product descriptions, etc.) coming from information sources in a form
      suitable for the next processing steps.
    Data items are analyzed by feature extraction techniques in order to shift item representation
      from the original information space to the target one (e.g. Web pages represented as keyword
      vectors).
    This representation is the input to the PROFILE LEARNER and FILTERING COMPONENT;
PROFILE LEARNER –
    This module collects data representative of the user preferences and tries to generalize this
       data, in order to construct the user profile.
    Usually, the generalization strategy is realized through machine learning techniques which are
       able to infer a model of user interests starting from items liked or disliked in the past.
    For instance, the PROFILE LEARNER of a Web page recommender can implement a relevance
       feedback method in which the learning technique combines vectors of positive and negative
       examples into a prototype vector representing the user profile.
    Training examples are Web pages on which a positive or negative feedback has been provided
       by the user;
FILTERING COMPONENT –
   This module exploits the user profile to suggest relevant items by matching the profile
    representation against that of items to be recommended.
   The result is a binary or continuous relevance judgment the latter case resulting in a ranked list
    of potentially interesting items.
   In the above-mentioned example, the matching is realized by computing the cosine similarity
    between the prototype vector and the item vectors
 The first step of the recommendation process is the one performed by the CONTENT ANALYZER,
 Item descriptions coming from Information Source are processed by the CONTENT ANALYZER,
  that extracts features (keywords, n-grams, concepts, . . . ) from unstructured text to produce a
  structured item representation, stored in the repository Represented Items.
 In order to construct and update the profile of the active user ua her reactions to items are
  collected in some way and recorded in the repository Feedback.
 These reactions, called annotations or feedback, together with the related item descriptions, are
  exploited during the process of learning a model useful to predict the actual relevance of newly
  presented items. Users can also explicitly define their areas of interest as an initial profile
  without providing any feedback.
 Typically, it is possible to distinguish between two kinds of relevance feedback: positive
  information (inferring features liked by the user) and negative information (i.e., inferring
  features the user is not interested.
 Two different techniques can be adopted for recording user’s feedback. When a system requires
  the user to explicitly evaluate items, this technique is usually referred to as “explicit feedback”;
  the other technique, called “implicit feedback” does not require any active user involvement, in
  the sense that feedback is derived from monitoring and analyzing user’s activities.
 Explicit evaluations indicate how relevant or interesting an item is to the user. There are three
  main approaches to get explicit relevance feedback:
          like/dislike
          ratings
          text comments
 Implicit Feedback assigning relevance score to specific user action on an item such as saving,
  printing, bookmarking, discarding.
 Build the profile of the active user ua
     TRa =⟨Ik ,rk⟩,
1. The training set TRa for ua must be defined.
2.
     where rk is the rating provided by ua on the item representation Ik.
3. Given a set of item representation labeled with ratings, the PROFILE LEARNER applies
  supervised learning algorithms to generate a predictive model – the user profile – which is
  usually stored in a profile repository for later use by the FILTERING COMPONENT.
4. Given a new item representation, the FILTERING COMPONENT predicts whether it is likely to
  be of interest for the active user, by comparing features in the item representation to those in
  the representation of user preferences
5. FILTERING COMPONENT implements some strategies to rank potentially interesting items
  according to the relevance with respect to the user profile. Top-ranked items are included in a
  list of recommendations La , that is presented to ua.
6.User tastes usually change in time, therefore up-to-date information must be maintained and
  provided to the PROFILE LEARNER in order to automatically update the user profile.
7. Further feedback is gathered on generated recommendations by letting users state their
  satisfaction or dissatisfaction with items in La. After gathering that feedback, the learning
  process is performed again on the new training set, and the resulting profile is adapted to the
    updated user interests. The iteration of the feedback-learning cycle over time allows the
  system to take into account the dynamic nature of user preferences.
Advantages
    Learns User Preference
    Highly personalized for Users
    User Independence
    Transparency
    New Item Recommendation-Capable of Recommending Item not yet rated by user
Disadvantages
     Limited Content Analysis
     New User
     Cold Start Problem