Coder Social home page Coder Social logo

yilmazerhakan / ecml-pkdd-2019-j3r-explainable-recommender Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aiphes/ecml-pkdd-2019-j3r-explainable-recommender

0.0 1.0 0.0 33.88 MB

J3R: Joint Multi-task Learning of Ratings and Review Summaries for Explainable Recommendation

License: Other

Python 23.82% Makefile 1.84% C++ 1.03% C 1.21% HTML 0.15% Shell 13.19% Batchfile 0.11% Java 54.20% Scala 1.87% Jupyter Notebook 0.35% CSS 0.01% TeX 0.67% Perl 0.94% Smalltalk 0.05% Emacs Lisp 0.44% JavaScript 0.02% NewLisp 0.04% Ruby 0.04% Slash 0.01% SystemVerilog 0.01%

ecml-pkdd-2019-j3r-explainable-recommender's Introduction

J3R: Joint Multi-task Learning of Ratings and Review Summaries

In this project, we develop a J3R: Joint Multi-task Learning of Ratings and Review Summaries. This repository contains preprocessing codes and models for training the models in the paper.

If you reuse this software, please use the following citation:

@inproceedings{J3R-multi-task,
    title = {J3R: Joint Multi-task Learning of Ratings and Review Summaries},
    author = {P.V.S., Avinesh and Ren, Yongli and Meyer, Christian M. and Jeffrey Chan and Zhifeng Bao and Mark Sanderson},
    booktitle = {Machine Learning and Knowledge Discovery in Databases - European Conference,
               {ECML} {PKDD} 2019, Wurzburg, Germany, September 16-20, 2019, Proceedings,
    pages = {to appear},
    Xmonth = sep,
    year = {2019},
    location = {Wurzburg, Germany},
}

Abstract: We learn user preferences from ratings and reviews by using multi-task learning (MTL) of rating prediction and summarization of item reviews. Reviews of an item tend to describe detailed user preferences (e.g., the cast, genre, or screenplay of a movie). A summary of such a review or a rating describes an overall user experience of the item. Our objective is to learn latent vectors which are shared across rating prediction and review summary generation. Additionally, the learned latent vectors and the generated summary act as explanations for the recommendation. Our MTL-based approach J3R uses a multi-layer perceptron for rating prediction, combined with pointer-generator networks with attention mechanism for the summarization component. We provide empirical evidence for joint learning of rating prediction and summary generation being beneficial for recommendation by conducting experiments on the Yelp dataset and six domains of the Amazon 5-core dataset. Additionally, we provide two ways of explanations visualizing (a) the user vectors on different topics of a domain, computed from our J3R approach and (b) a ten-word review summary of a review and the attention highlights generated on the review based on the user--item vectors.

Contact person:

Don't hesitate to send us an e-mail or report an issue, if something is broken (and it shouldn't be) or if you have further questions.

This repository contains experimental software and is published for the sole purpose of giving additional background details on the respective publication.

Environments

  • python 2.7
  • Tensorflow (version: 0.12.1)
  • numpy
  • pandas

Dataset

In our experiments, we use the datasets from Amazon 5-core and Yelp Challenge 2018.

Data preprocessing:

# Processed data for all models for music, toys, kindle, electronics, tv, cds and yelp
python utils/loaddata.py -d music
python utils/data_pro.py -d music

# Processed data for Seq2Seq and Pointer-Networks
python utils/data_pro_for_nnsum.py -d music -o onmt

Train and evaluate the model:

CUDA_VISIBLE_DEVICES=5 python train.py -d music -m DeepCoNN -b 32
CUDA_VISIBLE_DEVICES=5 python train.py -d music -m NAARE -b 32
CUDA_VISIBLE_DEVICES=5 python train.py -d music -m J3R -b 32

Baselines:

# Rating Prediction
python refs/librec/run.py
python refs/HFT/run.py 

# Summarization
sh summarize/OpenNMT-py/train.sh
python summarize/baseline.py

ecml-pkdd-2019-j3r-explainable-recommender's People

Contributors

avineshpvs avatar

Watchers

 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.