{"id":29020218,"url":"https://github.com/deezer/recsys24-pisa","last_synced_at":"2025-06-26T01:04:36.967Z","repository":{"id":277568939,"uuid":"842077397","full_name":"deezer/recsys24-pisa","owner":"deezer","description":"Code for reproducting experiments of the PISA paper published at RecSys 2024","archived":false,"fork":false,"pushed_at":"2025-04-07T14:49:20.000Z","size":633,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-07T15:43:19.197Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deezer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-13T16:14:54.000Z","updated_at":"2025-04-07T14:49:24.000Z","dependencies_parsed_at":"2025-02-14T17:23:32.079Z","dependency_job_id":"381d4328-05d3-4911-9394-dd4e2f845bb1","html_url":"https://github.com/deezer/recsys24-pisa","commit_stats":null,"previous_names":["deezer/recsys24-pisa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deezer/recsys24-pisa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2Frecsys24-pisa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2Frecsys24-pisa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2Frecsys24-pisa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2Frecsys24-pisa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deezer","download_url":"https://codeload.github.com/deezer/recsys24-pisa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2Frecsys24-pisa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261978911,"owners_count":23239417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-26T01:04:35.698Z","updated_at":"2025-06-26T01:04:36.941Z","avatar_url":"https://github.com/deezer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Transformers Meet ACT-R: Repeat-Aware and Sequential Listening Session Recommendation\n\nThis repository contains the Zenodo link to our released proprietary dataset as\nwell as the Python code of our model from the paper **Transformers Meet ACT-R:\nRepeat-Aware and Sequential Listening Session Recommendation**, accepted for\npublication in the proceedings of the 18th ACM Conference on Recommender\nSystems ([RecSys 2024](https://recsys.acm.org/recsys24/)). The paper is\navailable online [on arXiv](https://arxiv.org/abs/2408.16578).\n\n## Environment\n\n- python 3.9.13\n- tensorflow 2.11.0\n- tqdm 4.65.0\n- numpy 1.24.2\n- scipy 1.10.1\n- pandas 1.5.3\n- toolz 0.12.0\n\n## Deezer Dataset\n\nThe original anonymized version of our Deezer proprietary dataset (before\nfilters applied in this work) can be freely downloaded\nfrom [Zenodo](https://zenodo.org/records/13890194). This dataset contains over\n700 million time-stamped listening events collected from 3.4M anonymised users\non Deezer streaming service, occurred between March and August 2022. It\nincludes 50k anonymised songs, among the most popular ones on the service as\nwell as their pre-trained embedding vectors, calculated by our internal model.\nAll files are in parquet format which could be read by using\n`pandas.read_parquet` function.\n\n## General Architecture\n\n\u003cimg src=\"images/pisa_architecture.png\" /\u003e\n\n## Hyperparameters\n\nHyperparameters on each dataset are found in the corresponding\nconfiguration file in `configs` directory.\n\n## Experiments\n\n### Pretrained Embeddings\n\nFor LFM1B, if the pretrained embeddings are used (\"pretrained\" in configuration\nfile\nis set to \"item\", otherwise \"nopretrained\"), we first need to generate\npretrained embeddings as\nfollowing:\n\n1. Download data and put it into `exp/data` directory. For example\n   `exp/data/lfm1b`\n2. From `recsys24-pisa` directory, run python scripts in `data_misc/lfm1b`\n   directory in sequence (from 1 -\u003e 5)\n3. The output pretrained embeddings will be found in `exp/data/lfm1b`\n\nFor Deezer dataset, the pretrained embeddings are calculated beforehand by our\ninternal model and are provided alongside with user sessions.\n\n### Main scripts\n\nTo run the experiments, from the root directory in the terminal (recsys24-pisa),\nrun the command `./script/run_pisa.sh`\n\n### Some results\n\n#### Repeat- vs. Non-repeat-aware\n\n##### LFM1B\n\n\u003cimg src=\"images/lfm_repeat_vs_non-repeat.svg\" width=\"800\" /\u003e\n\n##### DEEZER\n\n\u003cimg src=\"images/lfm_repeat_vs_non-repeat.svg\" width=\"800\" /\u003e\n\n#### PISA vs. Other repeat-aware baselines\n\n##### LFM1B\n\n\u003cimg src=\"images/lfm_pisa_vs_other_repeat-aware.svg\" width=\"800\" /\u003e\n\n##### DEEZER\n\n\u003cimg src=\"images/deezer_pisa_vs_other_repeat-aware.svg\" width=\"800\" /\u003e\n\n#### Repetition / Exploration Biases\n\n\u003cimg src=\"images/repeat_explore_bias.svg\" width=\"800\" /\u003e\n\n#### Popularity Bias\n\n\u003cimg src=\"images/popularity_bias.svg\" width=\"800\" /\u003e\n\n### Role of ACT-R components\n\n\u003cimg src=\"images/actr_components_perf.svg\" width=\"800\" /\u003e\n\n## Cite\n\nPlease cite our paper if you use this code in your own work:\n\n```BibTeX\n@inproceedings{tran-recsys2024,\n  title={Transformers Meet ACT-R: Repeat-Aware and Sequential Listening Session Recommendation},\n  author={Tran, Viet-Anh and Salha-Galvan, Guillaume and Sguerra, Bruno and Hennequin, Romain},\n  booktitle = {Proceedings of the 18th ACM Conference on Recommender Systems},\n  year = {2024}\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeezer%2Frecsys24-pisa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeezer%2Frecsys24-pisa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeezer%2Frecsys24-pisa/lists"}