CN110781409B - 一种基于协同过滤的物品推荐方法 - Google Patents

一种基于协同过滤的物品推荐方法 Download PDF

Info

Publication number
CN110781409B
CN110781409B CN201911022328.2A CN201911022328A CN110781409B CN 110781409 B CN110781409 B CN 110781409B CN 201911022328 A CN201911022328 A CN 201911022328A CN 110781409 B CN110781409 B CN 110781409B
Authority
CN
China
Prior art keywords
attention
item
user
layer
recommendation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911022328.2A
Other languages
English (en)
Other versions
CN110781409A (zh
Inventor
郑莹
吕艳霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University Qinhuangdao Branch
Original Assignee
Northeastern University Qinhuangdao Branch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University Qinhuangdao Branch filed Critical Northeastern University Qinhuangdao Branch
Priority to CN201911022328.2A priority Critical patent/CN110781409B/zh
Publication of CN110781409A publication Critical patent/CN110781409A/zh
Application granted granted Critical
Publication of CN110781409B publication Critical patent/CN110781409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于协同过滤的物品推荐方法,涉及推荐***技术领域,本发明引入特殊的动态权重来更好的预测用户u对物品i的喜好程度,这个动态的权重会利用注意力机制来估算,通过查全率和查准率对推荐性能进行评估,提高了推荐***的有效性和推荐质量,证实了注意力机制有助于估算用户交互过的历史物品对用户偏好表示所做的贡献,使得个性化推荐更为准确。利用点乘注意力,自注意力来分别计算注意力分数,并取得了显著的效果,同时将transformer模型与推荐算法结合起来并与常规的嵌入模型做出了比较,展示了推荐效果的提升。

Description

一种基于协同过滤的物品推荐方法
技术领域
本发明涉及推荐***技术领域,具体涉及一种基于协同过滤的物品推荐方法。
背景技术
协同过滤(Collaborative Filtering,简称CF)是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐,不仅在学术界得到了深入研究,而且在业界得到了广泛应用。该算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户推荐品味相似的物品。协同过滤推荐算法主要分为两类,分别是基于用户的协同过滤算法(User-based Collaborative Filtering,简称UserCF)和基于物品的协同过滤算法(Item-based Collaborative Filtering简称ItemCF)。简单的说就是:人以类聚,物以群分。基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系,在有相同喜好的用户间进行商品推荐。简单的说就是如果A,B两个用户都购买了x,y,z三本图书,并且给出了5星的好评,那么A和B就属于同一类用户即可以将A看过的图书w也推荐给用户B。UserCF在一些网站(如Digg)中得到了应用,但该算法有一些缺点。首先,随着网站的用户数目越来越大,计算用户兴趣相似度矩阵将越来越困难,其运算时间复杂度和空间复杂度的增长和用户数的增长近似于平方关系。其次,基于用户的协同过滤很难对推荐结果作出解释。因此,著名的电子商务公司亚马逊提出了另一个种基于物品的协同过滤算法。
基于物品的协同过滤算法(ICF)给用户推荐那些和他们之前喜欢的物品相似的物品。比如,该算法会因为你购买过《数据挖掘导论》而给你推荐《机器学习》。不过,ICF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。ICF不仅在许多推荐场景中为预测结果提供了有说服力的解释,而且更容易实现实时个性化。具体来说,估计物品之间相似性的主要计算可以离线完成,而在线推荐模块仅需要对类似物品执行一系列查找,这很容易实时完成。
最早的基于物品的协同过滤ItemCF方法是通过计算用户过去接触过的物品与当前目标物品之间的相似度来确定是否将目标物品添加到用户的推荐列表即预测的用户u对一个特定的物品i的评分等于用户u所有交互过的物品j各自与物品i的相似度sij乘以用户对j的评分ruj最后累加起来的值。计算公式如下:
Figure BDA0002247620970000021
早期的ItemCF方法使用统计度量来计算用户历史物品与目标物品之间的相似性,例如Pearson系数和Cosine相似度等方法。该方法简单但是这种用于估计物品相似性的基于启发式的方法缺乏针对推荐而定制的优化,因此会产生次优的性能。其次在数据稀疏的情况下,假设用户对未评估物品调整余弦相似度为0,并且用户在Pearson系数中一起评价的物品集合(co-related)可能很小。因此,需要对这些方法进行调整和优化,以使不同的数据集适应推荐方案。随着机器学习的发展,一种基于学习的方法被提出,叫做SLIM。该方法主要是定制了一个推荐目标函数通过优化它从数据中自适应的学习物品之间的相似性。也就是说最小化原始用户物品交互矩阵与基于物品的CF模型重建的交互矩阵之间的损失。尽管SLIM可以实现更好的推荐精度,但它有两个固有的局限性。首先,离线训练过程对于大规模数据来说可能非常耗时,这是由于要直接学习具有相似度矩阵S,时间复杂度在O(I2)量级。其次它只能估计共同购买或共同评分的两个物品之间的相似性,不能估计不相关的物品之间的相似性所以无法捕获物品之间的传递关系。在实际推荐任务中,特别是在数据稀疏时,SLIM的推荐效果会下降。
FISM很好的解决了这些局限性。这个方法主要是将物品表示为低维嵌入向量,于是物品之间的相似性sij就参数化为物品i和j的嵌入向量的内积。随着用户和物品数量增加整个交互矩阵变得稀疏,现有的Top-K推荐方法的有效性降低,在FISM算法中提出了一种基于物品的方法用于生成Top-K推荐,该推荐算法将物品相似度矩阵的学习设为两个低维潜在因子矩阵的乘积。在几个不同稀疏度级别的多个数据集上进行的一整套实验表明,FISM算法中所提出的方法可以有效地处理稀疏数据集。由于这一点,FISM的推荐精度优于其他非常流行的Top-K推荐算法,特别是随着数据集变稀疏,其性能得到极大提升。虽然它具有优越的性能,但是它假设用户所有的历史上交互的物品对用户偏好的表示具有相同的贡献,这显然是不合理的。例如篮球和日用品对实时推荐篮球鞋的影响是不相同的。于是我们引入特殊的动态权重来更好的预测用户u对物品i的喜好程度,这个动态的权重会利用注意力机制来估算。
发明内容
针对现有技术存在的问题,本发明提供一种基于协同过滤的物品推荐方法。
一种基于协同过滤的物品推荐方法,具体步骤如下:
1、一种基于协同过滤的物品推荐方法,其特征在于:包括以下步骤:
步骤1:计算用户u对目标物品i的预测分数,将预测目标物品i使用one-hot编码通过嵌入层获得其嵌入向量p和q,其中p表示该物品是预测物品,q表示它是历史交互物品,获得其评价指标,定义基于注意力的ItemCF公式如下:
Figure BDA0002247620970000031
aij=f(pi,qj)
其中,i为预测目标物品,j为用户历史交互物品,aij为利用注意力网络计算出的历史交互物品对用户偏好表示所占的权重,pi和qj分别表示预测物品集的嵌入向量和用户交互过的物品的嵌入向量,R表示用户u的正例集,
Figure BDA0002247620970000032
表示去掉正例集中的物品i,
Figure BDA0002247620970000033
为系数;
步骤1.1:将查询物品集的嵌入向量pi和用户交互过的物品集的嵌入向量qj两个向量进行拼接,得到拼接向量c,
Figure BDA0002247620970000034
将拼接向量作为点乘注意力模型的输入,将注意力机制的第一次尝试命名为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),计算公式如下所示:
Figure BDA0002247620970000035
其中,dk表示K的维度,softmax函数将值转换为概率分布,如果Q,K,V维度相同的话,那么输出的注意力权重矩阵的维度也与它们相同;
步骤1.2:将拼接向量
Figure BDA0002247620970000036
作为输入放入网络中,将前面的单个点乘注意力重复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范式惩罚嵌入向量和各网络的系数和偏置项。那么损失函数如下:
Figure BDA0002247620970000041
其中N代表训练实例的总数,σ代表sigmoid方法把预测值转化为概率值,超参数λ控制的L2范式的强度用来防止过拟合,θ={{pi},{qj},W,b,h}代表所有可训练的参数,这里的W,b,h以及全部使用到的线性变换的参数都有做正则惩罚;采用随机梯度下降算法的一种变体称为Adagrad优化目标函数,它对每一个参数应用自适应学习率,从所有训练实例中抽取随机样本,将相关参数向梯度的负方向更新。采用一种mini-batch方法,随机挑选一名用户,然后用它所有交互过的物品集作为一个小批次。
步骤2:在评价指标上对真实物品数据集进行实验,性能由推荐结果进行评判,并将实验结果与其他推荐方法进行比较。
本发明的有益效果:
本发明将自然语言处理中机器翻译的注意力机制transformer运用到了推荐模型中,在电影和图片两个真实数据集上对本文提出的方法进行实验,使用查全率和查准率两个常用的推荐模型评估指标进行评估。基于查全率,该方法实现了相对3.2%的提高,基于查准率实现了相对4.3%的提高,因此该方法能为用户生成更精准的个性化推荐列表。高效的推荐***可以在用户缺乏相关领域经验或是面对海量数据无法处理的情况下,为用户提供一种高效智能的信息过滤技术,挖掘用户潜在的消费倾向,为众多的用户提供个性化服务。通过将物品精准的推荐给用户,可以提升用户的兴趣,提高网站浏览量,点击率和购买率,为网站带来收入的同时为用户的生活休闲带来极大的便利。更优的推荐方法可以为企业实体带来商业价值的实现,优化销售边界和利润,帮助产品拓展边界,通过场景构建,提供更多样、更贴心的体验,最终提升利润等。
附图说明
图1为基于注意力的Item CF模型的基本框架;
图2为点乘注意力模型结构;
图3为Transformer模型基本框架;
图4为模型FISM,Dot,Self,Trans在嵌入尺寸为16时的性能比较;
图(a)为ML-1M-HR,图(b)为ML-1M-NDCG,图(c)为Pinterest-20-HR,图(d)为Pinterest-20-NDCG。
具体实施方式
为了使本发明的目的、技术方案及优势更加清晰,下面结合附图和具体实施例对本发明做进一步详细说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种基于协同过滤的物品推荐方法,包括如下步骤:
步骤1:如图1所示,表示用户时采用Multi-hot编码即利用用户u在隐式反馈情况下交互过的所有物品来表示u,在这种情况下,用户的Multi-hot编码通过嵌入层并产生一组向量,其中每个向量表示与用户相关联的历史物品,要预测的目标物品使用one-hot编码通过嵌入层获得其嵌入向量。计算用户u对目标物品i的预测分数,将预测目标物品i使用one-hot编码通过嵌入层获得其嵌入向量p和q,其中p表示该物品是预测物品,q表示它是历史交互物品,如图1所示,定义基于注意力的ItemCF公式如下:
Figure BDA0002247620970000051
aij=f(pi,qj)
其中,i为预测目标物品,j为用户历史交互物品,aij为利用注意力网络计算出的历史交互物品对用户偏好表示所占的权重,pi和qj分别表示预测物品集的嵌入向量和用户交互过的物品的嵌入向量,R表示用户u的正例集,
Figure BDA0002247620970000052
表示去掉正例集中的物品i,
Figure BDA0002247620970000053
为系数;
步骤1.1:将查询物品集的嵌入向量pi和用户交互过的物品集的嵌入向量qj两个向量进行拼接,得到拼接向量c学习交互权重,
Figure BDA0002247620970000054
将拼接向量作为点乘注意力模型的输入,如图2所示,将注意力机制的第一次尝试命名为Dot;
步骤1.1.1:将拼接向量c独立的做三次线性变换,系数矩阵分别为WQ,WK,WV,由此得到注意力网络的输入Query,Key,Value(Q,K,V);
步骤1.1.2:使用高度优化的矩阵乘法来实现Q和K转置的点积,因为点积更快,更节省空间,并且可以使用高度优化的矩阵乘法来实现,其中因子
Figure BDA0002247620970000061
起调节作用,使得内积不至于太大,否则会导致softmax层的值非0即1,引起梯度消失或者***问题,这样做可以使值保持在梯度较大的位置,softmax函数是将值转换为概率分布,这对梯度计算非常友好,在softmax之后,与V相乘以得到权重矩阵,将注意力函数表示为Attention(Q,K,V),计算公式如下所示:
Figure BDA0002247620970000062
其中,dk表示K的维度,softmax函数将值转换为概率分布,如果Q,K,V维度相同的话,那么输出的注意力权重矩阵的维度也与它们相同;
步骤1.2:将拼接向量
Figure BDA0002247620970000063
作为输入放入网络中,将前面的单个点乘注意力重复h次,将h次的结果矩阵拼接起来,最后通过线性变换转为需要的维度,即将注意力函数设置为自注意模型来计算历史物品j对用户u预测目标物品i的得分所贡献的权重,并将其命名为Self。
步骤1.3:利用Transformer模型的主要框架,如图3所示,其主要分为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函数转换为所需的尺寸以获得注意力权重αij并进行下面的工作,定义该模型为Trans;
步骤1.4:定制目标函数,将观察到的用户-物品交互视为正面实例,从剩余未观察到的交互中抽取负面实例,使用R+和R-代表正负实例的集合,使用交叉上损失函数作为目标函数,并用L2范式惩罚嵌入向量和各网络的系数和偏置项。那么目标函数如下:
Figure BDA0002247620970000071
其中N代表训练实例的总数,σ代表sigmoid方法把预测值转化为概率值代表用户u会与物品i交互的可能性,超参数λ控制用来L2范式的强度防止过拟合,θ={{pi},{qj},W,b,h}代表所有可训练的参数,这里的W,b,h以及全部使用到的线性变换的参数都有做正则惩罚;采用随机梯度下降算法的一种变体称为Adagrad优化目标函数,它对每一个参数应用自适应学习率,从所有训练实例中抽取随机样本,将相关参数向梯度的负方向更新。
本实施例使用TensorFlow实现所有模型,而TensorFlow要求批次的所有训练实例必须具有相同的长度,因为一些活跃用户可能与数千个物品进行了交互,使得采样的小批量训练集仍然非常大。为了解决这个问题,本实施例采用一种mini-batch方法,随机挑选一名用户,然后用它所有交互过的物品集作为一个小批次,而不是随机抽取固定数量的训练实例作为小批量训练集。这种方法有两个优点:1)不必使用掩蔽技巧,因此速度更快;2)不需要指定批量大小,这样可以避免调整批量大小。如果注意力网络与物品嵌入向量同时进行训练,由于注意力网络的输出会对物品嵌入做出变化,因此联合训练的话,容易导致自适应效应,从而收敛速度降低。为了解决模型训练中的实际问题,本实施例使用Kabbur等人提出的FISM算法对模型进行了预训练,利用FISM算法学习到的物品嵌入向量来初始化模型。由于FISM算法本身没有自适应问题,它能更好地学习嵌入编码物品的相似性。因此,利用FISM算法初始化模型的话可以极大促进注意力网络的学习,可以更好地性能和快速收敛。
步骤2:在评价指标上对真实物品数据集进行实验,性能由推荐结果进行评判,并将实验结果与其他推荐方法进行比较。
本实施例为用户历史上交互过的每个物品赋予一个权重使得用户历史物品集在用户对目标物品进行预测打分时能更精确地表示用户偏好,推荐效果得到了提高,个性化推荐也更加准确,我们将这些改进归因于有效引入注意机制,以区分历史物品在用户表示中的重要性。我们在评价指标HR和NDCG上对两个真实物品数据集ML-1M和Pinterest-20进行了全面的实验,以评估Top-K。性能由推荐结果的前10位的Hit Ratio(HR)和NormalizedDiscounted Cumulative Gain(NDCG)进行评判。这两个指标已广泛用于评估Top-K推荐和信息检索文献的搜索***中。HR@10可以被解释为基于召回的度量,表示成功推荐用户的百分比(即,正面实例出现在前10名),而NDCG@10是考虑到正实例的预测位置,这两个指标的数值越大越好。
我们将实验结果与一些流行的推荐方法进行比较。对于这些基于嵌入的方法(MF、MLP、FISM和本文的模型),嵌入大小控制其建模能力;因此,我们将所有方法设置为16。结果如表1所示,可以看到基于注意力的模型最终都达到了比较好的效果,并且最终效果相似。它们在所有的数据集中均拿到了NDCG和HR评分的最高分。在ML-1M数据集上,三个模型的性能相较于FISM都得到了一定的提升,其中Self模型相较FISM在HR和NDCG方面相对改进了3.1%和4.3%。这可能是结构相对简单的模型在不太稀疏的数据集上能更全面地捕捉用户特征,刻画用户的偏好。而在Pinterest-20上,Trans优于另外二者拿到了最高分并在NDCG上相对FISM提升了3.2%,这可能是因为较深的网络能更好的捕捉到稀疏数据的特性。基于学习的协同过滤方法普遍的表现要比Pop和ItemKNN这些基于启发式的方法要好很多,特别是FISM要比ItemKNN高了不少。考虑到两种方法使用相同的预测模型,只是对物品的相似度估计方法不同,可以清楚地看到定制优化对推荐的积极影响。
表1 效果对比图
Figure BDA0002247620970000081
如图4所示,在物品嵌入尺寸为16时,FISM以及本申请提出的Dot,Self和Trans在每个epoch的性能,这三种模型在两个数据集上都拿到了HR和NDCG的最高分,它们达到了相同的性能水平,相较FISM实现了显著的改进。我们认为这些优点归功于在学习物品对物品交互时注意力网络的有效设计。尤其是在第一个epoch时,我们的模型性能就显著超过了FISM,随着训练时长的增加,实验效果会变得更好直至收敛。
基于上面的讨论,本文在基于物品的协同过滤算法方面进行研究,尝试接入多种注意力模型来改进动态权重系数的学习并加以实现和实验,并与其它模型进行对比,取得了较好的效果。主要贡献有:(1)证实了注意力机制有助于捕捉新物品对用户接触过的历史物品集之间在相似度计算上的贡献的动态权重。使得个性化推荐更为准确。(2)使用了点乘注意力,自注意力来分别计算注意力分数,并取得了不错的效果。(3)将transformer模型与推荐算法结合起来并与常规的嵌入模型做出了比较,展示了推荐效果的提升。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;因而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (1)

