一种多标签分类的手机应用推荐系统及其方法转让专利

申请号 : CN201710756590.4

文献号 : CN107609063B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐光侠陶荆朝代小龙常光辉

申请人 : 重庆邮电大学

摘要 :

本发明属于大数据和数据挖掘推荐系统技术领域,尤其是一种多标签分类的手机应用推荐系统及其方法。本发明的系统包括:数据获取模块、数据处理模块、数据存储模块、业务逻辑模块、显示模块等五个模块。提出了一种基于随机游走算法的多标签分类算法,将多标签数据映射成为多标签随机游走图。当输入一个未分类数据时,建立一个多标签随机游走图系列。而后对图系列中的每个节点随机游走,得到遍历每个顶点的概率分布,并将这个点概率分布转化成每个标签的概率分布。本发明解决用户兴趣多样性推荐的问题以及用户兴趣不断变化带来的推荐运算复杂度增长的问题,得到较传统的推荐技术更加灵活的推荐技术,提高了推荐质量。

权利要求 :

1.一种多标签分类的手机应用推荐系统,其特征在于:包括数据获取模块、数据处理模块、数据存储模块、业务逻辑模块和显示模块;

所述数据获取模块,接收数据请求,获取用户手机上的应用信息并发送给所述数据处理模块;

所述数据处理模块,对所述数据获取模块传输来的用户手机上的应用信息进行归纳整理,再利用数据挖掘技术找到应用相对应的属性标签,得到每个用户的属性标签集,并用矩阵的形式表达,并发送到所述数据存储模块;

所述数据存储模块接收到所述数据处理模块发送来的属性标签集,分别存入用户应用数据库和应用属性数据库,并将所述用户应用数据库的数据发送到所述业务逻辑模块,将所述应用属性数据库的应用属性标签发送给所述显示模块;

所述业务逻辑模块先将获得的所述用户应用数据库中的数据进行用户属性分析,再根据随机游走算法对用户进行分类,学习用户初始化类别标签以及通过迭代推理获得用户稳定标签,利用手机应用间存在的关系网络信息把类别标签传播到其余未标签应用形成新标签或更新已有属性标签,最后发送给所述显示模块;

所述显示模块将所述业务逻辑模块发送的新标签或更新的已有属性标签与所述应用属性数据库发送的应用属性标签进行匹配,找到相对应的应用集合,最后对用户进行推荐。

2.根据权利要求1所述一种多标签分类的手机应用推荐系统,其特征在于:所述业务逻辑模块对所述用户应用数据库发送来的数据进行用户属性分析前,需判断用户是否为新用户并进行相应操作,具体步骤如下:S11:判断用户是否为新用户;

S12:若用户为新用户,则采取随机游走算法,对其进行属性概率分析,采取阈值法去除低概率属性;

S13:若用户为老用户,将根据用户的手机应用属性,在原有属性标签的基础上,采取随机游走算法,更新用户的属性标签。

3.根据权利要求1所述一种多标签分类的手机应用推荐系统,其特征在于:所述数据获取模块获取用户手机上的应用信息,是根据用户手机上下载的应用得到,实时更新用户的应用信息。

4.一种多标签分类的手机应用推荐方法,其特征在于,包括以下步骤:

S1:获取用户手机上的应用信息;

S2:先对S1得到的应用进行归纳整理,得到用户应用数据;再利用数据挖掘技术,找到应用相对应的属性标签,将得到的用户应用进行属性划分,得到每个用户的属性标签集,并用矩阵的形式表达;

S3:将得到的用户数据属性标签集存入到数据库中;每当用户新下载一个应用时,用户数据库中相应用户属性标签也会发生动态变化;

S4:分析用户的属性,根据随机游走算法对用户进行分类,学习用户初始化类别标签以及通过迭代推理获得用户稳定标签,利用手机应用间存在的关系网络信息把类别标签传播到其余未标签应用形成新标签或更新已有属性标签,S5:根据S4所得到的新标签或更新的已有属性标签,匹配数据库中的应用属性标签,找到相对应的应用集合,最后对用户进行推荐。

