A GPU-oriented online recommendation algorithm for efficient processing of time-varying continuous data streams
- 683 Downloads
- 2 Citations
Abstract
Research on recommendation systems has gained a considerable amount of attention over the past decade as the number of online users and online contents continue to grow at an exponential rate. With the evolution of the social web, people generate and consume data in real time using online services such as Twitter, Facebook, and web news portals. With the rapidly growing online community, web-based retail systems and social media sites have to process several millions of user requests per day. Generating quality recommendations using this vast amount of data is itself a very challenging task. Nevertheless, opposed to the web-based retailers such as Amazon and Netflix, the above-mentioned social networking sites have to face an additional challenge when generating recommendations as their contents are very rapidly changing. Therefore, providing fresh information in the least amount of time is a major objective of such recommender systems. Although collaborative filtering is a widely used technique in recommendation systems, generating the recommendation model using this approach is a costly task, and often done offline. Hence, it is difficult to use collaborative filtering in the presence of dynamically changing contents, as such systems require frequent updates to the recommendation model to maintain the accuracy and the freshness of the recommendations. Parallel processing power of graphic processing units (GPUs) can be used to process large volumes of data with dynamically changing contents in real time, and accelerate the recommendation process for social media data streams. In this paper, we address the issue of rapidly changing contents, and propose a parallel on-the-fly collaborative filtering algorithm using GPUs to facilitate frequent updates to the recommendations model. We use a hybrid similarity calculation method by combining the item–item collaborative filtering with item category information and temporal information. The experimental results on real-world datasets show that the proposed algorithm outperformed several existing online CF algorithms in terms of accuracy, memory consumption, and runtime. It was also observed that the proposed algorithm scaled well with the data rate and the data volume, and generated recommendations in a timely manner.
Keywords
Recommendation systems Collaborative filtering Social media GPU acceleration Data streamsNotes
Acknowledgments
This work was supported by the IT R&D program of MKE/KEIT, Korea. [10041709, Development of Key Technologies for Big Data Analysis and Management based on Next Generation Memory].
References
- 1.Su X, Khoshgoftaar TM (2009) A survey of collaborative filtering techniques. Adv Artif Intell 2009:4CrossRefGoogle Scholar
- 2.Deshpande M, Karypis G (2004) Item based top-N recommendation algorithms. ACM Trans Inf Syst 22(1):143–177CrossRefGoogle Scholar
- 3.Bobadilla J, Fernando O, Hernando A et al (2013) Recommender systems survey. Knowl Based Syst 46:109–132CrossRefGoogle Scholar
- 4.Pan R, Zhou Y, Cao B et al (2008) One-class collaborative filtering. In: Proceedings of the IEEE international conference on data mining, pp 502–511Google Scholar
- 5.Kitts B, Freed D, Vrieze M (2000) Cross-sell: a fast promotion-tunable customer-item recommendation method based on conditional independent probabilities. In: Proceedings of the ACM SIGKDD conference on knowledge discovery and data mining, pp 437–441Google Scholar
- 6.Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Internet Comput 7(1):76–80CrossRefGoogle Scholar
- 7.Sarwar B, Karypis G, Konstan J et al (2001) Item-based collaborative filtering recommendation algorithms. In: Proceedings of the ACM international conference on world wide web, pp 285–295Google Scholar
- 8.Das AS, Datar M, Garg A et al (2007) Google news personalization: scalable online collaborative filtering. In: Proceedings of the 16th international conference on world wide web, pp 271–280Google Scholar
- 9.Davidson J, Liebald B, Liu J et al (2010) The YouTube video recommendation system. In: Proceedings of the ACM RecSys, pp 293–296Google Scholar
- 10.Hofmann T (2004) Latent semantic models for collaborative filtering. ACM Trans Inf Syst 22(1):89–115CrossRefGoogle Scholar
- 11.Gemulla R, Nijkamp E, Haas PJ et al (2011) Large-scale matrix factorization with distributed stochastic gradient descent. In: Proceedings of the ACM SIGKDD conference on knowledge discovery and data mining, pp 69–77Google Scholar
- 12.Han S, Yang Y, Liu W (2011) Incremental learning for dynamic collaborative filtering. J Softw 6(6):969–976CrossRefGoogle Scholar
- 13.Narang A, Srivastava A, Katta NPK (2011) Distributed scalable collaborative filtering algorithm. In: Proceedings of Euro-Par conference, pp 353–365Google Scholar
- 14.Shang Y, Li Z, Qu W et al (2014) Scalable collaborative filtering recommendation algorithm with MapReduce. In: Proceedings of the IEEE international conference on dependable, autonomic and secure computing, pp 103–108Google Scholar
- 15.Wang Y, Liao X, Wu H et al (2012) Incremental collaborative filtering considering temporal effects. arXiv:1203.5415
- 16.Abernethy J, Canini K, Langford J et al (2007) Online collaborative filtering. Technical Report, University of California at BerkeleyGoogle Scholar
- 17.Agarwal D, Chen BC, Elango P (2010) Fast online learning through offline initialization for time-sensitive recommendation. In: Proceedings of the ACM SIGKDD conference on knowledge discovery and data mining, pp 703–712Google Scholar
- 18.Khoshneshin M, Street WN (2010) Incremental collaborative filtering via evolutionary co-clustering. In: Proceedings of the 4th ACM RecSys, pp 325–328Google Scholar
- 19.Li X, Barajas JM, Ding Y (2007) Collaborative filtering on streaming data with interest-drifting. Intell Data Anal 11(1):75–87Google Scholar
- 20.Ling G, Yang H, King I et al (2012) Online learning for collaborative filtering. In: Proceedings of the international joint conference on neural networks, pp 1–8Google Scholar
- 21.Luo X, Xia Y, Zhu Q (2012) Incremental collaborative filtering recommender based on regularized matrix factorization. Knowl Based Syst 27:271–280CrossRefGoogle Scholar
- 22.Luo X, Xia Y, Zhu Q et al (2013) Boosting the k-nearest-neighborhood based incremental collaborative filtering. Knowl Based Syst 53:90–99CrossRefGoogle Scholar
- 23.Miranda C, Jorge AM (2008) Incremental collaborative filtering for binary ratings. In: Proceedings of the IEEE/WIC/ACM international conference on web intelligence and intelligent agent technology, pp 389–392Google Scholar
- 24.Miranda C, Jorge AM (2009) Item-based and user-based incremental collaborative filtering for web recommendations. In: Proceedings of the portuguese conference on artificial intelligence, pp 673–684Google Scholar
- 25.Nilashi M, Jannach D, Ibrahim O et al (2015) Clustering-and regression-based multi-criteria collaborative filtering with incremental updates. Inf Sci 293:235–250CrossRefGoogle Scholar
- 26.Papagelis M, Rousidis I, Plexousakis D et al (2005) Incremental collaborative filtering for highly-scalable recommendation algorithms. In: Proceedings of the international conference on foundations of intelligent systems, pp 553–561Google Scholar
- 27.Takács G, Pilászy I, Németh B et al (2009) Scalable collaborative filtering approaches for large recommender systems. J Mach Learn Res 10:623–656Google Scholar
- 28.Vinagre J, Jorge AM, Gama J (2014) Fast incremental matrix factorization for recommendation with positive-only feedback. In: Proceedings of the international conference on user modeling, adaptation, and personalization, pp 459–470Google Scholar
- 29.Wang X, Zhang J (2014) Using incremental clustering technique in collaborative filtering data update. In: Proceedings of the IEEE international conference on information reuse and integration, pp 420–427Google Scholar
- 30.Ali M, Johnson CC, Tang AK (2011) Parallel collaborative filtering for streaming data. Technical Report, University of Texas AustinGoogle Scholar
- 31.Chandramouli B, Levandoski JJ, Eldawy A et al (2011) StreamRec: a real-time recommender system. In: Proceedings of the ACM SIGMOD, pp 1243–1246Google Scholar
- 32.Diaz-Aviles E, Drumond L, Schmidt-Thieme I et al (2012) Real-time top-N recommendation in social streams. In: Proceedings of the ACM RecSys, pp 59–66Google Scholar
- 33.Jamali M, Ester M (2010) A matrix factorization technique with trust propagation for recommendation in social networks. In: Proceedings of the ACM RecSys, pp 135–142Google Scholar
- 34.Matuszyk P, Spiliopoulou M (2014) Selective forgetting for incremental matrix factorization in recommender systems. In: Proceedings of the international conference on discovery science, pp 204–215Google Scholar
- 35.Matuszyk P, Vinagre J, Spiliopoulou M et al (2015) Forgetting methods for incremental matrix factorization in recommender systems. In: Proceedings of the ACM/ SIGAPP symposium on applied computing, pp 947–953Google Scholar
- 36.Nasraoui O, Cerwinske J, Rojas C et al (2007) Performance of recommendation systems in dynamic streaming environments. In: Proceedings of the SIAM international conference on data mining, pp 569–574Google Scholar
- 37.Vinagre J, Jorge AM (2012) Forgetting mechanisms for scalable collaborative filtering. J Braz Comput Socy 18(4):271–282CrossRefGoogle Scholar
- 38.Yu K, Xu X, Tao J et al (2002) Instance selection techniques for memory-based collaborative filtering. Proc SIAM Int Conf Data Mining 2(16):59–74Google Scholar
- 39.Bress S, Saake G (2013) Why it is time for a HyPE: a hybrid query processing engine for efficient GPU co-processing in DBMS. Proc Int Conf Very Large Data Bases 6(12):1398–1403Google Scholar
- 40.Farivar R, Rebolledo D, Chan E et al (2008) A parallel implementation of k-means clustering on GPUs. In: Proceedings of the international conference on parallel and distributed processing techniques and applications, pp 340–345Google Scholar
- 41.Garcia V, Debreuve E, Barlaud M (2008) Fast k-nearest neighbor search using GPU. In: Proceedings of the IEEE computer vision and pattern recognition workshops, pp 1–6Google Scholar
- 42.Steinkraus D, Buck I, Simard PY (2005) Using GPUs for machine learning algorithms. In: Proceedings of the IEEE international conference on document analysis and recognition, pp 1115–1120Google Scholar
- 43.Gao Z, Yuying L (2012) Improving the collaborative filtering recommender system by using GPU. In: Proceedings of the IEEE international conference on cyber-enabled distributed computing and knowledge discovery, pp 330–333Google Scholar
- 44.Kato K, Hosino T (2010) Solving k-nearest neighbor problem on multiple graphics processors. In: Proceedings of the IEEE/ACM international conference on cluster, cloud and grid computing, pp 769–773Google Scholar
- 45.Li R, Zhang Y, Yu H et al (2011) A social network-aware top-N recommender system using GPU. In: Proceedings of the ACM/IEEE joint conference on digital libraries, pp 287–296Google Scholar
- 46.Rodrigues A, Jorge AM, Dutra I (2015) Accelerating recommender systems using GPUs. In: Proceedings of the 30th ACM/SIGAPP symposium on applied computing, pp 879–884Google Scholar
- 47.Wang Z, Liu Y, Chiu S (2014) An efficient parallel collaborative filtering algorithm on multi-GPU platform. J Supercomput 72(6):2080–2094CrossRefGoogle Scholar
- 48.Ali M, Gerea C, Raman BS et al (2009) Microsoft CEP server and online behavioral targeting. Proc Int Conf Very Large Data Bases 2(2):1558–1561Google Scholar
- 49.HewaNadungodage C, Xia Y, Lee JJ et al (2013) GPU accelerated item-based collaborative filtering for big-data applications. In: Proceedings of the IEEE BigData conference, pp 175–180Google Scholar
- 50.Doychev D, Lawlor A, Rafter R et al (2014) An analysis of recommender algorithms for online news. In: CLEF working notes for CLEF 2014 conference, pp 825–836Google Scholar
- 51.Lommatzsch A, Albayrak S (2015) Real-time recommendations for user-item streams. In: Proceedings of the ACM/SIGAPP symposium on applied computing, pp 1039–1046Google Scholar
- 52.Verbitskiy I, Probst P, Lommatzsch A (2015) Developing and evaluation of a highly scalable news recommender system. In: CLEF working notes for CLEF 2015 conference, CEUR, vol. 1391Google Scholar
- 53.Werner S, Andreas L (2014) Optimizing and evaluating stream-based news recommendation algorithms. In: CLEF working notes for CLEF 2014 conference, pp 813–824Google Scholar
- 54.Kille B, Hopfgartner F, Brodt T et al (2013) The plista dataset. In: Proceedings of the ACM NRS workshop, pp 2–16Google Scholar
- 55.Cremonesi P, Koren Y, Turrin R (2010) Performance of recommender algorithms on top-N recommendation tasks. In: Proceedings of the ACM RecSys, pp 39–46Google Scholar