1.一种基于协同过滤的物品推荐方法,其特征在于:包括以下步骤:
步骤1:计算用户u对目标物品i的预测分数,将预测目标物品i使用one-hot编码通过嵌入层获得其嵌入向量p和q,其中p表示该物品是预测物品,q表示它是历史交互物品,获得其评价指标,定义基于注意力的ItemCF公式如下:
Figure FDA0003408983680000011
aij=f(pi,qj)
其中,i为预测目标物品,j为用户历史交互物品,aij为利用注意力网络计算出的历史交互物品对用户偏好表示所占的权重,pi和qj分别表示预测物品集的嵌入向量和用户交互过的物品的嵌入向量,R表示用户u的正例集,
Figure FDA0003408983680000012
表示去掉正例集中的物品i,
Figure FDA0003408983680000013
为系数;
步骤1.1:将预测物品集的嵌入向量pi和用户交互过的物品集的嵌入向量qj两个向量进行拼接,得到拼接向量c,
Figure FDA0003408983680000014
将拼接向量作为点乘注意力模型的输入,将注意力机制的第一次尝试命名为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),计算公式如下所示:
Figure FDA0003408983680000015
其中,dk表示K的维度,softmax函数将值转换为概率分布,如果Q,K,V维度相同的话,那么输出的注意力权重矩阵的维度也与它们相同;
步骤1.2:将拼接向量
Figure FDA0003408983680000016
作为输入放入网络中,将前面的单个点乘注意力重复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范式惩罚嵌入向量和各网络的系数和偏置项,那么损失函数如下:
Figure FDA0003408983680000021
其中N代表训练实例的总数,σ代表sigmoid方法把预测值转化为概率值,超参数λ控制的L2范式的强度用来防止过拟合,θ={{pi},{qj},W,b,h}代表所有可训练的参数,这里的W,b,h以及全部使用到的线性变换的参数都有做正则惩罚;采用随机梯度下降算法的一种变体称为Adagrad优化目标函数,它对每一个参数应用自适应学习率,从所有训练实例中抽取随机样本,将相关参数向梯度的负方向更新,采用一种mini-batch方法,随机挑选一名用户,然后用它所有交互过的物品集作为一个小批次;
步骤2:在评价指标上对真实物品数据集进行实验,性能由推荐结果进行评判,并将实验结果与其他推荐方法进行比较。
CN201911022328.2A 2019-10-25 2019-10-25 一种基于协同过滤的物品推荐方法 Active CN110781409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911022328.2A CN110781409B (zh) 2019-10-25 2019-10-25 一种基于协同过滤的物品推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911022328.2A CN110781409B (zh) 2019-10-25 2019-10-25 一种基于协同过滤的物品推荐方法

