Giter VIP home page Giter VIP logo

kvali7 / parsrec-explainable-personalized-attention-fused-recurrent-sequential-recommendation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ehgh/parsrec-explainable-personalized-attention-fused-recurrent-sequential-recommendation

0.0 0.0 0.0 1.25 MB

PARSRec: Explainable Personalized Attention-fused Recurrent Sequential Recommendation Using Session Partial Actions

License: MIT License

Shell 0.78% Python 99.22%

parsrec-explainable-personalized-attention-fused-recurrent-sequential-recommendation's Introduction

PARSRec: Explainable Personalized Attention-fused Recurrent Sequential Recommendation Using Session Partial Actions

This repository provides a reference implementation of the model in the following paper:

PARSRec: Explainable Personalized Attention-fused Recurrent Sequential Recommendation Using Session Partial Actions Ehsan Gholami, Mohammad Motamedi, Ashwin Aravindakshan 2022.

%Open access link to the paper coming soon

This code, provides tools to:

  1. Generate synthetic dataset described in the paper
  2. Generate Dataset and Dataloader for any dataset with specified file format
  3. Train and evaluate PARSRec model on the dataset

For inqueries please contact Ehsan Gholami (contact: [email protected]). Please feel free to file an issue if an issue is detected.

Citing

If you find this code/data useful for your research, please consider citing the following paper:

Ehsan Gholami, Mohammad Motamedi, and Ashwin Aravindakshan. 2022. PARSRec: Explainable Personalized Attention-fused Recurrent Sequential Recommendation Using Session Partial Actions. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD โ€™22), August 14โ€“18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 11 pages. https://doi.org/10.1145/3534678.3539432

Architecture Image

Basic Usage

To generate synthetic dataset, set the arguments in the 'synthetic.sh' file and run this command in terminal:

./synthetic.sh

The dataset will be generated in the folder 'data/' in default mode

To train PARSRec on dataset, set the arguments in the 'PARSRec.sh' file and run this command in terminal:

./PARSRec.sh

The output files will be saved in the folder 'output/' in default mode

Dataset file format:

Create two files under folder 'data/' with following format:

<dataset value in PARSRec.sh>.txt

<dataset value in PARSRec.sh>_columns_dtype.json

Format of '<dataset value in PARSRec.sh>.txt' file:

Header line:

user_id,time,session_length,session_items

Data lines (one line per session-user):

#e.g. instance (user_id:1 ,time:5 ,session_length:6,session_items:3,7,4,8,12,34) is:

1,5,6,3,7,4,8,12,34

NOTE: item_ids must start from 2, (0 and 1 are reserved for SOB and EOB, respectively)

Please refer to 'data/synthetic.txt' for example file.

Content of '<dataset value in PARSRec.sh>_columns_dtype.json' file:

The dtype of your content for dataset generator. Always use "object" for "session_items" and "history". The rest can be user defined dtypes.

{
    "session_length":"int16",
    "session_items":"object", 
    "history":"object", 
    "time":"int", 
    "user_id":"int32"
}

And finally, set the flag --convert-dataset2binary on in PARSRec.sh file and run the ./PARSRec.sh in terminal. You only need to activate it once. After a single run, the binary files are generated and saved in folder 'data' and you can deactivate the flag for next runs.

Output image 'output' folder

This is output for sample synthetic dataset of 1024 users, 100 sessions per user, and 2000 items:

Abstract

The emerging meta- and multi-verse landscape is yet another step towards the more prevalent use of already ubiquitous online markets. In such markets, recommender systems play critical roles by offering items of interest to the users, thereby narrowing down a vast search space that comprises hundreds of thousands of products. Recommender systems are usually designed to learn common user behaviors and rely on them for inference. This approach, while effective, is oblivious to subtle idiosyncrasies that differentiate humans from each other. Focusing on this observation, we propose an architecture that relies on common patterns as well as individual behaviors to tailor its recommendations for each person. Simulations under a controlled environment show that our proposed model learns interpretable personalized user behaviors. Our empirical results on Nielsen Consumer Panel dataset indicate that the proposed approach achieves up to 27.9% performance improvement compared to the state-of-the-art.

parsrec-explainable-personalized-attention-fused-recurrent-sequential-recommendation's People

Contributors

ehgh avatar

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.