一种基于维度关系的对比学习序列推荐方法

    技术2025-01-20  49


    本发明涉及一种基于维度关系的对比学习序列推荐方法,属于推荐系统。


    背景技术:

    1、在信息爆炸的时代,推荐系统在满足用户兴趣方面发挥着重要的作用。为了建模用户的动态兴趣,序列推荐通过用户的历史行为序列,预测用户可能感兴趣的下一个项目,以提供个性化的建议。

    2、虽然序列推荐已经证明在一系列任务中是成功的,但存在数据稀疏性的问题,导致其难以学习到高质量的用户兴趣表征。


    技术实现思路

    1、本发明要解决的技术问题是提供一种基于维度关系的对比学习序列推荐方法,用以解决现有存在数据稀疏性的问题,导致其难以学习到高质量的用户兴趣表征。

    2、本发明的技术方案是:一种基于维度关系的对比学习序列推荐方法,具体步骤为:

    3、step1:查询用户的历史游览记录,对其进行数据清洗和整理;

    4、step1.1:数据读取,遍历用户历史游览记录,如果个人用户游览记录小于n,将会删去该用户记录,不参与后续的模型训练;

    5、step1.2:数据整理,将调整后的用户的数据,以单用户的游览时间顺序整理为k={(namek, item1), (namek, item2), ……, (namek, itemm)};其中表示昵称namek的用户在商品购物平台游览商品itemm,其中m表示用户游览数据中的商品数。

    6、step2:利用游览信息将其编码得到序列特征;

    7、step2.1:从预处理后的用户游览数据中选取商品itemn作为预测商品,将itemn前项商品序列进行编码,itemn∈(item1,item2, ……,itemm);序列中的子元素会被编码成维度为的向量,整体的维度为,用户也会被编码为维度为的向量;

    8、step2.2:通过将序列中的子元素两两组合,将序列位置i和序列位置j上的元素进行前后拼接,形成维度为的向量。通过将整体子元素遍历,利用上述方式,将会形成一个维度为的三维向量。

    9、step3:将step2.2产生的三维向量,输入至对比学习框架中进行特征编码以获得用户的兴趣特征,具体步骤为:

    10、step3.1:将step2.2中三维向量输入至奇异值分解代理任务中得到维度内的增强向量。通过奇异值分解去除维度内冗余信息。在此处数据增强方法可以公式化为:

    11、

    12、

    13、其中,为三维向量维度t上的向量,其维度大小为。是大小为的对角矩阵保留对角线前k个元素为1其余元素为0。通过在维度方向上进行数据增强可获得新的三维向量,整体维度为 。表示正交左奇异矩阵,表示对角矩阵,表示是一个正交右奇异矩阵,右下角 t表示维度,右上角 t表示转置,表示增强后的对角矩阵,表示数据增强后新的三维向量。

    14、step3.2:将step2.2中三维向量输入至se-block代理任务通过学习维度间的重要性得到通道相关的图像特征图。其经历了三个阶段,压缩阶段、激励阶段、重缩放阶段。其公式如下所示:

    15、

    16、其中是维度方向上的描述符,是全局平均池化操作。,的权重矩阵,表示 relu 激活函数,表示 sigmoid 激活函数,r是一个超参数,用来控制压缩比例,s是激励阶段得到的注意力权重。通过在维度方向上进行数据增强可获得新的三维向量,整体维度为。

    17、step3.3:将上述step2.2、step3.1、step3.2得到的输入至2d卷积编码其中以获得其特征编码,分别为,大小维度为。其中编码器主要结构如下表所示:

    18、

    19、step3.4:将上述step3.3得到的特征编码输入至非线性投影头函数中,得到投影头编码,维度大小为,其计算过程如下:

    20、

    21、其中,为投影头线性层权重, dropout表示随机失活,用于随机地将一部分神经元参数的输出置为0, h表示隐藏层嵌入向量。

    22、step3.5:将上述step3.4得到的投影头编码输入至对比损失函数infonce loss中,获得对比损失。对比损失函数学习的是最小化相同图像特征图之间不同增强视图的差异,并且最大化的从相同的批次导出不同图像特征图之间的差异。对于每一个用户,将上述数据增强方法生成的视为正样本对,并将同一批次中的其他2(n-1)增强样本视为负样本。通过余弦相似度计算样本对之间的相似性。对比损失函数公式如下所示:

    23、

    24、其中,为温度系数。温度系数的主要作用是调整对正负样本之间区分度的重视程度:越小的温度系数,越倾向于将当前样本与最相似的其他负样本进行区分。

    25、step4:将用户向量与用户兴趣特征进行拼接并通过全连接层学习用户的兴趣表征,具体步骤为:

    26、

    27、其中为全连接层权重,其中n为数据集中商品的个数,用该方式能反映出用户对于所有商品的兴趣特征。为全连接层中的偏置项。

    28、step5:根据用户兴趣表征推荐用户商品,计算预测与真实值之间的误差并优化网络,得到推荐用户商品的序列推荐模型,具体步骤为:

    29、step5.1:将预测值同真实值通过二元交叉熵损失函数作为主要目标函数计算出主要损失。其表达式为:

    30、

    31、上述公式表示的是一个交又熵损失函数的扩展形式,主要用于二分类问题。公式中的是损失值,通过对所有样本u和时间步t进行累加计算,公式的第一部分是对正类样本su进行的损失计算,即模型对正类的预测概率的对数损失,第二部分对负类样本的损失,即模型对负类的预测错误概率的对数损失,这个公式的目的是最大化正类样本的预测概率,同时最小化负类样本的预测错误率,通过最小化整体损失来优化模型的分类效果。

    32、step5.3:将step3.5得到的对比损失,作为辅助任务同上述step5.2主要损失进行联合训练。其表达式为:

    33、

    34、其中为设计辅助任务的权重,其可以控制对比损失参与损失函数的比例。

    35、step5.3:根据上述的损失值,利用优化器对网络进行优化;

    36、step5.4:根据需要定义epoch的大小,决定优化的次数,即可重复几次以上步骤;

    37、step5.5:得到训练好的特征融合的多任务推荐模型。

    38、本发明的有益效果是:

    39、本发明提出了一种基于维度关系对比学习框架,通过对项目间维度关系进行对比学习来实现数据增强。还提出了两种基于维度关系的数据增强方法来实现数据增强以解决数据噪声问题,包括se-block和奇异值分解。

    40、具体的,将项目进行成对编码为三维向量,输入至对比学习框架中,通过框架内的代理任务以获得维度间和维度内之间的信息来数据增强,利用cnn编码器对增强后的序列特征进行编码。随后通过投影头函数来获得非线性特征表示。在框架中,将代理任务增强后的数据表示通过infonec来计算不同增强视图间的差异以计算对比学习损失。经过对比框架后,将用户兴趣特征同用户特征同用户向量进行拼接得到用户推荐编码,并使用全连接层来学习到用户兴趣表征,通过该表征通过二元交叉熵损失函数来计算主目标损失。最后通过将对比学习损失作为辅助任务同主任务进行联合训练。


    技术特征:

    1.一种基于维度关系的对比学习序列推荐方法,其特征在于,包括如下步骤:

    2.根据权利要求1所述的基于维度关系的对比学习序列推荐方法,其特征在于,所述step1的具体步骤为:

    3.根据权利要求1所述的基于维度关系的对比学习序列推荐方法,其特征在于,所述step2的具体步骤为:

    4.根据权利要求1所述的基于维度关系的对比学习序列推荐方法,其特征在于,所述步骤step3的具体步骤为:

    5.根据权利要求1所述的基于维度关系的对比学习序列推荐方法,其特征在于,所述步骤step4的具体步骤为:

    6.根据权利要求1所述的基于维度关系的对比学习序列推荐方法,其特征在于,所述步骤step5的具体步骤为:


    技术总结
    本发明涉及一种基于维度关系的对比学习序列推荐方法,属于推荐系统领域。本发明为了应对数据稀疏性问题,针对序列推荐系统中的数据集稀疏导致模型训练不佳的问题进行改进,提出一种基于维度关系的对比学习序列推荐方法。本发明采用对比学习方法,通过构建维度关系来产生自监督信号,将高维的原始数据映射为密集的、有表现力的特征表示。通过优化项目表征,从而学习到高质量的用户兴趣表征,能有效提升推荐系统性能,为序列推荐发展提供可行的方案。

    技术研发人员:王俊,周明涛,吕晋鑫,谢昊,张姝,陈恳,邹伟
    受保护的技术使用者:云南师范大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-25295.html

    最新回复(0)