Skip to content

Content based RS

Ishani Kathuria edited this page Dec 24, 2022 · 2 revisions

High-Level Architecture

  • CONTENT ANALYZER – When information has no structure (e.g., text), some kind of preprocessing 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 analysed 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, 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 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 (computed using some similarity metrics), 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.

Steps

  1. In order to build the profile of the active user $u_a$, the training set $TR_a$ for $u_a$ must be defined.
  2. $TR_a$ is a set of pairs of $\left\langle I_k, r_k \right\rangle$ where $r_k$ is the rating provided for item representation $I_k$.
  3. PROFILE LEARNER applies supervised learning algorithms to generate a predictive model – the user profile – which is stored in a profile repository.
  4. FILTERING COMPONENT predicts whether it is likely to be of interest to the active user, by comparing features in the item representation to those in the representation of user preferences.
  5. Top-ranked items are included in a list of recommendations $L_a$.
  6. Feedback is gathered and saved for the generated recommendations.
  7. The learning process is performed again on the new training set and the resulting profile is adapted to the updated user interests.
  8. The iteration of the feedback-learning cycle over time allows the system to take into account the dynamic nature of user preferences.

Methods for learning user profiles

  1. Naïve-Bayes
  2. K-Nearest-Neighbour
  3. Decision-Tree
  4. K-Means

Clone this wiki locally