CN109166017B - 基于重聚类的推送方法、装置、计算机设备及存储介质 - Google Patents
基于重聚类的推送方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109166017B CN109166017B CN201811191703.1A CN201811191703A CN109166017B CN 109166017 B CN109166017 B CN 109166017B CN 201811191703 A CN201811191703 A CN 201811191703A CN 109166017 B CN109166017 B CN 109166017B
- Authority
- CN
- China
- Prior art keywords
- commodity
- user
- vector
- similar
- scoring
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000013598 vector Substances 0.000 claims abstract description 388
- 239000011159 matrix material Substances 0.000 claims abstract description 144
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004138 cluster model Methods 0.000 claims description 4
- 238000002716 delivery method Methods 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 241000269980 Pleuronectidae Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于重聚类的推送方法、装置、计算机设备及存储介质。该方法通过对用户‑评分矩阵中各行向量进行DBSCAN聚类,得到按用户分类的聚类群,及与每一聚类群一一对应的子用户‑评分矩阵,获取了在子用户‑评分矩阵中选定的行向量作为目标用户,根据目标用户所在的子用户‑评分矩阵中获取目标用户的相似用户群评分矩阵,及与相似用户群评分矩阵对应的商品推荐行向量,根据商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。该方法实现了将用户‑评分矩阵划分为多个子矩阵分别进行维护,降低维护成本,而且能根据子矩阵横精准对目标用户进行商品信息推送。
Description
技术领域
本发明涉及信息推送技术领域,尤其涉及一种基于重聚类的推送方法、装置、计算机设备及存储介质。
背景技术
目前,在基于互联网的在线商城上进行网络购物已越来越频繁,这些在线商城对用户进行商品推荐时,通常使用的是基于协同过滤的推荐算法(协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法)。
基于协同过滤的推荐算法常用到用户-评分矩阵,用户-评分矩阵表示用户对项目(项目可以理解为具体的商品)的评分,用户-评分矩阵的横轴为项目,纵轴为用户,当中的值是用户i对项目j的评分。随着商品的数据量越来越大,维护全量的用户-评分矩阵的评分***的成本会越来越高。
发明内容
本发明实施例提供了一种基于重聚类的推送方法、装置、计算机设备及存储介质,旨在解决现有技术中在线商城的全量用户-评分矩阵对应的评分***随着商品数量的增多,越来越臃肿,导致对全量用户-评分矩阵维护困难的问题。
第一方面,本发明实施例提供了一种基于重聚类的推送方法,其包括:
通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;
根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;
在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;
根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;以及
由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
第二方面,本发明实施例提供了一种基于重聚类的推送装置,其包括:
用户聚类单元,用于通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;
聚类判断单元,用于根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;
相似用户评分矩阵获取单元,用于在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;
商品推荐行向量获取单元,用于根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;
信息推送单元,用于由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于重聚类的推送方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于重聚类的推送方法。
本发明实施例提供了一种基于重聚类的推送方法、装置、计算机设备及存储介质。该方法通过对用户-评分矩阵中各行向量进行DBSCAN聚类,得到按用户分类的聚类群,及与每一聚类群一一对应的子用户-评分矩阵,获取了在子用户-评分矩阵中选定的行向量作为目标用户,根据目标用户所在的子用户-评分矩阵中获取目标用户的相似用户群评分矩阵,及与相似用户群评分矩阵对应的商品推荐行向量,根据商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。该方法实现了将用户-评分矩阵划分为多个子矩阵分别进行维护,降低维护成本,而且能根据子矩阵横精准对目标用户进行商品信息推送。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于重聚类的推送方法的流程示意图;
图2为本发明实施例提供的基于重聚类的推送方法的子流程示意图;
图3为本发明实施例提供的基于重聚类的推送方法的另一子流程示意图;
图4为本发明实施例提供的基于重聚类的推送装置的示意性框图;
图5为本发明实施例提供的基于重聚类的推送装置的子单元示意性框图;
图6为本发明实施例提供的基于重聚类的推送装置的另一子单元示意性框图;
图7为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本发明实施例提供的基于重聚类的推送方法的流程示意图,该基于重聚类的推送方法应用于管理服务器中,该方法通过安装于管理服务器中的应用软件进行执行,管理服务器即是用于进行基于重聚类的推送的企业终端。
如图1所示,该方法包括步骤S110~S150。
S110、通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵。
在本实施例中,用户-评分矩阵表示用户对商品(项目可以理解为具体的商品)的评分,用户-评分矩阵的横轴为项目,纵轴为用户,当中的值是用户i对项目j的评分。例如用户-评分矩阵S为4×5的矩阵,如:
其中,用户-评分矩阵S中第一行的行向量表示用户1分别针对商品1-商品5的评分,第二行的行向量表示用户2分别针对商品1-商品5的评分,第三行的行向量表示用户3分别针对商品1-商品5的评分,第四行的行向量表示用户4分别针对商品1-商品5的评分。
通过DBSCAN聚类模型对用户-评分矩阵中各行向量进行聚类,实现了根据用户对各商品的评分,将相似的用户划分为同一聚类群中,在同一聚类群中各用户对各商品的评分是近似的(也就是对各商品的评分的分差较小)。通过将全量的用户-评分矩阵进行DBSCAN聚类划分为多个子用户-评分矩阵后,只需分别对各子用户-评分矩阵进行维护即可,提高了维护的效率。
在一实施例中,如图2所示,步骤S110包括:
S111、将用户-评分矩阵中任意一个行向量作为初始聚类中心;
S112、根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;
S113、将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
在本实施例中,为了更清楚的理解DBSCAN聚类的详细过程,下面对DBSCAN聚类中所涉及的特征词进行介绍。
eps,表示扫描半径;
minPts,表示最小包含点数;
ξ邻域,表示以给定对象为中心,在给定对象的扫描半径范围内的区域;
核心对象,表示若在给定对象的ξ邻域中所包括的对象个数大于或等于最小包含点数,则称该给定对象为核心对象;
直接密度可达,表示对于样本集合D,如果样本点q在p的ξ邻域内,且p为核心对象,那么对象q从对象p直接密度可达;
密度可达,表示对于样本集合D,给定一串样本点p1、p2、……、pn,若p1=q、且pn=p,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达;
密度相连,表示存在样本集合D中的一点o,如果对象o到对象p和对象q都是密度可达的,那么p和q密度相连。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。
DBSCAN需要二个参数:扫描半径(eps)和最小包含点数(minPts)。任选一个未被访问(unvisited)的点开始,找出与其距离在eps之内(包括eps)的所有附近点。
如果附近点的数量≥minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问(visited)。然后递归,以相同的方法处理该簇内所有未被标记为已访问(visited)的点,从而对簇进行扩展。如果附近点的数量<minPts,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。
S120、根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群。
在本实施例中,在多个聚类群中的其中一个聚类群对应的子用户-评分矩阵中,选中一个行向量作为目标向量后,同时会获取该行向量所属的聚类群,这样即可快速判断目标用户的相似用户。
S130、在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵。
在本实施例中,为了判断目标用户所属的聚类群中与目标用户相似的用户,可以获取聚类群中各评分行向量与目标用户的行向量之间的欧式距离,将各欧式距离按降序排序后,获取获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵。如将第一排名阈值设置为11,则获取各欧式距离中排名1-10名的欧式距离对应的评分行向量,以这10个行向量组成相似用户群评分矩阵。获取了目标用户的相似用户之后,即可通过少量被选中的行向量进行计算,无需调用全量的用户-评分矩阵,降低了运行过程中的计算量。
在一实施例中,步骤S130中包括:
获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,按照评分行向量在对应的子用户-评分矩阵中行序号的先后顺序进行排列,得到相似用户群评分矩阵。
在本实施例中,按照各评分行向量在对应的子用户-评分矩阵中各行出现的先后顺序,来依序获取各相似用户的评分行向量,上述方式能精确获取各相似用户对应的评分行向量组成的相似用户群评分矩阵,便于后续计算用户对各商品的综合评分值。
S140、根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在本实施例中,获取了目标用户的相似用户对各商品的评分后,即可针对每一商品计算相似用户对其综合评分值。在综合考虑目标用户与相似用户中各用户之间的欧氏距离,以及相似用户对各商品的评分值,即可运算得到商品推荐行向量,以商品推荐行向量作为商品推荐的依据。
在一实施例中,如图3所示,步骤S140包括:
S141、根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;
S142、根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在本实施例中,例如由用户-评分矩阵S进行DBSCAN聚类后,得到第一聚类群和第二聚类群,其中第一聚类群包括用户1和用户2的评分行向量,第二聚类群包括用户3和用户4的评分行向量。此时第一聚类群对应的子用户-评分矩阵由用户1和用户2的评分行向量组成,第二聚类群对应的子用户-评分矩阵由用户3和用户4的评分行向量组成。
若选定了用户1作为目标用户,则用户1的评分行向量对应的聚类群为第一聚类群,在第一聚类群中除了包括用户1的评分向量,还包括用户2的评分行向量。此时,相似用户群评分矩阵为[0 4 1 3 2],相似用户群评分矩阵[0 4 1 3 2]与目标用户的评分行向量[1 3 1 5 2]之间的欧式距离为将相似用户群欧式距离行向量/>与标用户的行向量[1 3 1 5 2]相乘得到/>即得到了相似用户群对各商品的综合评分值组成的商品推荐行向量。
当根据与目标用户所属的聚类群中各用户对应的评分行向量和与目标用户的评分行向量的欧氏距离,计算得到商品推荐行向量,在商品推荐行向量中对各商品的评分排位靠前的商品即可作为商品推荐列表的组成元素之一,这样通过商品推荐行向量得到的推荐商品由于充分考虑了近似用户的喜好,故能准确的反映目标用户的喜好。
S150、由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
在本实施例中,在计算所得到的商品推荐行向量中,即可获知目标用户所属的聚类群中各用户对各商品的综合评分,以该综合评分中评分排名位于第二排名阈值之前(如设置第二排名阈值为4)的评分所对应商品即可作为商品推荐列表的推荐项。
例如,目标用户(用户1)的相似用户(用户2)对应的商品推荐行向量中评分位于前3名的商品分别是商品2、商品4和商品5,此时将上述3件商品作为商品列表推送至目标用户。
通过上述基于欧氏距离的计算,能将相似用户的商品喜好作为对目标用户推荐商品时所考虑的主要因素,能更合理的进行商品推荐。
在一实施例中,步骤S110之前还包括:
获取历史商品信息集合,通过词频-逆文本频率指数模型对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,得到与每一历史商品信息对应的商品关键词集合;
通过Word2Vec模型获取每一商品关键词集合中各商品关键词对应的词向量;
获取每一商品关键词集合中各商品关键词所对应词向量的平均值,以得到与每一商品关键词集合对应的统计向量;
通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,得到至少一个商品聚类簇;
若用户-评分矩阵中包括空白值,根据所述空白值对应的商品名称,以获取与商品名称相应的统计向量;
获取与商品名称相应的统计向量所归属的商品聚类簇;
根据与商品名称相应的统计向量所归属的商品聚类簇,获取与所述空白值对应的商品名称相应的相似商品名称,以作为相似商品结果;
根据所述空白值对应的行向量,获取与所述相似商品结果中每一商品名称对应的评分;
根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,以将空白值更新为对应的商品加权评分。
在本实施例中,管理服务器中所提供的面向用户的UI界面中,用户可以选择多种商品中的一种或多种并进行购买。在管理服务器中是存储有历史商品信息集合,历史商品信息集合中每一历史商品信息包括由商品名称和商品属性,其中商品的属性包括商品的价格、标签、品牌和功能等。
当通过TF-IDF模型(即term frequency–inverse document frequency,表示词频-逆文本频率指数模型)对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,可以将每一历史商品信息简化表述为对应的商品关键词集合。
词频-逆文本频率指数模型是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse DocumentFrequency)。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
例如,有一斯伯丁品牌XX型号YY元的篮球,其还有产地、尺寸等丰富的商品信息,但是经过TF-IDF模型进行关键词抽取后,最后得到的商品关键词集合为“篮球+斯伯丁+XX型号”。这样,将每一历史商品信息均简化为对应的商品关键词集合,能便于转化为词向量。
再将历史商品信息集合转化为与每一历史商品信息对应的商品关键词集合后,可通过Word2Vec模型(Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型)将商品关键词集合转化为与每一历史商品信息一一对应的词向量。
例如在语料库中,篮球、斯伯丁、XX型号各对应一个向量,向量中只有一个值为1,其余都为0,将上述信息对应的向量输入Word2Vec模型即可转化为低维度的连续值,也就是稠密向量,并且其中意思相近的词将被映射到向量空间中相近的位置。
在获取了商品关键词集合中各各商品关键词的词向量,再取各商品关键词的词向量平均值作为该商品的统计向量即可。此时即将历史商品信息集合中每一历史商品信息均转化为对应的统计向量,之后将通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,可得到至少一个商品聚类簇。
由于确定了所述空白值在初始用户-评分矩阵中所归属的行向量后,即可知道是哪一用户针对哪一商品的商品评分是空白值,此时先获取所述空白值对应的商品名称即可知道该商品名称所对应的统计向量。然后判断该统计向量所归属的商品聚类簇,即可获取该商品聚类簇中其他商品的相似商品名称,以作为所述空白值对应的商品名称的相似商品结果。由于所述空白值在初始用户-评分矩阵中所归属的行向量中,可获知该用户针对相似商品结果中各相似商品名称的评分。最后根据该用户针对各相似商品名称的评分进行加权平均,得到所述空白值对应的商品加权评分。
在一实施例中,所述根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,包括:
将所述相似商品结果中每一商品名称对应的统计向量作为统计向量组,将所述空白值对应商品名称相应的统计向量作为待预测商品评分向量,获取所述统计向量组中每一统计向量与待预测商品评分向量之间的距离,以得到向量距离集合;
将所述相似商品结果中每一商品名称对应评分乘以向量距离集合中对应的向量距离并求和,得到商品加权总评分;
将商品加权总评分除以向量距离集合中各向量距离之和,得到所述空白值对应的商品加权评分。
在本实施例中,若将所述统计向量组中每一统计向量与待预测商品评分向量之间的距离记为dck,将所述空白值所在行向量对应的用户对所述相似商品结果中每一商品名称对应评分记为Sic,通过如下公式计算得到所述空白值对应的商品加权评分:
其中,Scorek表示所述空白值对应商品k的商品加权评分,m为所述相似商品结果中相似商品c的总个数。
例如,用户1针对商品2的评分为空白值,而得到商品2对应的相似商品结果为商品4和商品5,且用户1针对商品4和商品5的评分分别为3和4,商品4对应的统计向量与商品2对应的统计向量之间的距离为0.5,商品5对应的统计向量与商品2对应的统计向量之间的距离为1,则:
Score2=(0.5*3+1*4)/(0.5+1)=11/3;
此时,将上述计算得到的Score2作为所述空白值对应的商品加权评分。
通过对新用户所缺少的商品评分,通过基于内容的预测方法,能有效的补全用户-评分矩阵,避免了推荐过程中冷启动的问题。
该方法实现了将用户-评分矩阵划分为多个子矩阵分别进行维护,降低维护成本,而且能根据子矩阵横精准对目标用户进行商品信息推送。
本发明实施例还提供一种基于重聚类的推送装置,该基于重聚类的推送装置用于执行前述基于重聚类的推送方法的任一实施例。具体地,请参阅图4,图4是本发明实施例提供的基于重聚类的推送装置的示意性框图。该基于重聚类的推送装置100可以配置于管理服务器中。
如图4所示,基于重聚类的推送装置100包括用户聚类单元110、聚类判断单元120、相似用户评分矩阵获取单元130、商品推荐行向量获取单元140、和信息推送单元150。
用户聚类单元110,用于通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵。
在本实施例中,用户-评分矩阵表示用户对商品(项目可以理解为具体的商品)的评分,用户-评分矩阵的横轴为项目,纵轴为用户,当中的值是用户i对项目j的评分。例如用户-评分矩阵S为4×5的矩阵,如:
其中,用户-评分矩阵S中第一行的行向量表示用户1分别针对商品1-商品5的评分,第二行的行向量表示用户2分别针对商品1-商品5的评分,第三行的行向量表示用户3分别针对商品1-商品5的评分,第四行的行向量表示用户4分别针对商品1-商品5的评分。
通过DBSCAN聚类模型对用户-评分矩阵中各行向量进行聚类,实现了根据用户对各商品的评分,将相似的用户划分为同一聚类群中,在同一聚类群中各用户对各商品的评分是近似的(也就是对各商品的评分的分差较小)。通过将全量的用户-评分矩阵进行DBSCAN聚类划分为多个子用户-评分矩阵后,只需分别对各子用户-评分矩阵进行维护即可,提高了维护的效率。
在一实施例中,如图5所示,用户聚类单元110包括:
初始中心获取单元111,用于将用户-评分矩阵中任意一个行向量作为初始聚类中心;
初始聚类群获取单元112,用于根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;
聚类群调整单元113,用于将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。
DBSCAN需要二个参数:扫描半径(eps)和最小包含点数(minPts)。任选一个未被访问(unvisited)的点开始,找出与其距离在eps之内(包括eps)的所有附近点。
如果附近点的数量≥minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问(visited)。然后递归,以相同的方法处理该簇内所有未被标记为已访问(visited)的点,从而对簇进行扩展。如果附近点的数量<minPts,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。
聚类判断单元120,用于根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群。
在本实施例中,在多个聚类群中的其中一个聚类群对应的子用户-评分矩阵中,选中一个行向量作为目标向量后,同时会获取该行向量所属的聚类群,这样即可快速判断目标用户的相似用户。
相似用户评分矩阵获取单元130,用于在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵。
在本实施例中,为了判断目标用户所属的聚类群中与目标用户相似的用户,可以获取聚类群中各评分行向量与目标用户的行向量之间的欧式距离,将各欧式距离按降序排序后,获取获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵。如将第一排名阈值设置为11,则获取各欧式距离中排名1-10名的欧式距离对应的评分行向量,以这10个行向量组成相似用户群评分矩阵。获取了目标用户的相似用户之后,即可通过少量被选中的行向量进行计算,无需调用全量的用户-评分矩阵,降低了运行过程中的计算量。
在一实施例中,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵,包括:
获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,按照评分行向量在对应的子用户-评分矩阵中行序号的先后顺序进行排列,得到相似用户群评分矩阵。
在本实施例中,按照各评分行向量在对应的子用户-评分矩阵中各行出现的先后顺序,来依序获取各相似用户的评分行向量,上述方式能精确获取各相似用户对应的评分行向量组成的相似用户群评分矩阵,便于后续计算用户对各商品的综合评分值。
商品推荐行向量获取单元140,用于根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在本实施例中,获取了目标用户的相似用户对各商品的评分后,即可针对每一商品计算相似用户对其综合评分值。在综合考虑目标用户与相似用户中各用户之间的欧氏距离,以及相似用户对各商品的评分值,即可运算得到商品推荐行向量,以商品推荐行向量作为商品推荐的依据。
在一实施例中,如图6所示,商品推荐行向量获取单元140包括:
欧式距离行向量获取单元141,用于根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;
综合评分值计算单元142,用于根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在本实施例中,例如由用户-评分矩阵S进行DBSCAN聚类后,得到第一聚类群和第二聚类群,其中第一聚类群包括用户1和用户2的评分行向量,第二聚类群包括用户3和用户4的评分行向量。此时第一聚类群对应的子用户-评分矩阵由用户1和用户2的评分行向量组成,第二聚类群对应的子用户-评分矩阵由用户3和用户4的评分行向量组成。
若选定了用户1作为目标用户,则用户1的评分行向量对应的聚类群为第一聚类群,在第一聚类群中除了包括用户1的评分向量,还包括用户2的评分行向量。此时,相似用户群评分矩阵为[0 4 1 3 2],相似用户群评分矩阵[0 4 1 3 2]与目标用户的评分行向量[1 3 1 5 2]之间的欧式距离为将相似用户群欧式距离行向量/>与标用户的行向量[1 3 1 5 2]相乘得到/>即得到了相似用户群对各商品的综合评分值组成的商品推荐行向量。
当根据与目标用户所属的聚类群中各用户对应的评分行向量和与目标用户的评分行向量的欧氏距离,计算得到商品推荐行向量,在商品推荐行向量中对各商品的评分排位靠前的商品即可作为商品推荐列表的组成元素之一,这样通过商品推荐行向量得到的推荐商品由于充分考虑了近似用户的喜好,故能准确的反映目标用户的喜好。
信息推送单元150,用于由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
在本实施例中,在计算所得到的商品推荐行向量中,即可获知目标用户所属的聚类群中各用户对各商品的综合评分,以该综合评分中评分排名位于第二排名阈值之前(如设置第二排名阈值为4)的评分所对应商品即可作为商品推荐列表的推荐项。
例如,目标用户(用户1)的相似用户(用户2)对应的商品推荐行向量中评分位于前3名的商品分别是商品2、商品4和商品5,此时将上述3件商品作为商品列表推送至目标用户。
通过上述基于欧氏距离的计算,能将相似用户的商品喜好作为对目标用户推荐商品时所考虑的主要因素,能更合理的进行商品推荐。
在一实施例中,基于重聚类的推送装置100,还包括:
历史关键词集合获取单元,用于获取历史商品信息集合,通过词频-逆文本频率指数模型对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,得到与每一历史商品信息对应的商品关键词集合;
词向量转化单元,用于通过Word2Vec模型获取每一商品关键词集合中各商品关键词对应的词向量;
统计向量获取单元,用于获取每一商品关键词集合中各商品关键词所对应词向量的平均值,以得到与每一商品关键词集合对应的统计向量;
商品聚类单元,用于通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,得到至少一个商品聚类簇;
待预测向量获取单元,用于若用户-评分矩阵中包括空白值,根据所述空白值对应的商品名称,以获取与商品名称相应的统计向量;
商品聚类簇归属判断单元,用于获取与商品名称相应的统计向量所归属的商品聚类簇;
相似商品结果获取单元,用于根据与商品名称相应的统计向量所归属的商品聚类簇,获取与所述空白值对应的商品名称相应的相似商品名称,以作为相似商品结果;
相似商品评分获取单元,用于根据所述空白值对应的行向量,获取与所述相似商品结果中每一商品名称对应的评分;
商品加权评分获取单元,用于根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,以将空白值更新为对应的商品加权评分。
在本实施例中,管理服务器中所提供的面向用户的UI界面中,用户可以选择多种商品中的一种或多种并进行购买。在管理服务器中是存储有历史商品信息集合,历史商品信息集合中每一历史商品信息包括由商品名称和商品属性,其中商品的属性包括商品的价格、标签、品牌和功能等。
当通过TF-IDF模型(即term frequency–inverse document frequency,表示词频-逆文本频率指数模型)对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,可以将每一历史商品信息简化表述为对应的商品关键词集合。
词频-逆文本频率指数模型是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse DocumentFrequency)。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
例如,有一斯伯丁品牌XX型号YY元的篮球,其还有产地、尺寸等丰富的商品信息,但是经过TF-IDF模型进行关键词抽取后,最后得到的商品关键词集合为“篮球+斯伯丁+XX型号”。这样,将每一历史商品信息均简化为对应的商品关键词集合,能便于转化为词向量。
再将历史商品信息集合转化为与每一历史商品信息对应的商品关键词集合后,可通过Word2Vec模型(Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型)将商品关键词集合转化为与每一历史商品信息一一对应的词向量。
例如在语料库中,篮球、斯伯丁、XX型号各对应一个向量,向量中只有一个值为1,其余都为0,将上述信息对应的向量输入Word2Vec模型即可转化为低维度的连续值,也就是稠密向量,并且其中意思相近的词将被映射到向量空间中相近的位置。
在获取了商品关键词集合中各各商品关键词的词向量,再取各商品关键词的词向量平均值作为该商品的统计向量即可。此时即将历史商品信息集合中每一历史商品信息均转化为对应的统计向量,之后将通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,可得到至少一个商品聚类簇。
由于确定了所述空白值在初始用户-评分矩阵中所归属的行向量后,即可知道是哪一用户针对哪一商品的商品评分是空白值,此时先获取所述空白值对应的商品名称即可知道该商品名称所对应的统计向量。然后判断该统计向量所归属的商品聚类簇,即可获取该商品聚类簇中其他商品的相似商品名称,以作为所述空白值对应的商品名称的相似商品结果。由于所述空白值在初始用户-评分矩阵中所归属的行向量中,可获知该用户针对相似商品结果中各相似商品名称的评分。最后根据该用户针对各相似商品名称的评分进行加权平均,得到所述空白值对应的商品加权评分。
在一实施例中,商品加权评分获取单元,包括:
向量距离集合获取单元,用于将所述相似商品结果中每一商品名称对应的统计向量作为统计向量组,将所述空白值对应商品名称相应的统计向量作为待预测商品评分向量,获取所述统计向量组中每一统计向量与待预测商品评分向量之间的距离,以得到向量距离集合;
商品加权总评分获取单元,用于将所述相似商品结果中每一商品名称对应评分乘以向量距离集合中对应的向量距离并求和,得到商品加权总评分;
平均分获取单元,用于将商品加权总评分除以向量距离集合中各向量距离之和,得到所述空白值对应的商品加权评分。
在本实施例中,若将所述统计向量组中每一统计向量与待预测商品评分向量之间的距离记为dck,将所述空白值所在行向量对应的用户对所述相似商品结果中每一商品名称对应评分记为Sic,通过如下公式计算得到所述空白值对应的商品加权评分:
其中,Scorek表示所述空白值对应商品k的商品加权评分,m为所述相似商品结果中相似商品c的总个数。
例如,用户1针对商品2的评分为空白值,而得到商品2对应的相似商品结果为商品4和商品5,且用户1针对商品4和商品5的评分分别为3和4,商品4对应的统计向量与商品2对应的统计向量之间的距离为0.5,商品5对应的统计向量与商品2对应的统计向量之间的距离为1,则:
Score2=(0.5*3+1*4)/(0.5+1)=11/3;
此时,将上述计算得到的Score2作为所述空白值对应的商品加权评分。
通过对新用户所缺少的商品评分,通过基于内容的预测方法,能有效的补全用户-评分矩阵,避免了推荐过程中冷启动的问题。
该装置实现了将用户-评分矩阵划分为多个子矩阵分别进行维护,降低维护成本,而且能根据子矩阵横精准对目标用户进行商品信息推送。
上述基于重聚类的推送装置可以实现为计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本发明实施例提供的计算机设备的示意性框图。
参阅图7,该计算机设备500包括通过***总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作***5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于重聚类的推送方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于重聚类的推送方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;以及由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
在一实施例中,处理器502在执行所述通过DBSCAN聚类对用户-评分矩阵进行聚类,得到至少一个聚类群的步骤时,执行如下操作:将用户-评分矩阵中任意一个行向量作为初始聚类中心;根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
在一实施例中,处理器502在执行所述根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量的步骤时,执行如下操作:根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在一实施例中,处理器502在执行所述获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵的步骤时,执行如下操作:获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,按照评分行向量在对应的子用户-评分矩阵中行序号的先后顺序进行排列,得到相似用户群评分矩阵。
在一实施例中,处理器502在执行所述通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵的步骤之前,还执行如下操作:获取历史商品信息集合,通过词频-逆文本频率指数模型对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,得到与每一历史商品信息对应的商品关键词集合;通过Word2Vec模型获取每一商品关键词集合中各商品关键词对应的词向量;获取每一商品关键词集合中各商品关键词所对应词向量的平均值,以得到与每一商品关键词集合对应的统计向量;通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,得到至少一个商品聚类簇;若用户-评分矩阵中包括空白值,根据所述空白值对应的商品名称,以获取与商品名称相应的统计向量;获取与商品名称相应的统计向量所归属的商品聚类簇;根据与商品名称相应的统计向量所归属的商品聚类簇,获取与所述空白值对应的商品名称相应的相似商品名称,以作为相似商品结果;根据所述空白值对应的行向量,获取与所述相似商品结果中每一商品名称对应的评分;根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,以将空白值更新为对应的商品加权评分。
在一实施例中,处理器502在执行所述根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分的步骤时,执行如下操作:将所述相似商品结果中每一商品名称对应的统计向量作为统计向量组,将所述空白值对应商品名称相应的统计向量作为待预测商品评分向量,获取所述统计向量组中每一统计向量与待预测商品评分向量之间的距离,以得到向量距离集合;将所述相似商品结果中每一商品名称对应评分乘以向量距离集合中对应的向量距离并求和,得到商品加权总评分;将商品加权总评分除以向量距离集合中各向量距离之和,得到所述空白值对应的商品加权评分。
本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessingUnit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;以及由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。
在一实施例中,所述通过DBSCAN聚类对用户-评分矩阵进行聚类,得到至少一个聚类群,包括:将用户-评分矩阵中任意一个行向量作为初始聚类中心;根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
在一实施例中,所述根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量,包括:根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量。
在一实施例中,所述获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵,包括:获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,按照评分行向量在对应的子用户-评分矩阵中行序号的先后顺序进行排列,得到相似用户群评分矩阵。
在一实施例中,所述通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵之前,还包括:获取历史商品信息集合,通过词频-逆文本频率指数模型对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,得到与每一历史商品信息对应的商品关键词集合;通过Word2Vec模型获取每一商品关键词集合中各商品关键词对应的词向量;获取每一商品关键词集合中各商品关键词所对应词向量的平均值,以得到与每一商品关键词集合对应的统计向量;通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,得到至少一个商品聚类簇;若用户-评分矩阵中包括空白值,根据所述空白值对应的商品名称,以获取与商品名称相应的统计向量;获取与商品名称相应的统计向量所归属的商品聚类簇;根据与商品名称相应的统计向量所归属的商品聚类簇,获取与所述空白值对应的商品名称相应的相似商品名称,以作为相似商品结果;根据所述空白值对应的行向量,获取与所述相似商品结果中每一商品名称对应的评分;根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,以将空白值更新为对应的商品加权评分。
在一实施例中,所述根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,包括:将所述相似商品结果中每一商品名称对应的统计向量作为统计向量组,将所述空白值对应商品名称相应的统计向量作为待预测商品评分向量,获取所述统计向量组中每一统计向量与待预测商品评分向量之间的距离,以得到向量距离集合;将所述相似商品结果中每一商品名称对应评分乘以向量距离集合中对应的向量距离并求和,得到商品加权总评分;将商品加权总评分除以向量距离集合中各向量距离之和,得到所述空白值对应的商品加权评分。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于重聚类的推送方法,其特征在于,包括:
通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;
根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;
在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;
根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;以及
由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端;
所述相似用户群对各商品的综合评分值是通过目标用户与相似用户中各用户之间的欧氏距离,以及相似用户对各商品的评分值运算得到的;
所述根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量,包括:
根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;
根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量;其中,所述商品推荐行向量作为商品推荐的依据。
2.根据权利要求1所述的基于重聚类的推送方法,其特征在于,所述通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,包括:
将用户-评分矩阵中任意一个行向量作为初始聚类中心;
根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;
将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
3.根据权利要求1所述的基于重聚类的推送方法,其特征在于,所述获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵,包括:
获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,按照评分行向量在对应的子用户-评分矩阵中行序号的先后顺序进行排列,得到相似用户群评分矩阵。
4.根据权利要求1所述的基于重聚类的推送方法,其特征在于,所述通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵之前,还包括:
获取历史商品信息集合,通过词频-逆文本频率指数模型对所述历史商品信息集合中每一历史商品信息均进行关键词信息抽取,得到与每一历史商品信息对应的商品关键词集合;
通过Word2Vec模型获取每一商品关键词集合中各商品关键词对应的词向量;
获取每一商品关键词集合中各商品关键词所对应词向量的平均值,以得到与每一商品关键词集合对应的统计向量;
通过DBSCAN聚类模型对商品关键词集合对应的统计向量进行聚类,得到至少一个商品聚类簇;
若用户-评分矩阵中包括空白值,根据所述空白值对应的商品名称,以获取与商品名称相应的统计向量;
获取与商品名称相应的统计向量所归属的商品聚类簇;
根据与商品名称相应的统计向量所归属的商品聚类簇,获取与所述空白值对应的商品名称相应的相似商品名称,以作为相似商品结果;
根据所述空白值对应的行向量,获取与所述相似商品结果中每一商品名称对应的评分;
根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,以将空白值更新为对应的商品加权评分。
5.根据权利要求4所述的基于重聚类的推送方法,其特征在于,所述根据与所述相似商品结果中每一商品名称对应的评分进行加权平均,得到所述空白值对应的商品加权评分,包括:
将所述相似商品结果中每一商品名称对应的统计向量作为统计向量组,将所述空白值对应商品名称相应的统计向量作为待预测商品评分向量,获取所述统计向量组中每一统计向量与待预测商品评分向量之间的距离,以得到向量距离集合;
将所述相似商品结果中每一商品名称对应评分乘以向量距离集合中对应的向量距离并求和,得到商品加权总评分;
将商品加权总评分除以向量距离集合中各向量距离之和,得到所述空白值对应的商品加权评分。
6.一种基于重聚类的推送装置,其特征在于,包括:
用户聚类单元,用于通过DBSCAN聚类对所获取的用户-评分矩阵进行聚类,得到至少一个聚类群,及与每一聚类群一一对应的子用户-评分矩阵;
聚类判断单元,用于根据在子用户-评分矩阵中所选中的行向量对应的目标用户,获取目标用户的行向量对应的聚类群;
相似用户评分矩阵获取单元,用于在目标用户对应的聚类群中,计算获取各评分行向量与目标用户的行向量之间的欧式距离,获取各欧式距离中排名位于预设的第一排名阈值之前的欧式距离对应的评分行向量,以组成相似用户群评分矩阵;
商品推荐行向量获取单元,用于根据相似用户群评分矩阵中各评分行向量,获取相似用户群对各商品的综合评分值,以组成商品推荐行向量;
信息推送单元,用于由商品推荐行向量中评分排名位于预设的第二排名阈值之前的综合评分值所对应商品以得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端;
所述相似用户群对各商品的综合评分值是通过目标用户与相似用户中各用户之间的欧氏距离,以及相似用户对各商品的评分值运算得到的;
所述商品推荐行向量获取单元包括:
欧式距离行向量获取单元,用于根据相似用户群评分矩阵中各评分行向量分别与目标用户的行向量之间的欧式距离,以组成相似用户群欧式距离行向量;
综合评分值计算单元,用于根据相似用户群欧式距离行向量与相似用户群评分矩阵相乘得到相似用户群对各商品的综合评分值,以组成商品推荐行向量;其中,所述商品推荐行向量作为商品推荐的依据。
7.根据权利要求6所述的基于重聚类的推送装置,其特征在于,所述用户聚类单元,包括:
初始中心获取单元,用于将用户-评分矩阵中任意一个行向量作为初始聚类中心;
初始聚类群获取单元,用于根据预设的最小包含点数,获取与初始聚类中心之间的间距在预设的扫描半径之内的行向量,以作为初始聚类群;
聚类群调整单元,用于将初始聚类群中每一行向量作为聚类中心,获取用户-评分矩阵中与聚类中心直接密度可达、密度可达或密度相连的行向量,以作为调整后的聚类群。
8.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的基于重聚类的推送方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的基于重聚类的推送方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191703.1A CN109166017B (zh) | 2018-10-12 | 2018-10-12 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
PCT/CN2018/125334 WO2020073534A1 (zh) | 2018-10-12 | 2018-12-29 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191703.1A CN109166017B (zh) | 2018-10-12 | 2018-10-12 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109166017A CN109166017A (zh) | 2019-01-08 |
CN109166017B true CN109166017B (zh) | 2024-06-04 |
Family
ID=64878156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811191703.1A Active CN109166017B (zh) | 2018-10-12 | 2018-10-12 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109166017B (zh) |
WO (1) | WO2020073534A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949070B (zh) * | 2019-01-28 | 2024-03-26 | 平安科技(深圳)有限公司 | 用户黏度评估方法、装置、计算机设备及存储介质 |
CN109829761A (zh) * | 2019-01-31 | 2019-05-31 | 广州视源电子科技股份有限公司 | 一种商品选择方法、装置、设备和存储介质 |
CN109977299B (zh) * | 2019-02-21 | 2022-12-27 | 西北大学 | 一种融合项目热度和专家系数的推荐算法 |
CN109903138B (zh) * | 2019-02-28 | 2021-05-18 | 华中科技大学 | 一种个性化商品推荐方法 |
CN111984837B (zh) * | 2019-05-23 | 2021-04-23 | 浙江口碑网络技术有限公司 | 商品数据的处理方法、装置及设备 |
CN110503506B (zh) * | 2019-07-05 | 2022-07-08 | 平安科技(深圳)有限公司 | 基于评分数据的物品推荐方法、装置及介质 |
CN112307309B (zh) * | 2019-07-26 | 2022-12-06 | 中移(苏州)软件技术有限公司 | 一种信息推荐方法及装置、存储介质 |
CN110717097A (zh) * | 2019-09-06 | 2020-01-21 | 中国平安财产保险股份有限公司 | 业务推荐方法、装置、计算机设备和存储介质 |
CN112307324B (zh) * | 2020-03-04 | 2024-07-16 | 北京字节跳动网络技术有限公司 | 信息处理方法、装置、设备和介质 |
CN111612583B (zh) * | 2020-05-19 | 2024-03-19 | 江苏大学 | 一种基于聚类的个性化导购*** |
CN111859281B (zh) * | 2020-05-29 | 2023-09-08 | 石化盈科信息技术有限责任公司 | 物品补给时间预测方法、装置、存储介质及电子设备 |
CN111639263B (zh) * | 2020-06-03 | 2023-11-24 | 小红书科技有限公司 | 笔记推荐方法、装置及*** |
CN111813905B (zh) * | 2020-06-17 | 2024-05-10 | 平安科技(深圳)有限公司 | 语料生成方法、装置、计算机设备及存储介质 |
CN111881191B (zh) * | 2020-08-05 | 2021-06-11 | 留洋汇(厦门)金融技术服务有限公司 | 移动互联网下的客户画像关键特征挖掘***与方法 |
CN111950632B (zh) * | 2020-08-12 | 2021-11-09 | 贝壳找房(北京)科技有限公司 | 用于实现小区信息聚类的方法、装置、介质以及电子设备 |
CN111986005A (zh) * | 2020-08-31 | 2020-11-24 | 上海博泰悦臻电子设备制造有限公司 | 活动推荐方法及相关设备 |
CN112036987B (zh) * | 2020-09-11 | 2024-04-02 | 杭州海康威视数字技术股份有限公司 | 确定推荐商品的方法和装置 |
CN112381598B (zh) * | 2020-10-26 | 2023-12-05 | 泰康保险集团股份有限公司 | 产品服务信息推送方法及装置 |
CN112633978B (zh) * | 2020-12-22 | 2024-03-08 | 重庆大学 | 图神经网络模型构建方法、用于商品推荐的方法、装置及设备 |
CN113822734B (zh) * | 2021-01-18 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 用于生成信息的方法和装置 |
CN113836310B (zh) * | 2021-08-04 | 2022-11-29 | 欧冶工业品股份有限公司 | 知识图谱驱动的工业品供应链管理方法和*** |
CN113763134B (zh) * | 2021-09-22 | 2024-07-12 | 携程旅游信息技术(上海)有限公司 | 信息推荐方法、***、设备及存储介质 |
CN115018584A (zh) * | 2022-06-13 | 2022-09-06 | 浙江理工大学 | 融合评论文本主题词情感倾向和用户信任关系的推荐方法 |
CN116402399B (zh) * | 2023-04-14 | 2023-12-29 | 上海锦咏数据科技有限公司 | 基于人工智能与电子商城的业务数据处理方法及*** |
CN116702304B (zh) * | 2023-08-08 | 2023-10-20 | 中建五局第三建设有限公司 | 一种基于无监督学习的基坑设计方案分组方法和装置 |
CN117633165B (zh) * | 2023-10-20 | 2024-05-31 | 广州天晟网络信息有限公司 | 一种智能ai客服对话引导方法 |
CN117493913B (zh) * | 2023-11-24 | 2024-05-14 | 济南高更食品科技有限公司 | 一种基于用户反馈的复合调味料控制方法及*** |
CN117350823A (zh) * | 2023-12-04 | 2024-01-05 | 北京国双科技有限公司 | 一种电子商城用商品信息推荐方法、***、设备及介质 |
CN117851650B (zh) * | 2024-03-05 | 2024-05-10 | 烟台大学 | 一种基于用户群和强化学习的项目推荐方法、***和设备 |
CN117851464B (zh) * | 2024-03-07 | 2024-05-14 | 济南道图信息科技有限公司 | 一种用于心理评估的用户行为模式辅助分析方法 |
CN117952726B (zh) * | 2024-03-27 | 2024-07-23 | 摘星社信息科技(浙江)股份有限公司 | 一种基于运营商数据分析的个性化权益包推荐*** |
CN118096324B (zh) * | 2024-04-23 | 2024-07-19 | 成都帆点创想科技有限公司 | 推荐模型训练方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412948A (zh) * | 2013-08-27 | 2013-11-27 | 北京交通大学 | 基于聚类的协同过滤的商品推荐方法及*** |
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN107861945A (zh) * | 2017-11-01 | 2018-03-30 | 平安科技(深圳)有限公司 | 金融数据分析方法、应用服务器及计算机可读存储介质 |
CN108205682A (zh) * | 2016-12-19 | 2018-06-26 | 同济大学 | 一种用于个性化推荐的融合内容和行为的协同过滤方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512524B2 (en) * | 2005-03-18 | 2009-03-31 | International Business Machines Corporation | Preparing peptide spectra for identification |
US10380209B2 (en) * | 2015-07-31 | 2019-08-13 | RCRDCLUB Corporation | Systems and methods of providing recommendations of content items |
CN106919699A (zh) * | 2017-03-09 | 2017-07-04 | 华北电力大学 | 一种面向大规模用户的个性化信息推荐方法 |
CN107577786B (zh) * | 2017-09-15 | 2019-09-10 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
CN107944485B (zh) * | 2017-11-17 | 2020-03-06 | 西安电子科技大学 | 基于聚类群组发现的推荐***及方法、个性化推荐*** |
CN108197285A (zh) * | 2018-01-15 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 一种数据推荐方法以及装置 |
-
2018
- 2018-10-12 CN CN201811191703.1A patent/CN109166017B/zh active Active
- 2018-12-29 WO PCT/CN2018/125334 patent/WO2020073534A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412948A (zh) * | 2013-08-27 | 2013-11-27 | 北京交通大学 | 基于聚类的协同过滤的商品推荐方法及*** |
CN108205682A (zh) * | 2016-12-19 | 2018-06-26 | 同济大学 | 一种用于个性化推荐的融合内容和行为的协同过滤方法 |
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN107861945A (zh) * | 2017-11-01 | 2018-03-30 | 平安科技(深圳)有限公司 | 金融数据分析方法、应用服务器及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于用户模糊聚类的个性化推荐研究;胡朝举;《软件导刊》;第第17卷卷(第第20期期);第31-34页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020073534A1 (zh) | 2020-04-16 |
CN109166017A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109166017B (zh) | 基于重聚类的推送方法、装置、计算机设备及存储介质 | |
CN109360057B (zh) | 信息推送方法、装置、计算机设备及存储介质 | |
US10853360B2 (en) | Searchable index | |
CN109189934B (zh) | 舆情推荐方法、装置、计算机设备及存储介质 | |
CN109033101B (zh) | 标签推荐方法及装置 | |
WO2017084362A1 (zh) | 模型生成方法、推荐方法及对应装置、设备和存储介质 | |
CN110019794B (zh) | 文本资源的分类方法、装置、存储介质及电子装置 | |
CN105760400B (zh) | 一种基于搜索行为的推送消息排序方法及装置 | |
CN109325182B (zh) | 基于会话的信息推送方法、装置、计算机设备及存储介质 | |
CN108717407B (zh) | 实体向量确定方法及装置,信息检索方法及装置 | |
CN108021708B (zh) | 内容推荐方法、装置与计算机可读存储介质 | |
CN111010592B (zh) | 一种视频推荐方法、装置、电子设备及存储介质 | |
CN109241451B (zh) | 一种内容组合推荐方法、装置及可读存储介质 | |
JP6291145B2 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
CN110489574B (zh) | 一种多媒体信息推荐方法、装置和相关设备 | |
JP5662299B2 (ja) | 情報推薦装置及び方法及び装置及びプログラム | |
CN109885722B (zh) | 基于自然语言处理的音乐推荐方法、装置、及计算机设备 | |
CN110991785B (zh) | 基于文本的指标提取方法、装置、计算机设备及存储介质 | |
CN107943910B (zh) | 一种基于组合算法的个性化图书推荐方法 | |
KR20190128246A (ko) | 검색 방법 및 장치 및 비-일시적 컴퓨터-판독가능 저장 매체 | |
CN110008396B (zh) | 对象信息推送方法、装置、设备及计算机可读存储介质 | |
WO2020073526A1 (zh) | 基于信任网络的推送方法、装置、计算机设备及存储介质 | |
CN108389113B (zh) | 一种协同过滤推荐方法和*** | |
US20120271844A1 (en) | Providng relevant information for a term in a user message | |
WO2020150163A1 (en) | Encoding textual data for personalized inventory management |
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 |