Esta é a implementação oficial do artigo SIGIR 2023 "Quando a pesquisa atende à recomendação: aprendendo a representação de pesquisa desemaranhada para recomendação" baseado em PyTorch.
[arXiv] [Biblioteca Digital ACM]
A principal implementação do SESRec pode ser encontrada no arquivo models/SESRec.py
. A arquitetura do SESRec é mostrada na figura a seguir:
Concluímos algumas perguntas frequentes no arquivo FAQ.md
.
Verifique as instruções a seguir para reproduzir experimentos.
Todas as configurações de hiperparâmetros do SESRec em ambos os conjuntos de dados podem ser encontradas nos arquivos config/SESRec_commercial.yaml
e config/SESRec_amazon.yaml
. As configurações de dois conjuntos de dados podem ser encontradas no arquivo config/const.py
.
Como o conjunto de dados Kuaishou é um conjunto de dados industrial proprietário, aqui liberamos os dados prontos para uso do conjunto de dados Amazon (Kindle Store). Os dados prontos para uso podem ser baixados do link.
Baixe e descompacte os dados deste link. Coloque os arquivos de dados na pasta data
.
Nossos experimentos foram feitos com os seguintes pacotes python:
python==3.8.13
torch==1.9.0
numpy==1.23.2
pandas==1.4.4
scikit-learn==1.1.2
tqdm==4.64.0
PyYAML==6.0
Execute códigos na linha de comando:
python3 main.py --name SESRec --workspace ./workspace/SESRec --gpu_id 0 --epochs 30 --model SESRec --batch_size 256 --dataset_name amazon
Após o treinamento, verifique os arquivos de log, por exemplo, workspace/SESRec/log/default.log
.
Conduzimos os experimentos com base nos seguintes ambientes:
Por favor, cite nosso artigo se você usar este repositório.
@inproceedings{si2023SESRec,
author = {Si, Zihua and Sun, Zhongxiang and Zhang, Xiao and Xu, Jun and Zang, Xiaoxue and Song, Yang and Gai, Kun and Wen, Ji-Rong},
title = {When Search Meets Recommendation: Learning Disentangled Search Representation for Recommendation},
year = {2023},
isbn = {9781450394086},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3539618.3591786},
doi = {10.1145/3539618.3591786},
booktitle = {Proceedings of the 46th International ACM SIGIR Conference on Research and Development in Information Retrieval},
pages = {1313–1323},
numpages = {11},
keywords = {search, contrastive learning, disentanglement learning, recommendation},
location = {Taipei, Taiwan},
series = {SIGIR '23}
}
Se você tiver alguma dúvida, não hesite em nos contatar através do e-mail [email protected] ou de problemas do GitHub. Obrigado!