Temporal Meta-path Guided Explainable Recommendation (WSDM2021)

Overview

Temporal Meta-path Guided Explainable Recommendation (WSDM2021)

TMER

Code of paper "Temporal Meta-path Guided Explainable Recommendation".

Requirements

python==3.6.12
networkx==2.5
numpy==1.15.0
pandas==1.0.1
pytorch==1.0.0
pytorch-nlp==0.5.0
gensim==3.8.3

You can also install the environment via requirements.txt and environment.yaml.

Data Preparation

The original data can be found in the amazon data website.

For example, the meta_Musical_Instruments.json of Amazon_Music can be found here. The user_rate_item.csv in the code is here (ratings only).

Usage

If you want to change the dataset, you can modify the name in the code.

1.process data (You can ignore this step, if you just want to check TMER.)

python data_process.py

2.learn the user and item representations

python data/path/embed_nodes.py

3.learn the item-item path representations

python data/path/user_history/item_item_representation.py

4.learn the user-item path representations

python data/user_item_representation.py

5.generate user-item and item-item meta-path instances and learn their representations

python data/path/generate_paths.py
python data/path/user_history/meta_path_instances_representation.py

6.sequence item-item paths for each user

python data/path/user_history/user_history.py

7.run the recommendation

python run.py

Cite

If you find this code useful in your research, please consider citing:

@article{chen2021temporal,
  title={Temporal Meta-path Guided Explainable Recommendation},
  author={Chen, Hongxu and Li, Yicong and Sun, Xiangguo and Xu, Guandong and Yin, Hongzhi},
  journal={arXiv preprint arXiv:2101.01433},
  year={2021}
}

or

@inproceedings{10.1145/3437963.3441762,
	author = {Chen, Hongxu and Li, Yicong and Sun, Xiangguo and Xu, Guandong and Yin, Hongzhi},
	title = {Temporal Meta-Path Guided Explainable Recommendation},
	year = {2021},
	booktitle = {Proceedings of the 14th ACM International Conference on Web Search and Data Mining},
	pages = {1056–1064}
}
You might also like...
Multi-path load balancing is a method used by most of the real-time network to split the packets into different paths rather than transferring it through a single path
Multi-path load balancing is a method used by most of the real-time network to split the packets into different paths rather than transferring it through a single path

Multipath-Load-Balancing Method of managing incoming traffic by distributing and sharing load fairly among multiple routes from source to destination

Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files
Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

Implementation of
Implementation of "Meta-rPPG: Remote Heart Rate Estimation Using a Transductive Meta-Learner"

Meta-rPPG: Remote Heart Rate Estimation Using a Transductive Meta-Learner This repository is the official implementation of Meta-rPPG: Remote Heart Ra

Connectionist Temporal Classification (CTC) decoding algorithms: best path, beam search, lexicon search, prefix search, and token passing. Implemented in Python.

CTC Decoding Algorithms Update 2021: installable Python package Python implementation of some common Connectionist Temporal Classification (CTC) decod

PyTorch implementation of the paper: "Preference-Adaptive Meta-Learning for Cold-Start Recommendation", IJCAI, 2021.

PAML PyTorch implementation of the paper: "Preference-Adaptive Meta-Learning for Cold-Start Recommendation", IJCAI, 2021. (Continuously updating ) Int

Elliot is a comprehensive recommendation framework that analyzes the recommendation problem from the researcher's perspective.
Elliot is a comprehensive recommendation framework that analyzes the recommendation problem from the researcher's perspective.

Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation

Recommendationsystem - Movie-recommendation - matrixfactorization colloborative filtering recommendation system user
Recommendationsystem - Movie-recommendation - matrixfactorization colloborative filtering recommendation system user

recommendationsystem matrixfactorization colloborative filtering recommendation

Product-based-recommendation-system - A product based recommendation system which uses Machine learning algorithm such as KNN and cosine similarity
Session-based Recommendation, CoHHN, price preferences, interest preferences, Heterogeneous Hypergraph, Co-guided Learning, SIGIR2022

This is our implementation for the paper: Price DOES Matter! Modeling Price and Interest Preferences in Session-based Recommendation Xiaokun Zhang, Bo

Code for 'Self-Guided and Cross-Guided Learning for Few-shot segmentation. (CVPR' 2021)'

SCL Introduction Code for 'Self-Guided and Cross-Guided Learning for Few-shot segmentation. (CVPR' 2021)' We evaluated our approach using two baseline

Github project for Attention-guided Temporal Coherent Video Object Matting.

Attention-guided Temporal Coherent Video Object Matting This is the Github project for our paper Attention-guided Temporal Coherent Video Object Matti

CVPR2021: Temporal Context Aggregation Network for Temporal Action Proposal Refinement
CVPR2021: Temporal Context Aggregation Network for Temporal Action Proposal Refinement

Temporal Context Aggregation Network - Pytorch This repo holds the pytorch-version codes of paper: "Temporal Context Aggregation Network for Temporal

Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Cascaded Deep Video Deblurring Using Temporal Sharpness Prior and Non-local Spatial-Temporal Similarity
Cascaded Deep Video Deblurring Using Temporal Sharpness Prior and Non-local Spatial-Temporal Similarity

