针对现有推荐算法缺乏对用户偏好的考虑,推荐效果不理想的问题,提出了一种联合张量填补和用户偏好的推荐算法。首先,基于评分矩阵和项目所属类别矩阵构建用户–项目–类别的三维张量;然后,利用Frank-Wolfe算法进行迭代计算,填补缺失数据,同时基于张量数据构建用户类别偏好矩阵和评分偏好矩阵;最后,基于填补后的张量以及2个偏好矩阵设计联合推荐算法,并采用差分进化算法进行参数调优。实验结果表明,与一些常用算法和新近提出的算法相比,所提算法的推荐效果优于对比算法,其精度平均提升了1.96%~3.44%,召回率平均提升了1.35%~2.40%。