Types:
- Content-based RS : Recommendation of new items to users is performed by looking at (historic) item to (new) item (item is content) similarity. It uses item profile and user preference profile (i.e. items user liked) (Cf. "Handbook on ontologies")
- Collaborative filtering RS : Recommendation of new items to user is performed based on item reviews (i.e. other users) within a community of the user. (Cf. "Handbook on ontologies") Collaborative filtering works by using the ratings provided by a community of users to recommend items for a specific user. There are two complementary approaches available, user-based or item-based collaborative filtering. User based collaborative filtering is where similar users are found and items recommended that these similar users also liked. Item-based collaborative filtering is where items are grouped if people rate them similarly then the items are recommended together.
- Knowledge-based RS aka rule-based RS : RS of either above types that is supplimented by knowledge base e.g. to calculate user-item or item-item attribute similarity (i.e., similarity of attributes existing in both user and item) (https://medium.com/recombee-blog/recommender-systems-explained-d98e8221f468); The attributes may be in form of ontology-based RS (which has knowledge engineering bottleneck i.e. various problems in knowledge acquisition); this RS is aka rule-based RS in which the rule may be heuristic rules or ML-based classification rules like decision tree.
- Hybrid RS is mix of the first two types.
User profiling methods:
- Knowledge based approach : uses static models of users and dynamically match users to the closest model. Questionnaires and interviews are often employed to obtain this user knowledge. Once a model is selected for a user, specific domain knowledge (from ontology) for that user type can be applied to help describe the user.
- Behavioral based approach : uses the user’s behaviour as a model, commonly using machine-learning techniques to discover useful patterns in the behaviour. Behavioural logging is employed to obtain the data necessary from which to extract patterns.
Common problem of RS is cold start problem (a state of a deployed RS having not enough info on item or user or community (in case of collaborative RS) to give recommendation). Cf. https://en.wikipedia.org/wiki/Cold_start_(computing)