一种移动互联网用户访问模式表征和聚类方法与流程

文档序号:13983324阅读:215来源:国知局
一种移动互联网用户访问模式表征和聚类方法与流程

本发明涉及互联网技术领域,尤其涉及到一种移动互联网用户访问模式表征和聚类方法。



背景技术:

基于doc2vec算法,将其应用于移动互联网用户聚类。doc2vec算法被提出用于自然语言处理领域。是基于word2vec算法的一种改进。随着自然语言处理技术的广泛应用,doc2vec算法的应用场景也不断被扩展。针对移动互联网用户的访问记录,一个用户标识可以被看作是类似于一个段落的标识,而具体的域名访问序列则可以被看做是一个个按照顺序排列的单词序列,这样一来就可以将doc2vec算法应用于移动互联网用户的向量表征,进一步地可以根据用户向量进行用户聚类和特征提取。

随着互联网用户量的增长,各个互联网商业领域都需要对互联网用户的行为习惯进行分析和聚类,以便在实际业务中采取更有针对性的策略,提高效率,降低运营成本。因此互联网用户聚类就成为了一个重要且迫切的现实需求。由于用户量数以亿计,使用人工方式进行聚类是不现实的。使用人工制定的简单规则分类又难以面面俱到,误差较大。基于用户访问序列的doc2vec算法是一种无监督的,高效的聚类方法。具有快速,高效的优点。

以k-means为代表的聚类算法已经相对成熟,doc2vec算法将用户访问行为转换成适用于各种聚类算法的用户向量,以便用于聚类,再根据事先定义的域名规则,可以较好的反映出聚类结果中每类人群中的兴趣特点和行为习惯,为各个互联网商业行为提供参考。



技术实现要素:

本发明的目的在于提供一种移动互联网用户的聚类方法和装置,以期望能为互联网商业领域提供参考。

本发明的主要模块区分如下:

步骤101,用户访问序列获取模块,用于获取用户访问的app序列,数据来源是网络运营商;

步骤102,用户访问序列预处理模块,用于对app访问序列预处理并产生预设的可用于训练的数据类型,对访问数据进行清洗去重,保证训练数据的可用性和有效性;,

步骤103,向量表征训练模块,用于对用户访问的域名序列进行基于特定算法的训练,产生域名对应的域名向量和用户对应的用户向量,得到训练模型;

步骤104,用户向量生成模块,用于根据新的用户访问序列数据产生新的用户向量,该向量是基于训练模型计算得到;

步骤105,app域名分类规则模块,用于根据域名的实际功能,为其产生相应的人工标签,标签代表了该域名的分类和所属领域;

步骤106,用户向量聚类模块,用于根据用户向量对用户进行聚类,并根据聚类结果结合域名分类规则,确定每一类用户的兴趣点和用户属性。

进一步的,步骤102包括以下步骤:

步骤201,去除无关字段,抽取关键信息,采用分布式文件系统存储海量数据,针对目标日期和目标时间段,利用分布式计算平台,进行粗粒度的,大规模的快速处理。

步骤202,数据融合,将每一条用户对某一域名的访问记录,根据相同的用户标识进行融合,获得某一用户在特定时间段内的访问序列,即将用户与其访问域名的一对一记录融合为一对多记录。

步骤203,根据访问序列的时间后顺序进行排序,根据预设的时间间隔,去除重复冗余数据,即在预设时间段内重复出现的域名访问序列视为重复冗余记录,予以删除。

步骤204,从前面步骤中得到的数据中区分训练数据集和测试数据集,其中训练数据集和测试数据集所占比例是由经验所得的预设比例,该比例应考虑到训练效果和训练复杂度两方面,达到两者的平衡。

可选的,步骤103中所述的特定训练算法为doc2vec算法,经过预处理的用户访问序列充当训练数据,一条数据记录视为一个段落,其中用户标识充当段落向量,而域名访问记录中的每一个域名就充当段落文本的一个词。多个访问序列根据先后顺序排列形成了段落文本。

步骤103的训练所得包括域名向量,用户向量以及训练参数模型,其中域名向量是对域名的向量表示,用户向量是用户的向量表示,用户向量的空间距离关系反映了用户和用户间的关系;训练参数模型可用于对新数据的计算,这里的新数据是指在训练数据中不存在的用户访问序列,通过计算可以对新的用户数据生成新的用户向量。

可选的,步骤105包括了一种人工的域名分类,根据用户的日常使用习惯,常见的域名被分为一定数量的种类,分类以最能区分用户特性的标准进行,每个类别代表了一种服务领域,例如社交通信服务,语音视频服务,汽车咨询服务等。最后将域名分类规则以及用户向量的聚类规则结合起来对用户的行为特征进行分析。

可选的,步骤106所述的用户聚类模块基于多种聚类算法,通过向量化表示用户,可以定义一种距离特征来表示用户之间的距离,该距离在实际意义上体现了用户的相似性。分别采用了基于余弦相似度的度量方法以及基于欧几里得距离的度量方法来进行用户聚类。

进一步的,所述聚类算法包括如下几个步骤:

步骤301,利用聚类算法对用户向量进行聚类,采用的聚类算法不唯一;

步骤302,根据聚类结果和用户表示,追溯到相应用户的具体访问序列,将访问序列中的域名根据域名规则映射到域名类型中去;

将用户标识转换成用户向量后,用户标识与用户向量依然一一对应,这代表可以通过该用户向量找到用户标识,进一步地找到该用户的域名访问记录;

步骤303,结合域名分类规则,可以提取到该用户的访问每一类域名的次数,时间,以及访问各类域名次数的方差,均值等统计量;

根据所述统计量,可以得到该类用户的访问偏好和习惯,对每一类用户的访问习惯标注域名分类标签,即可得到每一类用户最常访问的域名类型;

步骤304,由于不同类型的域名访问量差异较大,如果仅根据访问量来进行用户行为分析,则会造成区分度不够的状况,因此要对所述统计特征进行归一化处理;

采用两次归一化处理,首先要将某一类域名的总访问次数作为分母,将每一个用户类别中对应于域名的访问量作为分子,进行归一化,目的是反映出各类用户对某一类域名的访问量;

其次要对某一类用户内部进行第二次归一化处理,即将某一类用户总的域名访问次数作为分母,而把其访问的不同类型域名作为分子,得到某一类用户访问各类域名的比例;

步骤305,完成两次归一化处理后,即可根据所得结果进行结果分析和展现,所得结果即可代表用户访问移动互联网的基本特征,可以通过用户的访问习惯区分高价值用户,推断用户背景;

最后将各结果进行可视化处理,直观地展现出来。

本发明提供了一种基于用户访问记录的用户聚类方法,用于从海量的用户访问记录中提取用户的行为特征并加以聚类。相比于人工分类极大的提高了速度,降低了成本。使得在海量数据下的用户聚类成为了可能。这种聚类对于面向用户的互联网应用提供方来说具有很高的商业价值,有助于区分高价值用户和目标用户,降低了推广成本和营销成本,也有利于进一步挖掘潜在用户。

附图说明

图1为本发明实施的整体流程图

图2为本发明中数据预处理流程图

图3为本发明中用户向量聚类模块流程图

具体实施方式

为了进一步理解本发明,下面结合实施案例以及实施流程对本发明做进一步介绍。以下介绍仅仅是本发明所述方法的一个实例,并不代表本发明只适用于本实例一种情况。相反,本发明所述的方法还可以用于不同场景下的互联网用户聚类任务中。

附图一是本发明实施的整体流程图,是本发明实现的整体框架,下面结合具体实例进行介绍如下:

步骤101,本发明首先要实现移动互联网用户域名访问序列的获取。

在本实例中,使用运营商提供的用户域名访问记录数据。用户通过网络运营商访问互联网的同时,网络运营商会保留用户的访问记录。该访问记录主要包括用户的访问时间,访问目的域名,用户本身的标识等信息。

该数据中用户标识经过运营商的加密处理,无法反向追踪到具体的用户,很好地保护了用户隐私。普通用户接入互联网必然要通过运营商的网络,因此该数据可以非常全面的包含用户的所有访问行为,保证了数据的全面性,完整性。类似的,该数据也可以来自于局域网,或者任意形式的可以访问互联网并产生访问记录的虚拟网络。

步骤102,基于运营商提供的数据进行预处理。数据预处理过程又包括如附图二所示的如下过程:

步骤201,将获取的数据进行存储,存储的方式可以有多种。本实例中采用hdfs文件系统进行数据存储。hdfs是一种分布式的文件系统,通过分布式存储管理的方式实现了较大的存储容量。

步骤202,为达到更好的聚类效果,降低数据量,需要对数据进行分地域和分时间段处理。采用spark分布式框架,将数据按照省份和时间段进行分割,产生针对目标地域和目标时间段的用户访问数据。

步骤203,进行进一步的数据清洗。首先要将访问记录中的无关信息去除,只保留用户标识,目的域名以及访问时间三个方面的信息。

步骤204,形成训练数据,必须将单条的访问记录进行转换。即将用户与其访问域名之间的一对一关系转换成一对多的关系,同一用户只保留一条记录,而使其访问记录按照时间的先后顺序形成一个序列。形成一个用户与其访问序列的配对数据。在此称这种数据类型为用户域名对。

步骤205,进行去重和清洗,去重是指将访问时间在一定差值以内的两个相同域名记录删除掉,该差值是根据经验预设的固定值,可以根据不同的场景进行调整。即对相同的域名的访问,如果前后时间差距过小,就认为是重复记录并予以删除。

步骤103,向量表征训练模块,用于对用户域名对进行基于特定算法的训练。

所述特定算法是doc2vec算法(documenttovecter)。doc2vec算法是基于word2vec算法的扩展,在word2vec算法的基础上增加了段落向量来标识段落。输入训练数据为一段文字,经过训练后得到段落向量以及该段落文本中每个词的词向量。

在本实例中,用户标识充当段落标识,对应用户的访问序列充当段落文本,访问序列中的每一个域名记录充当文本中的单词。训练完成后得到训练模型,用户向量,域名向量。训练模型暂时保存下来,用于后面的计算生成,直接将新的数据输入到训练模型中,即可计算出新用户的用户向量,不需要重新进行训练。

在本实例中,将用户向量和域名初始化为100维的向量,初始化值是服从正态分布的随机值。在训练过程中,doc2vec算法进行迭代计算,每次迭代都会修改向量的值,使其更接近理想值。向量的维度越大,训练复杂度越大,而所得向量的表现能力越强。可以根据实际情况调整维度,取得平衡。

步骤104,利用步骤103中所得训练模型对新的用户访问序列进行计算,输入数据的类型和结构应与训练数据一致。得到新用户的用户向量。

步骤105,进行人工的app域名规则分类,对访问序列中的域名进行分类。21个类别包括通讯聊天,金融服务,音乐视频,亲子服务,便捷生活,健康医疗,办公管理,实用工具,广告服务,应用分发,拍摄美化,旅行预订,汽车服务,游戏服务,电子商务,电子支付,电子阅读,社交网络,综合资讯,美食外卖,视频服务。该分类方法不固定,可以采取多种分类方式。分类依据主要是尽可能涵盖更多的域名,并且使每个域名更具有区分度。

将域名分类以及属于该分类的域名保存成字典结构,键为域名分类,对应的值为属于该类型的一系列域名。实际操作中,会有大量的域名由于失效等原因无法进行分类,或者访问量过少而不具有代表性。这种域名可以舍弃掉,进而只保留具有较大访问量,更有区分度的域名。

在本实例中,正确分类的域名占总流量的三分之一左右。已经可以得到比较好的分类效果。

步骤106,进行用户向量的聚类和结果分析。该步骤又分为如下几部分:

步骤301,在本实例中采取k-means聚类算法对所得用户向量进行聚类。k-means算法中k的取值即指初始类簇中心点的个数,它与聚类结果中类型的个数相等。k的取值是预设的,不同的k值导致最后聚类结果的个数不同。选取合适的聚类个数对于更好地进行用户行为分析具有很重要的意义。聚类个数过多时,泛化效果较差;聚类个数过小则造成类与类之间的区分度不足。

在本实例中,为了找到较为合适的k参数。可以分别选取不同的k值进行聚类,根据聚类结果比较类内距离、类间距离以确定k。计算类内距离与类间距离的比值,这个比值月越小,说明该种聚类效果越好。在本实例中,分别测试了k值取2到15的情况,确定k值取到5的时候效果较好。

步骤302,得到聚类结果后,需要从用户标识反向找到该用户的访问序列,并根据域名规则把访问序列中的域名映射到21个域名类别中去。没有对应域名规则的域名直接忽略不计。这样就得到一个字典,字典的键是用户标识,值是一个列表,列表保存了该用户访问记录的对应的域名类别。

步骤303,进一步地,统计每一个大类用户最常访问的域名类型个数,这代表了此类用户的兴趣点,也反映了该用户的背景和行为习惯,从而实现了用户聚类。

步骤304,考虑到几乎每一类用户对于通讯聊天类域名的访问次数都是最多的,这说明通讯聊天类软件是一种被所有类别用户广泛使用的互联网服务,因此它对于用户聚类几乎不起作用。因此要进行归一化操作。

进一步地,该归一化操作为分别统计每一类域名的总的访问量,将其作为归一化的分母。然后根据聚类结果,统计每一类用户中,访问21个域名大类的数量并将其作为分子。得到的比值即为每一类用户对于某类型域名的访问比例。这样就屏蔽了域名访问数量的干扰。因为对每一类用户来讲,最终得到的结果是该类用户访问每一类域名占该类域名访问总数的比值。即使通讯聊天类域名的访问总量远远大于其他类域名,但是它在每类用户中的访问比例之和衡为1。

步骤305,进一步地,我们以访问比值的大小作为依据,判断每一类用户最常访问的几种域名。从而根据结果分析用户的行为习惯。例如,有一类用户更关注亲子服务,电子阅读类别的域名。因此有理由判断这类用户有较大可能已为人母;还有一个类别的人群对汽车服务,旅行订票类别的域名访问比例较高,这说明此类用户有比较富有,经常出差,为高价值用户。

根据本实例得到的用户聚类结果,各个互联网企业可以明确自己的目标用户,从而进行有针对性的广告投放和营销,在较低成本下实现更好的推广效果。

最后应说明的是:本实例所介绍的方法和过程是对本发明进行说明而不是进行限制,仅用于帮助理解本发明的方法及其核心思想。应当指出,本技术领域的技术人员在不脱离本发明的核心思想的前提下对本发明进行若干修饰和改进,这些修饰和改进也落入本发明权利要求的保护范围内。

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