Publications (2)

Publication Number Publication Date
CN110781409A CN110781409A (zh) 2020-02-11
CN110781409B true CN110781409B (zh) 2022-02-01

Family

ID=69388037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911022328.2A Active CN110781409B (zh) 2019-10-25 2019-10-25 一种基于协同过滤的物品推荐方法

Country Status (1)

Country Link
CN (1) CN110781409B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737573A (zh) * 2020-06-17 2020-10-02 北京三快在线科技有限公司 资源推荐方法、装置、设备及存储介质
CN112182156B (zh) * 2020-09-28 2023-02-07 齐鲁工业大学 基于文本处理的方面级可解释深度网络评分预测推荐方法
CN112328908B (zh) * 2020-11-11 2022-10-28 北京工业大学 一种基于协同过滤的个性化推荐方法
CN112529414B (zh) * 2020-12-11 2023-08-01 西安电子科技大学 基于多任务神经协同过滤网络的物品评分方法
CN112784153B (zh) * 2020-12-31 2022-09-20 山西大学 融合属性特征注意力与异质类型信息的旅游景点推荐方法
CN113158024B (zh) * 2021-02-26 2022-07-15 中国科学技术大学 一种纠正推荐***流行度偏差的因果推理方法
CN112967101B (zh) * 2021-04-07 2023-04-07 重庆大学 一种基于社交用户多交互信息的协同过滤物品推荐方法
CN115712828A (zh) * 2021-08-18 2023-02-24 华为技术有限公司 一种图像分类方法及其相关设备
CN115309975B (zh) * 2022-06-28 2024-06-07 中银金融科技有限公司 基于交互特征的产品推荐方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212710A1 (en) * 2017-05-19 2018-11-22 National University Of Singapore Predictive analysis methods and systems
CN109087130A (zh) * 2018-07-17 2018-12-25 深圳先进技术研究院 一种基于注意力机制的推荐***及推荐方法
CN109299396A (zh) * 2018-11-28 2019-02-01 东北师范大学 融合注意力模型的卷积神经网络协同过滤推荐方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212710A1 (en) * 2017-05-19 2018-11-22 National University Of Singapore Predictive analysis methods and systems
CN109087130A (zh) * 2018-07-17 2018-12-25 深圳先进技术研究院 一种基于注意力机制的推荐***及推荐方法
CN109299396A (zh) * 2018-11-28 2019-02-01 东北师范大学 融合注意力模型的卷积神经网络协同过滤推荐方法及***

