首页> 中国专利> 一种购物篮个性化特征建模的推荐方法

一种购物篮个性化特征建模的推荐方法

摘要

本发明公开了一种购物篮个性化特征建模的推荐方法,根据历史购物篮事务数据集的特征构成三元组,并将所述三元组映射到特征向量空间,引入不同的关联类型进行计算与关联,最后利用神经网络技术对不同实体之间的低阶特征组合和高阶特征组合进行建模,对目标物品项进行预测,三元组的使用让模型可以从用户历史数据集中捕获更多的关联组合,缓解了购物篮推荐任务中的数据稀疏性问题,同时使得推荐结果具有可靠性和准确性,解决了现有技术中基于购物篮推荐方法推荐精度不高和推荐结果个性化程度低的问题。

著录项

  • 公开/公告号CN113836397A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 桂林电子科技大学;

    申请/专利号CN202111025959.7

  • 发明设计人 包旭光;李淼;常亮;古天龙;

    申请日2021-09-02

  • 分类号G06F16/9535(20190101);G06F16/84(20190101);G06Q30/06(20120101);

  • 代理机构45134 桂林文必达专利代理事务所(特殊普通合伙);

  • 代理人张学平

  • 地址 541004 广西壮族自治区桂林市七星区金鸡路1号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明涉及大数据分析技术领域,尤其涉及一种购物篮个性化特征建模的推荐方法。

背景技术

从实体杂货店到在线电子商城,互联网技术的飞速发展使人们的生活方式得到了极大改变。许多应用程序的数据量呈现高速增长,丰富的用户数据对可用信息的提取提出了巨大的挑战,推荐系统长期以来一直是缓解信息过载和提高用户体验的有效工具。购物篮推荐问题是给定用户当前所购买的物品,预测待添加到用户购物篮中的另一些物品。在该应用场景下,零售平台除了需要考虑历史数据中用户与物品间的协同过滤信息外,还需要结合用户目前所持有的物品信息进行推荐。以前的工作通过关联规则挖掘来解决任务。然而,这些工作难以对购物篮事务中各个物品的特征表示和高阶特征交互作用进行获取,因此不能很好的满足用户的个性化需求,同时也没有考虑待推荐物品的自身特性,因此不能准确地为用户提供合适的商品。

目前已公布的发明专利“一种融合用户兴趣权重的关联规则推荐方法”,公开号CN112100483 A,通过构建用户对物品的评分矩阵与计算用户对物品的兴趣权重,基于FP-tree获得频繁项组合为用户推荐兴趣点。该发明没有平衡购物篮事务中不同物品间的互补性与兼容性,也忽略了复杂的特征交互,仅根据用户对物品的兴趣权重获得商品组合,很难准确地推荐待添加到购物篮中的另一物品。

发明内容

本发明的目的在于提供一种购物篮个性化特征建模的推荐方法,旨在解决现有技术中基于购物篮推荐方法推荐精度不高和推荐结果个性化程度低的问题。

为实现上述目的,本发明采用一种购物篮个性化特征建模的推荐方法,包括下列步骤:

在历史购物篮事务数据集中抽取三元组;

将所述三元组映射到特征向量空间;

关联计算获得低阶特征组合结果;

操作获取高阶特征组合结果;

对所述低阶特征组合结果和所述高阶特征组合结果进行仿射变换得到商品的最终推荐值,形成推荐列表。

其中,所述历史购物篮事务数据集为用户交易数据和可信度较高的公开数据集。

其中,所述三元组包括用户项、购物篮物品项和目标物品项,事务数据中存在用户项与目标物品项、购物篮物品项与目标物品项以及购物篮物品项间三种关联类型。

其中,在将所述三元组映射到特征向量空间的过程中,使用表示学习的方法将所述三元组映射到特征向量空间中,并对用户当前所持有的购物篮物品实体进行聚合操作,将所述三元组中的实体转化成向量表示的形式。

其中,在关联计算获得低阶特征组合结果的过程中,对事务数据中的三种关联类型依次进行一阶关联计算与二阶关联计算,得到所述低阶特征组合结果,其中一阶关联计算捕获到相互独立的特征信息,二阶关联计算捕获到特征之间的依赖关系。

其中,在操作获取高阶特征组合结果的过程中,将映射后的特征向量进行串联操作,再输入神经网络层得到所述高阶特征组合结果。

其中,在对所述低阶特征组合结果和所述高阶特征组合结果进行仿射变换得到商品的最终推荐值,形成推荐列表的过程中,使用线性函数进行仿射变换获得商品的最终推荐值,并根据得分值降序排列获得所述推荐列表。

