Basic Approaches in Recommendation Systems



Recommendation systems support users in finding items of interest. In this chapter, we introduce the basic approaches of collaborative filtering, content-based filtering, and knowledge-based recommendation. We first discuss principles of the underlying algorithms based on a running example. Thereafter, we provide an overview of hybrid recommendation approaches which combine basic variants. We conclude this chapter with a discussion of newer algorithmic trends, especially critiquing-based and group recommendation.


Knowledge-based Recommender Collaborative Filtering (CF) Content-based Filtering (CBF) Group Recommendations Hybrid Recommendation Approach 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Ardissono, L., Felfernig, A., Friedrich, G., Goy, A., Jannach, D., Petrone, G., Schäfer, R., Zanker, M.: A framework for the development of personalized, distributed web-based configuration systems. AI Mag. 24(3), 93–108 (2003)Google Scholar
  2. 2.
    Avazpour, I., Pitakrat, T., Grunske, L., Grundy, J.: Dimensions and metrics for evaluating recommendation systems. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap.  10. Springer, New York (2014)Google Scholar
  3. 3.
    Bachwani, R.: Preventing and diagnosing software upgrade failures. Ph.D. thesis, Rutgers University (2012)Google Scholar
  4. 4.
    Billsus, D., Pazzani, M.: Learning collaborative information filters. In: Proceedings of the International Conference on Machine Learning, pp. 46–54 (1998)Google Scholar
  5. 5.
    Burke, R.: Knowledge-based recommender systems. Encyclopedia Libr. Inform. Sci. 69(32), 180–200 (2000)Google Scholar
  6. 6.
    Burke, R.: Hybrid recommender systems: Survey and experiments. User Model. User-Adapt. Interact. 12(4), 331–370 (2002). DOI 10.1023/A:1021240730564CrossRefzbMATHGoogle Scholar
  7. 7.
    Burke, R., Felfernig, A., Goeker, M.: Recommender systems: An overview. AI Mag. 32(3), 13–18 (2011)Google Scholar
  8. 8.
    Burke, R., Hammond, K., Yound, B.: The FindMe approach to assisted browsing. IEEE Expert 12(4), 32–40 (1997). DOI 10.1109/64.608186CrossRefGoogle Scholar
  9. 9.
    Burke, R., Ramezani, M.: Matching recommendation technologies and domains. In: Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. (eds.) Recommender Systems Handbook, pp. 367–386. Springer, New York (2011). DOI  10.1007/978-0-387-85820-3_11 CrossRefGoogle Scholar
  10. 10.
    Chen, L., Pu, P.: Critiquing-based recommenders: Survey and emerging trends. User Model. User-Adapt. Interact. 22(1–2), 125–150 (2012). DOI 10.1007/s11257-011-9108-6CrossRefGoogle Scholar
  11. 11.
    Ekstrand, M.D., Ludwig, M., Kolb, J., Riedl, J.: LensKit: A modular recommender framework. In: Proceedings of the ACM Conference on Recommender Systems, pp. 349–350 (2011a). DOI 10.1145/2043932.2044001Google Scholar
  12. 12.
    Ekstrand, M.D., Riedl, J.T., Konstan, J.A.: Collaborative filtering recommender systems. Found. Trends Hum. Comput. Interact. 4(2), 81–173 (2011b). DOI 10.1561/1100000009CrossRefGoogle Scholar
  13. 13.
    Falkner, A., Felfernig, A., Haag, A.: Recommendation technologies for configurable products. AI Mag. 32(3), 99–108 (2011)Google Scholar
  14. 14.
    Felfernig, A., Friedrich, G., Gula, B., Hitz, M., Kruggel, T., Melcher, R., Riepan, D., Strauss, S., Teppan, E., Vitouch, O.: Persuasive recommendation: Serial position effects in knowledge-based recommender systems. In: Proceedings of the International Conference of Persuasive Technology, Lecture Notes in Computer Science, vol. 4744, pp. 283–294 (2007a). DOI  10.1007/978-3-540-77006-0_34
  15. 15.
    Felfernig, A., Friedrich, G., Jannach, D., Stumptner, M.: Consistency-based diagnosis of configuration knowledge bases. Artif. Intell. 152(2), 213–234 (2004). DOI 10.1016/S0004-3702(03)00117-6CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Felfernig, A., Friedrich, G., Jannach, D., Zanker, M.: An integrated environment for the development of knowledge-based recommender applications. Int. J. Electron. Commerce 11(2), 11–34 (2006a). DOI 10.2753/JEC1086-4415110201CrossRefGoogle Scholar
  17. 17.
    Felfernig, A., Friedrich, G., Schubert, M., Mandl, M., Mairitsch, M., Teppan, E.: Plausible repairs for inconsistent requirements. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 791–796 (2009)Google Scholar
  18. 18.
    Felfernig, A., Gula, B., Leitner, G., Maier, M., Melcher, R., Teppan, E.: Persuasion in knowledge-based recommendation. In: Proceedings of the International Conference on Persuasive Technology, Lecture Notes in Computer Science, vol. 5033, pp. 71–82 (2008). DOI  10.1007/978-3-540-68504-3_7
  19. 19.
    Felfernig, A., Isak, K., Szabo, K., Zachar, P.: The VITA financial services sales support environment. In: Proceedings of the Innovative Applications of Artificial Intelligence Conference, pp. 1692–1699 (2007b)Google Scholar
  20. 20.
    Felfernig, A., Jeran, M., Ninaus, G., Reinfrank, F., Reiterer, S.: Toward the next generation of recommender systems: Applications and research challenges. In: Multimedia Services in Intelligent Environments: Advances in Recommender Systems, Smart Innovation, Systems and Technologies, vol. 24, pp. 81–98. Springer, New York (2013a). DOI  10.1007/978-3-540-68504-3_7
  21. 21.
    Felfernig, A., Ninaus, G., Grabner, H., Reinfrank, F., Weninger, L., Pagano, D., Maalej, W.: An overview of recommender systems in requirements engineering. In: Managing Requirements Knowledge, Chap.  14, pp. 315–332. Springer, New York (2013b). DOI 10.1007/978-3-642-34419-0_14
  22. 22.
    Felfernig, A., Schubert, M., Reiterer, S.: Personalized diagnosis for over-constrained problems. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 1990–1996 (2013c)Google Scholar
  23. 23.
    Felfernig, A., Shchekotykhin, K.: Debugging user interface descriptions of knowledge-based recommender applications. In: Proceedings of the International Conference on Intelligent User Interfaces, pp. 234–241 (2006). DOI 10.1145/1111449.1111499Google Scholar
  24. 24.
    Felfernig, A., Teppan, E., Gula, B.: Knowledge-based recommender technologies for marketing and sales. Int. J. Pattern Recogn. Artif. Intell. 21(2), 333–354 (2006b). DOI 10.1142/S0218001407005417CrossRefGoogle Scholar
  25. 25.
    Felfernig, A., Zehentner, C., Ninaus, G., Grabner, H., Maaleij, W., Pagano, D., Weninger, L., Reinfrank, F.: Group decision support for requirements negotiation. In: Advances in User Modeling, no. 7138 in Lecture Notes in Computer Science, pp. 105–116 (2012). DOI  10.1007/978-3-642-28509-7_11
  26. 26.
    Goldberg, D., Nichols, D., Oki, B., Terry, D.: Using collaborative filtering to weave an information tapestry. Comm. ACM 35(12), 61–70 (1992). DOI 10.1145/138859.138867CrossRefGoogle Scholar
  27. 27.
    Grasch, P., Felfernig, A., Reinfrank, F.: ReComment: Towards critiquing-based recommendation with speech interaction. In: Proceedings of the ACM Conference on Recommender Systems pp. 157–164 (2013)Google Scholar
  28. 28.
    Gunawardana, A., Shani, G.: A survey of accuracy evaluation metrics of recommendation tasks. J. Mach. Learn. Res. 10, 2935–2962 (2009)zbMATHMathSciNetGoogle Scholar
  29. 29.
    Hennig-Thurau, T., Marchand, A., Marx, P.: Can automated group recommender systems help consumers make better choices? J. Market. 76(5), 89–109 (2012)CrossRefGoogle Scholar
  30. 30.
    Herlocker, J., Konstan, J., Borchers, A., Riedl, J.: An algorithmic framework for performing collaborative filtering. In: Proceedings of the ACM SIGIR International Conference on Research and Development in Information Retrieval, pp. 230–237 (1999). DOI ¿10.1145/312624.312682Google Scholar
  31. 31.
    Jameson, A.: More than the sum of its members: Challenges for group recommender systems. In: Proceedings of the Working Conference on Advanced Visual Interfaces, pp. 48–54 (2004). DOI 10.1145/989863.989869Google Scholar
  32. 32.
    Jameson, A., Smyth, B.: Recommendation to groups. In: Brusilovsky, P., Kobsa, A., Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies of Web Personalization, Lecture Notes in Computer Science, vol. 4321, Chap.  20, pp. 596–627. Springer, New York (2007). DOI 10.1007/978-3-540-72079-9_20CrossRefGoogle Scholar
  33. 33.
    Jannach, D., Zanker, M., Felfernig, A., Friedrich, G.: Recommender Systems: An Introduction. Cambridge University Press, Cambridge (2010)CrossRefGoogle Scholar
  34. 34.
    Junker, U.: QUICKXPLAIN: Preferred explanations and relaxations for over-constrained problems. In: Proceedings of the National Conference on Artifical Intelligence, pp. 167–172 (2004)Google Scholar
  35. 35.
    Knijnenburg, B., Reijmer, N., Willemsen, M.: Each to his own: How different users call for different interaction methods in recommender systems. In: Proceedings of the ACM Conference on Recommender Systems, pp. 141–148 (2011). DOI 10.1145/2043932.2043960Google Scholar
  36. 36.
    Konstan, J.A., Miller, B.N., Maltz, D., Herlocker, J.L., Gordon, L.R., Riedl, J.: GroupLens: Applying collaborative filtering to Usenet news. Comm. ACM 40(3), 77–87 (1997). DOI 10.1145/245108.245126CrossRefGoogle Scholar
  37. 37.
    Koren, Y., Bell, R., Volinsky, C.: Matrix factorization techniques for recommender systems. Computer 42(8), 30–37 (2009). DOI 10.1109/MC.2009.263CrossRefGoogle Scholar
  38. 38.
    Lim, S., Quercia, D., Finkelstein, A.: StakeNet: Using social networks to analyse the stakeholders of large-scale software projects. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 295–304 (2010). DOI 10.1145/1806799.1806844Google Scholar
  39. 39.
    Linden, G., Smith, B., York, J.: recommendations: Item-to-item collaborative filtering. IEEE Internet Comput. 7(1), 76–80 (2003). DOI 10.1109/MIC.2003.1167344Google Scholar
  40. 40.
    Maalej, W., Sahm, A.: Assisting engineers in switching artifacts by using task semantic and interaction history. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 59–63 (2010). DOI 10.1145/1808920.1808935Google Scholar
  41. 41.
    Mandl, M., Felfernig, A.: Improving the performance of unit critiquing. In: Proceedings of the International Conference on User Modeling, Adaptation, and Personalization, pp. 176–187 (2012). DOI  10.1007/978-3-642-31454-4_15
  42. 42.
    Mandl, M., Felfernig, A., Teppan, E., Schubert, M.: Consumer decision making in knowledge-based recommendation. J. Intell. Inform. Syst. 37(1), 1–22 (2010). DOI 10.1007/s10844-010-0134-3CrossRefGoogle Scholar
  43. 43.
    Masthoff, J.: Group modeling: Selecting a sequence of television items to suit a group of viewers. User Model. User-Adapt. Interact. 14(1), 37–85 (2004). DOI 10.1023/B:USER.0000010138.79319.fdCrossRefGoogle Scholar
  44. 44.
    Masthoff, J.: Group recommender systems: Combining individual models. In: Ricci, F., Rokach, L., Shapira, B., Kantor, P. (eds.) Recommender Systems Handbook, Chap.  21, pp. 677–702. Springer, New York (2011). DOI 10.1007/978-0-387-85820-3_21CrossRefGoogle Scholar
  45. 45.
    McCarey, F., Ó Cinnéide, M., Kushmerick, N.: RASCAL: A recommender agent for agile reuse. Artif. Intell. Rev. 24(3–4), 253–276 (2005). DOI 10.1007/s10462-005-9012-8Google Scholar
  46. 46.
    McCarthy, K., Reilly, J., McGinty, L., Smyth, B.: On the dynamic generation of compound critiques in conversational recommender systems. In: Proceedings of the International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems, Lecture Notes in Computer Science, vol. 3137, pp. 176–184 (2004)Google Scholar
  47. 47.
    McCarthy, K., Salamo, M., Coyle, L., McGinty, L., Smyth, B., Nixon, P.: Group recommender systems: A critiquing based approach. In: Proceedings of the International Conference on Intelligent User Interfaces, pp. 267–269 (2006). DOI 10.1145/1111449.1111506Google Scholar
  48. 48.
    O’Connor, M., Cosley, D., Konstan, J., Riedl, J.: PolyLens: A recommender system for groups of users. In: Proceedings of the European Conference on Computer Supported Cooperative Work, pp. 199–218 (2001). DOI 10.1007/0-306-48019-0_11Google Scholar
  49. 49.
    Pazzani, M., Billsus, D.: Learning and revising user profiles: The identification of interesting web sites. Mach. Learn. 27(3), 313–331 (1997). DOI 10.1023/A:1007369909943CrossRefGoogle Scholar
  50. 50.
    Peischl, B., Zanker, M., Nica, M., Schmid, W.: Constraint-based recommendation for software project effort estimation. J. Emerg. Tech. Web Intell. 2(4), 282–290 (2010). DOI 10.4304/jetwi.2.4.282-290Google Scholar
  51. 51.
    Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987). DOI 10.1016/0004-3702(87)90062-2CrossRefzbMATHMathSciNetGoogle Scholar
  52. 52.
    Ricci, F., Nguyen, Q.: Acqiring and revising preferences in a critiquing-based mobile recommender systems. IEEE Intell. Syst. 22(3), 22–29 (2007). DOI 10.1109/MIS.2007.43CrossRefGoogle Scholar
  53. 53.
    Robillard, M.P., Walker, R.J., Zimmermann, T.: Recommendation systems for software engineering. IEEE Software 27(4), 80–86 (2010). DOI 10.1109/MS.2009.161CrossRefGoogle Scholar
  54. 54.
    Sarwar, B., Karypis, G., Konstan, J., Riedl, J.: Item-based collaborative filtering recommendation algorithms. In: Proceedings of the International Conference on the World Wide Web, pp. 285–295 (2001). DOI 10.1145/371920.372071Google Scholar
  55. 55.
    Stettinger, M., Ninaus, G., Jeran, M., Reinfrank, F., Reiterer, S.: WE-DECIDE: A decision support environment for groups of users. In: Proceedings of the International Conference on Industrial, Engineering, and Other Applications of Applied Intelligent Systems, pp. 382–391 (2013). DOI  10.1007/978-3-642-38577-3_39
  56. 56.
    Takács, G., Pilászy, I., Németh, B., Tikk, D.: Scalable collaborative filtering approaches for large recommender systems. J. Mach. Learn. Res. 10, 623–656 (2009)Google Scholar
  57. 57.
    Tiihonen, J., Felfernig, A.: Towards recommending configurable offerings. Int. J. Mass Customization 3(4), 389–406 (2010). DOI 10.1504/IJMASSC.2010.037652CrossRefGoogle Scholar
  58. 58.
    Tosun Mısırlı, A., Bener, A., Çağlayan, B., Çalıklı, G., Turhan, B.: Field studies: A methodology for construction and evaluation of recommendation systems in software engineering. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap.  13. Springer, New York (2014)Google Scholar
  59. 59.
    Tsunoda, M., Kakimoto, T., Ohsugi, N., Monden, A., Matsumoto, K.: Javawock: A Java class recommender system based on collaborative filtering. In: Proceedings of the International Conference on Software Engineering and Knowledge Engineering, pp. 491–497 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Institute for Software TechnologyGraz University of TechnologyGrazAustria

Personalised recommendations