一种预测社交网络用户属性的方法转让专利

申请号 : CN201710475429.X

文献号 : CN107368534B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王梦伊陈志岳文静刘亚威

申请人 : 南京邮电大学

摘要 :

本发明公开了一种预测社交网络用户属性的方法,包括以下步骤:步骤1)采集社交网络信息数据,并对数据进行清洗,获得社交网络清洗后的数据,步骤2)定义社交网络图模型;步骤3)对数据进行分析,步骤4)对数据进行特征提取,步骤5)采用局部全局一致性算法预测隐藏属性,步骤6)获得预测结果。本发明提高了社会网络用户的属性的预测准确性,使用通用的半监督学习框架,来推断用户的属性。根据用户的数据类型建立训练模型,使用基于图的协同训练模型,推断用户的属性。本发明能够让社交网络用户拥有更好的使用体验,帮助系统更精准地自动为用户进行分组、内容共享和推荐朋友。

权利要求 :

1.一种预测社交网络用户属性的方法,其特征在于:包括以下步骤:步骤1)采集社交网络信息数据,并对数据进行清洗,获得社交网络清洗后的数据,具体步骤如下:步骤11)将同一用户的属性封装成一个类,将值为字符串的,每个字符串分配一个唯一的数字ID,将包含地点的转化为经纬度表示;

步骤12)去除不具备分类能力的属性;

步骤13)将属性少于60个的用户删除,选择一个用户的属性有多个值的,提取排在其最前面的值;

步骤2)定义社交网络图模型,具体步骤如下:

步骤21)定义社交网络图G=(V,E),其中,V为节点,表示用户;E为边,表示用户间的关系;

步骤22)对于表示用户i的节点vi,vi∈V,i={1,2,3....,n},用一个向量Ai表示用户i的属性,其中, n为用户的数量,m为用户i的属性数, 为用户i的第j个属性;

步骤23)定义Dc为标记过的数据集,定义Lc为标记过的数据集Dc对应的标签集,其中,Dc=(d1,d2,...,dl),di∈D,i∈(1,2,...,l),Lc=(L1,L2,...,Ll),Li∈τ,i∈(1,2,...,l),D为数据集,τ为标签集,l为标记过的标签集;

步骤24)定义Du为未标记过的数据集,定义Lu为未标记过的标签集,其中,Du=(d1+l,d2+l,...,dq),Lu=(L1+l,L2+l,...,Lq),q为标签的数量;

步骤3)对数据进行分析,具体步骤如下:

步骤31)计算用户属性相同时成为朋友的概率Sa, 其中,ai,ak∈A,i,k∈(1,2,...,n),A为所有用户的属性的集和;E为用户间关系的集合,s.t.表示受约束于,是subject to的缩写;

步骤32)计算属性值相同时成为朋友的经验概率Pa, 其中,Ti为在属性a中,值为第i个值的个数,k为属性a的值的个数,a∈A;

步骤33)计算属性的密切度Ca,所述 其中,Sa为用户属性相同时为朋友的概率,Pa为属性值相同时成为朋友的经验概率;

步骤4)对数据进行特征提取,具体步骤如下:

步骤41)计算数据的信息熵Entropy(S)、信息增益Gain(S,a)、分裂情况Split(S,a)和增益比GainRatio(S,a),通过这些评价值,来选取需要的特征和需要预测的特征,其中,其中,M为属性集合的大小;Si为与用户i属性相同时为朋友的预测结果,Pi为属性值的第i个相同时成为朋友的经验概率Pi,S为预测结果;|Qx|为属性的值为x的用户成为朋友的概率;

步骤42)选取增益比的值最大的三个属性作为用来预测的训练属性;

步骤5)采用局部全局一致性算法预测隐藏属性,具体步骤如下:步骤51)对于每个Vi,Vj∈V,i,j={1,2,...,n},计算相似度d(i,j),其中,为属性相似度, 为组相似度,为关系相似度,Ai和Aj为用户i和j的属性集, 为Ai的逆矩阵,Gi和Gj为用户i和j所在的组,r为用户i和j建立联系所经过的用户数;

