一种对象聚类方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种对象聚类方法和装置。
背景技术
在数据处理过程中,将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的类(簇)是一组数据对象的集合,这些对象与同一个类(簇)中的对象彼此相似,与其他类(簇)中的对象相异。下文使用“类”的概念,需要说明的是,本文中“类”与“簇”的含义相同。
而在互联网中,存在大量的品牌数据,需要将这些品牌数据进行聚类,方便后续处理,比如针对性的推送广告数据,在先技术中存在一种层次聚类的方法,其是各个类的中心点计算两个类之间的距离,然后将两个距离最近的类合并为一个新的类,但是其对新的类的中心只是根据两个类中的样本个数去计算,然后计算下一轮各个类之间的距离,循环聚类直到达到结束条件。
但是,上述聚类方法中,其新的类的中心点是根据两个类的样本个数计算的,与实际应用中样本的分布重心存在较大偏差,因此,聚类得到的品牌分类不够精确,导致后续的处理计算量大,并且后续处理结果偏差更大。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对象聚类装置和相应的对象聚类方法。
根据本发明的一个方面,提供了一种对象聚类方法,包括:
获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度,所述样本包括品牌数据;
将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类,获得各包括至少一个品牌数据的品牌分类。
优选的,所述根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类的步骤包括:
针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断是否达到聚合结束条件,如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,直到达到聚合结束条件。
优选的,所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
优选的,所述针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,包括:
针对每个分类对象,根据中心坐标构建中心向量;
计算每两个分类对象所对应的两个中心向量之间的余弦距离。
优选的,所述获取初始的各样本的步骤,包括:
针对每个样本,根据业务标识获取相应的访问权重。
优选的,在根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类的步骤之后,还包括:
针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
优选的,在针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签步骤之后,还包括:
根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端;所述第三对象包括针对所述品牌数据的广告数据。
优选的,所述根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标包括:
根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。
依据本发明的另外一个方面,还公开了一种对象聚类装置,包括:
初始对象获取模块,适于获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;
划分模块,适于将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
聚类模块,适于根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类。
优选的,所述聚类模块包括:
距离计算模块,适于针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
聚合模块,适于将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断模块,适于判断是否达到聚合结束条件,如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,直到达到聚合结束条件。
优选的,所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
优选的,所述距离计算模块包括:
中心向量构建模块,适于针对每个分类对象,根据中心坐标构建中心向量;
余弦距离计算模块,适于计算每两个分类对象所对应的两个中心向量之间的余弦距离。
优选的,所述初始对象获取模块包括:
访问权重获取模块,适于针对每个样本,根据业务标识获取相应的访问权重。
优选的,还包括:
标记模块,适于针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
优选的,还包括:
对象发送模块,适于根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端;所述第三对象包括针对所述品牌数据的广告数据。
优选的,所述第一聚合模块包括:
计算函数选择模块,适于根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。
根据本发明的对象聚类方法可以获取包括访问权重的初始品牌数据,该访问权重指示了所述品牌数据被访问时的重要程度,然后根据品牌数据的访问权重参与聚类过程,那么在聚类时,访问权重高的品牌数据参与度高,由此解决了传统聚类过程中依据各类中的品牌数据数量进行聚类,而导致品牌数据聚合度分散,聚类不够准确的问题,从而导致后续处理计算量大,计算结果偏差大的问题,取得了聚类结果精确,使后续的处理计算量小,偏差低的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种对象聚类方法的流程示意图;
图2示出了根据本发明一个实施例的一种对象聚类方法的流程示意图;
图3示出了根据本发明一个实施例的一种对象聚类方法的流程示意图;
图4示出了根据本发明一个实施例的一种对象聚类装置的结构示意图;
图5示出了根据本发明一个实施例的一种对象聚类装置的结构示意图;以及
图6示出了根据本发明一个实施例的一种对象聚类装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的核心思想之一在于:本发明实施例针对的是品牌数据,该品牌数据包括了用户访问数据,比如各用户访问该品牌的浏览数据、点击数据、购买数据、收藏数据等用户访问数据,本发明实施例的品牌数据是对包括上述用户访问数据的一种概括。对于各品牌数据,获取其访问权重,该访问权重表示所述品牌数据被访问时的重要程度。然后以该品牌数据和访问权重作为的样本进行聚类过程中,访问权重高的品牌数据参与度高,使分类对象中心偏向访问权重高的一侧,从而使最终的品牌数据聚类结果更精确,降低后续处理过程中的计算量,也降低后续处理的结果的偏差。
实施例一
参照图1,其示出了本发明一种对象聚类方法的流程示意图,具体可以包括:
步骤110,获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;所述样本包括品牌数据。
可以理解,本发明实施例需要获取各个样本的信息和相应的样本的访问权重。
本发明实施例针对的是品牌数据,该品牌数据包括了用户访问数据,比如各用户访问该品牌的浏览数据、点击数据、购买数据、收藏数据等用户访问数据,本发明实施例的品牌数据是对包括上述用户访问数据的一种概括。比如品牌数据“海澜之家”,其包括用户在天猫网站的一个网页中浏览商品对象的“2015夏季新品海澜之家男装正品简约印花V领短袖T恤HNTCJ2A101A”的用户数据。又比如“阿迪达斯”、“耐克”、“iphone”、“三星”等均是相应商品对象的品牌数据。那么对于一个品牌数据,可以获取其多个维度的特征构造品牌数据的坐标。比如品牌名称、品牌简介、品牌受众、该品牌下的品牌数据的价格、访问量、收藏量等,得到类似A={a1,a2,a3……}的多维坐标。在本发明实施例中,对于一个品牌数据,可通过汇总网络中展示所述品牌的相关商品的网页数据,进行分析提取得到赏识特征。
可以理解,各维度特征的初始的参数可以为任意字符类型,比如可以为数字,也可以为汉字,当然也可以为其他类型的参数。在本发明实施例中为则会将不为数字的初始参数转换为数字,进而构建针对该样本的坐标A={a1,a2,a3……}。
可以理解,本发明实施例中,每个样本的维度个数一致。维度至少为一个,也可根据实际需要设置多个。
可以理解,在实际应用中,用户访问网站时,网站所在服务器会基于用户访问的情况生成访问日志,访问日志记录了用户访问的各种参数,如名称、价格、成交量、收藏量、样本被点击次数uv、样本最近被浏览次数pv、距离基准时刻的浏览时间跨度等。那么上述的样本的信息均可以由服务器的访问日志中进行统计获得。
同时也可统计各样本的访问权重,该访问权重为所述样本被访问时的重要程度。
优选的,在本发明实施例中,上述所述访问权重包括:
(1)样本在网络中被浏览的浏览权重;
在本发明实施例中,样本在网络中被浏览的浏览权重,可以设置为样本在网络中被浏览的浏览次数pv。以网页中的品牌数据为样本为例,各网站中展示的某一品牌数据的网页被打开的一次,即可认为该品牌数据被浏览一次。那么由于网络中各个用户对该品牌数据所在的各个网页的访问次数的统计,则可得到该品牌数据的被浏览的次数pv。
在本发明实施例中,可以通过访问日志获取品牌数据被浏览的次数。在实际应用中,在网页中展示的每个商品对象属于一个品牌数据,那么可以通过访问日志统计每个商品对象所在网页被浏览的次数,然后将该品牌下的各个商品对象被浏览的次数相加,记得得到品牌数据被浏览的次数。
当然,样本在网络中被浏览的浏览权重pv,可以通过服务器的访问日志统计获得。
在本发明实施例中,样本最近被浏览的次数越多,其权重越高。权重W=pv。
和/或,(2)所述样本在网络中被点击的点击权重;
在本发明实施例中,样本在网络中被点击的点击权重,可以设置为样本在网络中被点击的点击次数。以网页中品牌数据为例,当用户打开了一个展示某个品牌数据的商品对象的主网页,然后在主网页中点击该具体的某个商品对象的链接,则表示该品牌数据被点击了一次。那么由于网络中各个用户对网页中该品牌数据下的各个商品对象的链接的点击,对其进行统计,则可得到该品牌数据的被点击的次数uv。
当然,样本在网络中被点击的点击权重uv,可以通过服务器的访问日志统计获得。
在本发明实施例中,样本被点击的次数越多,其权重越高。权重W=uv。
和/或,(3)所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
在实际应用中,品牌数据被浏览时的浏览行发生的时间越近,权重越大。也可以理解为,品牌数据最近被浏览的时刻距离基准时刻的时间跨度越长,权重越大,其中基准时刻为以前的某个时刻,比如基准时刻2000-01-0100:00:00。为了计算方便,本发明对浏览时间跨度取对数,使数值更简洁。比如基准时刻t(0)=(2000-01-01 00:00:00),样本最近被浏览的时间t(A)=(2015-04-13 07:30:30),t(A)-t(0)的结果以秒为单位,然后取对数得到访问权重,比如W=log(t(A)-t(0))。
在本发明实施例中,品牌数据被浏览时的浏览行发生的时间,可以通过记录品牌数据下某个或者某些个商品对象被浏览的时刻,从而可以得到该品牌数据被浏览时的浏览行发生的时间。或者对以某个品牌数据为主的主网页,记录该主网页最近被访问的时刻。比如“苹果”在天猫中的店铺主网页。
和/或,(4)所述样本所在网站的网站权重;
在实际应用中,不同网站的访问频率、口碑和重要程度不同,则响应的网站的权重不同。比如某个品牌数据在天猫网站即www.tmall.com中有网络店铺,则给高权重,如果只在淘宝网站即www.taobao.com中有网络店铺,则给权重低。
比如对于样本所在网站的网站权重W,在前述天猫网站中有网络店铺的给W赋值0.8访问权重,只在淘宝网站中有店铺的给W赋值0.6访问权重。当然还可以比如,只在京东网站中有品牌数据的给0.7访问权重,在天猫网站、京东网站、淘宝网站、亚马逊网站中都有品牌数据的给1.1访问权重。
可以理解,本发明实施例可预先设置网站权重表,针对不同网站以及不同网站的组合设置相应的访问权重。然后可根据样本的身份信息,到其他网站去查询是否有相应的样本,如果某个网站有该样本,则记录该网站。在获取到期所在的各个网站之后,从前述网站权重表中查询该样本的所在网站的网站权重。
和/或,(5)所述样本最近被浏览时,用户的浏览行为所在区域的区域权重。
在实际应用中,某个用户采用终端访问样本时,其实际上是在不同的区域中访问的,比如在湖北访问、在北京访问。
在本发明实施例中,可以设置区域权重表,针对不同的区域设置不同的权重。比如一线城市的权重高,比如1,二线城市次之,比如0.8,三线城市再次比如0.6,访问权重依次递减。当然,也可按其他规则设置区域权重。
在实际应用中,可以通过对品牌数据下属的商品对象的访问记录获取品牌数据的访问区域。
当然,可以统计每个区域品牌数据的访问行为发生频率,确定用户的浏览行为最终的区域权重。比如在一线城市,品牌数据的访问频率的比例达到90%,而其他线的城市分散了剩余的10%。那么可确定品牌数据的被浏览时,用户的浏览行为所在区域为一线城市,其区域权重。又比如,比如在一线城市,品牌数据的访问频率的比例达到50%,二线城市达到了40%,而其他线的城市分散了剩余的10%。那么可确定品牌数据的被浏览时,用户的浏览行为所在区域为一线城市和二线城市,那么可将一线城市和二线城市的权重按比例合并为品牌数据的区域权重。以前述例子为例合并后的区域权重可为(1×0.5+0.8×0.4)/(0.5+0.4)。
那么,本发明实施例中,针对每个样本,可记录用户访问该样本时所在的区域,然后通过区域权重表确定其区域权重。在实际中,对于移动终端可通过GPS(Global Positioning System全球定位***)和/或者IP地址确定用户通过终端访问上述样本时所在区域;对于个人计算机可以通过IP地址确定用户终端访问上述样本时所在区域。当然具体实施方式本申请不对其加以限制。
和/或,(6)所述样本所在被搜索时的搜索权重。
样本有其关键字,本发明可以通过搜集样本在各个搜索引擎中按其关键字被搜索的次数,和/或在各个网站中按其关键字被搜索的次数,将搜索的次数作为搜索权重。搜索次数越大,则样本的搜索权重越高。
优选的,所述获取初始的各样本的步骤,包括:
子步骤S112,针对每个样本,根据业务标识获取相应的访问权重。
在本发明实施例中,可预先设置业务标识与各种访问权重的对应表。比如前述各种访问权重,采用标识p1对应样本在网络中被浏览的浏览权重,标识p2对应样本在网络中被点击的点击权重,标识p3对应样本最近被浏览时刻距离基准时刻的时间跨度权重,标识p4对应样本所在网站的网站权重,标识p5对应样本最近被浏览时,用户的浏览行为所在区域的区域权重。当然,也可以采用标识p1对应样本在网络中被浏览的浏览权重好,和样本在网络中被点击的点击权重,和对应样本最近被浏览时刻距离基准时刻的时间跨度权重,标识p2对应样本所在网站的网站权重和本最近被浏览时,用户的浏览行为所在区域的区域权重。本发明实施例可以根据业务需求进行对应。
那么每次聚类时,会收到聚类任务,该聚类任务中则可设置业务标识。那么在获取初始的样本时,由于需要获取各样本的访问权重,则根据业务标识去获取相应业务需求的访问权重。
可以理解,在本发明实施例中,各种类型的访问权重可以预先由服务器计算得到,然后将已存在的访问权重直接与业务标识对应。也可以实时获取,即在收到业务标识后,通知服务器在去计算各个样本的访问权重。本发明不对其加以限定。
在本发明实施例中,获得到的样本和样本的访问权重是计算的基础数据,上述数据完整之后,即可进入步骤120。
步骤120,将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
在本发明实施例中基于作为基础数据的样本和样本的访问权重,生成第一层的分类对象,那么后续的聚类过程这个在第一层的分类对象的基础之上循环执行。
对于第一层的分类对象,在生成时,会将样本的坐标作为分类对象的中心坐标,将样本的访问权重作为分类对象的访问权重,然后参与后续运算。
比如前述样本A的坐标A={a1,a2,a3},访问权重为A的浏览次数即W(A)=pv(A),则将A={a1,a2,a3}赋予对应的分类对象A分类,则A分类={a1,a2,a3},将W(A)=pv(A)赋予分类对象A分类,则W(A分类)=pv(A)。
步骤130,根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类,获得各包括至少一个品牌数据的品牌分类。
然后即可以每个分类对象的访问权重和中心坐标,将各个分类对象进行聚类,如此可获得各个品牌分类,每个品牌分类包括至少一个品牌数据。比如“阿迪达斯”、“耐克”、“李宁”可聚在一个品牌分类中。
进一步的,在品牌数据包括用户访问数据的情况下,还包括:对用户访问数据中的各用户标识打上所属品牌分类的分类标签。
因为直接基于用户访问数据的品牌数据进行分类,分类后,即可知道相应的用户标识属于哪个分类,那么几个为相应用户打上标签。那么服务器在推送与品牌数据对应的广告数据时,即可从服务器查找被对应品牌数据标签所标记的用户标识,从而将广告数据推送到相应用户标识所在的账户或者终端中。
本发明实施例对于各品牌数据,获取其访问权重,该访问权重表示所述品牌数据被访问时的重要程度。然后以该品牌数据和访问权重作为的样本进行聚类过程中,访问权重高的品牌数据参与度高,使分类对象中心偏向访问权重高的一侧,从而使最终的品牌数据聚类结果更精确,降低后续处理过程中的计算量,也降低后续处理的结果的偏差。
实施例二
参照图2,其示出了本发明一种对象聚类方法的流程示意图,具体可以包括:
步骤210,获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;所述样本包括品牌数据;
在本发明实施例,所述访问权重为所述样本被访问时的重要程度。
优选的,在本发明实施例中,上述所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
上述各种权重在实施例一中已经介绍,在此不在赘叙。
优选的,所述获取初始的各样本的步骤,包括:
子步骤S212,针对每个样本,根据业务标识获取相应的访问权重。
在本发明实施例中,可预先设置业务标识与各种访问权重的对应表。比如前述各种访问权重,采用标识p1对应样本在网络中被浏览的浏览权重,标识p2对应样本在网络中被点击的点击权重,标识p3对应样本最近被浏览时刻距离基准时刻的时间跨度权重,标识p4对应样本所在网站的网站权重,标识p5对应样本最近被浏览时,用户的浏览行为所在区域的区域权重。当然,也可以采用标识p1对应样本在网络中被浏览的浏览权重好,和样本在网络中被点击的点击权重,和对应样本最近被浏览时刻距离基准时刻的时间跨度权重,标识p2对应样本所在网站的网站权重和本最近被浏览时,用户的浏览行为所在区域的区域权重。本发明实施例可以根据业务需求进行对应。
那么每次聚类时,会收到聚类任务,该聚类任务中则可设置业务标识。那么在获取初始的样本时,由于需要获取各样本的访问权重,则根据业务标识去获取相应业务需求的访问权重。
可以理解,在本发明实施例中,各种类型的访问权重可以预先由服务器计算得到,然后将已存在的访问权重直接与业务标识对应。也可以实时获取,即在收到业务标识后,通知服务器在去计算各个样本的访问权重。本发明不对其加以限定。
当然,在本发明实施例中,步骤210中获取样本时,还会获取样本的坐标,如A={a1,a2,a3}、B={b1,b2,b3}
步骤220,将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
将将各样本划分为一个分类对象,获得第一层的分类对象。其中,会将样本的坐标作为分类对象的中心坐标,将样本的访问权重作为分类对象的访问权重,然后参与后续运算。
比如样本A的坐标A={a1,a2,a3},访问权重为A的浏览次数即W(A)=pv(A),则将A={a1,a2,a3}赋予对应的分类对象A分类,则A分类={a1,a2,a3},将W(A)=pv(A)赋予分类对象A分类,则W(A分类)=pv(A)。
样本B的坐标B={b1,b2,b3},访问权重为B的浏览次数即W(B)=pv(B),则将B={b1,b2,b3赋予对应的分类对象B分类,则B分类={b1,b2,b3},将W(B)=pv(B)赋予分类对象B分类,则W(B分类)=pv(B)。
步骤230,针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
在本发明实施例中,对于第一层的分类对象,如前述A分类={a1,a2,a3}和,B分类={a1,a2,a3},可以计算两个坐标之间的距离,从而得到两个分类对象之间的距离。
那么如果有N个分类对象,那么两两之间计算距离之后,会得到一个N×N的距离矩阵IN×N,该矩阵中的每个数值的行和列分别对应两个分类,。那么找到距离矩阵IN×N中最小的数值,根据所在的行对应的分类和列的对应的分类,即可知道距离最近的两个分类。
优选的,所述针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,包括:
子步骤S232,针对每个分类对象,根据中心坐标构建中心向量;
在本发明实施例中,由于每个分类对象都有一个中心坐标,而中心坐标概念上并不是一个向量,那么本发明要将中心坐标转换为一个向量。为了方便,本发明实施例中直接以原点为基准构建向量。以前述三维坐标{a1,a2,a3}为例,每个维度直接减原点坐标,即得到向量A={a1,a2,a3}。当然,在实际应用中,可以直接认为坐标值即为向量值即可。
子步骤S234,计算每两个分类对象所对应的两个中心向量之间的余弦距离。
如向量A={a1,a2,a3},B={b1,b2,b3},两者之间的余弦距离为
然后该余弦距离可根据两个分类组合的排列位置写入距离矩阵IN×N中。当然,对于其他维度的向量,可以此类推,得到余弦距离。
可以理解,对于两个分类之间的距离,还可以采用其他方式进行计算,比如直接以两点之间的距离公式进行计算。本发明不对其加以限制。
步骤240,将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
那么对于距离最近的两个分类对象,即前述距离矩阵IN×N中最小的值对应的两个分类对象。可以将其合并为一个新的分类对象,比如前述分类对象A分类={a1,a2,a3},其访问权重W(A分类)=pv(A);分类对象B分类={a1,a2,a3},其访问权重W(B分类)=pv(B)。
可以将A分类和B分类聚合为新的分类对象AB分类,根据A分类和B分类各自的中心坐标和访问权重计算AB分类中心坐标,根据A分类和B分类各自的访问权重计算AB分类的访问权重。
计算新的分类对象的中心坐标可以采用多种方式,对于前述A B分类,其中心坐标可根据如下公式进行计算:
AB分类={(a1*W(A分类)+b1*W(B分类))/(W(A分类)+W(B分类)),
(a2*W(A分类)+b2*W(B分类))/(W(A分类)+W(B分类)),
(a3*W(A分类)+b3*W(B分类))/(W(A分类)+W(B分类)
} (公式1)
对于AB分类的访问权重,也可以采用多种方式计算,如W(AB分类)=W(A分类)+W(B分类)。
优选地,所述根据每个分类对象的中心坐标,计算所述新的分类对象的中心坐标的步骤包括:
子步骤S236,根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。
可以理解,在本发明实施例步骤210执行前,可以获取当前聚类任务的业务标识。而对于新的分类的中心坐标,可以根据业务需要采用不同的计算方式Y=f(M,N,W(M),W(N))计算。其中M、N代表两个距离最近的分类对象各自的坐标,W(M)、W(N)代表两个距离最近的分类对象各自的访问权重。f为计算函数。比如前述公式1,其中心坐标
Y=f(M,N,W(M),W(N))={
(m1*W(M)+n1*W(N))/(W(M)+W(N)),
(m2*W(M)+n2*W(N))/(W(M)+W(N)),
(m3*W(M)+n3*W(N))/(W(M)+W(N)))
}
其中(m1、m2、m3)为分类对象M的中心坐标,(n1、n2、n3)为分类对象N的中心坐标。那么在运算时,将A分类和B分类的中心坐标和访问权重带入上述f(M,N,W(M),W(N))中即可。
当然f(M,N,W(M),W(N))还可根据实际需要设置其他计算函数,本发明实施例不对其加以限制。
步骤250,判断是否达到聚合结束条件;如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回步骤230。如果达到聚合结束条件,则结束聚合过程。
在实际应用中,步骤240进行聚合后,会判断聚类过程是否达到聚合结束条件。比如最近的两个分类对象之间的距离大于阈值,或者最终聚为一个分类对象。
如果聚合过程达到聚合结束条件,则结束聚合过程。
如果聚合过程未达到聚合结束条件,则将新的分类对象与当前回合中未聚合的分类对象,一并返回步骤230。
比如前述第一层的分类对象包括A分类、B分类、C分类、D分类、E分类、D分 类、F分类、G分类。如前述将A分类、B分类合并为AB分类,那么将第二层分类对象AB分类、C分类、D分类、E分类、D分类、F分类、G分类返回步骤230,计算AB分类、C分类、D分类、E分类、D分类、F分类、G分类两两之间的距离。
假设AB分类、C分类、D分类、E分类、D分类、F分类、G分类中,C分类、D分类合并为一个分类对象CD分类,如果没达到聚合结束条件,则将AB分类、CD分类、E分类、D分类、F分类、G分类返回步骤230。如此循环,直到达到聚合结束条件。
可以理解,在第一次聚合时,计算的分类对象有N个,其距离矩阵为IN×N;第二次聚合时,计算的分类对象变为了N-1个,其距离矩阵为I(N-1)×(N-1),第三次聚合时,计算的分类对象变为了N-2个,其距离矩阵为I(N-2)×(N-2)。依次类推,直到聚合结束。最终的分类对象即为品牌分类。
在本发明实施例中,对于各样本,获取其访问权重,该访问权重表示所述样本被访问时的重要程度。然后以该样本和访问权重作为的样本进行聚类过程中,访问权重高的样本参与度高,使分类对象中心偏向访问权重高的一侧。发明人发现访问权重越高,本发明实施例中新合成的分类对象的中心点与分类对象中访问频率、点击频率、搜索次数等高的样本距离更近。因此聚类中心偏移较小。从而使最终的聚类结果更精确,降低后续处理过程中的计算量,也降低后续处理的结果的偏差。
相对常规的合并新的分类对象时,计算中心坐标的方法,即对分类对象A=[a1,a2,a3]和分类对象B=[b1,b2,b3],其中心坐标计算公式为AB=[(a1+b1)/2,(a2+b2)/2,(a3+b3)/2],本发明实施例,在迭代的过程中聚类中心偏移较小,本发明实施例相比聚类效果更为集中,可以大大减少簇(分类)的数量。
实施例三
参照图3,其示出了本发明一种对象聚类方法的流程示意图,具体可以包括:
步骤310,获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;
在本发明实施例中,获取的待聚类样本可以某种领域内的样本,比
在本发明实施例,所述访问权重为所述样本被访问时的重要程度。
所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
步骤320,将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
步骤330,针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
步骤340,将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
步骤350,判断是否达到聚合结束条件;如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回步骤230。如果达到聚合结束条件,则结束聚合过程。
在实际应用中,步骤340进行聚合后,会判断聚类过程是否达到聚合结束条件。比如最近的两个分类对象之间的距离大于阈值,或者最终聚为一个分类对象。
如果聚合过程达到聚合结束条件,则进入步骤360。
如果聚合过程未达到聚合结束条件,则将新的分类对象与当前回合中未聚合的分类对象,一并返回步骤330。最终的分类对象即为品牌分类。
步骤360,针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
在本发明实施例中,以前述品牌数据为例,其聚合得到了较少的几个品牌分类,那么本发明实施例可聚类结束后的每个品牌分类设定一个品牌分类标签,该品牌分类标签下对应品牌分类中的各个品牌数据。
而对于网络中,用户可能访问过各种各样的品牌数据,而本发明则可以记录访问每个品牌数据的用户标识。在聚类结束之后,本发明实施例每个品牌分类下面,通过品牌数据关联到各个用户标识。因此本发明实施例中,可以统计每个品牌分类下各用户的访问行为的发生的频率。比如一个品牌分类1,设其品牌分类标签为I,下有品牌数据A、品牌数据B、品牌数据C,品牌数据D。用户Q访问过品牌数据A100次。访问过品牌数据B50次,那么用户Q访问I的次数为150次。如此类推,那么可得到每个用户对每个品牌分类的访问频率。其中,不同的品牌分类,其品牌分类标签不同。那么可统计用户Q访问各个品牌分类的频率,对其访问频率大于阈值的品牌分类,将该品牌分类的标签赋予该用户Q。比如阈值为120次,用户Q访问品牌分类1的访问次数大于该阈值,则为用户Q打上标签I。
当然,在本发明实施例中,用户对对各个所述用户对各类中的品牌数据的访问行为数据也可以通过访问日志进行统计获得。其访问行为可以包括浏览行为、点击行为、收藏行为、购买行为等。
步骤370,根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端;所述第三对象包括针对所述品牌数据的广告数据。
在对用户标识进行标记后,在后续用户访问时,服务器则可以主动推送与该标记相关的第三对象给该用户浏览。其中第三对象包括与样本相关的广告数据。
其中,所述第三对象包括针对所述品牌数据的广告数据。当服务器需要将广告数据投放给各个用户时,为了有针对性的投放,则查找该广告数据所属的品牌数据,然后根据品牌数据所属的品牌分类标签,再根据品牌分类标签将广告数据推送到带有该品牌分类标签的用户标识所在终端中进行展示。
比如用户Q被打上了前述品牌分类标签I,由于品牌分类标签I对应了品牌数据A、品牌数据B、品牌数据C,品牌数据D。而当接收到要推送的第三对象,比如品牌数据C的广告数据,那么本发明实施例则根据品牌数据C所对应的品牌分类标签I,再根据品牌分类标签I关联的用户Q,找到用户Q所在的终端。在用户Q使用其终端时,将品牌数据C的广告数据推送给用户Q所在终端。
上述过程中,即使用户Q没有访问过品牌数据C,由于经过前述分类,将用户Q经常访问的品牌数据A、品牌数据B与品牌数据C分为了一类,那么根据对应关系,也可将品牌数据C的广告数据推送给用户Q所在终端。
在本发明实施例中,对于各样本,获取其访问权重,该访问权重表示所述样本被访问时的重要程度。然后以该样本和访问权重作为的样本进行聚类过程中,访问权重高的样本参与度高,使分类对象中心偏向访问权重高的一侧。发明人发现访问权重越高,本发明实施例中新合成的分类对象的中心点与分类对象中访问频率、点击频率、搜索次数等高的样本距离更近。因此聚类中心偏移较小。从而使最终的聚类结果更精确,使后续推送广告数据时可以更精准,降低服务器的计算量,降低***资源的占用。
实施例四
参照图4,其示出了本发明一种对象聚类装置的结构示意图,具体可以包括:
初始对象获取模块410,适于获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;所述样本包括品牌数据;
划分模块420,适于将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
聚类模块430,适于根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类,获得各包括至少一个品牌数据的品牌分类。
优选的,所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
优选的,所述距离计算模块包括:
中心向量构建模块,适于针对每个分类对象,根据中心坐标构建中心向量;
余弦距离计算模块,适于计算每两个分类对象所对应的两个中心向量之间的余弦距离。
优选的,所述初始对象获取模块包括:
访问权重获取模块,适于针对每个样本,根据业务标识获取相应的访问权重。
优选的,所述第一聚合模块包括:
计算函数选择模块,适于根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。
实施例五
参照图5,其示出了本发明一种对象聚类装置的结构示意图,具体可以包括:
初始对象获取模块510,适于获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;所述样本包括品牌数据;
划分模块520,适于将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
聚类模块530,具体包括:
距离计算模块531,适于针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
聚合模块532,适于将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断模块533,适于判断是否达到聚合结束条件;如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回距离计算模块531,直到达到聚合结束条件,获得各包括至少一个品牌数据的品牌分类。
实施例六
参照图6,其示出了本发明一种对象聚类装置的结构示意图,具体可以包括:
初始对象获取模块610,适于获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;所述样本包括品牌数据;
划分模块620,适于将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
聚类模块630,具体包括:
距离计算模块631,适于针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
聚合模块632,适于将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断模块633,适于判断是否达到聚合结束条件;如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回距离计算模块631,直到达到聚合结束条件,获得各包括至少一个品牌数据的品牌分类。
标记模块634,适于针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
对象发送模块635,适于根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端,所述第三对象包括针对所述品牌数据的广告数据。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的对象聚类设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种对象聚类方法,包括:
获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度,所述样本包括品牌数据;
将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类,获得各包括至少一个品牌数据的品牌分类。
A2、如A1所述的方法,所述根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类的步骤包括:
针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断是否达到聚合结束条件,如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,直到达到聚合结束条件。
A3、如A1或A2所述的方法,所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
A4、如A2所述的方法,所述针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,包括:
针对每个分类对象,根据中心坐标构建中心向量;
计算每两个分类对象所对应的两个中心向量之间的余弦距离。
A5、如A3所述的方法,所述获取初始的各样本的步骤,包括:
针对每个样本,根据业务标识获取相应的访问权重。
A6、如A1或A2所述的方法,在根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类的步骤之后,还包括:
针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
A7、如A6所述的方法,在针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签步骤之后,还包括:
根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端;所述第三对象包括针对所述品牌数据的广告数据。
A8、如A2所述的方法,所述根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标包括:
根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。
本发明还公开了B9、一种对象聚类装置,包括:
初始对象获取模块,适于获取待聚类的样本和各样本的访问权重;所述访问权重为所述样本被访问时的重要程度;
划分模块,适于将各样本划分为一个分类对象,并将相应样本的坐标作为所述分类对象的中心坐标,并将相应样本的访问权重作为所述分类对象的访问权重;
聚类模块,适于根据每个分类对象的访问权重和中心坐标,将各分类对象进行聚类。
B10、如B9所述的装置,所述聚类模块包括:
距离计算模块,适于针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离;
聚合模块,适于将距离最近的两个分类对象聚合为一个新的分类对象,并根据每个分类对象的中心坐标和访问权重,计算所述新的分类对象的中心坐标和访问权重;
判断模块,适于判断是否达到聚合结束条件,如果未达到聚合结束条件,将新的分类对象与当前回合中未聚合的分类对象,一并返回针对各个分类对象,根据每个分类对象的中心坐标,计算每两个分类对象之间的距离的步骤,直到达到聚合结束条件。
B11、如B9或10所述的装置,所述访问权重包括:
所述样本在网络中被浏览的浏览权重;
和/或,所述样本在网络中被点击的点击权重;
和/或,所述样本最近被浏览时刻距离基准时刻的时间跨度权重;
和/或,所述样本所在网站的网站权重;
和/或,所述样本最近被浏览时,用户的浏览行为所在区域的区域权重;
和/或,所述样本所在被搜索时的搜索权重。
B12、如B10所述的装置,所述距离计算模块包括:
中心向量构建模块,适于针对每个分类对象,根据中心坐标构建中心向量;
余弦距离计算模块,适于计算每两个分类对象所对应的两个中心向量之间的余弦距离。
B13、如B11所述的装置,所述初始对象获取模块包括:
访问权重获取模块,适于针对每个样本,根据业务标识获取相应的访问权重。
B14、如A10或B11所述的装置,还包括:
标记模块,适于针对每个用户,根据用户对各个所述用户对各类中的品牌数据的访问行为数据,对所述用户打上品牌分类标签。
B15、如B14所述的装置,还包括:
对象发送模块,适于根据所述用户的品牌分类标签,将对应所述标记的第三对象发送给所述用户所在终端;所述第三对象包括针对所述品牌数据的广告数据。
B16、如B10所述的装置,所述第一聚合模块包括:
计算函数选择模块,适于根据业务标识,调用相应的坐标计算函数计算所述新的分类的中心坐标。