Giter Site home page Giter Site logo

hkuds / dsl Goto Github PK

View Code? Open in Web Editor NEW
23.0 4.0 3.0 130.93 MB

[IJCAI'2023] "DSL: Denoised Self-Augmented Learning for Social Recommendation"

Home Page: https://arxiv.org/abs/2305.12685

Python 97.57% Shell 2.43%
data-augmentation graph-neural-networks recommender-systems self-supervised-learning social-recommendation

dsl's Introduction

Denoised Self-Augmented Learning for Social Recommendation (DSL)

Tianle Wang, Lianghao Xia, Chao Huang*. (*Correspondence)

This is the PyTorch-based implementation for DSL model proposed in this paper:

Denoised Self-Augmented Learning for Social Recommendation

model

Abstract

Social recommendation is gaining increasing attention in various online applications, including e-commerce and online streaming, where social information is leveraged to improve user-item interaction modeling. Recently, Self-Supervised Learning (SSL) has proven to be remarkably effective in addressing data sparsity through augmented learning tasks. Inspired by this, researchers have attempted to incorporate SSL into social recommendation by supplementing the primary supervised task with social-aware self-supervised signals. However, social information can be unavoidably noisy in characterizing user preferences due to the ubiquitous presence of interest-irrelevant social connections, such as colleagues or classmates who do not share many common interests. To address this challenge, we propose a novel social recommender called the Denoised Self-Augmented Learning paradigm (DSL). Our model not only preserves helpful social relations to enhance user-item interaction modeling but also enables personalized cross-view knowledge transfer through adaptive semantic alignment in embedding space. Our experimental results on various recommendation benchmarks confirm the superiority of our DSL over state-of-the-art methods.

Environment

The implementation for DSL is under the following development environment:

  • python=3.8
  • torch=1.12.1
  • numpy=1.23.2
  • scipy=1.9.1

Datasets

Our experiments are conducted on three benchmark datasets collected from Ciao, Epinions and Yelp online platforms. In those sites, social connections can be established among users in addition to their observed implicit feedback (e.g., rating, click) over different items.

Dataset # Users # Items # Interactions Interaction Density # Social Ties
Ciao 6,672 98,875 198,181 0.0300% 109,503
Epinions 11,111 190,774 247,591 0.0117% 203,989
Yelp 161,305 114,852 1,118,645 0.0060% 2,142,242

Usage

Please unzip the datasets first. Also you need to create the History/ and the Models/ directories. The command lines to train DSL on the three datasets are as below. The un-specified hyperparameters in the commands are set as default.

  • Ciao

    bash scripts/run_ciao.sh
  • Epinions

    bash scripts/run_epinions.sh
  • Yelp

    bash scripts/run_yelp.sh

Important Arguments

  • gnn_layer: It is the number of gnn layers, which is searched from {1, 2, 3, 4}.
  • reg: It is the weight for weight-decay regularization. We tune this hyperparameter from the set {1e-4, 1e-5, 1e-6, 1e-7}.
  • uuPre_reg: It is the weight for social graph prediction regularization, which is tuned from {1e1, 1e0, 1e-1, 1e-2, 1e-3}
  • sal_reg: It is the weight for self-augmented regularization. We tune it from the set {1e-4, 1e-5, 1e-6}

Contact

For any question or feedback, feel free to contact Tianle Wang.

Citation

If you find DSL useful in your research or applications, please kindly cite:

@article{wang2023denoised,
  title={Denoised Self-Augmented Learning for Social Recommendation},
  author={Wang, Tianle and Xia, Lianghao and Huang, Chao},
  journal={arXiv preprint arXiv:2305.12685},
  year={2023}
}

dsl's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

dsl's Issues

数据集处理

作者您好!请问有处理数据集的代码吗?想要用别的数据集试试看,还有如何查看您的数据集内容啊,是乱码的

关于调参

您好,关于Ciao这个数据集跑出来的结果,HR=0.6374,NDCG=0.4065 。能否告知一下代码调参的数值是啥,我跑不出来这个结果

Question about Model Robustness Evaluation

Could you please explain how the experiments for data sparsity and data noise were conducted in Section 4.5 Model Robustness Evaluation (RQ3) of the paper? Can you provide specific experimental designs and code? I'm eagerly looking forward to your response.

关于测试集划分的问题

    作者您好,最近拜读了您的论文,有些疑问请您不吝赐教。
    请问作者在实验的过程中是怎样划分的训练集和测试集呢,以CiaoDVD数据集为例,test_Data.csv里有596000条,train.csv里矩阵值为1对应的是192221条数据,想了解下具体的数据划分方式。
    谢谢!

请教有关论文中的问题

作者好,刚拜读您的论文,对于文中有几个问题请教:
1、下图中,交互的e没有转置,社交的e转置了,这是为什么?
image
2、公式(5)这个相似性投影函数,您是怎么得到的,设计思路是什么?

关于SMIN baseline结果的问题

您好,文中SMIN的结果和Long et al., 2021的结果差距比较大,请问作者是自己重新跑了一篇baseline吗?谢谢!

数据集问题

作者您好!我用CiaoDVD跑您代码的时候,发现这个数据集中train.pkl非零值数据的个数为192221,是不是说明user和item之间有交互的个数为192221?但是我看到CiaoDVD中test_Data.pkl中有596000条数据,这个数据比user和item之间交互个数还多,我想问下test_Data.pkl中的数据是什么数据呢?是怎么得来的呢?

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.