步骤52)初始化相似-矩阵W为0,对于所有i,j=(1,2,...,n),如果i不等于j,计算wij,当vi,vj∈V且Li=Lj,i,j={1,2,...,l}时,wij=0;当vi,vj∈V且Li≠Lj,i,j={1,2,...l}时,wij=1;其他情况 Li和Lj分别为用户i和j的标签,vi和vj便是用户i和j的节点,d(i,j)为用户i和j的相似度,σ为相似度的平均值,n为用户的个数;

步骤53)初始化对角矩阵D, 计算预测结果S,

步骤54)初始化 初始化迭代次数t=0,选择α∈[0,1),l为标记过的标签集;

步骤55)计算第t+1次迭代 S是预测结果,t为迭代次数;

步骤56)判断是否收敛,如果收敛,结束循环,否则,t=t+1,执行步骤55);

步骤6)获得预测结果,步骤如下:

步骤61)获得预测结果S,其中 n为用户的数量,τ为标签集,l为标记过的标签集,si∈S;

步骤62)将得到的集合S添加到最终解空间Solution,集合S是预测结果。

2.根据权利要求1所述的预测社交网络用户属性的方法,其特征在于:步骤1)中,采用爬虫或API来采集社交网络信息,采集的策略为广度优先。

3.根据权利要求1所述的预测社交网络用户属性的方法,其特征在于:步骤11)中,采集社交网络信息数据时,忽略人数少于30的社交网络组织。

4.根据权利要求1所述的预测社交网络用户属性的方法,其特征在于:步骤12)中,不具备分类能力的属性是指具有特殊或唯一的值。

5.根据权利要求1所述的预测社交网络用户属性的方法,其特征在于:步骤56)中,收敛条件是 其中,ε是常数,取值为0.0001,t为迭代次数。

说明书 :

一种预测社交网络用户属性的方法

技术领域

[0001] 本发明涉及社交网络用户属性预测方法,主要是从全局角度建立一个机器学习模型来优化推测模型的准确性,属于计算机技术、信息技术、人工智能技术交叉技术应用领域。

背景技术

[0002] 半监督预测模型是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的意义。半监督学习算法利用训练数据中有类标签的样本和无类标签的样例,以及未知的测试样例一起进行训练,不仅预测训练数据中无类标签的样例的类标签,更主要的是预测未知的测试样例的类标签。

发明内容