5.根据权利要求4所述的一种多标签分类的手机应用推荐方法,其特征在于,所述S4中对用户进行分类的具体步骤为:S41:构建一个加权无向图G(V,E,W,X,L,Y),其中节点集V={υ1,υ2,…,υm}对应为用户,E为边的集合,W为E对应的权重矩阵, 表示节点υi与υj之间边的权重值,W实质上对应为用户的关系网络特征矩阵,每一个节点υi∈V都分配一个对应的d维空间向量χi=(ti1,ti2,…,tid)∈Rd,Rd表示在实数域R上的d维输入数据空间,其中tik表示为节点υi在第k个属性上的取值,X=[χ1,χ2,…,χn]T表示节点的属性特征向量矩阵,L={l1,l2,…,lq}为类标签集合,矩阵Y=[y1,y2,…,yn]T则表示分配每一个标签给所有节点υi的概率集合;

S42:构造随机跳转到每个顶点的概率分布向量n,邻接矩阵P,初始概率分布向量s0,跳转发生概率α,发生跳转时跳转到图中每个顶点的概率分布向量n,每次游走过程后的输出概率分布向量记作s;

S43:对每个节点υi∈V,将其相关联的所有边{(υi,υj)|i≠j,(υi,υj)∈E},按照其权重ωij排序,保留其中权重最小的k条边,将其他边从图G中删,以完成对图的剪枝;

S44:对于未分类数据,计算该数据具有每个标签的概率,再与阈值向量PT比较以确定每个标签的有无,完成标签取舍。

6.根据权利要求5所述的一种多标签分类的手机应用推荐方法,其特征在于:步骤S41中的权重矩阵W为:ωij表示权重值,dis(vi,vj)表示对应节点在d维空间中的距离。

7.根据权利要求5所述的一种多标签分类的手机应用推荐方法,其特征在于:步骤S42所述邻接矩阵P的计算过程为:对任意节点υ,在υ的所有邻居节点中,如果一个节点距离υ越远,则游走到这个顶点的概率就越低,如下式所示:Mij表示节点υi到节点υj的概率,m表示训练数据的训练集合,然后对矩阵进行归一化处理:M′ij表示节点υi到节点υj的概率的归一化处理后的结果,Pij表示节点υi到节点υj经过随机游走算法得到的更新后的特征概率分布矩阵;

此时的概率分布矩阵P即为输入的邻接矩阵,根据邻接矩阵P,初始概率分布向量s0,跳转发生概率α,发生跳转时跳转到图中每一个顶点的概率分布向量n,每次游走过程后的输出概率分布记为s,则s的计算方法为s=(1-α)PTs0+αn,0<α<1,将向量s作为上式的输入s0,反复迭代上式直至收敛,将此时的概率分布向量记作π,满足π=(1-α)PTπ+αn,式中的向量π即为稳定的概率分布向量,PT为阈值向量;假设从某个顶点出发跳转到图中任意一个顶点的概率是相等的,得到随机跳转到每个顶点的概率分布向量:式中m表示训练数据的训练集合。

说明书 :

一种多标签分类的手机应用推荐系统及其方法

技术领域

[0001] 本发明涉及大数据和数据挖掘推荐系统技术领域,尤其是一种多标签分类的手机应用推荐系统及其方法。

背景技术

