首页 > 专利 > 杭州电子科技大学 > 基于记忆网络的物品协同过滤推荐的方法专利详情

基于记忆网络的物品协同过滤推荐的方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-12-08
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-03-12
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-07-29
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-12-08
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202011424833.2 申请日 2020-12-08
公开/公告号 CN112395514B 公开/公告日 2022-07-29
授权日 2022-07-29 预估到期日 2040-12-08
申请年 2020年 公开/公告年 2022年
缴费截止日
分类号 G06F16/9536G06F16/9535G06N3/04G06N3/08 主分类号 G06F16/9536
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 3
权利要求数量 4 非专利引证数量 0
引用专利数量 1 被引证专利数量 0
非专利引证
引用专利 CN111310063A 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 僧德文、陈光森、张琪彦、张家铭 第一发明人 僧德文
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 4
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州浙科专利事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
孙孟辉
摘要
本文发明属于推荐系统领域,具体为基于记忆网络的物品协同过滤推荐的方法,首先通过网站下载获取用户曾经交互过的物品和对物品的历史评分数据,进行预处理,转换数据格式,以用户历史曾经交互过的物品集合来标识该用户,并划分为训练集和测试集,额外剔除训练集中存在于用户历史交互过的物品集合中的目标物品,然后搭建记忆网络结构,初始化记忆网络的参数,再将训练集的数据输入到记忆网络中进行训练,直至网络收敛,通过对照实验调节网络中的超参数,获得最佳模型,最后通过测试集数据的预测来检验模型效果,得到用户对目标物品进行交互的概率。本发明的基于记忆网络的物品协同过滤推荐的方法,大大提高了物品协同过滤方法的预测准确性。
  • 摘要附图
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图1
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图2
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图3
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图4
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图5
    基于记忆网络的物品协同过滤推荐的方法
  • 说明书附图:图6
    基于记忆网络的物品协同过滤推荐的方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-07-29 授权
2 2021-03-12 实质审查的生效 IPC(主分类): G06F 16/9536 专利申请号: 202011424833.2 申请日: 2020.12.08
3 2021-02-23 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.基于记忆网络的物品协同过滤推荐的方法,其特征在于,包括如下步骤:
步骤1:通过网站下载获取用户曾经交互过的物品和对物品的历史评分数据;
步骤2:对所述评分数据进行预处理,包括剔除异常值、填充缺失值,将评分数据转化为二元值;
步骤3:转换数据格式,以用户历史曾经交互过的物品ID集合来标识该用户,并将数据集划分为训练集和测试集,额外剔除训练集中亦存在于用户历史交互过的物品集合中的目标物品;
步骤4:搭建记忆网络的结构,初始化记忆网络的各种网络参数,设置记忆插槽的大小,将训练集的数据输入到记忆网络中进行训练,直至网络收敛,通过对照实验调节网络中的超参数,获得最佳模型,具体包括以下子步骤:
步骤4.1:搭建记忆网络的结构,包括输入层、Attention注意力机制层、记忆模块、输出层,设置记忆网络的层数;
步骤4.2:初始化网络中的每一个参数,服从正态分布以加速网络的收敛,设置embedding层的维度;
步骤4.3:采用交叉熵作为损失函数,通过Adam优化方法,将训练集的数据输入到记忆网络中进行训练,循环往复直至模型收敛;所述以交叉熵作为模型的损失函数的公式如下:
+ ‑
其中, 为模型输出的预测值,Θ为网络的参数值,R为正样本集合,R为负样本集合,u,i分别表示用户和物品;
步骤4.4:通过对比调参,获取最优参数并保存,所述最优参数包括embedding层的维度,网络的层数,L2正则化系数,非标准Softmax的光滑系数β以及Layer Normalization层的缩放参数;
所述非标准Softmax具体为:
β称为光滑系数,pi为用户交互过的物品,qj代表目标物品的特征信息;
步骤5:通过测试集数据的预测来检验模型效果,得到用户对目标物品进行交互的概率,具体包括以下子步骤:
步骤5.1:将训练好的预测模型在测试集上对用户与物品的交互概率进行预测;
步骤5.2:将所有的预测结果同真实值进行对比,以HR和NDCG作为指标,得到模型的性能评估结果;所述HR指标的计算公式为:
其中的分母是所有的测试集合,分子表示每个用户top‑K列表中属于测试集合的个数总和;
所述NDCG指标的计算公式为:
其中,IDCG@K为理想情况下DCG@K的最大值,DCG@K的计算公式如下:
其中r(i)为物品i的相关系数;
步骤5.3:最终的预测模型用于实际电商项目中对用户的购买行为进行预测。

2.如权利要求1所述的基于记忆网络的物品协同过滤推荐的方法,其特征在于,所述步骤1具体为:
步骤1.1:为每位用户以及物品生成一个唯一的编号,以这个编号来标识该用户/物品;
步骤1.2:获取每位用户的历史交易记录,以及该用户对该物品的评分。

3.如权利要求1所述的基于记忆网络的物品协同过滤推荐的方法,其特征在于,所述步骤2具体为:
步骤2.1:直接删除数据中存在明显异常值的记录,同时对于没有交互过的物品数据集中并没有记录,但是作为网络的训练输入是需要这种记录的,以0 作为填充,表示用户没有购买过该物品;
步骤2.2:生成用户对物品的评分矩阵,设用户购买过该物品则将评分值标记为1,若未购买过该物品则标记为0,得到一个稀疏矩阵。

4.如权利要求1所述的基于记忆网络的物品协同过滤推荐的方法,其特征在于,所述步骤3具体为:
步骤3.1:转换数据格式,以用户的历史购买物品ID序列表示该用户,与目标物品一起作为输入数据;
步骤3.2:将输入数据按照7:3的比例划分为训练集和测试集,额外剔除训练集中用户历史购买物品ID序列中包含的目标物品。
说明书

技术领域

[0001] 本文发明属于推荐系统领域,具体涉及一种基于记忆网络的物品协同过滤推荐的方法。

背景技术

[0002] 近年来,随着网络的快速发展,电商网站对生活的影响日益增长,伴随而来的是用户对于海量商品的选择困难症。为了使用户能在信息过载的时代迅速过滤掉不合适的商品,同时遴选出最适合用户喜好的商品,推荐系统应运而生。协同过滤作为推荐系统的关键一环,其主要原理为:以用户历史所产生的购买行为作为起点,预测其对于商品集合中未产生的购买行为的物品的购买行为。而基于物品的协同过滤方法作为协同过滤方法的一个主要分支,其主要注重点在于以用户曾经交互过的物品对用户的偏好进行建模。
[0003] 目前物品协同过滤方法已经得到了较大的发展,从传统的基于统计的物品协同过滤方法到基于机器学习的物品协同过滤方法如SLIM(short for Sparse Linear Method)再到基于神经网络的物品协同过滤方法如FISM(short for Factored Item Similarity Model)发展到基于深度神经网络的物品协同过滤方法如Deep‑ICF(Deep Item‑based Collaborative Filtering for Top‑N Recommendation)。
[0004] 这些方法虽然尝试着以用户的历史购买记录来对用户进行建模,但是由于互联网的方便,每位用户的历史购买记录数据比较庞大,而以往的神经网络缺乏强大的记忆能力,即使是RNN也会因为参数量的限制造成信息的缺失,上述方法往往会因为模型缺乏强大的记忆能力而遗漏信息从而不能很好地对用户进行建模。

发明内容

[0005] 本发明为了应对解决上述技术模型存在的问题缺陷,提出了基于记忆网络的物品协同过滤推荐的方法,其具体技术方案如下:
[0006] 基于记忆网络的物品协同过滤推荐的方法,包括如下步骤:
[0007] 步骤1:通过网站下载获取用户曾经交互过的物品和对物品的历史评分数据;
[0008] 步骤2:对所述评分数据进行预处理,包括剔除异常值、填充缺失值,将评分数据转化为二元值,;
[0009] 步骤3:转换数据格式,以用户历史曾经交互过的物品ID集合来标识该用户,并将数据集划分为训练集和测试集,额外剔除训练集中亦存在于用户历史交互过的物品集合中的目标物品;
[0010] 步骤4:搭建记忆网络的结构,初始化记忆网络的各种网络参数,设置记忆插槽的大小,将训练集的数据输入到记忆网络中进行训练,直至网络收敛,通过对照实验调节网络中的超参数,获得最佳模型;
[0011] 步骤5:通过测试集数据的预测来检验模型效果,得到用户对目标物品进行交互的概率。
[0012] 进一步的,所述步骤1具体为:
[0013] 步骤1.1:为每位用户以及物品生成一个唯一的编号,以这个编号来标识该用户/物品;
[0014] 步骤1.2:获取每位用户的历史交易记录,以及该用户对该物品的评分。
[0015] 进一步的,所述步骤2具体为:
[0016] 步骤2.1:直接删除数据中存在明显异常值的记录,同时对于没有交互过的物品数据集中并没有记录,但是作为网络的训练输入是需要这种记录的,以0作为填充,表示用户没有购买过该物品;
[0017] 步骤2.2:生成用户对物品的评分矩阵,设用户购买过该物品则将评分值标记为1,若未购买过该物品则标记为0,得到一个稀疏矩阵。
[0018] 进一步的,所述步骤3具体为:
[0019] 步骤3.1:转换数据格式,以用户的历史购买物品ID序列表示该用户,与目标物品一起作为输入数据;
[0020] 步骤3.2:将输入数据按照7:3的比例划分为训练集和测试集,额外剔除训练集中用户历史购买物品ID序列中包含的目标物品。
[0021] 进一步的,所述步骤4具体为:
[0022] 步骤4.1:搭建记忆网络的结构,包括输入层、Attention注意力机制层、记忆模块、输出层,设置记忆网络的层数;
[0023] 步骤4.2:初始化网络中的每一个参数,服从正态分布以加速网络的收敛,设置embedding层的维度;
[0024] 步骤4.3:采用交叉熵作为损失函数,通过Adam优化方法,将训练集的数据输入到记忆网络中进行训练,循环往复直至模型收敛;所述以交叉熵作为模型的损失函数的公式如下:
[0025]
[0026] 其中, 为模型输出的预测值,Θ为网络的参数值,R+为正样本集合,R‑为负样本集合,u,i分别表示用户和物品;
[0027] 步骤4.4:通过对比调参,获取最优参数并保存,所述最优参数包括embedding层的维度,网络的层数,L2正则化系数,非标准Softmax的光滑系数β以及Layer Normalization层的缩放参数。
[0028] 进一步的,所述非标准Softmax具体为:
[0029]
[0030] β称为光滑系数,pi为用户交互过的物品,qj代表目标物品的特征信息。
[0031] 进一步的,所述步骤5具体为:
[0032] 步骤5.1:将训练好的预测模型在测试集上对用户与物品的交互概率进行预测;
[0033] 步骤5.2:将所有的预测结果同真实值进行对比,以HR和NDCG作为指标,得到模型的性能评估结果;所述HR指标的计算公式为:
[0034]
[0035] 其中的分母是所有的测试集合,分子表示每个用户top‑K列表中属于测试集合的个数总和;
[0036] 所述NDCG指标的计算公式为:
[0037]
[0038] 其中,IDCG@K为理想情况下DCG@K的最大值,DCG@K的计算公式如下:
[0039]
[0040] 其中r(i)为物品i的相关系数;
[0041] 步骤5.3:最终的预测模型用于实际电商项目中对用户的购买行为进行预测。
[0042] 本发明的基于记忆网络的物品协同过滤推荐的方法,大大提高了物品协同过滤方法的预测准确性。附图说明:
[0043] 图1是本发明的方法流程图;
[0044] 图2是本发明的模型的网络结构图;
[0045] 图3是本发明的模型与其他模型在MovieLens数据集上的NDCG指标性能比较示意图;
[0046] 图4是本发明的模型与其他模型在MovieLens数据集上的HR指标性能比较示意图;
[0047] 图5是本发明的模型与其他模型在Pinterest数据集上的NDCG指标性能比较示意图;
[0048] 图6是本发明的模型与其他模型在Pinterest数据集上的HR指标性能比较示意图。

实施方案

[0049] 为了使本发明的目的、技术方案和技术效果更加清楚明白,下面结合说明书附图,对本发明作进一步详细说明。
[0050] 基于记忆网络的物品协同过滤推荐的方法,在MovieLens数据集和Pinterest数据集上进行训练和测试,以0和1分别标记用户与物品间的交互/非交互;输入数据为一组三元组:(用户,物品,交互/非交互),网络中的记忆模块会学习用户的行为并对用户行为产生记忆,根据用户行为的记忆对用户的喜好进行建模;输出层会根据用户的喜好和目标物品的特性产生预测值从而得到用户对物品的交互概率。然而,直接使用记忆网络对用户偏好进行建模会出现两个问题:
[0051] 1.每个用户购买的物品数量差距较大即购买数量的方差比较大,因此记忆网络中的Attention层难以训练,通过使用Deep‑ICF中的技巧,将标准的Attention改为:
[0052]
[0053] β称为光滑系数,pi为用户交互过的物品,qj代表目标物品的特征信息。
[0054] 2.由于Attention层涉及指数运算,当神经网络层增加时,会出现梯度消失的现象,为此,我们在attention层中添加了一层Layer Normalization层来解决梯度消失的问题,保证模型能被正常训练。
[0055] 如图1和2所示的基于记忆网络的物品协同过滤推荐的方法,包括如下步骤:
[0056] 步骤1:在MovieLens和Pinterest官网上下载获取用户曾经交互过的物品和对物品的历史评分数据;
[0057] 步骤2:对所述用户历史评分数据进行预处理,包括异常值剔除、缺失值填充,将评分数据转化为二元值;
[0058] 步骤3:转换数据格式,以用户历史曾经交互过的物品ID序列集合来标识该用户,并将数据集划分为训练集和测试集,额外剔除亦存在于用户历史交互过的物品集合中的目标物品;
[0059] 步骤4:搭建记忆网络的结构,初始化记忆网络的各种网络参数,设置记忆插槽的大小,将训练集的数据输入到记忆网络中进行训练,直至网络收敛,通过对照实验调节网络中的超参数,获得最佳模型;
[0060] 步骤5:通过测试集数据的预测来检验模型的效果,得到用户对目标物品的交互概率。
[0061] 所述步骤1具体为:
[0062] 步骤1.1:为每位用户以及物品生成一个唯一的编号,以这个编号来标识该用户/物品;
[0063] 步骤1.2:获取每位用户的历史交易记录,以及该用户对该物品的评分。
[0064] 所述步骤2具体为:
[0065] 步骤2.1:直接删除数据中存在明显异常值的记录,同时对于没有交互过的物品数据集中并没有记录,但是作为网络的训练输入是需要这种记录的,所以以0作为填充,表示用户没有购买过该物品;
[0066] 步骤2.2:生成用户对物品的评分矩阵,设用户购买过该物品则将评分值标记为1,若未购买过该物品则标记为0,得到所述矩阵为一个稀疏矩阵。
[0067] 所述步骤3具体为:
[0068] 步骤3.1:转换数据格式,以用户的历史购买物品ID序列表示该用户,与目标物品一起作为输入数据;
[0069] 步骤3.2:将输入数据按照7:3的比例划分为训练集和测试集,训练时额外剔除训练集中用户历史购买物品ID序列中包含的目标物品。
[0070] 所述步骤4具体为:
[0071] 步骤4.1:搭建记忆网络的结构,包括输入层、注意力机制层、记忆模块、输出层,设置记忆网络的层数;
[0072] 步骤4.2:初始化网络中的每一个参数,服从正态分布以加速网络的收敛,设置embedding层的维度;
[0073] 步骤4.3:采用交叉熵作为损失函数,Adam作为优化方法,将训练集的数据输入到记忆网络中进行训练,循环往复直至模型收敛;所述以交叉熵作为模型的损失函数的公式如下:
[0074]+ ‑
[0075] 其中, 为模型输出的预测值,Θ为网络的参数值,R 为正样本集合,R 为负样本集合,u,i分别表示用户和物品;
[0076] 步骤4.4:对比调参,获取最优参数并保存,包括embedding层的维度,网络的层数,L2正则化系数,非标准Softmax的光滑系数β以及Layer Normalization层的缩放参数。
[0077] 所述步骤5具体为:
[0078] 步骤5.1:将训练好的预测模型在测试集上对用户与物品的交互概率进行预测;
[0079] 步骤5.2:将所有的预测结果同真实值进行对比,以HR和NDCG作为指标,得到模型的性能评估结果;所述HR指标的计算公式为:
[0080]
[0081] 其中的分母是所有的测试集合,分子表示每个用户top‑K列表中属于测试集合的个数总和;
[0082] 所述NDCG指标的计算公式为:
[0083]
[0084] 其中,IDCG@K为理想情况下IDCG@K的最大值,IDCG@K的计算公式如下:
[0085]
[0086] 其中r(i)为物品i的相关系数;
[0087] 步骤5.3:最终的预测模型用于实际电商项目中对用户的购买行为进行预测。
[0088] 具体为:用户历史信息以{x1,x2,x3...,xn}的格式输入,xi代表用户购买过的物品,n为用户曾经购买过的物品数量,用户历史信息分别经过记忆模块Ml,Cl,所述Ml,Cl分别为第l层的长期记忆模块和短期记忆模块,用户信息经过所述两个记忆模块的embedding后得到mj,cj向量,mj,cj向量经过Attention注意力机制层运算后得到用户的偏好向量ol,l代表网络的第l层,Target Item经过embedding后得到e向量,e向量包含Target Item的特征信息,e经过Hl的投影运算后与ol得到下一层的e输入,最后一层得到的e即为最后的预测与矩阵W相乘后再经过Sigmoid函数即可得到最后的交互概率。
[0089] 如下表1和表2展现了该模型在8、16、32、64embedding size,1‑4层网络情况下模型取得的HR@10值和NDCG@10值,由此可见,本发明中的方法实现了比较准确的预测效果。
[0090] 表1.HR@10in various embedding sizes and number of hops
[0091]
[0092] 表2.NDCG@10in various embedding sizes and numbers of hops
[0093]
[0094] 综上所述,以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号