Giter Site home page Giter Site logo

tsinghua-fib-lab / graph-denoising-socialrec Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 3.0 47.4 MB

The official implementation of "Robust Preference-Guided Denoising for Graph based Social Recommendation" (WWW'23)

Python 99.45% Shell 0.55%
denoising-recommendation graph-neural-networks social-recommendation

graph-denoising-socialrec's Introduction

GDMSR

This is the official implementation of the WWW 2023 paper Robust Preference-Guided Denoising for Graph based Social Recommendation.

In this paper, we instead propose to improve graph based social recommendation by only retaining the informative social relations to ensure an efcient and efective infuence difusion, i.e., graph denoising. Our designed denoising method is preference-guided to model social relation confdence and benefts user preference learning in return by providing a denoised but more informative social graph for recommendation models. Moreover, to avoid interference of noisy social relations, it designs a self-correcting curriculum learning module and an adaptive denoising strategy, both favoring highly-confdent samples. Experimental results on three public datasets demonstrate its consistent capability of improving three state-of-the-art social recommendation models by robustly removing 10-40% of original relations.

Architecture

Loading Model Overview

Environment

  • Tested OS: Linux
  • Python >= 3.7
  • PyTorch == 1.7.1

Data

We provide all three datasets we used in our experiments, all in the data folder

For each dataset, in addition to the u-i and u-u relation data, we also provide the negative samples used to calculate the metrics, as well as some other pre-processed data to reduce computation, such as user_item_dict.pkl, user_visited_dict.pkl and visited_and_mask_matrix_30.pkl.

For the new dataset, we have provided the data processing code that you can use by input the u-i and u-u relation data in data_process.py

Model Training

To run the experiments, the scripts we provide can be used directly:

./run.sh

graph-denoising-socialrec's People

Contributors

quanyuhan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

graph-denoising-socialrec's Issues

How to get social recommendation outputs?

I am using the code from your paper for a social recommendation task and I cannot figure out how to obtain the recommendation outputs. It seems like your NDCG score is calculated based on user-item interaction but not user-user interaction. If I have to obtain which new users can be recommended to a given user, how would I get that output from the model?

实验

老师你好,请教一下您提出的这个方法如何运用到已有模型中?如lightgcn模型,文章中将方法加入基线模型中得到结果,您提供的代码是不是不包括基线模型,

baseline

作者你好!我看文中采用lightgcn等模型作为基线,附加去噪方法,但是我通读代码并没有发现基线这块代码,请问这块代码是在哪里?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.