C2CRS_System
C2CRS_System.py
是一个用于构建和训练对话推荐系统(Conversational Recommender System, C2CRS)的系统类。它继承自 BaseSystem
,并扩展了对话推荐系统的特定功能。
主要功能
-
系统初始化:
- 初始化推荐系统、对话系统和预训练模块。
- 设置数据加载器、词汇表、侧边数据(side data)和优化器。
- 支持恢复训练、交互模式和调试模式。
-
数据预处理:
- 扩展训练数据集,添加额外信息(如知识图谱和评论信息)。
- 初始化推荐、对话和预训练模块的属性。
-
预训练:
- 实现推荐模块的预训练,使用交叉熵损失进行优化。
- 支持在预训练阶段保存特定轮次的模型。
-
推荐任务:
- 训练推荐模块,使用交叉熵损失进行优化。
- 支持早停机制(early stopping)以避免过拟合。
- 在验证集和测试集上评估推荐性能,计算命中率(hit rate)等指标。
-
对话任务:
- 训练对话模块