Skip to content
forked from hadoov/GHRS

GHRS: Graph-based hybrid recommendation system with application to movie recommendation

Notifications You must be signed in to change notification settings

zamanzadeh/GHRS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GHRS: Graph-based hybrid recommendation system

PWC PWC

"This repo is being updated. Please Watch the repo for upcoming updates and codes"

Partial implementation for : GHRS: Graph-based hybrid recommendation system with application to movie recommendation [pre-print on arXiv]

Summary

GHRS is a Graph-based hybrid recommendation system for movie recommendation

Research about recommender systems has emerged over the last decade and comprises valuable services to increase different companies' revenue. Several approaches exist in handling paper recommender systems. While most existing recommender systems rely either on a content-based approach or a collaborative approach, there are hybrid approaches that can improve recommendation accuracy using a combination of both approaches. Even though many algorithms are proposed using such methods, further improvement is still necessary. In this paper, we propose a recommender system method using a graph-based model associated with the similarity of users' ratings in combination with users' demographic and location information. By utilizing the advantages of Autoencoder feature extraction, we extract new features based on all combined attributes. Using the new set of features for clustering users, our proposed approach (GHRS) has gained a significant improvement, which dominates other methods' performance in the cold-start problem. The experimental results on the MovieLens dataset show that the proposed algorithm outperforms many existing recommendation algorithms in terms of recommendation accuracy. [1]

The framework of the proposed recommendation system. The method encodes the combined features with an autoencoder and creates the model by clustering the users using the encoded features (upper part). At last, a preference-based ranking model is used to retrieve the predicted movie rank for the target user (lower part)

The framework of the proposed recommendation system. The method encodes the combined features with an autoencoder and creates the model by clustering the users using the encoded features (upper part). At last, a preference-based ranking model is used to retrieve the predicted movie rank for the target user (lower part)

Required Libraries

  • ScikitLearn
  • Tensorflow
  • Keras
  • Networkx

Scripts

Feature100K.py: Creates similarity graph between users, extracts graph features and generates the final feature vector by combining the graph features and categorized side information for users (Steps 1, 2 and 3 of GHRS) on dataset MovieLens 100K [2].

Feature1M.py: Creates similarity graph between users, extracts graph features and generates the final feature vector by combining the graph features and categorized side information for users (Steps 1, 2 and 3 of GHRS) on dataset MovieLens 1M [2].

Data

 |-datasets
 | |-ml-100k	# MovieLens 100K dataset files
 | |-ml-1m		# MovieLens 1M dataset files
 |-data100k		# Combined features (graph features and side information) for a specific value of alpha for dataset MovieLens 100K
 | |-x_train_alpha(0.005).pkl
 | |-x_train_alpha(0.01).pkl
 | |...
 |-data1m		# Combined features (graph features and side information) for a specific value of alpha for dataset MovieLens 1M
 | |-x_train_alpha(0.005).pkl
 | |-x_train_alpha(0.01).pkl
 | |...
 | ...

Citation

If you find this research interesting or this repo useful, please cite the main article:

@article{darban2022ghrs,
  title={GHRS: Graph-based hybrid recommendation system with application to movie recommendation},
  author={Darban, Zahra Zamanzadeh and Valipour, Mohammad Hadi},
  journal={Expert Systems with Applications},
  pages={116850},
  year={2022},
  publisher={Elsevier}
}

References

[1] Darban, Z. Z., & Valipour, M. H. (2022). GHRS: Graph-based hybrid recommendation system with application to movie recommendation. Expert Systems with Applications, 116850.

[2] Harper, F. M., & Konstan, J. A. (2015). The movielens datasets: History and context. Acm transactions on interactive intelligent systems (tiis), 5(4), 1-19.

About

GHRS: Graph-based hybrid recommendation system with application to movie recommendation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.4%
  • Perl 10.6%