CN107870934B - 一种app用户聚类方法及装置 - Google Patents

一种app用户聚类方法及装置 Download PDF

Info

Publication number
CN107870934B
CN107870934B CN201610854321.7A CN201610854321A CN107870934B CN 107870934 B CN107870934 B CN 107870934B CN 201610854321 A CN201610854321 A CN 201610854321A CN 107870934 B CN107870934 B CN 107870934B
Authority
CN
China
Prior art keywords
user
users
app
frequent
data set
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
Application number
CN201610854321.7A
Other languages
English (en)
Other versions
CN107870934A (zh
Inventor
张路
潘宣辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Antiy Information Technology Co ltd
Original Assignee
Wuhan Antiy Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Antiy Information Technology Co ltd filed Critical Wuhan Antiy Information Technology Co ltd
Priority to CN201610854321.7A priority Critical patent/CN107870934B/zh
Publication of CN107870934A publication Critical patent/CN107870934A/zh
Application granted granted Critical
Publication of CN107870934B publication Critical patent/CN107870934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种app用户聚类方法,按照预设的规则对数据集进行频繁项集的挖掘,然后根据挖掘的频繁项集构建用户关联图谱,最后进行社区发现,将得到的用户关联图谱划分为若干区域,以实现对app用户快速、精准的聚类,从而制定更加精准的营销策略,提高商品推荐、广告投放的效果。本发明无需进行数据集的数值化,能展现用户间的间接关联情况,实现方式简单、聚类准确度高。本发明还公开了一种app用户聚类装置。

Description

一种app用户聚类方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种app用户聚类方法及装置。
背景技术
随着移动终端的普及,app(应用软件)的数量也在迅猛增长,目前市场上流行着数以亿计的app,很多使用相同或相似app的用户往往拥有相同的生活习惯或者消费习惯,从某种程度上可以认为他们是相似的用户群体。另外,获得用户终端上所安装的所有app列表也并非难事,部分应用市场以及杀毒软件等均可收集到用户app列表。有鉴于此,很多企业都希望对app用户进行聚类,从而制定更加精准的营销策略,提高商品推荐、广告投放的效果。
目前,用户聚类的方法有很多,主要取决于数据的维度,例如中国发明专利申请CN201410380588中示出了一种基于用户行为的聚类方法。这种方法的前提是具有数值型的用户行为特征,由于用户app列表难以数值化,并且一旦数据量达到上千万甚至上亿时,这种方法的计算量是不可估量的,因此基于数值的聚类方法并不适用。
发明内容
本发明的目的在于提供一种app用户聚类方法和装置,能实现对app用户快速、精准的聚类,从而制定更加精准的营销策略,提高商品推荐、广告投放的效果。
为了实现上述目的,本发明公开了一种app用户聚类方法,包括以下步骤:
获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID;
按照预设的规则对所述数据集进行频繁项集的挖掘;
根据挖掘的频繁项集构建用户关联图谱;
进行社区发现,将得到的用户关联图谱划分为若干区域。
进一步的,所述用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。
进一步的,对所述数据集进行频繁项集的挖掘时,安装同一app的不同用户构成一子项集,其中,定义频繁项集的方法如下:
Figure 114449DEST_PATH_IMAGE001
其中I表示数据集中的所有用户,X,Y分别为其中的两个不同用户,通过支持度Support(X,Y)来定义二者频繁出现的程度,支持度越大,说明{X,Y}共同出现得越频繁,反之越不频繁;P(X,Y)表示数据集中{X,Y}共同出现的概率,num(X,Y)表示{X,Y}共同出现的次数,num(I)表示用户总数;
进一步的,进行频繁项集的挖掘的方法包括Apriori算法或FP-tree算法。
进一步的,进行社区发现的方法包括Modularity算法。
为了实现上述目的,本发明公开了一种app用户聚类装置,所述聚类装置包括数据采集模块、数据挖掘模块、关联图谱生成模块、社区发现模块,其中:
所述数据采集模块用于获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID;
所述数据挖掘模块用于按照预设的规则对所述数据集进行频繁项集的挖掘;
所述关联图谱生成模块用于根据挖掘的频繁项集构建用户关联图谱;
所述社区发现模块用于进行社区发现,将得到的用户关联图谱划分为若干区域。
进一步的,所述用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。
进一步的,对所述数据集进行频繁项集的挖掘时,安装同一app的不同用户构成一子项集,其中,定义频繁项集的方法如下:
Figure 374529DEST_PATH_IMAGE001
其中I表示数据集中的所有用户,X,Y分别为其中的两个不同用户,通过支持度Support(X,Y)来定义二者频繁出现的程度,支持度越大,说明{X,Y}共同出现得越频繁,反之越不频繁;P(X,Y)表示数据集中{X,Y}共同出现的概率,num(X,Y)表示{X,Y}共同出现的次数,num(I)表示用户总数;
进一步的,进行频繁项集的挖掘的方法包括Apriori算法或FP-tree算法。
进一步的,进行社区发现的方法包括Modularity算法。
本发明与现有技术相比的有益效果是:本发明按照预设的规则对数据集进行频繁项集的挖掘,然后根据挖掘的频繁项集构建用户关联图谱,最后进行社区发现,将得到的用户关联图谱划分为若干区域,以实现对app用户快速、精准的聚类,从而制定更加精准的营销策略,提高商品推荐、广告投放的效果。本发明无需进行数据集的数值化,能展现用户间的间接关联情况,实现方式简单、聚类准确度高。
附图说明
图1为本发明一种app用户聚类方法的流程示意图。
图2为本发明一组频繁项集的结构示意图。
图3为本发明一种用户关联图谱的结构示意图。
图4为本发明进行社区发现后得到的用户关联图谱结构示意图。
图5为本发明一种app用户聚类装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
本发明用于对app用户的聚类,这里所需的数据集为大量用户,以及用户所安装的app列表。
S01:获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID。
由于一般会采用多种途径获取app列表,因此需要对获得的所有用户的app列表进行标准化。
表1示出了一种数据集,其包括11个用户ID(user_0、user_1……user_11)及15个app应用的名称(应用a、b、c……、o)的情况,若用户安装了某app,则在相应表格内打钩。需要说明的是,表1只是对数据格式的示例,实际的数据集规模远大于表1所示。另外,在工程应用中,大量的数据是基于分布式的文件存储系统而存储的,表1只是为便于叙述而设。
表1
a b c d e f g h i j k l m n o
user_0
user_1
user_2
user_3
user_4
user_5
user_6
user_7
user_8
user_9
user_10
S02:按照预设的规则对所述数据集进行频繁项集的挖掘,即在多个集合中发现频繁同时出现的元素子集的方法。
其中,安装同一app的不同用户构成一子项集,在一些实施例中,定义频繁项集的方法如公式(1)所示:
Figure 984502DEST_PATH_IMAGE001
(1)
其中I表示数据集中的所有用户,X,Y分别为其中的两个不同用户,通过支持度Support(X,Y)来定义二者频繁出现的程度,支持度越大,说明{X,Y}共同出现得越频繁,反之越不频繁;P(X,Y)表示数据集中{X,Y}共同出现的概率,num(X,Y)表示{X,Y}共同出现的次数,num(I)表示用户总数。
本发明中,频繁项集指的是频繁安装同一app的用户集合,在计算频繁项集之前,需要用户设定一个阈值,来判断共同出现的项集是否频繁出现,若高于阈值,则认为该项集为频繁项集。以表1为例,假设阈值为0.15,其中user_2、user_5同时装有软件a、软件i、软件n这3种app软件,出现频率为3/15=0.2,大于阈值,因此认为项集{ user_2,user_5}为频繁项集。,
为了实现频繁项集挖掘可以采用Apriori算法、FP-tree(FP:Frequent Pattern)等算法。对于小型网络,Apriori算法具有较好效果。对于大型网络,优选FP-tree算法,通过一次数据遍历,可将原始数据中的每个元素压缩到一个紧凑的树形数据结构中。最终通过对FP-tree的递归,实现频繁项集的挖掘。
S03:根据挖掘的频繁项集构建用户关联图谱。
在一些实施例中,用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。如图2所示,假设
Figure 482480DEST_PATH_IMAGE002
为一组频繁项集,则二者即可构成一个网络结构的最小单元。
当得到更多如同
Figure 536017DEST_PATH_IMAGE002
的频繁项集后,即可构建一个如图3所示的相对复杂的用户关联图谱,其中节点表示用户,边表示可构成频繁项集的用户组合。可以理解的,实际的数据集及所构成的用户关联图谱,其复杂度往往远大于图3。
S04:进行社区发现,将得到的用户关联图谱划分为若干区域。
社区发现,是一种图聚类算法,可将一个网络结构划分成指定个数的子簇,并满足各子簇之间的联系相对稀疏,子簇内部节点联系相对紧密(这种簇也被形象定义为社区)。
在S03的用户关联图谱中,某些用户之间可能存在一定共性,例如同时装有大量母婴、早教、健康护理、电商类app的用户,可能是即将或刚刚当上妈妈的人群;而同时装有滴滴打车、uber司机客户端的用户,可能是司机人群……。而社区发现正是一个在朴素的网络结构中,发现不同类型人群的算法。
本实施例中,以Modularity算法为例进行社区发现,将得到的用户关联图谱划分为若干区域。Modularity是一个定义在[-0.5,1)区间内的指标,其算法是对于某一种社区结构考虑每个社区内连边数与期待值之差。实际连边越高于随机期望,说明节点越有集中在某些社区内的趋势,即网络的模块化结构越明显。例如图3可通过Modularity算法被划分成如图4中的几类社区,图4中
Figure 486656DEST_PATH_IMAGE003
为第一子簇,这5位用户为具有相同app需求的用户,同理可以发现,
Figure 900320DEST_PATH_IMAGE004
为第二子簇,
Figure 252804DEST_PATH_IMAGE005
为第三子簇,
Figure 195352DEST_PATH_IMAGE006
为第四子簇。
本发明无需进行数据集的数值化,实现方式简单、聚类准确度高。在进行商品推广的时候,优先向相应的社区投放推荐、广告,定位精准。
另外,本发明较目前常见的推荐算法(关联规则、协同过滤等)而言具有更好的推荐效果。
(1)关联规则:以图4为例,user_12与user_15通过聚类后,发现二者属于同一社区,即二者具有类似app偏好,因而可将用户12新安装app推荐给user_15。而如若使用关联规则,则只能将user_12新安装的app推荐给其直接关联的user_9、user_10、user_14,而无法推荐给user_15,从而一定程度上造成信息损失。而本发明能通过间接关联关系产生多样性推荐。
(2)协同过滤:无论是基于物品还是基于用户的协同过滤模型,在定义物品和用户相似度上,过于简单,容易产生误差。而本发明可实现对用户相似度更加精准地度量,进而提高推荐效果。
在另一些实施例中,如图5所示,一种app用户聚类装置,包括数据采集模块10、数据挖掘模块20、关联图谱生成模块30、社区发现模块40,其中:
结合表1,数据采集模块10用于获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID。
数据挖掘模20用于按照预设的规则对所述数据集进行频繁项集的挖掘。用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。对所述数据集进行频繁项集的挖掘时,安装同一app的不同用户构成一子项集,其中,定义频繁项集的方法如公式(1)所示。为了实现频繁项集挖掘可以采用Apriori算法、FP-tree(FP:Frequent Pattern)等算法。
关联图谱生成模块30用于根据挖掘的频繁项集构建用户关联图谱。在一些实施例中,用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。图2、图3示出了用户关联图谱的示意图。
社区发现模块40用于进行社区发现,将得到的用户关联图谱划分为若干区域。本实施例中,以Modularity算法为例进行社区发现,将得到的用户关联图谱划分为若干区域。图4示出了进行社区发现后得到的用户关联图谱结构示意图。
本发明无需进行数据集的数值化,实现方式简单、聚类准确度高。在进行商品推广的时候,优先向相应的社区投放推荐、广告,定位精准。另外,本发明能通过间接关联关系产生多样性推荐,且能够实现对用户相似度更加精准地度量,推荐效果好。
上述说明示出并描述了本发明的若干实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (8)

1.一种app用户聚类方法,其特征在于,所述app用户聚类方法包括以下步骤:
获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID;
按照预设的规则对所述数据集进行频繁项集的挖掘,对所述数据集进行频繁项集的挖掘时,安装同一app的不同用户构成一子项集;
根据挖掘的频繁项集构建用户关联图谱;
进行社区发现,将得到的用户关联图谱划分为若干区域;
其中,定义频繁项集的方法如下:
Figure FDA0003070382280000011
其中I表示数据集中的所有用户,X,Y分别为其中的两个不同用户,通过支持度Support(X,Y)来定义二者频繁出现的程度,支持度越大,说明{X,Y}共同出现得越频繁,反之越不频繁;P(X,Y)表示数据集中{X,Y}共同出现的概率,num(X,Y)表示{X,Y}共同出现的次数,num(I)表示用户总数。
2.如权利要求1所述的app用户聚类方法,其特征在于,所述用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。
3.如权利要求1所述的app用户聚类方法,其特征在于,进行频繁项集的挖掘的方法包括Apriori算法或FP-tree算法。
4.如权利要求1所述的app用户聚类方法,其特征在于,进行社区发现的方法包括Modularity算法。
5.一种app用户聚类装置,其特征在于,所述聚类装置包括数据采集模块、数据挖掘模块、关联图谱生成模块、社区发现模块,其中:
所述数据采集模块用于获取多个用户的app列表,生成数据集,其中,所述数据集包括若干app名称以及安装有相应app的用户ID;
所述数据挖掘模块用于按照预设的规则对所述数据集进行频繁项集的挖掘,所述数据挖掘模块对所述数据集进行频繁项集的挖掘时,安装同一app的不同用户构成一子项集;
所述关联图谱生成模块用于根据挖掘的频繁项集构建用户关联图谱;
所述社区发现模块用于进行社区发现,将得到的用户关联图谱划分为若干区域;
其中,定义频繁项集的方法如下:
Figure FDA0003070382280000021
其中I表示数据集中的所有用户,X,Y分别为其中的两个不同用户,通过支持度Support(X,Y)来定义二者频繁出现的程度,支持度越大,说明{X,Y}共同出现得越频繁,反之越不频繁;P(X,Y)表示数据集中{X,Y}共同出现的概率,num(X,Y)表示{X,Y}共同出现的次数,num(I)表示用户总数。
6.如权利要求5所述的app用户聚类装置,其特征在于,所述用户关联图谱包括节点和边,每一个用户用一节点表示,构成频繁项集的用户之间通过边连接。
7.如权利要求5所述的app用户聚类装置,其特征在于,所述数据挖掘模块进行频繁项集的挖掘的方法包括Apriori算法或FP-tree算法。
8.如权利要求5所述的app用户聚类装置,其特征在于,所述社区发现模块进行社区发现的方法包括Modularity算法。
CN201610854321.7A 2016-09-27 2016-09-27 一种app用户聚类方法及装置 Active CN107870934B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610854321.7A CN107870934B (zh) 2016-09-27 2016-09-27 一种app用户聚类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610854321.7A CN107870934B (zh) 2016-09-27 2016-09-27 一种app用户聚类方法及装置

Publications (2)

Publication Number Publication Date
CN107870934A CN107870934A (zh) 2018-04-03
CN107870934B true CN107870934B (zh) 2021-07-20

Family

ID=61752150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610854321.7A Active CN107870934B (zh) 2016-09-27 2016-09-27 一种app用户聚类方法及装置

Country Status (1)

Country Link
CN (1) CN107870934B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948641B (zh) * 2019-01-17 2020-08-04 阿里巴巴集团控股有限公司 异常群体识别方法及装置
CN111639251B (zh) * 2020-06-16 2023-09-29 李忠耘 信息检索方法和装置
CN111737321B (zh) * 2020-07-02 2024-06-14 大连理工大学人工智能大连研究院 基于数据挖掘的城市大气污染联防联控区域划分方法
CN111950657B (zh) * 2020-08-26 2021-05-18 上海数鸣人工智能科技有限公司 一种dpi聚类及用户扩量方法
CN115017400B (zh) * 2021-11-30 2023-05-26 荣耀终端有限公司 一种应用app推荐方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368921A (zh) * 2012-04-06 2013-10-23 三星电子(中国)研发中心 用于智能设备的分布式用户建模系统和方法
CN103995823A (zh) * 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
CN105511901A (zh) * 2015-09-28 2016-04-20 杭州圆橙科技有限公司 一种基于移动App运行列表的App冷启动推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG93868A1 (en) * 2000-06-07 2003-01-21 Kent Ridge Digital Labs Method and system for user-configurable clustering of information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368921A (zh) * 2012-04-06 2013-10-23 三星电子(中国)研发中心 用于智能设备的分布式用户建模系统和方法
CN103995823A (zh) * 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
CN105511901A (zh) * 2015-09-28 2016-04-20 杭州圆橙科技有限公司 一种基于移动App运行列表的App冷启动推荐方法

Also Published As

Publication number Publication date
CN107870934A (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
CN107870934B (zh) 一种app用户聚类方法及装置
Koutra et al. Summarizing and understanding large graphs
Assunção et al. Efficient regionalization techniques for socio‐economic geographical units using minimum spanning trees
Wang et al. Activity maximization by effective information diffusion in social networks
Li et al. Efficient core maintenance in large dynamic graphs
US9680915B2 (en) Methods for clustering networks based on topology discovery and devices thereof
Jafarkarimi et al. A naive recommendation model for large databases
US20080288491A1 (en) User segment suggestion for online advertising
CN103106285A (zh) 一种基于信息安全专业社交网络平台的推荐算法
CN112052404B (zh) 多源异构关系网络的群体发现方法、系统、设备及介质
CN105120004A (zh) 信息的推送方法及装置
Raghuvira et al. An efficient density based improved k-medoids clustering algorithm
Sadri et al. Shrink: Distance preserving graph compression
CN103838804A (zh) 一种基于社团划分的社交网络用户兴趣关联规则挖掘方法
Santoso et al. Close dominance graph: An efficient framework for answering continuous top-$ k $ dominating queries
Aston et al. Community detection in dynamic social networks
Frieze et al. Codes identifying sets of vertices in random networks
Noroozi et al. Estimation and clustering in popularity adjusted block model
Zhou et al. Finding large diverse communities on networks: The edge maximum k*-partite clique
CN105718951A (zh) 用户相似度的估算方法及估算系统
Uno et al. Micro-clustering by data polishing
CN104951505A (zh) 一种基于图计算技术的大规模数据聚类方法
CN114862449A (zh) 唯一自然人标识计算的方法、装置、电子设备和存储介质
CN110110206A (zh) 物品间关系挖掘及推荐方法、装置、计算设备、存储介质
Ramezani et al. Dani: A fast diffusion aware network inference algorithm

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
CB02 Change of applicant information

Address after: 430000 No.C20 Building of Wuhan Software New Town Industry Phase III, No.8 Huacheng Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Applicant after: WUHAN ANTIY INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 01, 12 / F, building B4, phase 4-1, software industry, No.1, Software Park East Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430000

Applicant before: WUHAN ANTIY INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant