Esta es la implementación oficial del documento SIGIR 2023 "Cuando la búsqueda cumple con la recomendación: aprendizaje de la representación de búsqueda desenredada para la recomendación" basado en PyTorch.
[arXiv] [Biblioteca digital ACM]
La implementación principal de SESRec se puede encontrar en el archivo models/SESRec.py
. La arquitectura de SESRec se muestra en la siguiente figura:
Hemos concluido algunas preguntas frecuentes en el archivo FAQ.md
Consulte las siguientes instrucciones para reproducir experimentos.
Todas las configuraciones de hiperparámetros de SESRec en ambos conjuntos de datos se pueden encontrar en los archivos config/SESRec_commercial.yaml
y config/SESRec_amazon.yaml
. La configuración de dos conjuntos de datos se puede encontrar en el archivo config/const.py
.
Dado que el conjunto de datos de Kuaishou es un conjunto de datos industriales patentado, aquí publicamos los datos listos para usar del conjunto de datos de Amazon (Tienda Kindle). Los datos listos para usar se pueden descargar desde el enlace.
Descarga y descomprime los datos desde este enlace. Coloque los archivos de datos en la carpeta data
.
Nuestros experimentos se realizaron con los siguientes paquetes de 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
Ejecute códigos en la línea de comando:
python3 main.py --name SESRec --workspace ./workspace/SESRec --gpu_id 0 --epochs 30 --model SESRec --batch_size 256 --dataset_name amazon
Después del entrenamiento, verifique los archivos de registro, por ejemplo, workspace/SESRec/log/default.log
.
Realizamos los experimentos basados en los siguientes entornos:
Cite nuestro artículo si utiliza este repositorio.
@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}
}
Si tiene alguna pregunta, no dude en contactarnos por correo electrónico [email protected] o problemas de GitHub. ¡Gracias!