/PARL

The implementation of "PARL: Let Strangers Speak Out What You Like", Libing Wu, Cong Quan, Chenliang Li, Donghong Ji, https://doi.org/10.1145/3269206.3271695

Primary LanguagePython

Requirements

Tensorflow 1.2

Python 2.7

Numpy

Scipy

Data Preparation

To run PARL, 7 files are required:

1.Training Rating records: file_name=TrainInteraction.out
each training sample is a sequence as:
UserId\tItemId\tRating\tDate
Example: 0\t3\t5.0\t1393545600

2.Validate Rating records: file_name=ValidateInteraction.out
The format is the same as the training data format.

3.Testing Rating records: file_name=TestInteraction.out
The format is the same as the training data format.

4.Word2Id diction: file_name=WordDict.out
Each line follows the format as:
Word\tWord_Id
Example: love\t0

5.User Review Document: file_name=UserReviews.out
each line is the format as:
UserId\tWord1 Word2 Word3 …
Example:0\tI love to eat hamburger …

6.Item Review Document: file_name=ItemReviews.out
The format is the same as the user review doc format.

7.User Auxiliary Review Document: file_name=UserAuxiliaryReviews.out
The format is the same as the user review doc format.

Note that: all files need to be located in the same directory

Configurations

num_factor: the latent dimension of the representation learned from the review documents;

num_filters: the number of filters of CNN network;

cnn_windows_size: the length of the sliding window of CNN;

learn_rate: learning rate;

batch_size: batch size;

epochs: number of training epoch;

max_len: the maximum doc length;

gama: the coefficient to control the constraint between tu & tax;

drop_rate: the keep probability of the drop_out strategy;