[0003] 本发明目的是提供一种预测社交网络用户属性的方法,以解决社会网络用户的属性的预测问题,使用通用的半监督学习框架,根据用户的数据类型建立训练模型,使用基于图的协同训练模型,推断用户的属性。
[0004] 本发明为解决上述技术问题采用以下技术方案:
[0005] 一种预测社交网络用户属性的方法,包括以下步骤:
[0006] 步骤1)采集社交网络信息数据,并对数据进行清洗,获得社交网络清洗后的数据,具体步骤如下:
[0007] 步骤11)将同一用户的属性封装成一个类,将值为字符串的,每个字符串分配一个唯一的数字ID,将包含地点的转化为经纬度表示;
[0008] 步骤12)去除不具备分类能力的属性;
[0009] 步骤13)将属性少于60个的用户删除,选择一个用户的属性有多个值的,提取排在其最前面的值;
[0010] 步骤2)定义社交网络图模型,具体步骤如下:
[0011] 步骤21)定义社交网络图G=(V,E),其中,V为节点,表示用户;E为边,表示用户间的关系;
[0012] 步骤22)对于表示用户i的节点Vi,Vi∈V,i={1,2,3....,n},用一个向量Ai表示用户i的属性,其中, n为用户的数量,m为用户i的属性数, 为用户i的第j个属性;
[0013] 步骤23)定义Dc为标记过的数据集,定义Lc为标记过的数据集Dc对应的标签集,其中,Dc=(d1,d2,...,dl),di∈D,i∈(1,2,...,l),Lc=(L1,L2,...,Ll),Li∈τ,i∈(1,2,...,l),D为数据集,τ为标签集,l为标记过的标签集;
[0014] 步骤24)定义Du为未标记过的数据集,定义Lu为未标记过的标签集,其中,Du=(d1+l,d2+l,...,dq),Lu=(L1+l,L2+l,...,Lq),q为标签的数量;
[0015] 步骤3)对数据进行分析,具体步骤如下:
[0016] 步骤31)计算用户属性相同时成为朋友的概率Sa, 其中,ai,ak∈A,i,k∈(1,2,...,n),A为所有用户的属性的集和;E为用户间关系的集合,s.t.表示受约束于,是subjectto的缩写;
[0017] 步骤32)计算属性值相同时成为朋友的经验概率Pa, 其中,Ti为在属性a中,值为第i个值的个数,k为属性a的值的个数,a∈A;
[0018] 步骤33)计算属性的密切度Ca,所述 其中,Sa为用户属性相同时为朋友的概率,Pa为属性值相同时成为朋友的经验概率;
[0019] 步骤4)对数据进行特征提取,具体步骤如下:
[0020] 步骤41)计算数据的信息熵Entropy(S)、信息增益Gain(S,a)、分裂情况Split(S,a)和增益比GainRatio(S,a),通过这些评价值,来选取需要的特征和需要预测的特征,其中,
[0021]
[0022]
[0023]
[0024] 其中,M为属性集合的大小;Si为用户i属性相同时为朋友的概率,Pi为属性值的第i个相同时成为朋友的经验概率Pi,S为要预测的属性,|Sx|为属性为x的用户成为朋友的概率;
[0025] 步骤42)选取增益比的值最大的三个属性作为用来预测的训练属性;
[0026] 步骤5)采用局部全局一致性算法预测隐藏属性,具体步骤如下:
[0027] 步骤51)对于每个Vi,Vj∈V,i,j={1,2,...,n},计算相似度d(i,j),其中,为属性相似度, 为组相似度,为关系相似度,Ai和Aj为用户i和j的属性集, 为Ai的逆矩阵,Gi和Gj为用户i和j所在的组,r为用户i和j建立联系所经过的用户数;
[0028] 步骤52)初始化相似W矩阵为0,对于所有i,j=(1,2,...,n),如果i不等于j,计算wij,当vi,vj∈V且Li=Lj,i,j={1,2,...,l}时,wij=0;当vi,vj∈V且Li≠Lj,i,j={1,2,...l}时,wij=1;其他情况 Li和Lj用户i和j的标签,vi和vj便是用户i和j的节点,d(i,j)为用户i和j的相似度,σ为相似度的平均值,n为用户的个数;
[0029] 步骤53)初始化对角矩阵D, 计算要预测的矩阵S,
[0030] 步骤54)初始化 初始化迭代次数t=0,选择α∈[0,1),l为标记过的标签集;
[0031] 步骤55)计算第t+1次迭代 S是预测矩阵,t为迭代次数;
[0032] 步骤56)判断是否收敛,如果收敛,结束循环,否则,t=t+1,执行步骤55);
[0033] 步骤6)获得预测结果,步骤如下:
[0034] 步骤61)获得预测结果V,其中 n为用户的数量,τ为标签集,l为标记过的标签集,vi∈V;
[0035] 步骤62)将得到的集合V添加到最终解空间Solution,集合V是预测结果。
[0036] 步骤11)中,采集社交网络信息数据时,忽略人数少于30的社交网络组织。
[0037] 步骤12)中,不具备分类能力的属性是指具有特殊或唯一的值。
[0038] 步骤56)中,收敛条件是 其中,ε是一个很小的常数,本发明中ε的取值为0.0001,t为迭代次数。
[0039] 有益效果:本发明将用户已知属性定义成图结构,使用一个机器学习方法来预测用户的属性,选择一个局部全局一致性算法作为分类器,通过迭代来提高准确度。本发明提高了社会网络用户的属性的预测准确性,使用通用的半监督学习框架,来推断用户的属性。根据用户的数据类型建立训练模型,使用基于图的协同训练模型,推断用户的属性。本发明能够让社交网络用户拥有更好的使用体验,帮助系统更精准地自动为用户进行分组、内容共享和推荐朋友。
[0040] 本发明与现有技术相比,具有以下有益效果:
[0041] 1)本发明通过分析已有数据,能够预测出隐藏属性的值。
[0042] 2)本发明采用了半监督学习算法来预测社交网络用户的隐藏属性,能够不断的进行学习,使用潜在的数据信息。

附图说明

[0043] 图1是预测社交网络用户属性方法流程。

具体实施方式

