The goal was to create Universal Behavioral Profiles (i.e. embeddings) based on provided data (purchases, add to cart, remove from cart, page visits and search query). Based on the embeddings a model is trained for multiple prediction tasks. Well-designed embeddings should result in high scores for all tasks.
A detailed explanation of the challenge can be found here or on the challenge website.
To run experiments download the dataset (see here, or use
the direct link).
Extract the data to data/original/ such that the directory data/original/input (and others) exists.
To use our implementation, the following steps are needed. The best results were obtained using the autoencoder.
To create the embeddings on the full set, start run_calculators.sh in shell.
./script/calculators.shIn src/autoencoder_pipeline.py you'll find a Config class where you can configure parameters. Included is a feature to
save and load features generated by the calculators, thereby saving time on embedding generation.
./scripts/autoencoder.sh./scripts/contrastive.shTraining the transformer takes a long time (>15h on Radeon RX 7900 XTX). It also might require some manual tuning of parameters like masking probabilities in training dataset.
transformer.sh gives a general idea of what has to be done. Note that just running this file won't work, as the
embeddings generation step requires setting the path to pytorch_lighting checkpoints.
./scripts/transformer.sh