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.
Similar content being viewed by others
Notes
If c is not a multiple of 32, add padding bits of zeros to the end.
References
Su X, Khoshgoftaar TM (2009) A survey of collaborative filtering techniques. Adv Artif Intell 2009:4
Deshpande M, Karypis G (2004) Item based top-N recommendation algorithms. ACM Trans Inf Syst 22(1):143–177
Bobadilla J, Fernando O, Hernando A et al (2013) Recommender systems survey. Knowl Based Syst 46:109–132
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–511
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–441
Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Internet Comput 7(1):76–80
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–295
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–280
Davidson J, Liebald B, Liu J et al (2010) The YouTube video recommendation system. In: Proceedings of the ACM RecSys, pp 293–296
Hofmann T (2004) Latent semantic models for collaborative filtering. ACM Trans Inf Syst 22(1):89–115
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–77
Han S, Yang Y, Liu W (2011) Incremental learning for dynamic collaborative filtering. J Softw 6(6):969–976
Narang A, Srivastava A, Katta NPK (2011) Distributed scalable collaborative filtering algorithm. In: Proceedings of Euro-Par conference, pp 353–365
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–108
Wang Y, Liao X, Wu H et al (2012) Incremental collaborative filtering considering temporal effects. arXiv:1203.5415
Abernethy J, Canini K, Langford J et al (2007) Online collaborative filtering. Technical Report, University of California at Berkeley
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–712
Khoshneshin M, Street WN (2010) Incremental collaborative filtering via evolutionary co-clustering. In: Proceedings of the 4th ACM RecSys, pp 325–328
Li X, Barajas JM, Ding Y (2007) Collaborative filtering on streaming data with interest-drifting. Intell Data Anal 11(1):75–87
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–8
Luo X, Xia Y, Zhu Q (2012) Incremental collaborative filtering recommender based on regularized matrix factorization. Knowl Based Syst 27:271–280
Luo X, Xia Y, Zhu Q et al (2013) Boosting the k-nearest-neighborhood based incremental collaborative filtering. Knowl Based Syst 53:90–99
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–392
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–684
Nilashi M, Jannach D, Ibrahim O et al (2015) Clustering-and regression-based multi-criteria collaborative filtering with incremental updates. Inf Sci 293:235–250
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–561
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–656
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–470
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–427
Ali M, Johnson CC, Tang AK (2011) Parallel collaborative filtering for streaming data. Technical Report, University of Texas Austin
Chandramouli B, Levandoski JJ, Eldawy A et al (2011) StreamRec: a real-time recommender system. In: Proceedings of the ACM SIGMOD, pp 1243–1246
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–66
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–142
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–215
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–953
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–574
Vinagre J, Jorge AM (2012) Forgetting mechanisms for scalable collaborative filtering. J Braz Comput Socy 18(4):271–282
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–74
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–1403
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–345
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–6
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–1120
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–333
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–773
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–296
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–884
Wang Z, Liu Y, Chiu S (2014) An efficient parallel collaborative filtering algorithm on multi-GPU platform. J Supercomput 72(6):2080–2094
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–1561
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–180
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–836
Lommatzsch A, Albayrak S (2015) Real-time recommendations for user-item streams. In: Proceedings of the ACM/SIGAPP symposium on applied computing, pp 1039–1046
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. 1391
Werner S, Andreas L (2014) Optimizing and evaluating stream-based news recommendation algorithms. In: CLEF working notes for CLEF 2014 conference, pp 813–824
Kille B, Hopfgartner F, Brodt T et al (2013) The plista dataset. In: Proceedings of the ACM NRS workshop, pp 2–16
Cremonesi P, Koren Y, Turrin R (2010) Performance of recommender algorithms on top-N recommendation tasks. In: Proceedings of the ACM RecSys, pp 39–46
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].
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
HewaNadungodage, C., Xia, Y. & Lee, J.J. A GPU-oriented online recommendation algorithm for efficient processing of time-varying continuous data streams. Knowl Inf Syst 53, 637–670 (2017). https://doi.org/10.1007/s10115-016-0967-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10115-016-0967-3