利索能及
我要发布
收藏
专利号: 2019110223282
申请人: 东北大学秦皇岛分校
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于协同过滤的物品推荐方法,其特征在于:包括以下步骤:

步骤1:计算用户u对目标物品i的预测分数,将预测目标物品i使用one-hot编码通过嵌入层获得其嵌入向量p和q,其中p表示该物品是预测物品,q表示它是历史交互物品,获得其评价指标,定义基于注意力的ItemCF公式如下:aij=f(pi,qj)

其中,i为预测目标物品,j为用户历史交互物品,aij为利用注意力网络计算出的历史交互物品对用户偏好表示所占的权重,pi和qj分别表示预测物品集的嵌入向量和用户交互过的物品的嵌入向量,R表示用户u的正例集, 表示去掉正例集中的物品i, 为系数;

步骤2:在评价指标上对真实物品数据集进行实验,性能由推荐结果进行评判,并将实验结果与其他推荐方法进行比较。

2.根据权利要求1所述的一种基于协同过滤的物品推荐方法,其特征在于:所述步骤1的具体步骤为:

步骤1.1:将预测物品集的嵌入向量pi和用户交互过的物品集的嵌入向量qj两个向量进行拼接,得到拼接向量c, 将拼接向量作为点乘注意力模型的输入,将注意力机制的第一次尝试命名为Dot;

步骤1.1.1:将拼接向量c独立的做三次线性变换,系数矩阵分别为WQ,WK,WV,由此得到注意力网络的输入Query,Key,Value(Q,K,V);

步骤1.1.2:使用高度优化的矩阵乘法来实现Q和K转置的点积,在softmax之后,与V相乘以得到权重矩阵,将注意力函数表示为Attention(Q,K,V),计算公式如下所示:其中,dk表示K的维度,softmax函数将值转换为概率分布,如果Q,K,V维度相同的话,那么输出的注意力权重矩阵的维度也与它们相同;

步骤1.2:将拼接向量 作为输入放入网络中,将前面的单个点乘注意力重复h次,将h次的结果矩阵拼接起来,最后通过线性变换转为需要的维度,即将注意力函数设置为自注意模型来计算历史物品j对用户u预测目标物品i的得分所贡献的权重,并将其命名为Self;

步骤1.3:利用Transformer模型的主要框架,其主要分为encoder和decoder两个模块,将encoder模块的第一个子模块输入设置为待预测的目标物品的嵌入向量pi,剩余的每个子模块的输入是前一个子模块的输出,每个encoder子模块由两层组成,第一层是自注意模型层,第二层是feedforward层,encoder和decoder在Attention操作之后,都会包含一个完全连接的前向网络,包括两个线性变换和一个Relu激活输出,其公式如下:FFN(x)=max(0,xW1+b1)W2+b2

将decoder模块的第一个子模块输入设置用户交互的历史物品的集合qj,剩余的每个子模块的输入是前一个子模块的输出,每个decoder子模块由三层组成,第一层和第二层都是自注意力层,但第二层的输入Q是前一层的输出,K和V是encoder的输出,第三层是feedforward层,在每个层后面添加“Add&Normalize”层以防止渐变消失或爆炸,同时防止过拟合;模型的输出,通过一个全连接层和softmax函数转换为所需的尺寸以获得注意力权重aij并进行下面的工作,定义该模型为Trans;

步骤1.4:定制目标函数,将观察到的用户-物品交互视为正面实例,从剩余未观察到的交互中抽取负面实例,使用R+和R-代表正负实例的集合,使用log作为损失项,并用L2范式惩罚嵌入向量和各网络的系数和偏置项,那么损失函数如下:其中N代表训练实例的总数,σ代表sigmoid方法把预测值转化为概率值,超参数λ控制的L2范式的强度用来防止过拟合,θ={{pi},{qj},W,b,h}代表所有可训练的参数,这里的W,b,h以及全部使用到的线性变换的参数都有做正则惩罚;采用随机梯度下降算法的一种变体称为Adagrad优化目标函数,它对每一个参数应用自适应学习率,从所有训练实例中抽取随机样本,将相关参数向梯度的负方向更新,采用一种mini-batch方法,随机挑选一名用户,然后用它所有交互过的物品集作为一个小批次。