[0002] 社交网络随着Internet用户的普及已经逐渐代替我们传统的信息获取渠道,如报纸、杂志、电视新闻等,成为大多数人第一时间接收信息的一种方式。例如国外的Facebook、Twitter,国内的微博、人人网等。大家通过发消息与状态,发布自己所要表达的信息,通过转发与分享其他人的消息与状态,去扩散从其他人那里得到的信息。这涉及到结点影响度的问题,即一个被所有人关注的结点,它所发布的信息能被所有人看到,一个关注所有人的结点,它能看到所有人发布的信息。当然,我们的精力是有限的,用户不可能通过自己去寻找,然后手动关注所有用户可能会感兴趣的内容。所以需要研究如何去有效地向用户推荐他们会感兴趣的内容。
[0003] 在网络服务中,各用户之间的直接或间接的联系是实现推荐的基础。目前,主流的推荐算法主要分为3类:1、基于内容的推荐;2、基于协同过滤;3、关联规则推荐。基于内容的推荐,要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。协同过滤推荐,虽然作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题和冷启动问题。基于关联规则的推荐,算法的第一步关联规则的发现最为关键且最耗时的,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。因此,前两者随推荐的物品的不同,所受局限性也不同。基于关联规则的推荐,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用,具有广泛的应用前景。
[0004] 随机游走又称随机游动或随机漫步,在实际生活中,就存在很多与随机游走有关的现象,如醉汉的行走轨迹、股票价格的变动以及滴入水中的墨水扩散等。随机游走本质上是一种随机化描述方法,并且被认为是马尔科夫链的一种典型的表现形式。随机游走过程中的每一步状态转移都可以用概率进行描述,因此非常适合于描述图节点之间的状态转移关系。不失一般性,假设存在一个无向有权图G=(V,E,W),其中V、E和W分别代表节点集合、边集合以及边权重集合,n=|V|表示节点数量,W=[Wij]nxn,Wij为节点υi和υj之间的联系边的权重,且Wij=Wji。那么在图G上的一次随机游走指的是首先从某一个节点开始,然后在每一步中按照某个概率值跳转到下一个邻居节点,直至在某一个节点结束游走的过程。
[0005] 其过程分为两个阶段:(1)引导阶段。只使用节点属性特征信息,分配初始化类别标签给每一个V中的节点。随机游走算法采用贝叶斯多项式文本分类模型学习每一个节点的初始化标签分布。(2)迭代推理阶段。该阶段迭代地应用推断算法对每一个V中的节点进行分类,一直到终止条件满足。在步骤t,每一个节点都采用步骤t-1中邻居节点的标签分布加权和作为其在步骤t中产生的标签分布。
[0006] 传统数据分类问题的研究目标是如何将每条数据准确地划分到某一类中。如果候选类别只有一个,则分类目标转化为判断未分类数据是否属于该类别,这类问题被称作单分类问题(single-class classification)或二值分类问题(binary classification)。如果候选类别有多个,在传统的分类问题中,分类器仅能在这些候选类别中选择一个作为输出,这类问题被称作多分类问题(multi-class classification)。多分类问题可以比较容易地转化成单分类问题。单分类问题和多分类问题统称为单标签分类问题(single-label classification)。它们和本发明研究的多标签分类(multi-label classification)问题有着本质的区别。在实际应用中,普遍存在如下情况:一条数据可能同时属于多个不同的类别。这类数据被称作多标签数据。和传统的单标签分类问题相比,多标签分类问题存在着显著的区别,类别间的相关性(relevance)和共现性(co-occurrence)直接导致传统的单标签分类方法不能被直接应用到多标签分类问题中。多标签分类问题正逐渐成为当前的一个研究热点。

发明内容

