一种产品聚类方法及装置的制造方法_2

文档序号:9579256阅读:来源:国知局
所述非簇中心产品归为一簇;
[0047] 若所述非簇中心产品的度数不大于预设的第二度数阈值,则确定与所述非簇中心 产品之间存在链接的所有其他产品,并分别确定所述其他产品各自对应的簇中心产品,以 及将与所述其他产品之间存在链接最多的簇中心产品与所述非簇中心产品归为一簇。
[0048] 本发明实施例中,电子商务系统根据用户的操作行为计算各个产品之间的相似 度,并基于各个产品之间的相似度筛选出相似度符合预设条件的产品,再基于预设原则在 筛选出的各个产品中进一步确定簇中心产品,其中,所谓预设原则包括:与簇中心产品之间 存在链接的产品的数目达到预设门限值,以及,簇中心产品和簇中心产品之间不存在链接, 最后,分别基于每一个簇中心产品,将每一个非簇中心产品与相似度最高的簇中心产品归 为一簇。采用上述方法,不受聚类个数的限制,仅需计算一次产品相似度,便可以构建相似 网络并基于启发式算法逐步实现对产品的聚类,这样,不但能够大幅度提高聚类结果的准 确度,还能够大大降低实现产品聚类的时间复杂度和空间复杂度,从而避免给系统带来严 重的运行负荷,进而将实现成本控制在理想范围内,尤其适用于大规模的产品聚类场景。
【附图说明】
[0049] 图1为本申请实施例中产品聚类流程图;
[0050] 图2为本申请实施例中产品聚类装置第一结构示意图。
【具体实施方式】
[0051] 为了解决现有技术中存在的为了实现海量产品的准确聚类,从而增加系统运行负 荷的问题。本申请实施例中,根据产品之间的相似度构建的一个top相似网络,再基于该 top相似网络,利用启发式的算法来将产品聚类分簇。
[0052] 当然,本申请技术方案的实施依赖大量用户行为数据的分析,因而需要类似 hadoop之类的并行计算平台。另一方面,本申请技术方案不仅仅适用于产品分族,也可以适 用于用户分簇,店铺分簇等等其他的一个分簇场景,在此不再赘述。
[0053] 下面仅以产品为例,结合附图对本申请优选的实施方式进行详细说明。
[0054] 参阅图1所示,本申请实施例中,产品聚类的实现流程如下:
[0055] 步骤100 :根据用户的操作行为计算各个产品之间的相似度。
[0056] 本申请所述的产品可以理解为数据对象,比如,一项商品信息数据。
[0057] 所述数据对象可以是商品信息数据,也可以是多媒体信息数据(例如音视频内 容)。用户对产品的操作行为也即用户对某一数据对象的操作,包括访问请求(例如浏览所 述数据对象)、存储请求(例如收藏所述数据对象)、转发请求(例如将所述数据对象推荐 给其他用户)等。
[0058] 本申请实施例中,分别判定每个产品被哪些用户执行过指定操作,并将针对各个 产品的判定结果作为相应产品的特征,如果不同产品被同一用户执行过指定操作(比如浏 览行为或发出交易请求的行为),理论上认为这些产品之间存在相似度。
[0059] 抽取用户的操作行为之后即得到每个产品的特征(即每个产品被哪些用户执行 过指定操作),用协同过滤的方法即可以计算各个产品之间的相似度。具体的,cosine算 法、jaccard算法和皮尔森相关系数算法等等中的任意一种。以cosine算法为例,可以采 用公式一来计算两个产品之间的相似度:
[0060]
[0061] 其中,di和dj分别表示两个不同的产品,sim(di,dj)表示两个不同产品之间的相 似度;wui和wuj分别表示用户u对两个产品是否执行过指定操作),如果两个产品被越多 相同的用户执行过指定操作,相似度就越高。wui和wuj可以使用数字"0"或" 1"进行量 化。例如,用户u对产品i执行过指定操作,wui记作"1" ;未对i执行过指定操作,wui记 作 "0,,。
[0062] 步骤110 :基于各个产品之间的相似度筛选出相似度符合预设条件的产品。
[0063] 实际应用中,仅仅计算出产品与产品之间的相似度是远远不够的,因为这样计算 出来的相似度往往会有一些噪声(即会误判定无关联的两个产品之间存在相似度),因而, 在计算出各个产品之间的相似度后,需要在这个相似度的基础之上构建出一个产品之间高 度相似的相似网络,这样才能保证最后聚类获得的每个簇里面的产品是相似的。
[0064] 因而,在执行步骤110时,首先需要根据计算获得的各个产品之间的相似度,分别 针对每一个产品,保存与该产品相似度最高的K个产品,并在每一个产品与对应其保存的 相似的每一个产品之间建立链接。本申请实施例中,可选的,针对每一个产品选取中取了top40个最相似的产品,即K= 40。
[0065] 在执行这一操作后,一部分产品之间的关系变成为单向关系,如,一个产品A的 topK个相似产品中有产品B,但是产品B的topK个相似产品里面不一定有产品A。此时, 每一个产品便拥有了自身的度数,所谓度数即是指产品与产品之间构建的一个无向相似网 络中,与该产品具有链接关系的相似产品的数量。假设一个产品与N个产品之间有链接,那 么这个产品的度数就是N。
[0066] 接着,构建无向的top相似网络,即在上一操作的基础上再进行筛选,删除单向相 似的产品之间的链接,只保留双向相似的产品与产品的链接。例如,若产品B在产品A的topK个相似产品中,并且产品A也在产品B的topK个相似产品中,才保留产品A和产品B 之间的链接。
[0067] 经过前面两个操作之后,若认为噪声已经降低到门限值以下,则可以继续执行步 骤120 ;若认为筛选出的各个产品中可能还有一些噪声,则可以作进一步筛选。较佳的,可 以分别计算并判断每一条链接两端的两个产品的相似产品的重合程度是否达到预设的重 合度阈值,若是,则保留相应的链接,否则,删除相应的链接,以清除噪声。
[0068] 例如,有一条边链接着产品A和产品B,那么产品A的相似产品有一个集合,称为 similar_auction(A),产品B也有一个相似集合,称烟similar_auction(B),计算两个集合 similar_auction(A)和similar_auction(B)的并集,并且根据并集的大小来筛选产品A和 产品B这间的链接,如,若并集小于5,则删除产品A和产品B之间的链接,若并集大于等于 5,则保留产品A和产品B之间的链接。
[0069] 步骤120 :基于预设原则在筛选出的各个产品中进一步确定簇中心产品;其中,所 谓预设原则为:与簇中心产品之间存在链接的产品的数目达到预设门限值,以及,不同簇中 心产品之间不存在链接。
[0070] 本申请实施例中,在构建了一个无向top相似网络之后,采用启发式的方法来寻 找作为簇中心点的产品,以下称为簇中心产品。所谓的启发式的方法需要遵循两个基本原 贝1J,其一,簇中心产品的度数越大越好,即与簇中心产品之间存在链接的产品的数目越大越 好,且需要达到预设门限值,其二,簇中心产品和簇中心产品之间不能够存在链接,即各个 簇中心产品之间不存在相似度。
[0071] 具体的,在执行步骤130时,可以执行但不限于以下操作:
[0072] A:首先,基于已构建的top相似网络,确定每一个产品的度数,其中,一产品的度 数为与该产品之间存在链接的其他产品的数目。
[0073] 此时,可以建立一簇中心产品集合center_auction,并将其初始化为空集。
[0074] B:其次,筛选出度数大于预设的第一度数阈值的所有产品作为待选簇中心产品。
[0075] 较佳的,第一度数阈值的取值可以为10,即与其他产品之间存在10个链接的产品 可以作为待选的簇中心产品。
[0076] C:将各个待选簇中心产品按照度数从大到小的顺序进行排序。
[0077] D:按照排序顺序遍历每个待选簇中心产品,每当确定与某一待选簇中心产品之间 存在链接的其他广品均为非待选族中心广品时,将上
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1