{"id":15031606,"url":"https://github.com/coder-yu/qrec","last_synced_at":"2025-05-15T14:03:42.081Z","repository":{"id":37387816,"uuid":"69109444","full_name":"Coder-Yu/QRec","owner":"Coder-Yu","description":"QRec: A Python Framework for quick implementation of recommender systems (TensorFlow Based)","archived":false,"fork":false,"pushed_at":"2023-12-26T19:46:15.000Z","size":18886,"stargazers_count":1614,"open_issues_count":0,"forks_count":405,"subscribers_count":66,"default_branch":"master","last_synced_at":"2025-04-15T03:52:37.754Z","etag":null,"topics":["algorithm","deep-learning","recommender-system","social-recommendation","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Coder-Yu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-09-24T15:10:35.000Z","updated_at":"2025-04-11T13:58:38.000Z","dependencies_parsed_at":"2024-01-14T15:21:43.634Z","dependency_job_id":"0fc3694a-4477-4728-a318-186e5aed9efc","html_url":"https://github.com/Coder-Yu/QRec","commit_stats":{"total_commits":713,"total_committers":16,"mean_commits":44.5625,"dds":"0.45021037868162694","last_synced_commit":"8d60787855b9f1858d503de9a3f455a1265fa1db"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-Yu%2FQRec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-Yu%2FQRec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-Yu%2FQRec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-Yu%2FQRec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Coder-Yu","download_url":"https://codeload.github.com/Coder-Yu/QRec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003955,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","deep-learning","recommender-system","social-recommendation","tensorflow"],"created_at":"2024-09-24T20:16:10.387Z","updated_at":"2025-04-15T03:52:44.958Z","avatar_url":"https://github.com/Coder-Yu.png","language":"Python","readme":"\u003cimg src=\"https://raw.githubusercontent.com/Coder-Yu/QRec/master/logo.png\" alt=\"logo\" width=\"400\" border=\"0\"\u003e\u003cbr\u003e\n\u003cp float=\"left\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-v3.7-red\"\u003e \u003cimg src=\"https://img.shields.io/badge/tensorflow-v1.14-blue\"\u003e \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/Coder-Yu/QRec\"\u003e\u003c/p\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\n**QRec** is a Python framework for recommender systems (Supported by Python 3.7.4 and Tensorflow 1.14+) in which a number of influential and newly state-of-the-art recommendation models are implemented. QRec has a lightweight architecture and provides user-friendly interfaces. It can facilitate model implementation and evaluation.\n\u003cbr\u003e\n**Founder and principal contributor**: [@Coder-Yu ](https://github.com/Coder-Yu)\u003cbr\u003e\n**Other contributors**: [@DouTong](https://github.com/DouTong) [@Niki666](https://github.com/Niki666) [@HuXiLiFeng](https://github.com/HuXiLiFeng) [@BigPowerZ](https://github.com/BigPowerZ) [@flyxu](https://github.com/flyxu)\u003cbr\u003e\n**Supported by**: [@AIhongzhi](https://github.com/AIhongzhi) (\u003ca href=\"https://sites.google.com/view/hongzhi-yin/home\"\u003eA/Prof. Hongzhi Yin\u003c/a\u003e, UQ), [@mingaoo](https://github.com/mingaoo) (\u003ca href=\"http://www.cse.cqu.edu.cn/info/2096/3497.htm\"\u003eA/Prof. Min Gao\u003c/a\u003e, CQU) \u003cbr\u003e \n\u003cbr\u003e\n**We also provide Pytorch implementations of some models in another library. Please click [here](https://github.com/Coder-Yu/SELFRec)**\n\n\u003ch2\u003eWhat's New\u003c/h2\u003e\n\u003cp\u003e\n31/03/2022 - SimGCL proposed in our SIGIR'22 paper has been added. \u003cbr\u003e\n12/10/2021 - BUIR proposed in SIGIR'21 paper has been added. \u003cbr\u003e\n30/07/2021 - We have transplanted QRec from py2 to py3. \u003cbr\u003e\n07/06/2021 - SEPT proposed in our KDD'21 paper has been added. \u003cbr\u003e\n16/05/2021 - SGL proposed in SIGIR'21 paper has been added. \u003cbr\u003e\n16/01/2021 - MHCN proposed in our WWW'21 paper has been added.\u003cbr\u003e\n22/09/2020 - DiffNet proposed in SIGIR'19 has been added. \u003cbr\u003e\n19/09/2020 - DHCF proposed in KDD'20 has been added. \u003cbr\u003e\n29/07/2020 - ESRF proposed in my TKDE paper has been added. \u003cbr\u003e\n23/07/2020 - LightGCN proposed in SIGIR'20 has been added. \u003cbr\u003e\n17/09/2019 - NGCF proposed in SIGIR'19 has been added. \u003cbr\u003e\n13/08/2019 - RSGAN proposed in ICDM'19 has been added.\u003cbr\u003e\n09/08/2019 - Our paper is accepted as full research paper by ICDM'19. \u003cbr\u003e\n20/02/2019 - IRGAN proposed in SIGIR'17 has been added. \u003cbr\u003e\n12/02/2019 - CFGAN proposed in CIKM'18 has been added.\u003cbr\u003e\n\u003c/p\u003e\n\n\u003ch2\u003eArchitecture\u003c/h2\u003e\n\n![QRec Architecture](https://i.ibb.co/zJwLXnb/architecture.png)\n\n\u003ch2\u003eWorkflow\u003c/h2\u003e\n\n![QRec Architecture](https://i.ibb.co/7W9xTfd/workflow.png)\n\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eCross-platform\u003c/b\u003e: QRec can be easily deployed and executed in any platforms, including MS Windows, Linux and Mac OS.\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eFast execution\u003c/b\u003e: QRec is based on Numpy, Tensorflow and some lightweight structures, which make it run fast.\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eEasy configuration\u003c/b\u003e: QRec configs recommenders with a configuration file and provides multiple evaluation protocols.\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eEasy expansion\u003c/b\u003e: QRec provides a set of well-designed recommendation interfaces by which new algorithms can be easily implemented.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRequirements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003egensim==4.1.2\u003c/li\u003e\n\u003cli\u003ejoblib==1.1.0\u003c/li\u003e\n\u003cli\u003emkl==2022.0.0\u003c/li\u003e\n\u003cli\u003emkl_service==2.4.0\u003c/li\u003e\n\u003cli\u003enetworkx==2.6.2\u003c/li\u003e\n\u003cli\u003enumba==0.53.1\u003c/li\u003e\n\u003cli\u003enumpy==1.20.3\u003c/li\u003e\n\u003cli\u003escipy==1.6.2\u003c/li\u003e\n\u003cli\u003etensorflow==1.14.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUsage\u003c/h2\u003e\n\u003cp\u003eThere are two ways to run the recommendation models in QRec:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e1.Configure the xx.conf file in the directory named config. (xx is the name of the model you want to run)\u003c/li\u003e\n\u003cli\u003e2.Run main.py.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOr\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFollow the codes in snippet.py.\u003c/li\u003e\n\u003c/ul\u003e\n        \nFor more details, we refer you to the [handbook of QRec](https://www.showdoc.com.cn/QRecHelp/7342003725025529).           \n\n\n\u003ch2\u003eConfiguration\u003c/h2\u003e\n\u003ch3\u003eEssential Options\u003c/h3\u003e\n\u003cdiv\u003e\n \u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n    \u003cth width=\"12%\" scope=\"col\"\u003e Entry\u003c/th\u003e\n    \u003cth width=\"23%\" class=\"conf\" scope=\"col\"\u003eExample\u003c/th\u003e\n    \u003cth width=\"65%\" class=\"conf\" scope=\"col\"\u003eDescription\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eratings\u003c/td\u003e\n    \u003ctd\u003eD:/MovieLens/100K.txt\u003c/td\u003e\n    \u003ctd\u003eSet the file path of the dataset. Format: each row separated by empty, tab or comma symbol. \u003c/td\u003e\n  \u003c/tr\u003e\n \u003ctr\u003e\n    \u003ctd\u003esocial\u003c/td\u003e\n    \u003ctd\u003eD:/MovieLens/trusts.txt\u003c/td\u003e\n    \u003ctd\u003eSet the file path of the social dataset. Format: each row separated by empty, tab or comma symbol. \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eratings.setup\u003c/td\u003e\n    \u003ctd\u003e-columns 0 1 2\u003c/td\u003e\n    \u003ctd\u003e-columns: (user, item, rating) columns of rating data are used.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003esocial.setup\u003c/td\u003e\n    \u003ctd\u003e-columns 0 1 2\u003c/td\u003e\n    \u003ctd\u003e-columns: (trustor, trustee, weight) columns of social data are used.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003emode.name\u003c/td\u003e\n    \u003ctd\u003eUserKNN\u003c/td\u003e\n    \u003ctd\u003ename of the recommendation model. \u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eevaluation.setup\u003c/td\u003e\n    \u003ctd\u003e-testSet ./dataset/test.txt \u003c/td\u003e\n    \u003ctd\u003eMain option: -testSet, -ap, -cv (choose one of them) \u003cbr\u003e\n      -testSet path/to/test/file (need to specify the test set manually)\u003cbr\u003e\n      -ap ratio (ap means that the ratings are automatically partitioned into training set and test set, the number is the ratio of the test set. e.g. -ap 0.2)\u003cbr\u003e\n      -cv k (-cv means cross validation, k is the number of the fold. e.g. -cv 5)\u003cbr\u003e\n      -predict path/to/user list/file (predict for a given list of users without evaluation; need to mannually specify the user list file (each line presents a user)) \u003cbr\u003e\n      Secondary option:-b, -p, -cold, -tf, -val (multiple choices) \u003cbr\u003e\n      \u003cb\u003e-val ratio \u003c/b\u003e (model test would be conducted on the validation set which is generated by randomly sampling the training dataset with the given ratio.)\u003cbr\u003e \n      -b thres （binarizing the rating values. Ratings equal or greater than thres will be changed into 1, and ratings lower than thres will be left out. e.g. -b 3.0）\u003cbr\u003e\n      -p (if this option is added, the cross validation wll be executed parallelly, otherwise executed one by one) \u003cbr\u003e\n      \u003cb\u003e-tf \u003c/b\u003e (model training will be conducted on TensorFlow (only applicable and needed for shallow models)) \u003cbr\u003e\n      -cold thres (evaluation on cold-start users; users in the training set with rated items more than thres will be removed from the test set)\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eitem.ranking\u003c/td\u003e\n    \u003ctd\u003eoff -topN -1 \u003c/td\u003e\n    \u003ctd\u003eMain option: whether to do item ranking\u003cbr\u003e\n      -topN N1,N2,N3...: the length of the recommendation list. *QRec can generate multiple evaluation results for different N at the same time\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eoutput.setup\u003c/td\u003e\n    \u003ctd\u003eon -dir ./Results/\u003c/td\u003e\n    \u003ctd\u003eMain option: whether to output recommendation results\u003cbr\u003e\n      -dir path: the directory path of output results.\n       \u003c/td\u003e\n  \u003c/tr\u003e  \n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch3\u003eMemory-based Options\u003c/h3\u003e\n\u003cdiv\u003e\n\u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003esimilarity\u003c/td\u003e\n    \u003ctd\u003epcc/cos\u003c/td\u003e\n    \u003ctd\u003eSet the similarity method to use. Options: PCC, COS;\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003enum.neighbors\u003c/td\u003e\n    \u003ctd\u003e30\u003c/td\u003e\n    \u003ctd\u003eSet the number of neighbors used for KNN-based algorithms such as UserKNN, ItemKNN. \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch3\u003eModel-based Options\u003c/h3\u003e\n\u003cdiv\u003e\n \u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003enum.factors\u003c/td\u003e\n    \u003ctd\u003e5/10/20/number\u003c/td\u003e\n    \u003ctd\u003eSet the number of latent factors\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003enum.max.epoch\u003c/td\u003e\n    \u003ctd\u003e100/200/number\u003c/td\u003e\n    \u003ctd\u003eSet the maximum number of epoch for iterative recommendation algorithms. \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003elearnRate\u003c/td\u003e\n    \u003ctd\u003e-init 0.01 -max 1\u003c/td\u003e\n    \u003ctd\u003e-init initial learning rate for iterative recommendation algorithms; \u003cbr\u003e\n      -max: maximum learning rate (default 1);\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003ereg.lambda\u003c/td\u003e\n    \u003ctd\u003e-u 0.05 -i 0.05 -b 0.1 -s 0.1\u003c/td\u003e\n    \u003ctd\u003e\n      -u: user regularizaiton; -i: item regularization; -b: bias regularizaiton; -s: social regularization\u003c/td\u003e\n  \u003c/tr\u003e \n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch2\u003eImplement Your Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1.Make your new algorithm generalize the proper base class.\u003c/li\u003e\n\u003cli\u003e2.Reimplement some of the following functions as needed.\u003c/li\u003e\n\u003c/ul\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- readConfiguration()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- printAlgorConfig()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- initModel()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- trainModel()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- saveModel()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- loadModel()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- predictForRanking()\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- predict()\u003cbr\u003e\n\u003cbr\u003e\n\nFor more details, we refer you to the [handbook of QRec](https://www.showdoc.com.cn/1526742200869027/7347975167213420).           \n\n\u003ch2\u003eImplemented Algorithms\u003c/h2\u003e\n\u003cdiv\u003e\n\n \u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n\t\t\u003cth\u003eRating prediction\u003c/th\u003e\n\t\t\u003cth\u003ePaper\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eSlopeOne\u003c/td\u003e\n    \u003ctd\u003eLemire and Maclachlan, Slope One Predictors for Online Rating-Based Collaborative Filtering, SDM'05.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003ePMF\u003c/td\u003e\n    \u003ctd\u003eSalakhutdinov and Mnih, Probabilistic Matrix Factorization, NIPS'08.\n     \u003c/td\u003e\n  \u003c/tr\u003e \n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSoRec\u003c/td\u003e\n    \u003ctd\u003eMa et al., SoRec: Social Recommendation Using Probabilistic Matrix Factorization, SIGIR'08.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSVD++\u003c/td\u003e\n    \u003ctd\u003eKoren, Factorization meets the neighborhood: a multifaceted collaborative filtering model, SIGKDD'08.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eRSTE\u003c/td\u003e\n    \u003ctd\u003eMa et al., Learning to Recommend with Social Trust Ensemble, SIGIR'09.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSVD\u003c/td\u003e\n    \u003ctd\u003eY. Koren, Collaborative Filtering with Temporal Dynamics, SIGKDD'09.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSocialMF\u003c/td\u003e\n    \u003ctd\u003eJamali and Ester, A Matrix Factorization Technique with Trust Propagation for Recommendation in Social Networks, RecSys'10.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eEE\u003c/td\u003e\n    \u003ctd\u003eKhoshneshin et al., Collaborative Filtering via Euclidean Embedding, RecSys'10.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSoReg\u003c/td\u003e\n    \u003ctd\u003eMa et al., Recommender systems with social regularization, WSDM'11.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eLOCABAL\u003c/td\u003e\n    \u003ctd\u003eTang, Jiliang, et al. Exploiting local and global social context for recommendation, AAAI'13.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSREE\u003c/td\u003e\n    \u003ctd\u003eLi et al., Social Recommendation Using Euclidean embedding, IJCNN'17.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eCUNE-MF\u003c/td\u003e\n    \u003ctd\u003eZhang et al., Collaborative User Network Embedding for Social Recommender Systems, SDM'17.\n     \u003c/td\u003e\n  \u003c/table\u003e\n\n  \u003cbr\u003e\n  \u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n\t\t\u003cth\u003eItem Ranking\u003c/th\u003e\n\t\t\u003cth\u003ePaper\u003c/th\u003e\n\n   \u003c/tr\u003e\n  \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eBPR\u003c/td\u003e\n    \u003ctd\u003eRendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback, UAI'09.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eWRMF\u003c/td\u003e\n    \u003ctd\u003eYifan Hu et al.Collaborative Filtering for Implicit Feedback Datasets, KDD'09.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eSBPR\u003c/td\u003e\n    \u003ctd\u003eZhao et al., Leveraing Social Connections to Improve Personalized Ranking for Collaborative Filtering, CIKM'14\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eExpoMF\u003c/td\u003e\n    \u003ctd\u003eLiang et al., Modeling User Exposure in Recommendation, WWW''16.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eCoFactor\u003c/td\u003e\n    \u003ctd\u003eLiang et al., Factorization Meets the Item Embedding: Regularizing Matrix Factorization with Item Co-occurrence, RecSys'16.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eTBPR\u003c/td\u003e\n    \u003ctd\u003eWang et al. Social Recommendation with Strong and Weak Ties, CIKM'16'.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eCDAE\u003c/td\u003e\n    \u003ctd\u003eWu et al., Collaborative Denoising Auto-Encoders for Top-N Recommender Systems, WSDM'16'.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eDMF\u003c/td\u003e\n    \u003ctd\u003eXue et al., Deep Matrix Factorization Models for Recommender Systems, IJCAI'17'.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eNeuMF\u003c/td\u003e\n    \u003ctd\u003eHe et al. Neural Collaborative Filtering, WWW'17.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eCUNE-BPR\u003c/td\u003e\n    \u003ctd\u003eZhang et al., Collaborative User Network Embedding for Social Recommender Systems, SDM'17'.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n   \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eIRGAN\u003c/td\u003e\n    \u003ctd\u003eWang et al., IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models, SIGIR'17'.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eSERec\u003c/td\u003e\n    \u003ctd\u003eWang et al., Collaborative Filtering with Social Exposure: A Modular Approach to Social Recommendation, AAAI'18'.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n\t\u003ctd scope=\"row\"\u003eAPR\u003c/td\u003e\n    \u003ctd\u003eHe et al., Adversarial Personalized Ranking for Recommendation, SIGIR'18'.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eIF-BPR\u003c/td\u003e\n    \u003ctd\u003eYu et al. Adaptive Implicit Friends Identification over Heterogeneous Network for Social Recommendation, CIKM'18'.\n     \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eCFGAN\u003c/td\u003e\n    \u003ctd\u003eChae et al. CFGAN: A Generic Collaborative Filtering Framework based\non Generative Adversarial Networks, CIKM'18.\n     \u003c/td\u003e    \n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eNGCF\u003c/td\u003e\n        \u003ctd\u003eWang et al. Neural Graph Collaborative Filtering, SIGIR'19'.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eDiffNet\u003c/td\u003e\n        \u003ctd\u003eWu et al. A Neural Influence Diffusion Model for Social Recommendation, SIGIR'19'.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eRSGAN\u003c/td\u003e\n        \u003ctd\u003eYu et al. Generating Reliable Friends via Adversarial Learning to Improve Social Recommendation, ICDM'19'.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eLightGCN\u003c/td\u003e\n        \u003ctd\u003eHe et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation, SIGIR'20.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eDHCF\u003c/td\u003e\n        \u003ctd\u003eJi et al. Dual Channel Hypergraph Collaborative Filtering, KDD'20.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eESRF\u003c/td\u003e\n        \u003ctd\u003eYu et al. Enhancing Social Recommendation with Adversarial Graph Convlutional Networks, TKDE'20.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eMHCN\u003c/td\u003e\n        \u003ctd\u003eYu et al. Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation, WWW'21.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSGL\u003c/td\u003e\n        \u003ctd\u003eWu et al. Self-supervised Graph Learning for Recommendation, SIGIR'21.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSEPT\u003c/td\u003e\n        \u003ctd\u003eYu et al. Socially-Aware Self-supervised Tri-Training for Recommendation, KDD'21.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n          \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eBUIR\u003c/td\u003e\n        \u003ctd\u003eLee et al. Bootstrapping User and Item Representations for One-Class Collaborative Filtering, SIGIR'21.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n    \u003ctd scope=\"row\"\u003eSimGCL\u003c/td\u003e\n        \u003ctd\u003eYu et al. Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation, SIGIR'22.\n         \u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\n\u003ch2\u003eRelated Datasets\u003c/h2\u003e\n\u003cdiv\u003e\n \u003ctable class=\"table table-hover table-bordered\"\u003e\n  \u003ctr\u003e\n    \u003cth rowspan=\"2\" scope=\"col\"\u003eData Set\u003c/th\u003e\n    \u003cth colspan=\"5\" scope=\"col\" class=\"text-center\"\u003eBasic Meta\u003c/th\u003e\n    \u003cth colspan=\"3\" scope=\"col\" class=\"text-center\"\u003eUser Context\u003c/th\u003e \n    \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003cth class=\"text-center\"\u003eUsers\u003c/th\u003e\n    \u003cth class=\"text-center\"\u003eItems\u003c/th\u003e\n    \u003cth colspan=\"2\" class=\"text-center\"\u003eRatings (Scale)\u003c/th\u003e\n    \u003cth class=\"text-center\"\u003eDensity\u003c/th\u003e\n    \u003cth class=\"text-center\"\u003eUsers\u003c/th\u003e\n    \u003cth colspan=\"2\" class=\"text-center\"\u003eLinks (Type)\u003c/th\u003e\n    \u003c/tr\u003e \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://pan.baidu.com/s/1qY7Ek0W\" target=\"_blank\"\u003e\u003cb\u003eCiao\u003c/b\u003e\u003c/a\u003e [1]\u003c/td\u003e\n    \u003ctd\u003e7,375\u003c/td\u003e\n    \u003ctd\u003e105,114\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e284,086\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003e[1, 5]\u003c/td\u003e\n    \u003ctd\u003e0.0365%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e7,375\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e111,781\u003c/td\u003e\n    \u003ctd\u003eTrust\u003c/td\u003e\n    \u003c/tr\u003e \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"http://www.trustlet.org/downloaded_epinions.html\" target=\"_blank\"\u003e\u003cb\u003eEpinions\u003c/b\u003e\u003c/a\u003e [2]\u003c/td\u003e\n    \u003ctd\u003e40,163\u003c/td\u003e\n    \u003ctd\u003e139,738\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e664,824\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003e[1, 5]\u003c/td\u003e\n    \u003ctd\u003e0.0118%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e49,289\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e487,183\u003c/td\u003e\n    \u003ctd\u003eTrust\u003c/td\u003e\n    \u003c/tr\u003e \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://pan.baidu.com/s/1hrJP6rq\" target=\"_blank\"\u003e\u003cb\u003eDouban\u003c/b\u003e\u003c/a\u003e [3]\u003c/td\u003e\n    \u003ctd\u003e2,848\u003c/td\u003e\n    \u003ctd\u003e39,586\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e894,887\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003e[1, 5]\u003c/td\u003e\n    \u003ctd\u003e0.794%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e2,848\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e35,770\u003c/td\u003e\n    \u003ctd\u003eTrust\u003c/td\u003e\n    \u003c/tr\u003e \n\t \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"http://files.grouplens.org/datasets/hetrec2011/hetrec2011-lastfm-2k.zip\" target=\"_blank\"\u003e\u003cb\u003eLastFM\u003c/b\u003e\u003c/a\u003e [4]\u003c/td\u003e\n    \u003ctd\u003e1,892\u003c/td\u003e\n    \u003ctd\u003e17,632\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e92,834\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003eimplicit\u003c/td\u003e\n    \u003ctd\u003e0.27%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e1,892\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e25,434\u003c/td\u003e\n    \u003ctd\u003eTrust\u003c/td\u003e\n    \u003c/tr\u003e \n    \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.dropbox.com/sh/h97ymblxt80txq5/AABfSLXcTu0Beib4r8P5I5sNa?dl=0\" target=\"_blank\"\u003e\u003cb\u003eYelp\u003c/b\u003e\u003c/a\u003e [5]\u003c/td\u003e\n    \u003ctd\u003e19,539\u003c/td\u003e\n    \u003ctd\u003e21,266\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e450,884\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003eimplicit\u003c/td\u003e\n    \u003ctd\u003e0.11%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e19,539\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e864,157\u003c/td\u003e\n    \u003ctd\u003eTrust\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.dropbox.com/sh/20l0xdjuw0b3lo8/AABBZbRg9hHiN42EHqBSvLpta?dl=0\" target=\"_blank\"\u003e\u003cb\u003eAmazon-Book\u003c/b\u003e\u003c/a\u003e [6]\u003c/td\u003e\n    \u003ctd\u003e52,463\u003c/td\u003e\n    \u003ctd\u003e91,599\u003c/td\u003e\n    \u003ctd width=\"6%\"\u003e2,984,108\u003c/td\u003e\n    \u003ctd width=\"10%\"\u003eimplicit\u003c/td\u003e\n    \u003ctd\u003e0.11%\u003c/td\u003e\n    \u003ctd width=\"4%\"\u003e-\u003c/td\u003e\n    \u003ctd width=\"5%\"\u003e-\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e  \n  \u003c/table\u003e\n\u003c/div\u003e\n\n\n\u003ch3\u003eReference\u003c/h3\u003e\n\u003cp\u003e[1]. Tang, J., Gao, H., Liu, H.: mtrust:discerning multi-faceted trust in a connected world. In: International Conference on Web Search and Web Data Mining, WSDM 2012, Seattle, Wa, Usa, February. pp. 93–102 (2012)\u003c/p\u003e\n\u003cp\u003e[2]. Massa, P., Avesani, P.: Trust-aware recommender systems. In: Proceedings of the 2007 ACM conference on Recommender systems. pp. 17–24. ACM (2007) \u003c/p\u003e\n\u003cp\u003e[3]. G. Zhao, X. Qian, and X. Xie, “User-service rating prediction by exploring social users’ rating behaviors,” IEEE Transactions on Multimedia, vol. 18, no. 3, pp. 496–506, 2016.\u003c/p\u003e\n\u003cp\u003e[4]. Iván Cantador, Peter Brusilovsky, and Tsvi Kuflik. 2011. 2nd Workshop on Information Heterogeneity and Fusion in Recom- mender Systems (HetRec 2011). In Proceedings of the 5th ACM conference on Recommender systems (RecSys 2011). ACM, New York, NY, USA\u003c/p\u003e\n\u003cp\u003e[5]. Yu et al. Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation, WWW'21.\u003c/p\u003e\n\u003cp\u003e[6]. He et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation, SIGIR'20.\u003c/p\u003e\n\u003ch2\u003eAcknowledgment\u003c/h2\u003e\n\u003cp\u003eThis project is supported by the Responsible Big Data Intelligence Lab (RBDI) at the school of ITEE, University of Queensland, and Chongqing University.\u003c/p\u003e\n\nIf our project is helpful to you, please cite one of these papers.\u003cbr\u003e\n\u003cbr\u003e\n@inproceedings{yu2021socially,\u003cbr\u003e\n  title={Socially-aware self-supervised tri-training for recommendation},\u003cbr\u003e\n  author={Yu, Junliang and Yin, Hongzhi and Gao, Min and Xia, Xin and Zhang, Xiangliang and Viet Hung, Nguyen Quoc},\u003cbr\u003e\n  booktitle={Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery \\\u0026 Data Mining},\u003cbr\u003e\n  pages={2084--2092},\u003cbr\u003e\n  year={2021}\u003cbr\u003e\n}\n\u003cbr\u003e\n\u003cbr\u003e\n@inproceedings{yu2021self,\u003cbr\u003e\n  title={Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation},\u003cbr\u003e\n  author={Yu, Junliang and Yin, Hongzhi and Li, Jundong and Wang, Qinyong and Hung, Nguyen Quoc Viet and Zhang, Xiangliang},\u003cbr\u003e\n  booktitle={Proceedings of the Web Conference 2021},\u003cbr\u003e\n  pages={413--424},\u003cbr\u003e\n  year={2021}\u003cbr\u003e\n}\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoder-yu%2Fqrec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoder-yu%2Fqrec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoder-yu%2Fqrec/lists"}