[0007] 本发明的目的就是提供一种多标签分类的手机应用推荐系统,它对用户的需求进行分析,为应用市场的推荐提供技术支持。该推荐系统包括数据获取模块、数据处理模块、数据存储模块、业务逻辑模块和显示模块。
[0008] 所述数据获取模块,接收数据请求,获取用户手机上的应用信息并发送给所述数据处理模块;数据获取模块获取用户手机上的应用信息,是根据用户手机上下载的应用得到,实时更新用户的应用信息。
[0009] 所述数据处理模块,对所述数据获取模块传输来的用户手机上的应用信息进行归纳整理,再利用数据挖掘技术找到应用相对应的属性标签,得到每个用户的属性标签集,并用矩阵的形式表达,并发送到所述数据存储模块。
[0010] 所述数据存储模块接收到所述数据处理模块发送来的属性标签集,分别存入用户应用数据库和应用属性数据库,并将所述用户应用数据库的数据发送到所述业务逻辑模块,将所述应用属性数据库的应用属性标签发送给所述显示模块。
[0011] 所述业务逻辑模块先将获得的所述用户应用数据库中的数据进行用户属性分析,再根据随机游走算法对用户进行分类,学习用户初始化类别标签以及通过迭代推理获得用户稳定标签,利用实例间存在的关系网络信息把类别标签传播到其余未标签应用形成新标签或更新已有属性标签,最后发送给所述显示模块。
[0012] 所述显示模块将所述业务逻辑模块发送的新标签或更新的已有属性标签与所述应用属性数据库发送的应用属性标签进行匹配,找到相对应的应用集合,最后对用户进行推荐。
[0013] 所述业务逻辑模块对所述用户应用数据库发送来的数据进行用户属性分析前,需判断用户是否为新用户并进行相应操作,具体步骤如下:
[0014] S11:判断用户是否为新用户。
[0015] S12:若用户为新用户,则采取随机游走算法,对其进行属性概率分析,采取阈值法去除低概率属性。
[0016] S13:若用户为老用户,将根据用户的手机应用属性,在原有属性标签的基础上,采取随机游走算法,更新用户的属性标签。
[0017] 本发明还提供了一种多标签分类的手机应用推荐方法,包括以下步骤:
[0018] S1:获取用户手机上的应用信息。
[0019] S2:先对S1得到的应用进行归纳整理,得到用户应用数据;再利用数据挖掘技术,找到应用相对应的属性标签,将得到的用户应用进行属性划分,得到每个用户的属性标签集,并用矩阵的形式表达。
[0020] S3:将得到的用户数据属性标签集存入到数据库中;每当用户新下载一个应用时,用户数据库中相应用户属性标签也会发生动态变化。
[0021] S4:分析用户的属性,每当用户属性有相同的时候,其属性的权值也会越高,根据随机游走算法对用户进行分类,学习用户初始化类别标签以及通过迭代推理获得用户稳定标签,利用实例间存在的关系网络信息把类别标签传播到其余未标签应用形成新标签或更新已有属性标签。
[0022] S5:根据S4所得到的新标签或更新的已有属性标签,匹配数据库中的应用属性标签,找到相对应的应用集合,最后对用户进行推荐。
[0023] 所述S4中对用户进行分类的具体步骤为:
[0024] S41:构建一个加权无向图G(V,E,W,X,L,Y),其中节点集V={υ1,υ2,…,υm}对应为用户,E为边的集合,W为E对应的权重矩阵, 表示节点υi与υj之间边的权重值,W实质上对应为用户的关系网络特征矩阵,每一个节点υi∈V都分配一个对应的d维空间向量χi=(ti1,ti2,…,tid)∈Rd,Rd表示在实数域R上的d维输入数据空间输入数据空,其中tik表示为节点υi在第k个属性上的取值,X=[χ1,χ2,…,χn]T表示节点的属性特征向量矩阵,L={l1,l2,…,lq}为类标签集合,矩阵Y=[y1,y2,…,yn]T则表示分配每一个标签给所有节点υi的概率集合;
[0025] S42:构造随机跳转到每个顶点的概率分布向量n,邻接矩阵(adjacent matrix)P,初始概率分布向量s0,跳转发生概率(teleporting probability)α,发生跳转时跳转到图中每个顶点的概率分布向量d,每次游走过程后的输出概率分布向量记作s。
[0026] S43:对每个节点υi∈V,将其相关联的所有边{(υi,υj)|i≠j,(υi,υj)∈E},按照其权重ωij排序,保留其中权重最小(即距离最近)的k条边,将其他边从图G中删,以完成对图的剪枝。
[0027] S44:对于未分类数据,计算该数据具有每个标签的概率,再与阈值向量PT比较以确定每个标签的有无,完成标签取舍。
[0028] 步骤S41中的权重矩阵W为:
[0029]
[0030] ωij表示权重值,dis(vi,vj)表示对应节点在d维空间中的距离。
[0031] 步骤S42所述邻接矩阵P的计算过程为:对任意节点υ,在υ的所有邻居节点中,如果一个节点距离υ越远,则游走到这个顶点的概率就越低,如下式所示:
[0032]
[0033] Mij表示节点υi到节点υj的概率,m表示训练数据的训练集合,然后对矩阵进行归一化处理:
[0034]
[0035] M′ij表示节点υi到节点υj的概率的归一化处理后的结果,Pij表示节点υi到节点υj经过随机游走算法得到的更新后的特征概率分布矩阵。
[0036] 此时的概率分布矩阵P即为输入的邻接矩阵,根据邻接矩阵P,初始概率分布向量s0,跳转发生概率α,发生跳转时跳转到图中每一个顶点的概率分布向量n,每次游走过程后的输出概率分布记为s,则s的计算方法为s=(1-α)PTs0+αn,0<α<1,将向量s作为上式的输入s0,反复迭代上式直至收敛,将此时的概率分布向量记作π,满足π=(1-α)PTπ+αn,式中的向量π即为稳定的概率分布向量;假设从某个顶点出发跳转到图中任意一个顶点的概率是相等的,得到随机跳转到每个顶点的概率分布向量:
[0037]
[0038] 式中m训练数据的训练集合。
[0039] 本发明的优点及有益效果:
[0040] 本发明使用随机游走算法,在过程中的每一步状态转移都可以用概率进行描述,因此非常适合于描述图节点之间的状态转移关系。
[0041] 结合用户偏好的属性特点,从系统级层面设计了利用用户偏好进行用户分类的处理框架,以较为精确、高效率的方式对用户进行分类。本发明的方法将有助于对用户进行精准推荐,以及在用户偏好发生变化同时,能及时的调整对用户的推荐结果,为用户提供更可靠的服务。基于用户数据属性和和用户关联性的方法的步骤流程图,可以有效解决初始数据稀疏性的问题。

附图说明

[0042] 图1是本发明中一种多标签分类的手机应用推荐系统模块示意图;
[0043] 图2是本发明随机游走图;
[0044] 图3是本发明推荐方法的流程图。

具体实施方式

[0045] 下面将结合发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
[0046] 如图1所示,一种基于手机应用市场中应用的推荐方法,具体包括如下步骤:
[0047] S1:获取用户手机上的应用信息,将用户数据进行整理,得到用户应用数据(应用名称)。
[0048] S2:利用数据挖掘的技术,找到应用相对应的属性标签,将得到的用户应用进行属性划分,对所有的应用进行归纳整理,得到每个用户的属性标签集用矩阵的形式表达。
[0049] S3:将得到的用户属性标签存入到数据数据库中,此时每当用户新下载一个应用时,用户数据库中相应用户属性标签也会发生动态变化。
[0050] S4:分析用户的属性,每当用户属性有相同的时候,其属性的权值也会越高,根据半随机游走算法对用户进行分类,将学习用户初始化类别标签以及通过迭代推理获得用户稳定标签,利用实例间存在的关系网络信息把类别标签传播到其余未标签应用或更新已有的标签信息。
[0051] S5:根据随机游走算法得到的新标签,匹配数据中的应用属性标签,找到相对于的应用集合,即产生推荐结果。
[0052] 进一步,S3)中所述的数据库实时变化的具体方法包括以下步骤:每当用户重新下载一个新的应用或者卸载应用时,服务器端会检测到用户的数据变化,及时的更新用户的数据库。
[0053] 进一步,S4)中所述的对用户进行分类的具体方法包括以下步骤:
[0054] S41:构建一个加权无向图G(V,E,W,X,L,Y),其中节点集V={υ1,υ2,…,υm}对应为用户,E为边的集合,W为E对应的权重矩阵, 表示节点υi与υj之间边的权重值,W实质上对应为用户的关系网络特征矩阵。每一个节点υi∈V都分配一个对应的d维空间向量χi=(ti1,ti2,…,tid)∈Rd,Rd表示在实数域R上的d维输入数据空间输入数据空,,其中tik表示为T节点υi在第k个属性上的取值,X=[χ1,χ2,…,χn] 表示节点的属性特征向量矩阵,L={l1,l2,…,lq}为类标签集合,矩阵Y=[y1,y2,…,yn]T则表示分配每一个标签给所有节点υi的概率集合。
[0055] S42:构造随机跳转到每个顶点的概率分布向量n,邻接矩阵P(adjacent matrix),初始概率分布向量s0,跳转发生概率α(teleporting probability),发生跳转时跳转到图中每个顶点的概率分布向量n。每次游走过程后的输出概率分布向量记作s。
[0056] S43:图剪枝。标签集的势值平均每条数据具有的标签数,当数据集足够大的时候,图G中的边数会大大增加,此时算法的空间消耗快速上升,因此,需要对图进行剪枝,以降低算法的空间消耗。具体操作如下:已知图G=(V,E),其上的权重为W,则图G上的Top-k剪枝指的是,对每个顶点υi∈V,将其相关联的所有边{(υi,υj)i≠j,(υi,υj)∈E},按照其权重ωij排序,保留其中权重最小(即距离最近)的k条边,将其他边从图G中删除。
[0057] S44:标签取舍。当输入一个未分类数据x时,可求出x具有每个标签的概率分布.通过该概率分布,可以得到一个排序后的标签集合。此时,为了决定每个标签的取舍,还需要为每个标签给定一个阈值,将概率大于阈值的标签集合作为x的预测标签集合Px。当输入一个未分类数据时,首先通过多标签随机游走算法得到x具有每个标签的概率,而后与根据q维概率分布向量的接受阈值和拒绝阈值得到的阈值向量比较,进而确定每个标签的有无。
[0058] S45:根据得到的属性标签,与数据库中的应用属性进行对比,得到相应的应用集合,然后对用户进行推荐。
[0059] 进一步,S41中所述的随机游走图G上的权重矩阵W,如下公式:
[0060]
[0061] 边的权值即为训练数据对应顶点在d维空间中的距离,记作dis(vi,vj)本发明采用欧式距离作为距离函数。
[0062] 进一步,S42所述的基于权重矩阵W计算邻接矩阵P基本思想是,对任意顶点υ,在υ的所有邻居顶点中,如果一个顶点距离υ越远,则游走到这个顶点的概率就越低,如式所示:
[0063]
[0064] Mij表示节点υi到节点υj的概率,m表示训练数据的训练集合,然后对矩阵进行归一化处理。
[0065]
[0066] 其中M′ij表示节点υi到节点υj的概率的归一化处理后的结果,Pij表示节点υi到节点υj经过随机游走算法得到的更新后的特征概率分布矩阵。
[0067] 此时的概率分布矩阵P即为输入的邻接矩阵,根据邻接矩阵P,初始概率分布向量s0,跳转发生概率α,发生跳转时跳转到图中每一个顶点的概率分布向量n,每次游走过程后的输出概率分布记为s,则s的计算方法为s=(1-α)PTs0+αn,0<α<1,将向量s作为上式的输入s0,反复迭代上式直至收敛,将此时的概率分布向量记作π,满足π=(1-α)PTπ+αn,式中的向量π即为稳定的概率分布向量;假设从某个顶点出发跳转到图中任意一个顶点的概率是相等的,得到随机跳转到每个顶点的概率分布向量,其中m代表训练数据的训练集合:
[0068]
[0069] 进一步,S44所述的标签取舍具体操作如下:
[0070] 首先对训练集合D进行随机采样,生成采样集合D'。对D'中的每一个数据χi,以χi对应的顶点为输入应随机游走算法,由式中可以得到一个q维的概率分布向量,记作Pi,而后我们使用这|D'|个向量通过如下操作得到一个q维的接受阈值(accept threshold)向量和一个q维的拒绝阈值(reject threshold)向量,分别记作Pa、Pr,如:
[0071] Pa(j)=avg{Pi(j)|χi∈D',λj∈Yi}
[0072]
[0073] 其中,Pa(j)表示向量Pa的第j个元素,其它类同,λj代表标签集合中的某一标签,Yi是χi的真实标签集合,最终的阈值向量为这两个阈值的平均:PT=avg{Pa,Pr}。当输入一个未分类数据时,首先通过算法得到χ具有每个标签的概率,而后与阈值向量PT比较,进而确定每个标签的有无。
[0074] 如附图1所示,本发明一种多标签分类的手机应用推荐系统主要包括但不限于5个部分:数据获取模块,数据处理模块,数据存储模块,业务逻辑模块,显示模块。
[0075] 数据获取模块,主要负责与业务层的数据通信,接收数据请求以及用户的数据;
[0076] 数据处理模块,主要是将用户的数据进行分类处理,首先根据用户手机上的应用得到其应用的属性类别;
[0077] 数据存储模块,主要是将处理后得到的用户应用属性标签存到相应的数据库中;
[0078] 业务逻辑模块,首先将用户应用的属性标签转换为属性矩阵,再利用随走游走算法学习用户初始化类别标签以及迭代推理获得用户稳定标签分布,实现对用户属性标签的更新或对新用户的标签确认;
[0079] 显示模块,主要是根据新标签匹配相应属性标签的应用,将得到的结果返回给用户。
[0080] 其中,数据获取模块是采集用户的应用数据,采用数据挖掘技术,实现对应用的属性标签的提炼,将用户的属性标签存入数据库中。随着时间的推移,用户的数据不断的发生变化,其相应的。数据库中的属性集合也会发生变化,以此实现对用户的精准推荐。
[0081] 本发明所提出的随机游走算法,采用用户的属性矩阵,实现对用户的属性标签的更新,更解决了用户冷启动的问题,其功能简述如下:
[0082] 随机游走过程中的每一步状态转移都可以用概率进行描述,因此非常适合于描述图节点之间的状态转移关系。那么在图G上的一次随机游走指的是首先从某一个节点开始,然后在每一步中按照某个概率值跳转到下一个邻居节点,直至在某一个节点结束游走的过程。因为图G是带权图(如图2所示),从某个节点跳转到下一个邻居节点的概率正比于两个节点之间的边权重,在图G上随机游走t步后,能获得一个概率分布矩阵,一个节点的属性信息中学习初始化分类标签;在迭代推理阶段,基于随机游走的迭代推理算法用于更新每一个节点的标签分布。随机游走如图2所示。标签迭代更新算法在没有节点的标签分布有变化时或者迭代次数满足指定阈值时可以终止。当输入一个未分类数据x时,将x对应的顶点记作u,基于多标签的随机游走算法将以u作为起点应用q次随机游走模型。具体地,在第k次应用随机游走时,将u与所有具有标签λk的点相连得到多标签随机游走图。图2中,将u与具有标签λ1的点(υ1,υ2,υ3)相连,得到图a,将u与具有标签λ2的点(υ3,υ4,υ5,υ6)相连,得到图b。
[0083] 如果对所有节点进行排序,把有标签的节点排列在无标签节点的前面,那么图G的随机游走概率转移矩阵P可以重写为如下所示分块矩阵的形式:
[0084]
[0085] 其中,Puu,Pll为有标签节点之间的概率转移矩阵区块,因为一次随机游走到达有标签节点时将终止在该节点,所以Pll可以等价于单位矩阵I的式;Pul,Plu是一个元素全为0的矩阵。当t→∞时,可获得稳定的转移概率分布P∞,且有:计算P∞将不可行,从而不能根据下式预测节点类别标签。
[0086]
[0087] Y为记录了所有节点标签分布概率的矩阵,那么可假设Y=[Yl,Yu]T,其中Yl对应Vl中所有节点的标签分布矩阵区块,Yu对应于Vu中所有节点的标签分布矩阵区块,其中Vl,Vu为用户节点集V={υ1,υ2,…,υm}划分的两个子集。 表示最终节点类别标签分布, 表示节点之间的类标签相似性。
[0088] 事实上,上式可以等价转化为迭代推理预测分类标签分布的形式:Yt=PYt-1。其中,Yt表示在图G进行t步随机游走后的节点标签分布,可以推断节点υi在t步随机游走后的标签分布 为 其中,Wi=(wi1,wi2,…,win)为W的第i个行向量。使用上式可以在每一次随机游走后集体更新Y中的每一标签分布向量,如果标签分布稳定或者随机游走步数达到最大值,则可以停止更新每一个标签分布向量。在实际应用中,基于随机游走的迭代推理算法可以使用准则 作为迭代过程的收敛条件,其中φ是预先设定的
阈值,如果Yt和Yt-1之间的欧几里得范式不大于φ,那么迭代过程可以终止。
[0089] 这样,一个完整地数据处理模块过程就完成了。紧接着将输出结果写到数据库中,设置相应的业务逻辑,即实现系统的用户管理和用户权限体系逻辑。最后提供结合用户已有数据对用户进行推荐。
[0090] 如附图3所示,本发明一种基于用户数据属性和和用户关联性的方法的步骤流程图,可以有效解决初始数据稀疏性的问题。该方法包括以下步骤:
[0091] S1:对于入网的用户查找其的数据属性,此时需要判断用户是否为新用户;
[0092] S2:若用户为新用户,则采取随机游走算法,对其进行属性概率分析,采取阈值法去除低概率属性。
[0093] S3:若用户为老用户,将根据用户的手机应用属性,在原有属性标签的基础上,采取随机游走算法,更新用户的属性标签。将得到的用户属性,与数据库中应用属性标签进行匹配,以此得到用户关系最为密切的推荐结果。
[0094] 本发明结合用户偏好的特点,从系统级层面上设计了基于随机游走算法的处理框架,以较高地效率完成了对用户的分类。
[0095] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点看,均应将实例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0096] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。