Build a formal framework that estimates the authorship probability for a given pair (user, photo).
To illustrate the proposal, we use data gathered from TripAdvisor containing the reviews (with photos) of restaurants in six cities of different sizes.
conda env create -f environment.yml
In order to run pre-trained models you have to:
- Download preprocessed city data:
- Create a new folder called "data" (If it does not exist) and inside, another with the name of the city.
- Unzip the files under
data/<city>/
path. - Download the pre-trained models from here.
- Create a folder called "models" (If it does not exist).
- Unzip the compressed files under
models/
path. - Run the
Main.py
file withstage='test'
orstage='stats'
andcity='<city>'
(view parameters section).
In this case, you need to follow these steps:
- Download city data as in Option 1.
- Run the
Main.py
file withstage='grid'
orstage='train'
andcity='<city>'
(view parameters section).
You can configure:
-
stage
- "stats": If you want to obtain stats about the dataset.
- "grid": To train a model testing different configuration values.
- "train": If you want to train the final model.
- "test": To evaluate the model.
-
city: City to work with
-
lrates: List of leaning rate values (if you want to try different values)
-
dpouts: List of dropout values (if you want to try different values)
-
epochs: Epoch number
-
seed: Random state
The data from all the cities without preprocessing can be downloaded from here.
Please cite the following paper:
Jorge Díez, Pablo Pérez-Núñez, Oscar Luaces, Beatriz Remeseiro and Antonio Bahamonde: Towards Explainable Personalized Recommendations by Learning from Users’ Photos. Information Sciences, in press. 2020. https://doi.org/10.1016/j.ins.2020.02.018