This repository is the official PyTorch implementation of Cascaded Deep Video Deblurring Using Temporal Sharpness Prior and Non-local Spatial-Temporal Similarity

A Python package implementing a new model for text classification with visualization tools for Explainable AI :octocat:
A Python package implementing a new model for text classification with visualization tools for Explainable AI :octocat:

A Python package implementing a new model for text classification with visualization tools for Explainable AI 🍣 Online live demos: http://tworld.io/s

An Explainable Leaderboard for NLP
An Explainable Leaderboard for NLP

ExplainaBoard: An Explainable Leaderboard for NLP Introduction | Website | Download | Backend | Paper | Video | Bib Introduction ExplainaBoard is an i

Code for CVPR2021 "Visualizing Adapted Knowledge in Domain Transfer". Visualization for domain adaptation. #explainable-ai

Visualizing Adapted Knowledge in Domain Transfer @inproceedings{hou2021visualizing, title={Visualizing Adapted Knowledge in Domain Transfer}, auth

Repository for the COLING 2020 paper "Explainable Automated Fact-Checking: A Survey."

Explainable Fact Checking: A Survey This repository and the accompanying webpage contain resources for the paper "Explainable Fact Checking: A Survey"

A framework for attentive explainable deep learning on tabular data

🧠 kendrite A framework for attentive explainable deep learning on tabular data 💨 Quick start kedro run 🧱 Built upon Technology Description Links ke

Comments
  • A question about deepwalk

    A question about deepwalk

    In data_process.py, you use all the user-item relations (both the training set and the test set) to build graphs and embed nodes(in embed_nodes.py). However, I'm now questioning this process since the user-item relations of the test set are also included. Looking forward to your reply and thank you a lot. image

    opened by JiayinZheng 1
  • Missing file

    Missing file

    Hi there, the following file is missing from the repo:

    No such file or directory: 'data/Amazon_Music/representations/user_item_dic.wv'

    Where can it be located? Thanks

    opened by eperrier 1
  • code publication

    code publication

    Hello, I notice your work had been accepted by WSDM2021. So, would you please be nice to public your code and data? It seems to be helpful for my project. I would cite your paper appropriately in my work. Thank.

    opened by JianhuanZhuo 1
  • A question about how you calculate the metrics

    A question about how you calculate the metrics

    When calculating the metrics in run.py, the variable pos_id is always 100 (equals to N). However, according to the concept of Hit_rate, the pos_id here should be the index of the postive item or the ground truth item. Hence, I think that the code should be "pos_id = p_and_n_seq[N][2]". image image Otherwise, the pos_id will always be 100.

    opened by JiayinZheng 0
Owner
Yicong Li
My research interests are recommendation system, natural language processing and topic model. Feel free to contact me.
Yicong Li
A TensorFlow recommendation algorithm and framework in Python.

TensorRec A TensorFlow recommendation algorithm and framework in Python. NOTE: TensorRec is not under active development TensorRec will not be receivi

James Kirk 1.2k Jan 4, 2023
Persine is an automated tool to study and reverse-engineer algorithmic recommendation systems.

Persine, the Persona Engine Persine is an automated tool to study and reverse-engineer algorithmic recommendation systems. It has a simple interface a

Jonathan Soma 87 Nov 29, 2022
ToR[e]cSys is a PyTorch Framework to implement recommendation system algorithms

ToR[e]cSys is a PyTorch Framework to implement recommendation system algorithms, including but not limited to click-through-rate (CTR) prediction, learning-to-ranking (LTR), and Matrix/Tensor Embedding. The project objective is to develop a ecosystem to experiment, share, reproduce, and deploy in real world in a smooth and easy way (Hope it can be done).

LI, Wai Yin 90 Oct 8, 2022
A framework for large scale recommendation algorithms.

A framework for large scale recommendation algorithms.

Alibaba Group - PAI 880 Jan 3, 2023
Recommendation System to recommend top books from the dataset

recommendersystem Recommendation System to recommend top books from the dataset Introduction The recom.py is the main program code. The dataset is als

Vishal karur 1 Nov 15, 2021
An open source movie recommendation WebApp build by movie buffs and mathematicians that uses cosine similarity on the backend.

Movie Pundit Find your next flick by asking the (almost) all-knowing Movie Pundit Jump to Project Source » View Demo · Report Bug · Request Feature Ta

Kapil Pramod Deshmukh 8 May 28, 2022
Implementation of a hadoop based movie recommendation system

Implementation-of-a-hadoop-based-movie-recommendation-system 通过编写代码,设计一个基于Hadoop的电影推荐系统,通过此推荐系统的编写,掌握在Hadoop平台上的文件操作,数据处理的技能。windows 10 hadoop 2.8.3 p

汝聪(Ricardo) 5 Oct 2, 2022
Books Recommendation With Python

Books-Recommendation Business Problem During the last few decades, with the rise

Çağrı Karadeniz 7 Mar 12, 2022
Bert4rec for news Recommendation

News-Recommendation-system-using-Bert4Rec-model Bert4rec for news Recommendation

saran pandian 2 Feb 4, 2022
Python implementation of an automatic parallel parking system in a virtual environment, including path planning, path tracking, and parallel parking

Automatic Parallel Parking: Path Planning, Path Tracking & Control This repository contains a python implementation of an automatic parallel parking s

null 134 Jan 9, 2023