Joint Representation Learning Model (JRLM)
This is an implementation of the Joint Representation Learning Model (JRLM) for product recommendation based on heterogeneous information sources.
The JRL is a deep neural network model that jointly learn latent representations for products and users based on reviews, images and product ratings. The model can jointly or independently latent representations for products and users based on different information.
The probability (which is also the rank score) of a product being purchased by a user can be computed with their concatenated latent representations from different information sources.
Please refer to the paper for more details.
- Yongfeng Zhang, Qinyao Ai, Xu Chen, W. Bruce Croft. 2017. "Joint Representation Learning for Top-N Recommendation with Heterogeneous Information Sources". In Proceedings of CIKM 2017.
Additional references relating to this methodology are listed in the README.txt file in this release.
Email Qingyao Ai for questions or comments concerning this software or methodology.
- Python version 2.7+
- Tensorflow version 1.0+
- Java 1.7 to compile Java sources
- Galago. Download Galago from the Lemur Project repository on SourceForge if one wishes to compile latest version. Note Java 1.8 is required for the latest versions of Galago, but Galago packages are provided in the jars/ directory of this JRLM release.
See the README.txt file for details.
- Data must first be prepared. This involves obtaining the datasets, stem and stop words in the data if desired, index the datasets (using Galago) and finally extract queries and split data into train and test sets.
- Train the model.
- Test the model.
- Evaluate the model.
The README.txt file is included in both archives, but is available here individually so one may obtain an overview of dataset characteristics and content.
Uncompress the zip archive using unzip or (7zip) on Windows machines. Both these
utilities may also be installed on Unix machines.
7zip x JRLM.zip
On Unix machines, untar the gziped tar archive using tar.
tar xvzf JRLM.tar.gz
|JRLM zip archive||
|JRLM gzip tar archive||
This work was supported in part by the Center for
Intelligent Information Retrieval and in part by the
National Science Foundation grant #IIS-1160894. Any opinions, findings and
conclusions or recommendations expressed in this material are those of the authors
and do not necessarily reflect those of the sponsor.