Also Published As

Publication number Publication date
CN110781409A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110781409B (zh) 一种基于协同过滤的物品推荐方法
Huang et al. A deep reinforcement learning based long-term recommender system
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及***
CN111538912B (zh) 内容推荐方法、装置、设备及可读存储介质
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及***
Karatzoglou et al. Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering
CN111127142B (zh) 一种基于广义神经注意力的物品推荐方法
CN111737578B (zh) 一种推荐方法及***
CA2634020A1 (en) System and method for multi-level online learning
CN112364976A (zh) 基于会话推荐***的用户偏好预测方法
CN111581520A (zh) 基于会话中物品重要性的物品推荐方法和***
CN114202061A (zh) 基于生成对抗网络模型及深度强化学习的物品推荐方法、电子设备及介质
Chen et al. Generative inverse deep reinforcement learning for online recommendation
CN114693397A (zh) 一种基于注意力神经网络的多视角多模态商品推荐方法
Wang et al. Modeling uncertainty to improve personalized recommendations via Bayesian deep learning
Chen et al. Session-based recommendation: Learning multi-dimension interests via a multi-head attention graph neural network
CN117216281A (zh) 一种基于知识图谱的用户兴趣扩散推荐方法及***
CN110851705A (zh) 一种基于项目的协作存储推荐方法及其推荐装置
CN113763031A (zh) 一种商品推荐方法、装置、电子设备及存储介质
Gasmi et al. Context-aware based evolutionary collaborative filtering algorithm
CN115687757A (zh) 融合层次注意与特征交互的推荐方法及其应用***
CN110956528B (zh) 一种电商平台的推荐方法及***
Zhang et al. Leveraging mixed distribution of multi-head attention for sequential recommendation
Yang et al. Collaborative Filtering Recommendation Algorithm Based on AdaBoost-Naïve Bayesian Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant