一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于交互记录的个性化推荐系统和方法

2022-06-08 16:27:05 来源:中国专利 TAG:


1.本发明属于电子商品推荐技术领域,具体涉及基于交互记录的个性化推荐系统和方法。


背景技术:

2.目前,推荐系统在电子商务平台、长短视频平台、新闻平台等各类平台已经取得了广泛的应用,并且产生了巨大的收益,特别是在电子商务平台下商品与用户的交互与推荐场景下有了长足进步。但是,目前的推荐系统在解决“商品冷启动”、“用户冷启动”方面仍然有较大缺陷,只能推荐预先设定的商品或者热门商品,没有办法充分利用已有信息做出针对性的推荐。同时,受限于商品与用户庞大的规模以及对推荐系统巨量的请求,推荐系统通常需要为商品与用户生成合适的表示向量,并通过索引系统提供快速查找功能来应对。


技术实现要素:

3.鉴于现有技术中存在的问题,本发明的目的在于提供一种可提升整体推荐效果的基于交互记录的个性化推荐系统和方法。
4.本发明提供的基于交互记录的个性化推荐系统,包括:交互记录数据处理模块、数据空间划分模块、交互图构建与模型训练模块、无交互记录商品与用户模块、多层级划分查找模块、空间向量索引模块以及推荐结果生成模块;其中:
5.所述交互记录数据处理模块将用户与商品的交互记录进行数据清洗、属性选择与编码;
6.所述数据空间划分模块对商品数据和用户数据使用空间划分方法进行数据划分;
7.所述交互图构建与模型训练模块使用处理后的交互记录建立交互图,基于交互图训练模型并生成商品与用户的表示向量;所述交互图是指基于用户数据、商品数据和用户与商品的交互记录数据构建的图;
8.所述无交互记录商品与用户模块负责选择系统中无交互记录的新增数据和交互记录较少的数据,进行数据清洗、属性选择与编码;
9.所述多层级划分查找模块负责筛选相似项,并为无交互记录商品与用户生成合适的表示向量;
10.所述空间向量索引模块负责为生成的用户与商品表示向量创建空间索引;
11.所述推荐结果生成模块根据索引的结果为用户生成最终的推荐结果。
12.本发明解决了新增商品与用户的向量生成问题,同时将索引过程纳入到系统中整体考虑,提升了推荐的效果。
13.本发明还提供基于上述系统的实现方法,即基于交互记录的个性化推荐方法,对于其中一部分符合交互数量要求的数据使用交互图处理,具体步骤如下:
14.步骤1、交互记录数据处理:系统中记录的用户数据,包括商品数据,以及用户与商品交互产生的记录数据;对这三种数据分别进行遍历,按照预设的清洗方法,去除掉未知原
因的空值数据与可能的噪音数据,根据场景选择合适的属性值并转化为编码;
15.步骤2、数据空间划分:系统中记录的用户数据、商品数据,在每一层级,按照预设的划分个数和划分方法进行空间划分,在每一个划分内按照同样的方法进行空间划分,直到划分的层级达到预设的要求;
16.步骤3、交互图构建与模型训练:使用步骤1得到的结果,构建交互图,使得商品与用户对应交互图中的结点,并附属对应的属性编码值;交互记录对应于交互图中的边,并附属对应的属性编码值;在交互图构建之后,通过交互图上的表示向量模型在交互图上生成表示向量,计算模型损失以调整可学习参数,最终为每个结点生成合适的表示向量;
17.步骤4、空间向量索引:在得到所有商品结点的表示向量之后,按照预先设定的空间索引插入方法,将所有的商品结点对应的表示向量插入到一个空间索引中;
18.步骤5、推荐结果生成:当需要为交互图中的用户生成推荐结果时,使用用户结点对应的表示向量,在空间索引中查找距离最近的商品表示向量,生成对应的商品,将商品排序后作为对应用户最终的推荐结果。
19.本发明提供的方法,对于其中一部分不符合交互数量要求的数据,使用多层级空间划分处理,具体步骤如下:
20.步骤1、无交互记录商品与用户处理:对不存在足够交互的商品与用户或者新增的商品与用户,对用户数据、商品数据进行遍历,按照预设的清洗方法,去除掉未知原因的空值数据与可能的噪音数据,根据场景选择合适的属性值并转化为编码;
21.步骤2、多层级划分查找:对于每个商品与用户,使用在多层级的空间划分中查找最相似商品与用户;按照预先设定的表示向量聚合方式,使用多层级的相似商品与用户集合生成对应商品或用户的表示向量;
22.步骤3、空间向量索引:将生成的商品对应的表示向量按照预先设定的空间索引插入方法,插入到空间索引中;
23.步骤4、推荐结果生成:使用生成的用户表示向量,在空间索引中查找最近的商品,将商品排序后作为对应用户最终的推荐结果。
24.进一步地,本发明中:
25.所述的交互记录数据处理具体包括:对用户数据、商品数据以及用户和商品的交互的数据进行数据清洗以去掉可能存在的空值和噪音数据,遍历全部商品与用户的交互记录,提取所有交互次数大于一定阈值的商品与用户,同时根据场景选择用户数据、商品数据以及用户和商品的交互的数据中合适的属性值作为系统中使用的属性值,并对属性值做响应的处理转换为易于使用的编码。
26.所述的数据空间划分包括:对于系统中记录的用户数据、商品数据,在第一层级时使用用户数据全集和商品数据全集分别进行划分;在每一层级,按照预设的划分个数,使用迭代的方法生成划分方法:首先,生成一定数量的划分中心点候选集合,计算每一个数据与候选的距离并调整候选位置,最后使用中心点进行空间划分;在划分后,每一个划分内按照同样的方法进行空间划分,直到划分的层级数量达到预设的要求。
27.所述的交互图构建与模型训练包括:在构建交互图时,每一个商品生成一个对应的商品结点,每一个用户生成一个对应的用户结点,同时商品结点与用户结点分别记录有经过选择的属性值对应的编码;同时,交互记录中的每一个交互对应于商品结点与用户结
点之间的一条边,边上带有经过选择的属性值对应的编码;在交互图构建之后,将问题转化为一个图学习中的结点表示学习问题,通过交互图上的表示向量模型在交互图上进行数据处理;表示向量模型使用图上的深度学习模型,计算模型损失以调整可学习参数,并最终为每个结点生成相应的表示向量。
28.所述的无交互记录商品与用户处理包括:对前述中剩余的交互数量不足的商品与用户或者系统中新增的商品与用户,对此类用户数据、商品数据进行数据清洗以去掉可能存在的空值和噪音数据,同时根据场景选择用户数据、商品数据中合适的属性值作为系统中使用的属性值,并对属性值做响应的处理转换为易于使用的编码。
29.所述的多层级划分查找包括:对于每个商品与用户,使用在多层级的空间划分中查找最相似商品与用户;从第一层级开始,遍历此层级下所有空间划分的中心点,并按照预设的距离度量公式计算商品或者用户数据与中心点的距离,得到最小的距离的中心点对应的表示向量就是此层级生成的表示向量,然后在此中心点对应的划分中,计算下一层级的表示向量;商品或用户的表示向量通过得到的每个层级的表示向量加权聚合得到。
30.所述的空间向量索引是指:在得到每个商品结点的表示向量之后,在预先设定的表示向量长度与形式的约束之下,按照预先设定的空间索引方法,将所有的商品结点对应的表示向量插入到一个空间索引中。
31.所述的推荐结果生成是指:当需要为交互图中的用户生成推荐结果时,使用用户结点对应的表示向量使用空间索引取出与其最近的一定数量的商品结点对应的表示向量,反向查找这些商品结点对应的商品,将这些商品按照向量距离排序后作为对应用户最终的推荐结果。
32.本发明提出了新式模型结构与算法流程,使用交互记录数据,在冷启动场景中充分利用已知信息,通过多层级的划分模型提供个性化方案优化冷启动推荐结果,提高推荐效果。同时,还根据交互记录数据为商品与用户生成合适的表示向量。综上所述,本发明可以充分利用交互记录中的信息,不仅可以为已有商品与用户生成高质量的表示向量,并且可以优化新增的商品与用户在冷启动场景下的推荐效果,还同时将后续空间索引加入到系统中,从而提升整体的推荐效果。
33.本发明具有以下优点:
34.(1)在冷启动场景中充分利用已知信息,通过多层级的划分模型提供个性化方案优化冷启动推荐结果,提高推荐效果。
35.(2)根据交互记录数据为商品与用户生成合适的表示向量,并充分利用商品数据、用户数据以及交互数据中的属性与信息,提高推荐效果。
36.(3)在生成表示向量的过程中,将后续的索引过程中可能产生的损失也加以考虑,从而调整生成结果以减少这部分损失。
附图说明
37.图1是本发明的基于交互记录的个性化推荐系统的模块框架与流程图。
38.图2是本发明所述的交互图的举例示意图。
具体实施方式
39.为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式作进一步详细的说明:
40.图1是本发明的基于交互记录的个性化推荐系统,该系统包括:交互记录数据处理模块、数据空间划分模块、交互图构建与模型训练模块、无交互记录商品与用户模块、多层级划分查找模块、空间向量索引模块以及推荐结果生成模块。其中:交互记录数据处理模块将用户与商品的交互记录进行数据清洗,属性选择与编码;数据空间划分模块对商品数据和用户数据使用空间划分方法进行数据划分;交互图构建与模型训练模块使用处理后的交互记录建立交互图,基于交互图训练模型并生成商品与用户的表示向量;无交互记录商品与用户模块负责选择系统中无交互记录的新增数据和交互记录较少的数据,进行数据清洗、属性选择与编码;多层级划分查找模块负责筛选相似项,并为无交互记录商品与用户生成合适的表示向量;空间向量索引模块负责为生成的用户与商品表示向量创建空间索引;推荐结果生成模块根据索引的结果为用户生成最终的推荐结果。
41.以在电子商务行业的场景下部署本发明所述的推荐系统为例,说明部署本发明所述的推荐系统实施条件、实施步骤以及实施结果。
42.在电子商务行业的场景下,包含各类待推荐的电子商务物品与产品等,简称为商品,比如各种品类的鞋帽服饰、电商食品、电商日常用品等。同时电子商务场景下还包含访问电子商务网站或者应用的消费者,简称为用户,通过访问电商网站、手机应用等访问电子商务平台与商品进行交互,这样的交互包括对商品的浏览概述、查看详情、加入收藏夹以及下单购买等各种行为。
43.当用户与商品发生交互时,推荐系统也应当对交互行为进行记录并存储,形成用户-商品交互记录。在交互记录中,所有的记录会被指定一个唯一的标识符,记为r i d,同时还会包含交互的其他相关信息,比如交互的时间、交互的类型(点击、添加购物车、购买等)、交互的渠道(用户通过搜索进行交互、首页推荐位交互等)等。交互记录中还包含了用户和商品的相关信息,这些信息可能与交互记录存放于同一数据库中,也可能拆分到多个数据库中。
44.用户通常具有一个唯一的标识符,记为u i d,同时记录中也存在此用户的特征描述,比如用户访问电子商务平台使用的手机应用版本、用户使用的手机操作系统、用户使用的手机型号、用户访问时使用的ip地址、用户注册的渠道、用户注册时填写的个人资料(用户填写的年龄、性别、个人爱好等)等。
45.商品通常也具有一个唯一的标识符,记为p i d,同时也记录了商品的特征描述,比如商品的名称、商品的品牌、电子商务平台预设的商品分类、商品的价格、商品的上架时间、商品的销量等。通过这样的记录模式,尽可能多的记录与交互相关的信息。
46.本发明涉及上述系统的实现方法,对于其中一部分符合交互数量要求的数据使用交互图处理,具体包括以下步骤:
47.步骤1、交互记录数据处理:对用户数据、商品数据以及用户和商品的交互的数据进行数据清洗以去掉可能存在的空值和噪音数据,遍历全部商品与用户的交互记录,提取所有交互次数大于一定阈值的商品与用户,同时根据场景选择用户数据、商品数据以及用户和商品的交互的数据中合适的属性值作为系统中使用的属性值,并对属性值做响应的处
理转换为易于使用的编码。
48.所述的数据清洗是指,遍历全部商品数据、用户数据与商品与用户的交互记录数据,对其中可能出现的错误与噪音数据进行处理,比如对其中出现的属性值有较多空值的数据以及关联数据进行删除,对于短时记录的重复数据进行合并,删除单一用户短时间内出现的不同地址或者不同设备的交互记录。
49.所述的属性选择是指,根据不同场景中的需求,选择一些数据中的属性字段作为推荐中重要属性,降低或者屏蔽其他不重要属性。比如在电子商务场景下,边的属性中交互的时间是一个相对不重要的属性,但是当在外卖食品推荐的场景下时,交互的时间则是一个核心属性。
50.所述的转化编码是指,将属性中的值使用一般方案转化为编码,比如将离散值转化为独热(one-hot)编码或者是其他编码形式,将连续特征归一化或者是离散化处理,从而将属性值转化为一般形式的编码以便后续使用。
51.步骤2、数据空间划分:对于系统中记录的用户数据、商品数据,在第一层级时使用用户数据全集和商品数据全集分别进行划分。在每一层级,按照预设的划分个数,使用迭代的方法生成划分方案。首先,生成一定数量的划分中心点候选集合,计算每一个数据与候选的距离并调整候选位置,最后使用中心点进行空间划分。在划分后,每一个划分内按照同样的方法进行空间划分,直到划分的层级数量达到预设的要求。
52.所述的生成划分方案是指,首先,定义每个属性的距离度量方案,优选地,对于编码,可以使用欧式距离作为编码的距离度量方案。之后,随机在空间中,选择一定数量的点,作为划分中心点候选集合。在每一轮中,计算当前数据源中所有数据点与当前轮次划分中心点候选的距离,并记录距离最近的中心点候选。计算完成后,数据点被归属于视为距离最近的中心点候选所在划分。然后根据以上的结果对中心点候选位置进行调整,优选地,使用中心点候选所在划分的结点数量和中心点候选之间的距离作为调整依据,
[0053][0054]
其中,为第k轮迭代时,中心点候选i的位置,nj为中心点候选j对应的划分的结点数量,为两点之间的距离计算方法,可以选择欧式距离作为计算方法,f为预设的变化值。在迭代达到一定轮次,或者划分之间结点数量的差距满足要求时,结束划分。在得到划分方案后,每一个划分视为下一个层级的一个数据源。当层级中所有需要划分的数据源都完成划分后,进行下一层级的划分,直到划分的层级数量达到要求。
[0055]
步骤3、交互图构建与模型训练:类似于图2所示,在构建交互图时,每一个商品生成一个对应的商品结点,每一个用户生成一个对应的用户结点,同时商品结点与用户结点分别记录有经过选择的属性值对应的编码。同时,交互记录中的每一个交互对应于商品结点与用户结点之间的一条边,边上带有经过选择的属性值对应的编码。在交互图构建之后,将问题转化为一个图学习中的结点表示学习问题,通过交互图上的表示向量模型在交互图上进行数据处理。表示向量模型使用图上的深度学习模型,计算模型损失以调整可学习参
数,并最终为每个结点生成相应的表示向量。
[0056]
所述的交互图上的点是指,交互图上的点有两类,一类为代表用户的点,每个用户对应一个点,一类为代表商品的点,每个商品对应一个点,这样每个点可以由对应的uid或者是pid编号,同时还可以通过点的编号查询对应的用户或者商品的信息来作为点的属性值。同时,设定推荐系统的最大点度数阈值d
max
,遍历交互图中所有的商品结点,当商品结点的度数大于d
max
时,则根据此结点所有边的交互类型统计每种类型边的数量,然后按照数量的比例从所有的边中均等采样出d
max
条边出来。
[0057]
所述的交互图上的边是指,交互图上的边存在于用户节点和商品节点之间,每一个交互记录就被视为交互图上对应用户与对应商品之间的一条边,这样每条表由对应的rid编号,同时还可以通过边的标号查询对应的交互记录中的信息来作为边的属性值。在电子商务场景中,交互的类型是边的一个重要的属性值。
[0058]
所述的交互图上的模型是指,在交互图上,每个结点具备初始属性,之后按照公式进行表示学习,其中表示结点u在第k层神经网络中的表示向量,w1和w2为两个可学习的参数,mean函数表示平均函数,n(u)为结点u的邻居结点的集合,e
u,v
为结点u和结点v之间的边的属性编码,当结点u和结点v之间有多条边时,可以选择不同的处理方法,比如采样后拼接。初始状态下,为结点u的初始属性编码。最后,将第k层的表示作为结点最终的表示。可以根据不同的场景需求,设定不同的堆叠层数,优选的,在举例的电子商务场景的交互图中,可以设定堆叠层数为2层以取得最佳效果。
[0059]
所述的计算模型损失与调整可学习参数是指,在交互图上的损失可以根据场景的选择设定不同的损失计算方法,通过损失来优化系统中的可学习参数。优选地,在举例的电子商务场景的交互图中,可以选择向量距离作为损失度量方法。对于结点u,可以将其表示向量与所有邻居结点的表示向量的平均欧式距离作为损失值。在这种情况下,损失可以由公式计算:
[0060]
l=∑
u∈useruitem
mean
v∈n(u)
dist(r(u),r(v)) al
index
pl
reg
,其中,user为用户结点的全集,item为商品结点的全集,dist为损失度量方法,在此是欧式距离计算函数,r(u)是结点u的表示向量,l
index
是因为空间索引结构产生的损失,l
reg
是根据场景选择的正则项损失,α、β为控制超参数。l
index
根据空间索引的不同会有不同的计算方法,优选地,在一定的训练轮次中,随机选择user中的结点,计算空间索引中结点的min{k,n(u)}距离最近的商品结点集合,然后计算与n(u)的集合距离,这些部分的和作为l
index

