This is our implementation for the paper:
Zhiyong Cheng, Ying Ding, Lei Zhu, Mohan Kankanhalli. Aspect-Aware Latent Factor Model: Rating Prediction with Ratings and Reviews. In Proceedings of WWW '18, Lyon, France, April 23-27, 2018.
Our model is worked in two steps: in the first step, a topic model is used to extract the topic representation of aspects; in the second step, the resutls of the topic model are integrated into an aspect-aware latent factor model to estimate users and items latent factors as well as factor weights.
Please cite our WWW'18 paper if you use our codes. Thanks!
Author: Dr. Zhiyong Cheng (https://sites.google.com/view/zycheng)
Our code is in java:
"topicmodel" package: the implementation of the topic model: -- please run "tuningAspectNumberandTopicNumber.java" to get the results by setting data path correctly
"alfm" package: the implementation of the aspect-aware latent factor model -- please run “topicFactorTuning.java" to get the results.
Notice that alfm is implemented based on "LibRec". We already include the necessary 'jar' packages in the 'lib' fold
In the "data" fold, we put the "Music Instruments" dataset to show the data format used in the codes.
Data format: "userIndex \t\t itemIndex \t\t rating \t\t reviews". Sentences in reviews are seperated by "||".
The model can be tested on this dataset by running "tuningAspectNumberandTopicNumber.java" frist and then “topicFactorTuning.java"
The topic results (based on 5 aspects and 5 topics) are saved in "model/topicmodel/"
Results of "alfm" are saved into "model/alfm/"