利索能及
我要发布
收藏
专利号: 2023109405549
申请人: 江西财经大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于广义矩阵分解与遮蔽注意力的项目推荐方法,其特征在于,应用于项目推荐模型,所述项目推荐模型包括特征编码层、广义矩阵分解层和神经张量分解层;

所述方法包括:

步骤1,对用户的历史交互项目记录进行重组,重新编号并依照时间顺序进行排序,从而生成项目编号序列和时间编号序列,项目编号序列和时间编号序列的长度相同;

步骤1中,通过查询用户按时间顺序排列的历史交互项目记录,得到序列长为/>的项目编号序列/>,/>分别为第1个、第2个、第/>个项目,依据时间进行纯数值逆向选取,得到序列长为/>的时间编号序列/>,/>、/>、/>分别为第1、第2、第/>时刻;

步骤2,对用户信息、项目编号序列、时间编号序列分别输入至特征编码层进行Embedding嵌入编码,以得到用户特征、项目特征向量序列、时间特征向量序列,将项目特征向量序列和时间特征向量序列输入至长短期记忆网络中,得到项目隐向量组和时间隐向量组,之后通过遮蔽注意力网络提取出项目隐藏状态向量和时间隐藏状态向量,再将项目隐藏状态向量和时间隐藏状态向量通过投影层调整维度,使项目隐藏状态向量和时间隐藏状态向量与用户特征对齐,从而形成项目投影特征与时间投影特征;

步骤2具体包括:

用户信息经特征编码层中的嵌入层形成维度的用户特征/>;

将项目编号序列输入至嵌入层,得到维度的项目特征向量序列/>,分别为第1个、第2个、第/>个项目特征向量;

将时间编号序列输入至嵌入层,得到维度的时间特征向量序列,/>,/>、/>分别为第1个、第2个、第/>个时间特征向量;

步骤2中,项目投影特征满足以下条件式: ;

其中,表示第一激活函数,/>为第一权重矩阵,/>为项目隐向量组,/>为第一偏置向量,/>是由长短期记忆网络的输出向量组成的第一矩阵,/>为第一权重向量,/>表示转置操作,/>是由非线性激活函数/>转化的第一状态矩阵,/>为遮蔽归一化函数,/>为第一训练参数向量,/>为记录的项目编号序列中空值的个数及位置信息;

步骤2中,时间投影特征满足以下条件式: ;

其中,表示第二激活函数,/>为第二权重矩阵,/>为时间隐向量组,/>为第二偏置向量,/>是由长短期记忆网络的输出向量组成的第二矩阵,/>为第二权重向量,/>表示转置操作,/>是由非线性激活函数/>转化的第二状态矩阵,/>为第二训练参数向量,/>为记录的时间编号序列中空值的个数及位置信息;

步骤3,将用户特征、项目投影特征、时间投影特征输入至广义矩阵分解层,生成用户与项目、用户与时间、项目与时间的二阶交互特征;

步骤3具体包括:

在广义矩阵分解层,将用户特征、项目投影特征/>、时间投影特征/>作为输入,学习得到用户、项目和时间三者间的二阶交互信息,如下式所示: ;

其中,、/>、/>分别是用户与项目、用户与时间、项目与时间的二阶交互向量,/>、、/>为第三激活函数,/>、/>、/>是第三权重矩阵,/>、/>、/>是第三偏置向量,/>表示点乘操作;

步骤4,对用户与项目、用户与时间、项目与时间的二阶交互特征,以及用户特征、项目投影特征、时间投影特征进行拼接,再输至神经张量分解层得到用户对项目的预测评分值;

步骤4满足以下条件式:

其中,表示在时间/>时,用户/>对项目/>的预测评分值;/>为第四激活函数;/>、/>、、/>为第四权重矩阵;/>表示隐藏层数;/>、/>、/>、/>为第四偏置向量,/>、/>、/>、/>为中间值;

步骤5:通过目标函数计算预测评分值与真实评分值间的损失,将损失最小化,再通过反向传播优化目标函数参数,完成算法收敛,进而得到最终的预测评分值,再根据最终的预测评分值向用户提供项目推荐列表;

步骤5中,目标函数损失最小化的表达式为: ;

其中,为采用Adam梯度下降法的损失最小化函数;/>表示在时间/>时,用户/>对项目/>的真实评分值;/>、/>、/>分别为用户、项目、时间的潜在因子矩阵,/>、/>、/>分别表示用户、项目、时间的总数。