[0061]
在得到损失值后,可以通过反向传播算法来调整模型中的可学习参数。
[0062]
步骤4、空间向量索引:在得到每个商品结点的表示向量之后,在预先设定的表示向量长度与形式的约束之下,按照预先设定的空间索引方法,将所有的商品结点对应的表示向量插入到一个空间索引中。
[0063]
所述的空间索引方法是指,通过空间划分树或者局部敏感哈希的方法进行空间索引。优选地,当使用空间划分树时,需要根据预设的用户检索最近商品的数据k划分子空间,使得每个叶子子空间中的表示向量的数量小于n k,其中n是根据计算服务的性能设定的超参数。同时,还需要为叶子子空间建立邻居子空间的关系表。
[0064]
步骤5、推荐结果生成:当需要为交互图中的用户生成推荐结果时,使用用户结点
对应的表示向量使用空间索引取出与其最近的一定数量的商品结点对应的表示向量,反向查找这些商品结点对应的商品,将这些商品按照向量距离排序后作为对应用户最终的推荐结果。
[0065]
所述的空间索引取出方法是指使用空间索引方法中查询向量的近似最近邻居的方法,优选地,当使用空间划分树建立空间索引后,根据用户表示向量在空间检索中查询包含用户表示向量的叶子子空间,之后将叶子子空间以及相邻的叶子子空间中的商品取出,计算向量距离并排序,排序结果后的前k个就是与用户表示向量最近的k个的商品表示向量。
[0066]
本发明涉及上述系统的实现方法,对于其中一部分不符合交互数量要求的数据或者新增的数据,具体包括以下步骤:
[0067]
步骤1、无交互记录商品与用户处理:前述中一部分不符合交互数量要求的商品与用户或者系统中新增的商品与用户,对此类用户数据、商品数据进行数据清洗以去掉噪音数据,同时根据场景选择用户数据、商品数据中合适的属性值作为系统中使用的属性值,并对属性值做响应的处理转换为易于使用的编码。
[0068]
所述的数据清洗是指遍历所有上述部分的商品数据与用户数据,删除可能的噪音数据,比如重复数据、交互较少且已下架的商品数据、交互较少且长时间为活跃的用户数据等。
[0069]
步骤2、多层级划分查找:对于每个商品与用户,使用在多层级的空间划分中查找最相似商品与用户。从第一层级开始,遍历此层级下所有空间划分的中心点,并按照预设的距离度量公式计算商品或者用户数据与中心点的距离,得到最小的距离的中心点对应的表示向量就是此层级生成的表示向量,然后在此中心点对应的划分中,计算下一层级的表示向量。商品或用户的表示向量通过得到的每个层级的表示向量加权聚合得到。
[0070]
所述的加权聚合方法是指,设定衰减系数ρ,最终的表示向量:
[0071]
r=∑
i=1...l ρ
l-i 1ri

[0072]
其中,l是最终得到的层级数量,ri为层级i得到的表示向量。在部署时,优选地,可以设定累加值r,在服务响应时间的约束下进行层级遍历,每完成一个层级可以按照如下公式更新表示向量:
[0073]ri
=ρr
i-1
ri,其中,ri为到第i层的表示向量累加值。如上更新,直到达到服务影响时间约束或者层级数量约束,停止更新,并将最高层的累加值r作为最终的表示向量。
[0074]
步骤3、空间向量索引:在得到每个商品结点的表示向量之后,在预先设定的表示向量长度与形式的约束之下,按照预先设定的空间索引方法,将所有的商品结点对应的表示向量插入到一个空间索引中。类似于前述步骤4。
[0075]
步骤4、推荐结果生成:当需要为交互图中的用户生成推荐结果时,使用用户结点对应的表示向量使用空间索引取出与其最近的一定数量的商品结点对应的表示向量,反向查找这些商品结点对应的商品,将这些商品按照向量距离排序后作为对应用户最终的推荐结果。类似于前述步骤5。
[0076]
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和指导方案下,各种场景下的针对性设计与各种模块和公式的改进、添加和替换都是可能的,这些都在本发明的权利要求所限定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献