总结

本节主要介绍了电影推荐数据集ml-1m,并对数据集中的用户数据、电影数据、评分数据进行介绍和处理,将字符串形式的数据转成了数字表示的数据形式,并构建了数据读取器,最终将数据处理和数据读取封装到一个Python类中,如下图所示:

总结 - 图1

图1:数据处理流程图

各数据处理前后格式如下:

数据分类 输入数据样例 输出数据样例
用户数据 UserID::Gender::Age::Occupation 1::F::1::10 {‘usr_id’: 1, ‘gender’: 1, ‘age’: 1, ‘job’: 10}
电影数据 MovieID::Title::Genres 2::Jumanji (1995)::Adventure|Children’s|Fantasy {‘mov_id’: 2, ‘title’: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ‘category’: [4, 2, 5, 0, 0, 0]}
评分数据 UserID::MovieID::Rating 1::1193::5 {‘usr_id’: 1, ‘mov_id’: 1193, ‘score’: 5}
海报数据 “mov_id” + MovieID+".jpg"格式的图片 64643的像素矩阵

虽然我们将文本的数据转换成了数字表示形式,但是这些数据依然是离散的,不适合直接输入到神经网络中,还需要对其进行Embedding操作,将其映射为固定长度的向量。

接下来我们开始个性化电影推荐的第二个部分:模型设计。