基于聚类的用户画像建立方法、装置、介质及电子设备与流程

文档序号:20165080发布日期:2020-03-24 21:24阅读:414来源:国知局
基于聚类的用户画像建立方法、装置、介质及电子设备与流程

本公开涉及用户画像技术领域,特别涉及一种基于聚类的用户画像建立方法、装置、介质及电子设备。



背景技术:

随着互联网特别是移动互联网时代的到来,互联网用户产生的数据量迅猛增长,为了洞悉用户的线上行为特征,从而为精细化运营提供保障并实现对业务的赋能增长,利用大数据分析建立用户画像已经成为相关领域人员的热门研究方向。然而,随着用户数据的增多,用来建立用户画像的数据维度也随之增多,从而导致了目前建立的用户画像容易出现过拟合、泛化能力差、对用户行为特征的刻画不够准确细致等问题。



技术实现要素:

在用户画像技术领域,为了解决上述技术问题,本公开的目的在于提供一种基于聚类的用户画像建立方法、装置、介质及电子设备。

根据本申请的一方面,提供了一种基于聚类的用户画像建立方法,所述方法包括:

获取多个样本行为数据,其中,每一样本行为数据与一个用户对应且每一用户仅与一个样本行为数据对应,每一样本行为数据包括多个属性值,每一属性值与一个属性对应,在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应;

基于所述多个样本行为数据,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,每一用户属于一个初始类;

根据各样本行为数据的属性值和各样本行为数据对应的用户所属的初始类,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类;

根据各类中用户对应的样本行为数据中的属性值,确定每一类对应的用户画像;

基于各类对应的用户画像,确定目标行为数据对应的用户的用户画像。

根据本申请的另一方面,提供了一种基于聚类的用户画像建立装置,所述装置包括:

获取模块,被配置为获取多个样本行为数据,其中,每一样本行为数据与一个用户对应且每一用户仅与一个样本行为数据对应,每一样本行为数据包括多个属性值,每一属性值与一个属性对应,在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应;

预聚类模块,被配置为基于所述多个样本行为数据,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,每一用户属于一个初始类;

二次聚类模块,被配置为根据各样本行为数据的属性值和各样本行为数据对应的用户所属的初始类,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类;

确定模块,被配置为根据各类中用户对应的样本行为数据中的属性值,确定每一类对应的用户画像;

用户画像确定模块,被配置为用户画像基于各类对应的用户画像,确定目标行为数据对应的用户的用户画像。

根据本申请的另一方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行如前所述的方法。

根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明所提供的基于聚类的用户画像建立方法包括如下步骤:获取多个样本行为数据,其中,每一样本行为数据与一个用户对应且每一用户仅与一个样本行为数据对应,每一样本行为数据包括多个属性值,每一属性值与一个属性对应,在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应;基于所述多个样本行为数据,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,每一用户属于一个初始类;根据各样本行为数据的属性值和各样本行为数据对应的用户所属的初始类,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类;根据各类中用户对应的样本行为数据中的属性值,确定每一类对应的用户画像;基于各类对应的用户画像,确定目标行为数据对应的用户的用户画像。

此方法下,在获取到用户的样本行为数据后,通过在对各样本行为数据对应的用户进行预聚类得到初始类的基础上,再次对各初始类中样本行为数据对应的用户进行二次聚类,并根据二次聚类结果为目标行为数据对应的用户建立用户画像,使得建立的用户画像能够更加准确细致地刻画用户行为特征,并能够降低过拟合、泛化能力差等现象出现的可能性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种基于聚类的用户画像建立方法的应用场景示意图;

图2是根据一示例性实施例示出的一种基于聚类的用户画像建立方法的流程图;

图3是根据图2对应实施例示出的一实施例的步骤250之前步骤以及步骤220和步骤250的细节流程图;

图4是根据图2对应实施例示出的一实施例的步骤250的细节流程图;

图5是根据一示例性实施例示出的一种基于聚类的用户画像建立装置的框图;

图6是根据一示例性实施例示出的一种实现上述基于聚类的用户画像建立方法的电子设备示例框图;

图7是根据一示例性实施例示出的一种实现上述基于聚类的用户画像建立方法的计算机可读存储介质。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

本公开首先提供了一种基于聚类的用户画像建立方法。聚类(clustering)是将由所有对象组成的整体分为多个类的过程,其中被划分为的每一类中的对象是相似的对象。用户画像是对用户的数据进行概括提炼出的对用户核心细节特征的形象描述,建立用户画像可以帮助互联网平台实现更精细化的运营,也可以使人们能够对某些人群进行更准确的理解。基于聚类的用户画像建立方法是指通过聚类的方式对用户的数据进行处理,以建立能够刻画用户特点的用户画像。用户的数据可以是与人有关联的各个方面的数据,比如在社群分析领域,用户的数据可以是社交软件上记录的与用户有关的各个维度的数据,利用这些数据建立的用户画像能够反映用户的社交圈,而在电商领域,用户的数据可以是电商平台上包括用户消费记录在内的多个方面的数据,利用这些数据建立的用户画像能够刻画用户的消费习惯。通过使用本公开提供的基于聚类的用户画像建立方法,可以建立能够精准刻画用户形象的用户画像。

本公开的实施终端可以是任何具有运算和处理功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、pda(personaldigitalassistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。

优选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。

图1是根据一示例性实施例示出的一种基于聚类的用户画像建立方法的应用场景示意图。如图1所示,包括服务器110以及多个用户终端120,其中,每一用户终端120通过通信链路与服务器110相连,在本实施例中,服务器110为本公开的实施终端。服务器110运行有用于为用户提供服务的服务程序,比如系统程序,而各用户终端120安装并运行了能够用于与服务器110进行交互的客户端或者app(application,应用程序),当用户使用用户终端120与本公开的实施终端——服务器110进行首次交互时,需要通过在用户终端120上安装的客户端或者app来在服务器110进行注册,这样服务器110就为用户终端120唯一提供了一个账号或者标识,可以使服务器110唯一确定用户终端120的身份,当用户在使用客户端或app在服务器110上进行注册或者在日常使用客户端或app与服务器110进行交互时,会提供给服务器110大量各种维度的数据,服务器110在接收到这些数据后,即可利用这些数据并根据本公开提供的基于聚类的用户画像建立方法为用户建立用户画像,易于理解,这些账号或者标识对应与用户终端120以及终端上安装的客户端或app是唯一对应的,所以此处的用户即为服务器110为用户终端120提供的账号或者标识。在为用户建立了用户画像后,既可以利用这些用户画像进行服务平台的运营,也可以根据需要向用户返回为其建立的用户画像。

值得一提的是,图1仅为本公开的一个实施例。虽然在本实施例中,服务器110为本公开的实施终端,各终端与服务器的系统架构为c/s(client/server,客户机/服务器)架构,并且用于建立用户画像的数据是在各终端与服务器进行交互的过程中产生的,但在其他实施例或者具体应用中,前述的各种终端都可以作为本公开的实施终端,各终端与服务器的系统架构还可以为b/s(browser/server,浏览器/服务器)架构,并且用于建立用户画像的数据可以是其他终端同时发来的大量已获得的数据,所以本公开对上述内容不做任何限定,本公开的保护范围也不应因此而受到任何限制。

图2是根据一示例性实施例示出的一种基于聚类的用户画像建立方法的流程图。如图2所示,包括以下步骤:

步骤210,获取多个样本行为数据。

其中,每一样本行为数据与一个用户对应且每一用户仅与一个样本行为数据对应,每一样本行为数据包括多个属性值,每一属性值与一个属性对应,在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应。

样本行为数据可以为任何与用户的特征或者操作有关的可以作为范例样本的数据,样本行为数据与用户对应是指样本行为数据是由对应的用户产生或者与用户直接关联。样本行为数据中的属性值即为样本行为数据中某一维度的数据,属性即为属性值对应的维度,属性亦可以称为特征,而属性对应的属性值是属性的取值,亦可以称为特征值。属性与属性值的关系类似于数据库理论中键(key)和值(value)的关系,属性值只有与属性对应起来,属性值的存在才会有意义,例如,一个人的年龄可以为该用户的样本行为数据的属性值对应的一个属性,而18即可以为用户的样本行为数据中与年龄这一属性对应的属性值。

在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应是指,获取的多个样本行为数据中每一样本行为数据中的属性值对应的属性的数量和种类都相同。

比如,在社群分析领域,样本行为数据可以是社交平台上记录的与用户有关的各个维度的数据,比如样本行为数据可以包括用户转发某一类型的新闻的数目,用户对某一类型的新闻点赞的数目,用户关注的某一类型的用户的数目与其在社交平台上关注的所有用户的数目的比值等,这些各个维度的数据共同组成了一个样本行为数据,每一维度的数据即为样本行为数据中的一个属性值,而每一维度的数据对应的名称或者数据项即为样本行为数据中属性值对应的属性。

而在电商领域,样本行为数据可以是电商平台上记录的与用户有关的各个维度的数据,比如样本行为数据可以包括用户购买的某一类型的商品的金额、用户购买某一类型的商品的次数、用户浏览某一类型的商品的次数、用户收藏的某一类型的商品的次数等,这些各个维度的数据共同组成了一个与用户对应的样本行为数据,很显然,这些数据的产生与用户的行为有关。每一维度的数据即为样本行为数据中的一个属性值,而每一维度的数据对应的名称或者数据项即为样本行为数据中属性值对应的属性。

在一个实施例中,所有样本行为数据存储在数据库中,所述获取多个样本行为数据,包括:从数据库中获取多个样本数据。

在一个实施例中,所述样本行为数据由与本端交互的终端产生,所述获取多个样本行为数据,包括:从与本端交互的多个终端中获取多个样本数据。

在一个实施例中,获取多个样本行为数据,包括:

从所有样本行为数据中过滤掉包含缺失值和/或异常值的数据;

将剩下的所有样本行为数据作为要获取的样本行为数据。

缺失值是指样本行为数据中不包含与特定属性对应的属性值,异常值是指样本行为数据中包含的属性值超过正常范围。

在一个实施例中,利用正则表达式在所有样本行为数据中确定出包含缺失值和/或异常值的数据并过滤掉。

在一个实施例中,每一样本行为数据都有生成时间,所述获取多个样本行为数据,包括:

获取在生成时间在当前时间之前预定时间段内的样本行为数据。

样本行为数据的生成时间可能与基于样本行为数据生成的用户画像的准确性有关,一个样本行为数据的生成时间越早,基于该样本行为数据生成的用户画像准确性可能越低,本实施例的好处在于,通过选取距离当前时间最近的样本行为数据并基于这些数据进行用户画像的建立,在一定程度上提高了建立的用户画像的准确性。

步骤220,基于所述多个样本行为数据,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,每一用户属于一个初始类。

易于理解,用户与样本行为数据是唯一对应的,对用户进行的聚类即相当于对样本行为数据进行的聚类。

初始类即预聚类得到的用户的集合,每一初始类可以包括至少一个用户。

在一个实施例中,步骤220可以包括:

将每一样本行为数据转换为聚类向量;

利用各样本行为数据的聚类向量,基于k-means算法对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类。

在一个实施例中,所述利用各样本行为数据的聚类向量,基于k-means算法对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,可以包括:

在各样本行为数据的聚类向量中任意选取预定数目个聚类向量作为初始聚类中心并为每一初始聚类中心分配一个类;

确定没被选为初始聚类中心的每一聚类向量与每一初始聚类中心之间的距离;

针对每一没被选为初始聚类中心的聚类向量,将该聚类向量归为与该聚类向量的距离最近的初始聚类中心所在的类;

利用每一类中的聚类向量重新确定每一类的中心,并以每一类的中心为聚类中心根据聚类向量与聚类中心的距离重新确定每一聚类向量所属的类,直至满足预定条件。

在一个实施例中,所述预定条件为重新确定每一聚类向量所属的类时,各聚类向量所属的类不再变化或者确定聚类中心的次数达到预定次数阈值。

在一个实施例中,所述预定条件为重新确定每一聚类向量所属的类时,所属的类变化的聚类向量的数目小于预定数目阈值。

步骤250,根据各样本行为数据的属性值和各样本行为数据对应的用户所属的初始类,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类。

二次聚类是对一系列聚类操作的总称,可以是单独的一次聚类,也可以是连续多次聚类;

在一个实施例中,步骤250可以包括:

在各样本行为数据的属性值对应的属性中,任意选取第一预定数目个属性并利用各样本行为数据与选取的属性对应的属性值构建聚类向量以对各样本行为数据对应的用户进行聚类,以得到多个二次类;

从第一个初始类开始,每次针对一个初始类,获取二次类中包含的用户与该初始类包含的相同用户的数目最多的二次类,作为该初始类的相似类并将没有被选为相似类的二次类单独作为一类;

针对每一初始类,将该初始类与对应的相似类共同包含的用户归为一类,并将属于对应的相似类但不属于该初始类的用户归为一类;

针对每一初始类,将属于该初始类但不属于对应的相似类中的用户归为包含了最多的属于该初始类但不属于对应的相似类的用户的类,以得到多个二次类。

在一个实施例中,步骤250可以包括:

重复执行三次获取二次类的步骤,得到三组二次类,所述获取二次类的步骤包括:

在各样本行为数据的属性值对应的属性中,任意选取第一预定数目个属性并利用各样本行为数据与选取的属性对应的属性值构建聚类向量以对各样本行为数据对应的用户进行聚类,以得到多个二次类;

以第一次获取的二次类作为基准二次类,并在后两次获取的二次类中,针对每一次获取的二次类,确定与每一基准二次类共同包含的用户的数目最多的类,作为该次获取的二次类中与该基准二次类对应的相似类;

针对每一基准二次类,在该基准二次类和对应的两个相似类组成的三个类中,针对每一对类,获取共同属于该对类的用户并将针对每一对类获取的所有用户归为一类;

将未被归类的所有用户归为一类;

针对已建立的每一类中的每一用户,判断该用户是否同时存在于多个类之中;

将同时存在于多个类之中的用户仅保留在最先建立的类中。

在一个实施例中,步骤250可以包括:在各样本行为数据的属性值对应的属性中,每次选取第一预定数目个属性并利用各样本行为数据与选取的属性对应的属性值构建聚类向量以对各样本行为数据对应的用户进行聚类,得到多个二次类,直至聚类次数达到第二预定数目次;

以第一次得到的二次类作为基准类,并针对每一基准类,判断每次聚类得到的多个二次类中包含了存在于该基准类的用户最多的二次类,作为该次聚类与该基准类对应的相似类;

针对每一基准类,获取与该基准类对应的每一相似类与该基准类的交集;

针对每一基准类,将针对该基准类获取的所有交集组成的并集作为一类;

将所有不同时存在于基准类和对应的相似类的用户单独归为一类。

本实施例的好处在于,通过集成的方式对各样本行为数据对应的用户进行聚类,使得聚类结果更准确,从而可以更准确地为用户建立用户画像。

在一个实施例中,步骤250的具体步骤可以如图4所示。图4是根据图2对应实施例示出的一实施例的步骤250的细节流程图。如图4所示,步骤250可以包括以下步骤:

步骤251,根据每一初始类中的用户对应的样本行为数据,在各样本行为数据的属性值对应的属性中,确定出二次聚类属性。

在一个实施例中,步骤251可以包括:

针对每一属性,针对每一初始类,获取该初始类中的用户对应的样本行为数据与该属性对应的属性值的平均值;

针对每一属性,确定各初始类针对该属性确定的属性值的平均值的方差;

基于针对各属性确定的所述方差在各样本行为数据的属性值对应的属性中,确定出二次聚类属性。

一个属性对应的方差越大,说明该属性在各初始类的样本行为数据中的区分更为明显。

在一个实施例中,所述基于针对各属性确定的所述方差在各样本行为数据的属性值对应的属性中,确定出二次聚类属性,包括:

对各属性按照对应的所述方差从大到小进行排序;

将排序在前预定数目的属性作为二次聚类属性。

本实施例的好处在于,保证了确定出的二次聚类属性的数量维持在稳定范围内。

在一个实施例中,所述基于针对各属性确定的所述方差在各样本行为数据的属性值对应的属性中,确定出二次聚类属性,包括:

获取对应的所述方差大于或等于预设方差阈值的属性,作为二次聚类属性。

本实施例的好处在于,提高了获取二次聚类属性的标准,使得获取的二次聚类属性更适合用于聚类以建立用户画像。

在一个实施例中,所述基于针对各属性确定的所述方差在各样本行为数据的属性值对应的属性中,确定出二次聚类属性,包括:

获取方差区间,所述方差区间按照从大到小的顺序被划分为多个区间;

对各属性按照对应的所述方差所属的方差区间从大到小进行排序,其中,对对应的方差属于同一方差区间的属性随机进行排序;

将排序在前预定数目的属性作为二次聚类属性。

由于针对各属性确定的所述方差的大小并不一定能够客观反映是否选择对应的属性作为二次聚类属性,特别是当两个属性对应的所述方差相差不大时,对应方差较小的属性可能更适合作为二次聚类属性。所以本实施例的好处在于,使得方差相近的属性都有相同的被选择作为二次聚类属性的可能,提高了选取二次聚类属性的客观性和公平性。

在一个实施例中,所述根据每一初始类中的用户对应的样本行为数据,在各样本行为数据的属性值对应的属性中,确定出二次聚类属性,包括:

对每一初始类,针对每一属性,基于该初始类中的用户的样本行为数据中与该属性对应的属性值利用如下公式确定与该属性对应的属性筛选指标值:

其中,xi为与初始类中用户对应的各样本行为数据里与该属性对应的属性值,为与初始类中用户对应的各样本行为数据里与该属性对应的属性值的平均值,n为初始类中的用户对应的样本行为数据的数量,y为与该属性对应的属性筛选指标值;

针对每一初始类,基于针对各属性确定的属性筛选指标值,确定该初始类的筛选属性;

将针对各初始类确定的筛选属性过滤掉,得到二次聚类属性。

属性筛选指标值越大,说明该初始类中各用户的样本行为数据在与该属性筛选指标值对应的属性的属性值的变化越剧烈,这意味着同一初始类中与该属性对应的属性值不够相似,进而说明该属性并没有对用户的归类起到正向作用,所以应当将这些属性过滤掉。

本实施例的好处在于,通过将最不适合作为二次聚类属性的属性过滤掉,使得在实现了准确聚类的同时,最大可能地保留了样本行为数据中的属性值。

在一个实施例中,所述针对每一初始类,基于针对各属性确定的属性筛选指标值,确定该初始类的筛选属性,包括:

针对每一初始类,对各属性按照对应的属性筛选指标值从大到小进行排序;

将排序在最前的属性作为该初始类的筛选属性。

在一个实施例中,所述针对每一初始类,基于针对各属性确定的属性筛选指标值,确定该初始类的筛选属性,包括:

针对每一初始类,将对应的属性筛选指标值大于预定属性筛选指标值阈值的属性作为该初始类的筛选属性。

在一个实施例中,在对每一初始类,针对每一属性,基于该初始类中的用户的样本行为数据中与该属性对应的属性值利用如下公式确定与该属性对应的属性筛选指标值之前,所述方法还包括:

对每一初始类,针对每一属性,将该初始类中的用户的样本行为数据中与该属性对应的属性值归一化至[0,1]之间,得到归一化后的属性值;

所述对每一初始类,针对每一属性,基于该初始类中的用户的样本行为数据中与该属性对应的属性值利用如下公式确定与该属性对应的属性筛选指标值,包括:

对每一初始类,针对每一属性,基于该初始类中的用户的样本行为数据中与该属性对应的归一化后的属性值利用如下公式确定与该属性对应的属性筛选指标值:

其中,xi为与初始类中用户对应的各样本行为数据里与该属性对应的归一化后的属性值,为与初始类中用户对应的各样本行为数据里与该属性对应的归一化后的属性值的平均值,n为初始类中的用户对应的样本行为数据的数量,y为与该属性对应的属性筛选指标值。

本实施例的好处在于,通过将属性对应的属性值归一化至[0,1]之间,并利用归一化后的属性值进行属性筛选指标值的计算,使得在基于属性筛选指标值的比较进行属性筛选时更加公平,提高了选择出的二次聚类属性的可靠性。

步骤252,在各样本行为数据的属性值中获取与所述二次聚类属性对应的属性值,作为二次聚类属性值。

由于各样本行为数据的每一属性值都与属性对应,所以可以从各样本行为数据的属性值中确定出与二次聚类属性对应的属性值。

步骤253,利用各样本行为数据的二次聚类属性值,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类。

在一个实施例中,利用dbscan(density-basedspatialclusteringofapplicationswithnoise,具有噪声的基于密度的聚类方法)算法对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类。

在一个实施例中,所述利用dbscan算法对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类,包括:

将各样本行为数据的二次聚类属性值转换为向量,得到与用户的样本行为数据对应的二次聚类向量;

获取扫描半径和最小包含点数;

对于每一未被归类且未被标记为噪声点的用户,执行下列步骤,直至不存在未被归类且未被标记为噪声点的用户:

根据各用户的二次聚类向量,判断在该用户的扫描半径内的用户数是否达到最小包含点数,并将该用户标记为已访问;

如果否,则标记该用户为噪声点;

如果是,则标记该用户为核心点,建立一个新类,并将该用户的扫描半径内的所有用户加入至该类;

对于该用户的扫描半径内的每一目标用户,判断该目标用户的扫描半径内的用户数是否达到最小包含点数,并将该目标用户标记为已访问;

如果是,将该目标用户的扫描半径内所有未被归类的用户加入至该类。

综上所述,图4所示实施例的好处在于,通过先获取二次聚类属性,然后利用各样本行为数据中二次聚类属性对应属性值进行二次聚类,使得在基于二次聚类的结果建立用户画像时,能够降低过拟合、泛化能力差等现象出现的可能性。

步骤260,根据各类中用户对应的样本行为数据中的属性值,确定每一类对应的用户画像。

可以利用预设的正则表达式对各类中用户对应的样本行为数据中的属性值进行判断来确定各类对应的用户画像。

比如,在电商领域,若一个类中的用户的样本行为数据中包含的属性值为零食消费次数、零食消费金额等,可以利用每一属性值进行正则化表达式的判断,从而确定用户画像。例如,当一个类中所有用户的样本行为数据中的零食的消费次数大于预定零食消费次数阈值且零食消费金额大于预定零食消费金额阈值,则为该类确定的用户画像可以是零食爱好者。

步骤270,基于各类对应的用户画像,确定目标行为数据对应的用户的用户画像。

目标行为数据对应的用户即需要建立用户画像的用户。

在一个实施例中,在步骤270之前,所述方法还包括:获取目标行为数据。

在一个实施例中,步骤270可以包括:

将目标行为数据和多个类中的样本行为数据重新进行聚类;

将目标行为数据所属的类对应的用户画像作为目标行为数据对应的用户的用户画像。

综上所述,图2实施例的好处在于,在对各样本行为数据对应的用户进行预聚类得到初始类的基础上,再次对各初始类中样本行为数据对应的用户进行二次聚类,并根据二次聚类结果为目标行为数据对应的用户建立用户画像,使得建立的用户画像能够更加准确细致地刻画用户行为特征,并能够降低过拟合、泛化能力差等现象出现的可能性。

图3是根据图2对应实施例示出的一实施例的步骤250之前步骤以及步骤220和步骤250的细节流程图。如图3所示,包括以下步骤:

步骤221,将所述多个样本行为数据中的每一样本行为数据转换为向量。

在一个实施例中,获取预设的属性序列,按照属性序列的顺序,将样本行为数据转换为向量。

比如,在电商领域,零食消费金额、零食消费次数、零食收藏次数等可以为属性序列,属性序列描述了属性的先后关系,按照属性序列中对应属性的先后关系来对样本行为数据中的属性值进行排列,即可得到向量。

步骤222,利用每一样本行为数据对应的向量,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类。

步骤230,针对每一初始类,利用该初始类中用户的样本行为数据对应的向量,确定该初始类的中心向量。

在一个实施例中,获取初始类中用户的样本行为数据对应的向量的平均值,作为该初始类的中心向量。

步骤240,针对每一初始类,基于该初始类的中心向量和该初始类中每一用户的样本行为数据对应的向量之间的距离,对该初始类中的用户进行预筛选,得到属于该初始类的目标用户。

在一个实施例中,初始类的中心向量和该初始类中用户的样本行为数据对应的向量之间的距离为欧式距离。

在一个实施例中,针对每一初始类,将对应的向量与中心向量的距离大于预设距离阈值的用户,作为属于该初始类的目标用户。

步骤250',根据各目标用户所属的初始类和各目标用户对应的样本行为数据的属性值,对各目标用户进行二次聚类,以将所述多个目标用户划分为多个类。

本实施例的好处在于,通过在二次聚类之前将预聚类得到的初始类中与初始类不够匹配的用户从初始类过滤掉,使得在二次聚类时,各目标用户能够体现出更好的集聚性,从而能在一定程度上提高建立的用户画像的准确性。

本公开还提供了一种基于聚类的用户画像建立装置,以下是本公开的装置实施例。

图5是根据一示例性实施例示出的一种基于聚类的用户画像建立装置的框图。如图5所示,装置500包括:

获取模块510,被配置为获取多个样本行为数据,其中,每一样本行为数据与一个用户对应且每一用户仅与一个样本行为数据对应,每一样本行为数据包括多个属性值,每一属性值与一个属性对应,在所述多个样本行为数据中,每一样本行为数据包含的任意一个属性值与任意一个样本行为数据的属性值所对应的属性之一对应。

预聚类模块520,被配置为基于所述多个样本行为数据,对各样本行为数据对应的用户进行预聚类,以将各样本行为数据对应的多个用户划分为多个初始类,每一用户属于一个初始类。

二次聚类模块530,被配置为根据各样本行为数据的属性值和各样本行为数据对应的用户所属的初始类,对各样本行为数据对应的用户进行二次聚类,以将所述多个用户划分为多个类。

确定模块540,被配置为根据各类中用户对应的样本行为数据中的属性值,确定每一类对应的用户画像。

用户画像确定模块550,被配置为用户画像基于各类对应的用户画像,确定目标行为数据对应的用户的用户画像。

据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。

存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(rom)623。

存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备600也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1