本发明的一种购物篮个性化特征建模的推荐方法,根据历史购物篮事务数据集的特征构成三元组,并将所述三元组映射到特征向量空间,引入不同的关联类型进行计算与关联,最后利用神经网络技术对不同实体之间的低阶特征组合和高阶特征组合进行建模,对目标物品项进行预测,三元组的使用让模型可以从用户历史数据集中捕获更多的关联组合,缓解了购物篮推荐任务中的数据稀疏性问题,同时使得推荐结果具有可靠性和准确性,解决了现有技术中基于购物篮推荐方法推荐精度不高和推荐结果个性化程度低的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种购物篮个性化特征建模的推荐方法的流程示意图。

图2是本发明的具体实施例的数据采集和处理流程图。

图3是本发明的具体实施例的购物篮物品集的隐向量表示流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

请参阅图1,本发明提出了一种购物篮个性化特征建模的推荐方法,包括下列步骤:

S1:在历史购物篮事务数据集中抽取三元组;

S2:将所述三元组映射到特征向量空间;

S3:关联计算获得低阶特征组合结果;

S4:操作获取高阶特征组合结果;

S5:对所述低阶特征组合结果和所述高阶特征组合结果进行仿射变换得到商品的最终推荐值,形成推荐列表。

所述历史购物篮事务数据集为用户交易数据和可信度较高的公开数据集。

所述三元组包括用户项、购物篮物品项和目标物品项,事务数据中存在用户项与目标物品项、购物篮物品项与目标物品项以及购物篮物品项间三种关联类型。

在将所述三元组映射到特征向量空间的过程中,使用表示学习的方法将所述三元组映射到特征向量空间中,并对用户当前所持有的购物篮物品实体进行聚合操作,将所述三元组中的实体转化成向量表示的形式。

在关联计算获得低阶特征组合结果的过程中,对事务数据中的三种关联类型依次进行一阶关联计算与二阶关联计算,得到所述低阶特征组合结果,其中一阶关联计算捕获到相互独立的特征信息,二阶关联计算捕获到特征之间的依赖关系。

在操作获取高阶特征组合结果的过程中,将映射后的特征向量进行串联操作,再输入神经网络层得到所述高阶特征组合结果。

在对所述低阶特征组合结果和所述高阶特征组合结果进行仿射变换得到商品的最终推荐值,形成推荐列表的过程中,使用线性函数进行仿射变换获得商品的最终推荐值,并根据得分值降序排列获得所述推荐列表。

进一步地,本发明以在线杂货购物平台的商品作为推荐物品的实例描述本发明方法具体实施例,具体包括以下步骤:

步骤1、利用网络爬虫技术与搜寻可靠公开数据集的方法采集用户的历史购物篮事务数据集,并进行预处理。对于每个用户,他/她的所有事务记录将按时间顺序排列表示。对于每个购物篮事务记录,依次选择其中每一物品项作为要预测的目标物品项,剩余的项目则将被自动视为购物篮物品项;

步骤2、将事务记录用三元组表示。举例:“用户A在购买了书包、笔记本、铅笔之后购买了文具盒”,则可以用三元组<用户A,(书包、笔记本、铅笔),文具盒>表示,其中“用户A”为用户实体,“书包、笔记本、铅笔”为用户当前所持有的购物篮物品集实体,“文具盒”为用户的目标物品实体。将所有用户历史购物篮事务数据转化为以上三元组;

步骤3、使用表示学习的方法将三元组映射到特征向量空间中,并对用户当前所持有的购物篮物品实体进行聚合操作,将三元组中的实体转化成向量表示的形式;

步骤4、对事务数据中的三种关联类型依次进行一阶关联计算与二阶关联计算,得到低阶特征组合结果;

步骤5、将步骤3中的特征向量进行串联操作后输入神经网络层得到高阶特征组合结果;

步骤6、使用线性函数对步骤4和步骤5中的结果进行仿射变换得到商品的最终推荐值,将得分值降序排列得到推荐列表。

进一步地,请参阅图2,图2为本实例数据采集和处理的流程图,具体的步骤包含:

2.1、利用现有的网络爬虫技术,在京东、淘宝等电子商城网站上爬取用户交易数据,同时在开源网站上搜寻可信度较高的公开数据集。数据集的字段包括:用户身份、购物交易时间、购买物品、购买行为等等。由于原始数据不能完全符合本方法后续计算的要求,需要对其进行必要的处理及转化。部分初始购物篮事务数据如表1所示,事务编号为交易发票号码,每笔交易分配唯一的6位整数,而部分退货订单的代码以字母'c'开头。物品描述是对每件产品的简略描述。

购买数量指用户在该次交易中对该产品的总购买数量。交易日期记录发票日期和时间。顾客号编号为每个客户分配唯一的5位整数。国家为每个客户所在国家/地区的名称;

表1初始购物篮事务数据

2.2、对用户身份、购物交易时间、购买物品、购买行为等属性根据其数量大小进行重新编号,设置唯一的ID表示某一对象。举例,对于用户数量为5000的数据集,用户ID编号范围为0001-5000;

2.3、用户同一笔交易记录中的所有物品构成了一个购物篮。将用户每个购物篮事务中的购买物品划分为当前所持有的购物篮物品集与目标物品,当前所持有的购物篮物品集由其物品组成项而非购物篮物品集的编号进行表示。举例,如表1所示,事务编号“536365“”的事务中包含物品“白色心形灯座、白色金属灯笼、红色衣架、热水袋、白色心形图案热水瓶、筑巢箱、玻璃星形磨砂灯座”,当目标物品为“白色心形灯”时,剩余物品将自动成为的购物篮物品集。此外,需要创建负记录,因为从数据集获取的训练数据只包含正记录。对于每个正记录,其相应的负记录是通过从物品集P中随机选择用户从未选择过的目标物品生成的;

2.4、从记录中删除少于10个用户购买的项目。获取代表性项目后,保留包含两个以上商品的购买事务记录。为了避免购物篮物品中类别过多,每个购物篮中物品的数量不宜超过15个左右。选择至少有3条购买事务记录的用户。举例,如表1所示,顾客编号为“17850”的用户的事务编号为“536566”的事务中仅包含“米字型暖手器、红色圆点图案暖手器”两个商品,因此该事务记录将被舍弃。此外,该用户在数据集中只存在2条购买事务记录,因此该用户所对应的所有事务记录也将被舍弃;

2.5、对于每个用户,将他/她的所有事务记录按时间顺序表示为{r1,r2,...,rk,...,rn},其中rk是一个完整的共同购买事务。前n-1条记录作为训练集,最后一条记录作为测试集。

进一步地,购物篮推荐任务中需要引入约束条件,具体的步骤包含:

3.1、对与给定的一系列物品集合P={p

3.2、推荐模型根据物品的类别与物品间的关联为用户提供推荐物品或服务。通常,在类别集合C={C

3.3、H表示层次结构的集合。每个项目p

由于三元组的表示方式不能进行有效的推荐值计算,也无法进行用户的画像构建,本发明需要将三元组中实体和关系属性转换成向量的表示形式。三元组向量化与计算推荐值的步骤包括:

4.1、对数据集中的离散特征,采用one-hot编码转为成数值型特征。如表格2所示:

表2记录one-hot数据

用θ来区分训练事务集中的正元组和负元组:当θ=1时,表示用户选择目标项v

4.2、离散特征经过one-hot编码之后,数据特征非常稀疏,特征空间变大。举例,商品的类目有5000个,那么,一个商品类目的离散特征就会转换为5000维的数值特征,特征空间变大。利用隐因子模型学习特征的隐表示。将用户和项目的one-hot编码表示映射到一个低维的隐空间,每个项目和用户获得一个可以用作特征的隐向量;

4.3、采用不同的池化策略聚合购物篮物品集中各个物品的隐向量得到其固定表示;

4.4、对事务数据中的三种关联类型(用户项与目标物品项、购物篮物品项与目标物品项、购物篮物品项间)进行建模,得到特征组合结果来建模个性化意图。用户和目标项目都是推荐的主要实体,考虑此关联类型有助于了解用户偏好和目标物品实体之间的关系。考虑购物篮物品项与目标物品项之间的关联有助于模型推荐结果的个性化。购物篮物品集中的物品并不总是具有很强关联,各个物品之间的关联性也会影响目标物品的选择。设pj为购物篮物品集中每个物品pj的隐向量,uk为用户uk的隐向量,vt为目标物品vt的隐向量,推荐得分f与上述三个关联成正比:

公式(2)中,Bi为由p

4.5、用户所持有的购物篮物品集相对于目标物品会表现出不同的互补性。举例,平台应该向购买了西装上衣的用户推荐一条西装裤而不是羊毛外套。每条购物篮事务记录中可能存在多个物品类别,举例,购物篮中可能包含物品电灯、灯座、外套和衣架;每条购物篮事务记录中也会包含不能与其他物品相关联的物品,举例,购物篮中可能包含物品电灯、灯座,外套、衣架,电池。一阶关联模型可以捕获到相互独立的特征信息,二阶关联建模可以捕获到特征之间的依赖关系。一阶关联的计算公式为:

二阶关联的计算公式变为:

上述多项式模型的二阶特征的参数共有n(n-1)/2中,且任意参数间相互独立,需要大量的非零样本进行求解。引入因子分解机的思路,对交叉项的系数矩阵进行如下分解:

w

计算一阶关联计算与二阶关联得到低阶特征组合结果:

其中w

4.6、得到低阶特征交互:

每个购物篮物品集的大小并不是固定的,理论上一个购物篮物品集可以由任意长度的购物篮物品项组成。本发明利用潜在因子模型学习特征的隐表示。为了得到购物篮物品集的固定表示,需要汇总每个购物篮物品项目的隐向量。采用不同的聚合方法进行对比实验,流程如图3所示。具体包括以下步骤:

5.1、采用max-pooling方法进行聚合操作,集合中对应隐向量值最大的购物篮物品项目将表示购物篮物品集;

5.2、采用min-pooling方法进行聚合操作,集合中对应隐向量值最小的购物篮物品项目将表示购物篮物品集;

5.3、采用mean-pooling方法进行聚合操作,集合中所有隐向量的平均值将表示购物篮物品集;

5.4、采用Factorized Attention Network方法进行聚合操作,集合中不同的隐向量将分配不同的权重;

5.5、采用累加方法进行聚合操作举例,对于每条购物篮事务记录,其域的数量为5,则该记录在同一个域上只有一个位置的值为1。由输入得到隐向量的过程中,输入层只有一个神经元作用,得到的隐向量为输入层所有值为1的神经元与隐表示层相对应的权重值,在图3中用加粗连接线进行表示。

max-pooling,mean-pooling和random-pooling等方法均可以将多个向量集转换为一个向量。max-pooling与min-pooling从集合中选择最大或最小的值,导致忽略其他层次的信息。其隐含假设是一个购物篮集只包含一个类别。随机池根据向量的元素值给出不同的选择概率,但本质上依然只考虑了一个项目的层次结构。mean-pooling中每个分量都被赋予了相同的权重,因此该策略不能反映出不同项目的不同影响。举例,在一个由相机、三脚架、泛光灯组成的购物篮事务中,相机占据了这个购物篮的主导地位,因为它影响了用户对其他配件的选择。Factorized Attention Network模型考虑了不同项目的不同影响,是一种自适应的参数化项目权值的方法。比对不同方法下的实验结果,本发明采用累加方法进行聚合操作。

阶特征组合和高阶特征组合都是非常重要的,学习两类特征的性能优于只考虑一种特征。因此引入高阶特征交互建模部分,具体的步骤和阐述如下:

6.1、建立Deep组件。Deep组件是一个前馈神经网络,用于学习高阶特征交叉。网络采用全连接方式,如图2右侧部分所示;

6.2、每个数据记录(每个d+1长度的向量)被反馈给DNN。与图像和音频的神经网络输入数据相比,购物篮推荐预测的输入向量通常是高度稀疏的,并以域进行分组,举例,如性别、国家、购买时间等。由于输入数据通过one-hot操作之后十分稀疏,因此增加隐表示层,用于降低维度,减少模型参数学习负担。

6.3、低阶特征交互模型中的隐特征向量作为Deep组件的权重使用;

6.4、得到神经网络部分的输入是所有特征的隐向量的串联表示:

h

其中e

6.5、h

h

其中Wl和bl为MLP第l层的权重和偏置,α为relu激活函数。当t是正元组时,推荐得分应尽可能高,当t是负元组时,得分尽可能低,高阶组合部分的得分表示为:

6.6、最终的预测推荐值是低阶特征组合与高阶特征组合部分的结合:

其中{,}为两个分量的拼接,ω和ψ分别表示权重和偏置。对于正元组,其得分值应尽可能高;对于负元组,其得分值应尽可能低。采用线性函数而非sigmoid函数结合低阶特征交互部分与高阶特征交互部分的结果;

6.7、损失函数为:

其中,σ为sigmoid函数,t.θ∈{-1,1},λ

本方法一大改进之处是对比之前关联规则挖掘的推荐方法,首先通过将特征映射到一个低维隐空间来学习购物篮的表示,然后通过因式分解和MLP来拟合推荐得分。该发明克服了大多数购物篮推荐系统的两个限制:1)仅从ID的角度表示购物篮物品集;2)不考虑其他高阶特征交互模式。因此在满足用户个性化的基础上,可以为用户提供更精确的推荐物品。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号