[0044] 下面对本发明使用的预测社交网络用户属性方法具体实施例作更详细的描述。
[0045] 根据附图1所示预测社交网络用户属性方法流程,发明具体实施方式为:
[0046] 采用爬虫或API来采集社交网络信息,采集的策略一般采用广度优先。将采集的数据封装好,保存为便于处理的格式,将同一用户的属性封装成一个类,将值为字符串的,每个字符串分配一个唯一的数字ID,将包含地点的转化为经纬度表示,忽略人比较少的组织,一般忽略人数少于30的组织。在具体实施中,删除不具备分类能力的属性。每个用户都有一个唯一的“QQ”号码、移动电话号码等,这些属性只分配特殊(或唯一)的值,因此不具备分类能力,所以不选择这些属性。将属性少于60个的用户删除,选择一个用户的属性有多个值的,提取排在其最前面的值。
[0047] 在上述获取数据并对数据进行清理之后,定义社交网络图G=(V,E)、建立标记过的数据集Dc和标记过的标签集Lc和未标记过的数据集Du和未标记过的标签集Lu。V为节点,表示用户;E为边,表示用户间存在关系;对于表示用户i的节点Vi,Vi∈V,i={1,2,3....,n},用一个向量Ai表示用户i的属性, m为用户i的属性数,为用户i的第j个属性,所述Dc=(d1,d2,...,dl),di∈D,i∈(1,2,...,l),所述Lc=(L1,L2,...,Ll),Li∈τ,i∈(1,2,...,l),D为数据集,τ为标签集,l为标记过的标签集里标签的数量。建立未标记过的数据集Du和未标记过的标签集Lu,Du=(d1+l,d2+l,...,dn),Lu=(L1+l,L2+l,...,Ln),n为标签的数量。
[0048] 现在给定图G=(V,E)和标签集Dc=(d1,d2,...,dl),需要预测未标记过的数据集V为节点,表示用户;E为边,表示用户间存在关系;L1+l,L2+l,...,Ln∈τ,di∈D,i∈(1,2,...,l),D为数据集,τ为标签集,l为标记过的标签集里标签的数量,n为标签的数量。
[0049] 下面对数据进行分析。在具体实施中,计算用户属性相同时成为朋友的概率Sa、属性值相同时成为朋友的经验概率Pa和属性的密切度Ca,这里E为用户间关系的集合,s.t.表示受约束于,
Ti为在属性a中,值为第i个值的个数,k为属性a的值的个数,a∈A,
Sa为用户属性相同时为朋友的概率,Pa为属性值相同时成为朋友的经验概率。
[0050] 在数据进行分析之后,对数据进行特征提取,计算数据的信息熵Entropy(S)、信息增益Gain(S,a)、分裂情Split(S,a)和增益比GainRatio(S,a),通过这些评价值,来选取需要的特征和需要预测的特征,所述 这里
M为属性集合的大小,Si为用户i属性相同时为朋友的概率,Pi为属性值的第i个相同时成为朋友的经验概率Pi,S为要预测的属性,|Sx|为属性为x的用户成为朋友的概率。在具体实施中,选取增益比的值最大的三个属性作为用来预测的训练属性。
[0051] 下面采用局部全局一致性算法预测隐藏属性,具体实施过程如下:
[0052] (1)对于每个Vi,Vj∈V,i,j={1,2,...,n},计算相似度d(i,j),为属性相似度; 为组相似度;
为关系相似度;述Ai和Aj为用户i和j的属性集, 为Ai的逆矩阵,Gi和Gj为用户i和j所在的组,r为用户i和j建立联系所经过的用户数。
[0053] (2)初始化相似W矩阵为0,对于所有i,j=(1,2,...,n),如果i不等于j,计算wij,当vi,vj∈V且Li=Lj,i,j={1,2,...,l}时,wij=0;当vi,vj∈V且Li≠Lj,i,j={1,2,...l}时,wij=1;其他情况 Li和Lj用户i和j的标签,vi和vj便是用户i和j的节点,d(i,j)为用户i和j的相似度,σ为相似度的平均值。接着初始化对角矩阵D,计算要预测的矩阵S, 并初始化 初始
化迭代次数t=0,选择α∈[0,1),l为标记过的标签集。
[0054] (3)计算第t+1次迭代 S是预测矩阵。
[0055] (4)判断是否收敛,如果收敛,结束循环,否则,t=t+1,执行步骤53),收敛条件是是 其中,ε是一个很小的常数,本发明中ε的取值为0.0001,t为迭代次数。
[0056] 在获得预测结果V后,见该集合V添加到最终解空间Solution,其中 τ为标签集,l为标记过的标签集。