CN107145977B - 一种对在线社交网络用户进行结构化属性推断的方法 - Google Patents
一种对在线社交网络用户进行结构化属性推断的方法 Download PDFInfo
- Publication number
- CN107145977B CN107145977B CN201710296508.4A CN201710296508A CN107145977B CN 107145977 B CN107145977 B CN 107145977B CN 201710296508 A CN201710296508 A CN 201710296508A CN 107145977 B CN107145977 B CN 107145977B
- Authority
- CN
- China
- Prior art keywords
- user
- attribute
- node
- vector
- users
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000013598 vector Substances 0.000 claims abstract description 126
- 238000003062 neural network model Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 21
- 238000005295 random walk Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims 1
- 210000002569 neuron Anatomy 0.000 description 15
- 238000012795 verification Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Abstract
本发明公开了一种对在线社交网络用户进行结构化属性推断的方法,将用户的多个属性编码为结构化的组合属性类别向量,通过在用户节点关系图G中进行权重化的随机游走获取用户节点序列集,然后利用词转向量工具Word2Vec生成每个用户节点的实数值向量表示;构建一个的全连接神经网络模型进行训练。在用户属性推断时,将需要推断属性的用户节点向量表示输入到训练好的神经网络模型中,计算得出每个组合属性类别向量的概率,取概率最大的为该用户的组合属性类别。本发明只需提取部分用户的属性信息以及用户间的好友关系(或关注关系),无需获取额外的用户行为特征数据;同时,所提出的方法充分利用属性之间内在联系,提高了属性推断的准确度。
Description
技术领域
本发明属于网络信息技术领域,更为具体地讲,涉及一种对在线社交网络用户进行结构化属性推断的方法。
背景技术
属性推断是用来自动预测在线社交网络中用户的未知属性和潜在特质的主要技术手段,可应用于市场分析中定义不同的客户类型,深度挖掘用户属性信息以优化个性化的推荐方法,同时针对可能的用户属性推断攻击采取相应的保护措施。如推测用户的年龄、性别、地理位置、兴趣、职业等,这些信息可用于商品推荐、资讯推荐。
已有属性推断方法提取的特征包括用户本身的个人信息如性别、年龄、职业、教育水平,以及用户的行为信息如浏览的网页、共享的位置、购买的商品数据等。然而由于涉及个人隐私,提取的用户个人信息往往存在不真实不全面的问题;用户行为信息(特征数据)大多数也不容易获取,且需耗费大量的时间和资源。
此外,已有属性推断采取多个属性分别预测的方法,忽视了属性之间本身存在的相关性质,因此已有属性推断方法效率低且准确性不高。同时,已有属性推断方法的思路是利用用户的行为特征相似,进而推断用户属性存在相同的趋势,通过提取用户行为特征进行用户建模,从而设计算法进行单个属性推断。尽管已有属性推断方法完成了属性推断的任务,但其所需的输入信息较多,且难以避免不真实的用户信息对属性推断结果的影响,故而属性推断的可移植性不高。
发明内容
本发明的目的在于克服现有属性推断的不足,提出一种对在线社交网络用户进行结构化属性推断的方法,以提高属性推断的效率和准确性,并避免不真实的用户信息对属性推断结果的影响,改善属性推断的可移植性。
为实现上述发明目的,本发明对在线社交网络用户进行结构化属性推断的方法,其特征在于,包括以下步骤:
(1)、确定在线社交网络
根据需求,确定一个需要进行用户属性推断的在线社交网络(OSN),且该在线社交网络中用户的每个属性即用户属性Atti只有一个值,其中,i为用户属性编号;
(2)、选取部分已知用户属性的用户,构建其0-1组合属性类别向量
2.1)、将用户属性规范为I个,对于用户的第i个属性Atti,统计其属性值个数Ni,并构建只有一个位置为1的、元素个数为Ni的0-1形式向量:0-1形式向量的每一位对应一个属性值,如果已知用户属性的用户,其第i个属性Atti属于某一个属性值,则0-1形式向量中对应属性值位为1;
2.2)、将已知用户属性用户的所有属性Atti对应的0-1形式向量组合在一起,形成一个结构化属性向量;
2.3)、构建一个映射表:映射表的索引为结构化属性向量所有可能的取值,映射值为只有一个位置为1的、元素个数为D的0-1组合属性类别向量,D为结构化属性向量所有可能的取值数量,索引与映射值一一对应;
已知用户属性用户的结构化属性向量根据其取值,查找映射表,得到其对应的0-1组合属性类别向量Vec_tk,其中,k为已知用户属性用户的编号,k=1,2,...,K,K为已知用户属性用户的数量;
(3)、权重化随机游走,获取用户节点序列集WalkList
将在线社交网络中用户间存在的好友关系表示为由代表用户的节点集V和代表用户间好友关系的边集E组成的无向图即用户节点关系图G;
对用户节点关系图G中所有节点进行遍历,得到在线社交网络OSN的用户节点序列集WalkList:
3.1)、对于在线社交网络OSN,初始化节点之间的权重为1;
3.2)、第一趟遍历用户节点关系图G中的所有节点时,依次选择一个节点作为开始节点进行权重修改的随机游走,游走时从开始节点或到达节点的邻居节点中,选择一个邻居节点作为下一跳,同时修改并保存两节点之间的权重,权重修改方式如下:①若选择的邻居节点与上一节点相同,则以两个节点之间的权重乘以1/p的概率修改两节点之间的权重;②若选择的邻居节点与上一节点互为邻居节点,则两节点之间的权重不变;③若选择的邻居节点并无上述两种关系,则以两个节点之间的权重乘以1/q的概率修改两节点之间的权重,直到走过的节点形成一个长度L的节点序列;
下一趟遍历时,某一节点在选择下一跳节点时,计算其所有邻居节点的权重之和wa,每个邻居节点被选为下一跳的概率为wj/wa,权重比越大的邻居节点被选中的概率越大,选中某一邻居节点后,按照权重修改方式修改两节点之间的权重并保存;其中,wj为所述节点与邻居节点之间的权重;
每次遍历结束得到以不同节点作为起点的节点序列集,多趟循环遍历用户节点关系图G中的所有节点,得到多个节点序列集并组成用户节点序列集WalkList;
(4)、获取S维空间的用户节点向量表示
将用户节点序列集WalkList用词转向量工具Word2Vec进行转换,得到用户在S维空间(S一般取值范围在几十到几百之间)的向量表示,具体为:
将用户节点序列集WalkList中的所有节点序列输入词转向量工具Word2Vec中,按照设置的窗口(window-size)以及维度(dimensions=S)进行转换,得到各个用户xv(v∈V)在S维空间对应的向量Vec_xv;
(5)、训练得到一个全连接神经网络模型
构建一个全连接神经网络,将K个已知用户属性的用户节点向量Vec_x1,Vec_x2,...,Vec_xK以及对应的0-1组合属性类别向量Vec_t1,Vec_t2,...,Vec_tK作为训练集,放入全连接神经网络中进行训练,得到一个全连接神经网络模型;
(6)、推断用户属性
将需要推断用户属性的用户节点向量Vec_xu,输入到已经训练好的全连接神经网络模型中,通过各层网络计算,最终输出一个概率向量,概率向量中每一个位置对应一个0-1组合属性类别向量取值,输出的概率向量中最大值的所在位置对应的0-1组合属性类别向量取值即为该需要推断用户属性用户的结构化属性,根据步骤(2),可得到该用户的I个用户属性。
本发明的目的是这样实现的。
本发明对在线社交网络(OSN)用户进行结构化属性推断的方法,可从OSN用户中提取好友关系来同时推断用户的多个属性。根据推断属性需求,提取一个在线社交网站中所有用户的多个属性以及它们之间存在的好友关系进行预处理,将整个OSN中的用户关系表示为节点集V和边集E组成的无向图;将每个用户的结构化属性向量映射成one-hot编码的组合属性类别向量;接着在该无向图即用户节点关系图G中进行权重化的随机游走获取用户节点序列集;然后利用词转向量工具Word2Vec生成每个用户的向量表示即节点向量;再构建一个五层的神经网络模型,以OSN中的已知用户属性的用户节点向量和组合属性类别向量作为训练集,训练得到一个全连接神经网络模型。将需要推断用户属性的用户节点向量输入到训练好的全连接神经网络模型中,计算得出每个组合属性类别向量的概率,取概率最大的为该用户的组合属性类别,对应的结构化属性向量即为该用户的推断属性集。本发明可应用于市场分析中定义不同的客户类型,深度挖掘用户属性信息以优化个性化的推荐方法,同时针对可能的属性推断攻击采取相应的保护措施。
本发明具有以下有益效果:
(1)、本发明仅基于OSN用户的好友关系来推断用户属性,只需提取用户的属性信息以及用户间的好友关系(或关注关系),无需获取额外的用户行为特征数据,提高了OSN中用户属性推断方法的效率和可移植性,同时减少了资源的消耗;
(2)、本发明实现了同时推断多个用户属性,考虑到用户不同属性之间本身存在的相关关系,将用户的多个属性用结构化的向量表示,再将每种可能的结构化属性向量映射成一种类别,通过构建全连接神经网络,以OSN中的已知用户属性的用户节点向量和组合属性类别向量作为训练集,训练得到一个全连接神经网络模型,再利用训练好的全连接神经网络模型实现组合属性类别推断,进而实现结构化的属性推断,这种充分利用属性之间内在联系的方法,提高了属性推断的准确度;
(3)、本发明根据已知的用户好友关系,将用户映射成网络中的节点,利用词转向量工具Word2Vec将每个用户节点嵌入到一个高维空间,这种网络嵌入方法形成的用户节点向量能充分体现用户的好友关系,使得仅基于好友关系的结构化属性推断成为可能。
附图说明
图1是生成用户节点向量表示过程示意图;
图2是构建用户组合属性类别向量过程示意图;
图3是结构化属性推断神经网络模型示意图;
图4是对在线社交网络(OSN)用户进行结构化属性推断方法的一种具体实施方式流程图;
图5是获取用户节点序列集的工作流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
一、基本原理
对于一个在线社交网络(Online Social Networks,OSN)的用户来说,如果两个或者多个用户之间存在好友关系,那么可以认为他们在属性上有着某种相似性,表现为他们之间的一个或多个属性相同。比如知乎网中用户1是用户2的好友,用户3同时是用户1和2的好友,则用户1、2、3的某一属性可能相同或相近。因此,本发明考虑利用用户的好友关系这一表现来进行用户的属性推断。
图1是生成用户节点向量表示的过程示意图。
在本实施例中,如图1所示,首先构建用户节点关系图G,根据用户节点关系图遍历所有节点,依次选择一个节点作为起始节点进行权重化的随机游走,每次遍历结束可以得到所有节点各自的一条长度为L的序列集,遍历多次后以每一节点为起点的序列就有多条,这样就把用户的好友关系表现在这些节点序列集上。与传统的随机游走相比,权重化的随机游走在每次选择下一节点时会同时修改对应边的权重值,这使得游走得到的节点序列集更充分体现了用户的好友关系。用户在向量空间上的S维实数值(节点向量)表示可利用Word2Vec工具对多个节点序列集组成用户节点序列集进行转换得到。
图2是构建用户组合属性类别向量过程示意图。
要想通过用户向量推断用户属性,则需将用户的多个属性值也映射到一个D维坐标空间,于是,如图2所示,本发明用0表示用户无该属性值,用1表示用户有该属性值,则用户的每个属性都可以表示为仅有一个值为1的0-1向量,多个属性向量组合成一个D维空间向量,再将所有可能的结构化属性向量映射为只有一个元素为1的组合属性类别向量。如此便可将多属性多类别预测任务转换为组合属性类别预测。
图3是结构化属性推断神经网络模型示意图。
在本实施例中,本发明构建一个五层全连接神经网络进行用户的组合属性类别预测,将一个在线社交网络中的部分用户节点向量和与之对应的已知组合属性类别向量用于训练该全连接神经网络,得到一个全连接神经网络模型,对需要推断用户属性用户进行属性推断时,只需将需要推断用户属性用户的节点向量输入到训练好的全连接神经网络模型中,经过多层神经元计算得到每个组合属性类别向量的概率,概率最大的即为该目标用户的组合属性类别,对应的结构化属性向量即为目标推断用户的属性集。
二、属性推断方法
在本实施例中,如图4所示,本发明对在线社交网络(OSN)用户进行结构化属性推断的方法包括五个步骤:数据预处理(步骤S1)、权重化的随机游走获取用户节点序列集(步骤S2)、学习用户向量表示(步骤S3)、训练多层神经网络模型(步骤S4)、计算概率获取推断用户组合属性类别(步骤S5)。
步骤S1、数据预处理
本实施例中的数据集来源于http://snap.stanford.edu/data/soc-pokec.html,该社交网络包含1632803个节点集V、30622564条边集E,其中一个文本文档记录了用户的好友关系,另一个文本文档记录了每个用户的属性信息,由于用户的必填属性极少,大部分属性只有少部分用户有记录,因此本例中只选取用户的性别和年龄属性进行预测。
因为在数据获取的过程中对用户进行了匿名化处理,所有用户最终只用一串数字化的ID进行标识,于是记录用户好友关系的文本文档最终以如下形式呈现:
表1
然后读取好友关系文本文档中的每条边,记录到图边字典dict中,以每个用户节点ID作为键,节点相邻的所有边作为值,最终我们将所有用户的好友关系表示为字典类型的变量{ID,(邻接ID)},所有用户字典即构成该社交网络中用户节点关系图G。
接着对用户属性信息文本文档进行处理,用户属性信息文本文档中记录了每个用户的ID标识号和其对应的属性信息,在本实施例中,只需提取用户的性别和年龄属性,其中性别对应的列为1表示该用户为男,0表示该用户为女,由于部分用户的性别和年龄未公开,我们将未公开性别(对应属性列的值为‘null’)和年龄(对应属性列的值为‘0’或‘null’)的用户删除,通过统计所有用户的年龄在[0,120]岁的范围之间,考虑部分用户提供了不真实的年龄信息,我们只保留该在线社交网络中年龄在15-60岁之间的用户,最终我们只留下1021003个用户的性别和年龄信息。
最后将用户的属性信息进行结构化处理,将其表示成一个D维坐标空间中的向量。由于用户的年龄信息呈连续性分布,首先将年龄划分为五个段:15-25,25-35,35-45,45-55,55-60,划分的年龄段越多,最终推断的用户年龄越接近其真实值。
对每一个属性来说,用户对应的属性值只有一个,我们将每个属性的值映射为0-1向量形式,例如:用户1的性别为男,则将其性别映射为[1 0],用户3的性别为女,则映射为[0 1];若用户的年龄在15-25岁之间,则将其年龄映射为[1 0 0 0 0],若在25-35岁之间,则映射为[0 1 0 0 0],依此类推,将所有用户的年龄处理成只有一个位置为1的向量形式,最后将两种属性的0-1形式向量组合形成用户的结构化属性向量表示。
在本实施例中,每个用户的结构化属性向量则表示为一个7维的0-1向量,最终构建所有用户的结构化属性向量标签集LabelList。处理后的用户属性数据以如下形式呈现(其中第一列为用户的ID标识号,后面对应的为该用户的结构化属性向量):
表2
结构化属性向量所有可能的取值构成集合AttSet,在本实施例中,集合AttSet中共有10(2×5)个元素,将AttSet中结构化属性向量每个取值映射成只有一个元素为1的0-1组合属性类别向量,组合属性类别向量的维度为10,即AttSet中元素个数D=10。在本实施例中,用户347的结构化属性向量为[1 0 1 0 0 0 0],则将其映射为[1 0 0 0 0 0 0 0 00]的组合属性类别向量。最终用户的组合属性类别以如下形式呈现(其中第一列为用户的ID标识号,后面对应的为该用户的组合属性类别向量):
表3
2、权重化的随机游走获取用户节点序列集
用图边字典表示的用户节点关系图G进行权重化的随机游走,获取该社交网络所有用户的节点序列集WalkList。
如图5所示,初始化所有节点之间的权重wj(j∈E),内循环遍历所有节点,将某一节点作为开始节点进行随机游走,从开始节点或到达节点的邻居节点中,随机选择一个邻居节点为下一个节点,并修改对应边的权重值,直到形成一条长度为L的节点序列。随机游走时修改对应边的权重,可控制节点的游走范围,使得每条序列包含更丰富的好友关系。
具体实施包括以下步骤:
步骤S201:初始化参数,包括循环次数设置为20,初始节点权重wj(j∈E)为1,权重更改参数p=6、q=2;
步骤S202:判断是否到达循环次数,如果达到,则进入步骤S206,否则进入步骤S203;
步骤S203:判断该次循环是否遍历完所有节点,若遍历完,则进入步骤S205,否则进入步骤S204;
步骤S204:以未遍历的某一节点为初始节点进行随机游走,权重越大的邻居节点被选为下一跳节点的概率越大,选择某一邻居节点作为下一跳后修改并保存两节点之间的权重,修改方式如下:①若选择的邻居节点与上一节点相同,则以wj乘以1/p的概率修改两节点之间的权重;②若选择的邻居节点与上一节点互为邻居节点,则以两节点之间的权重仍为wj;③若选择的邻居节点并无上述两种关系,则以wj乘以1/q的概率修改两节点之间的权重。直到走过的节点形成一个长度L的节点序列,则返回步骤S203;
步骤S205:循环次数加1,返回步骤S202;
步骤S206:返回用户节点序列集。
在本实施例中,每条序列长度为20,循环遍历20次,每个节点都能得到以其为初始节点的20条长度为20的序列集。最终获得的部分序列集WalkList如下所示:
表4
3、用户节点向量表示
将表4中用户节点序列集WalkList采用词转向量工具Word2Vec工具进行转换,通过设置窗口(window-size)及维度(dimensions=S)大小,将用户节点序列集中所有长度为L的序列输入Word2Vec中,得到S维的表示用户的向量模型UModel。
Word2Vec是将词转换为向量的工具,其具体过程属于现有技术,在这里就不再赘述。
在本实施例中,window-size=1,dimensions=100,得到的部分用户向量模型UModel如下所示(第一列为用户ID标识号):
表5
4、训练多层全连接神经网络模型
4.1)、构建一个五层的全连接神经网络,设置各层神经元个数Nm(m=1,2,...,5),并随机初始化各层神经元权重矩阵Wm(m=1,2,...,5)参数和偏置向量Bm(m=1,2,...,5)参数,设置每个神经元的激活函数f(z)以及损失函数C,其中z=∑j(wjxj+bj)表示某一神经元的带权和输入,f(z)表示该神经元的输出。
在本实施例中,用该在线社交网络OSN中的部分已知用户属性用户节点向量集X和与之对应的组合属性类别向量集Y作为训练集,其中X=(Vec_x1,Vec_x2,...,Vec_xK)T,Y=(Vec_t1,Vec_t2,...,Vec_tK)T;同时从剩余已知用户属性用户中选取部分用户节点向量集和与之对应的组合属性类别向量集作为验证集。
4.2)、采用随机梯度下降算法,解如下优化问题:
首先,初始化每层神经元权重矩阵Wm(m=1,2,...,5)的值为正太分布,每层神经元权重矩阵大小分别为W1=S×N1维、W2=N1×N2维、W3=N2×N3维、W4=N3×N4维、W5=N4×N5维,同时初始化每层神经元的偏置向量Bm(m=1,2,...,5)中元素均为0,每个偏置向量的元素个数即为对应层神经元的个数,前四层神经元采用激活函数ReLu(Rectified LinearUnits),最后一层神经元采用激活函数Softmax;
然后进行H次迭代,对于第h(0<h≤H)次迭代,随机选择r个样本点{Vec_xk、Vec_tk}(1≤k≤r),分别计算输出层权重和偏置的梯度:
其中,ak L-1为第四层中第k个神经元的输出,接下来,更新输出层的权重和偏置:其中,η为学习率,利用BP算法,将误差向前传一层,直到更新完网络中所有5层的参数;每次迭代后,将验证集数据输入到网络中计算模型预测用户组合属性类别的准确度,经过若干次迭代,上述优化问题中的求和函数值逐渐收敛,验证集在网络模型中获得的准确度也趋于稳定,此时的迭代次数即为H,得到的神经网络模型参数即为更新后的各层神经元权重矩阵Wm(m=1,2,...,5)和偏置向量Bm(m=1,2,...,5);
在本实施例中,选择该社交网络中80%的用户作为训练集,10%的用户作为验证集,即K=818000,将K个已知用户属性用户节点向量Vec_x1,Vec_x2,...,Vec_xK以及对应的0-1组合属性类别向量Vec_t1,Vec_t2,...,Vec_tK作为训练集,输入构建的五层全连接神经网络中进行训练。每层网络的神经元个数依次为N1=1000、N2=800、N3=600、N4=250、N5=10,每次迭代随机选取1000个用户,即r=1000,学习率η逐渐递减,其范围为[0.98,0.08],共迭代100000次,即H=100000,使得所有训练样本能进行多次训练,每次迭代后将所有验证集数据输入到网络中计算验证集预测准确度,当验证集准确度不再改变时则表明网络模型达到了稳定。最终得到网络模型参数:每层神经元的权重矩阵W1、W2、W3、W4、W5以及偏置向量B1、B2、B3、B4、B5。
由于用户的输入向量为100维,第一层神经元个数为1000,所以W1为100*1000的矩阵,B1为1000维的向量,由于网络模型参数过多,这里仅给出权重矩阵W1和偏置向量B1的结果如下:
5、计算概率获取推断用户组合属性类别
将该在线社交网络OSN中除去训练集和验证集的剩余每个用户xi进行以下属性推断:将用户向量Vec_xi输入到已经训练好的五层神经网络模型中,通过各层网络计算,最终输出每个组合属性类别的概率,概率最大的即为该推断用户的组合属性类别,同时与该组合属性类别向量对应的结构化属性向量即为该用户的推断属性集。
三、实例验证
在上述实施例中,采用本发明所阐述的方法推断了除训练集和验证集以外的剩余103003个用户的属性,即采用80%左右的用户作为训练集,10%左右的用户作为验证集,10%左右的用户作为测试集。本次实施例的实验结果如下:验证集的准确度稳定在76.5%,测试集的准确度为78.2%。
该结果表明仅利用在线社交网络中用户的好友关系即可同时推断出用户的多个属性,相比其它需要利用大量用户行为特征信息的方法而言,本发明的方法具有很好的移植性和较高的推断准确度。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种对在线社交网络用户进行结构化属性推断的方法,其特征在于,包括以下步骤:
(1)、确定在线社交网络
根据需求,确定一个需要进行用户属性推断的在线社交网络(OSN),且该在线社交网络中用户的每个属性即用户属性Atti只有一个值,其中,i为用户属性编号;
(2)、选取部分已知用户属性的用户,构建其0-1组合属性类别向量
2.1)、将用户属性规范为I个,对于用户的第i个属性Atti,统计其属性值个数Ni,并构建只有一个位置为1的、元素个数为Ni的0-1形式向量:0-1形式向量的每一位对应一个属性值,如果已知用户属性的用户,其第i个属性Atti属于某一个属性值,则0-1形式向量中对应属性值位为1;
2.2)、将已知用户属性用户的所有属性Atti对应的0-1形式向量组合在一起,形成一个结构化属性向量;
2.3)、构建一个映射表:映射表的索引为结构化属性向量所有可能的取值,映射值为只有一个位置为1的、元素个数为D的0-1组合属性类别向量,D为结构化属性向量所有可能的取值数量,索引与映射值一一对应;
已知用户属性用户的结构化属性向量,根据其取值,查找映射表,得到其对应的0-1组合属性类别向量Vec_tk,其中,k为已知用户属性用户的编号,k=1,2,...,K,K为已知用户属性用户的数量;
(3)、权重化随机游走,获取用户节点序列集WalkList
将在线社交网络中用户间存在的好友关系表示为由代表用户的节点集V和代表用户间好友关系的边集E组成的无向图即用户节点关系图G;
对用户节点关系图G中所有节点进行遍历,得到在线社交网络OSN的用户节点序列集WalkList:
3.1)、对于在线社交网络OSN,初始化节点之间的权重为1;
3.2)、第一趟遍历用户节点关系图G中的所有节点时,依次选择一个节点作为开始节点进行权重修改的随机游走,游走时从开始节点或到达节点的邻居节点中,选择一个邻居节点作为下一跳,同时修改并保存两节点之间的权重,权重修改方式如下:①若选择的邻居节点与上一节点相同,则以两个节点之间的权重乘以1/p的概率修改两节点之间的权重;②若选择的邻居节点与上一节点互为邻居节点,则两节点之间的权重不变;③若选择的邻居节点并无上述两种关系,则以两个节点之间的权重乘以1/q的概率修改两节点之间的权重,直到走过的节点形成一个长度L的节点序列,其中,p、q为权重更改参数;
下一趟遍历时,某一节点在选择下一跳节点时,计算其所有邻居节点的权重之和wa,每个邻居节点被选为下一跳的概率为wj/wa,权重比越大的邻居节点被选中的概率越大,选中某一邻居节点后,按照权重修改方式修改两节点之间的权重并保存;其中,wj为所述节点与邻居节点之间的权重;
每次遍历结束得到以不同节点作为起点的节点序列集,多趟循环遍历用户节点关系图G中的所有节点,得到多个节点序列集并组成用户节点序列集WalkList;
(4)、获取S维空间的用户节点向量表示
将用户节点序列集WalkList用词转向量工具Word2Vec进行转换,得到用户在S维空间(S一般取值范围在几十到几百之间)的向量表示,具体为:
将用户节点序列集WalkList中的所有节点序列输入词转向量工具Word2Vec中,按照设置的窗口(window-size)以及维度(dimensions=S)进行转换,得到各个用户xv(v∈V)在S维空间对应的向量Vec_xv;
(5)、训练得到一个全连接神经网络模型
构建一个全连接神经网络,将K个已知属性的用户的向量表示Vec_x1,Vec_x2,...,Vec_xK以及对应的0-1组合属性类别向量Vec_t1,Vec_t2,...,Vec_tK作为训练集,放入全连接神经网络中进行训练,得到一个全连接神经网络模型;
(6)、推断用户属性
将需要推断用户属性的用户节点向量Vec_xu,输入到已经训练好的全连接神经网络模型中,通过各层网络计算,最终输出一个概率向量,概率向量中每一个位置对应一个0-1组合属性类别向量取值,输出的概率向量中最大值的所在位置对应的0-1组合属性类别向量取值即为该需要推断用户属性用户的结构化属性,根据步骤(2),可得到该用户的I个用户属性。
2.根据权利要求1所述的结构化属性推断的方法,其特征在于,步骤3.2)中所述权重更改参数p=6、q=2。
3.根据权利要求1所述的结构化属性推断的方法,其特征在于,步骤(5)中所述全连接神经网络模型为五层,其中的迭代优化采用随机梯度下降法进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296508.4A CN107145977B (zh) | 2017-04-28 | 2017-04-28 | 一种对在线社交网络用户进行结构化属性推断的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296508.4A CN107145977B (zh) | 2017-04-28 | 2017-04-28 | 一种对在线社交网络用户进行结构化属性推断的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107145977A CN107145977A (zh) | 2017-09-08 |
CN107145977B true CN107145977B (zh) | 2020-07-31 |
Family
ID=59774185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710296508.4A Expired - Fee Related CN107145977B (zh) | 2017-04-28 | 2017-04-28 | 一种对在线社交网络用户进行结构化属性推断的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145977B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633272B (zh) * | 2017-10-09 | 2020-10-30 | 东华大学 | 一种基于小样本下压缩感知的dcnn纹理疵点识别方法 |
CN109658094B (zh) | 2017-10-10 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 随机游走、基于集群的随机游走方法、装置以及设备 |
CN110019975B (zh) | 2017-10-10 | 2020-10-16 | 创新先进技术有限公司 | 随机游走、基于集群的随机游走方法、装置以及设备 |
CN107767262B (zh) * | 2017-10-24 | 2020-07-28 | 上海点融信息科技有限责任公司 | 信息处理方法、装置和计算机可读存储介质 |
CN107862053A (zh) * | 2017-11-08 | 2018-03-30 | 北京奇虎科技有限公司 | 基于用户关系的用户画像构造方法、装置及计算设备 |
CN107944610B (zh) * | 2017-11-17 | 2022-08-02 | 平安科技(深圳)有限公司 | 预测事件流行度方法、服务器及计算机可读存储介质 |
CN108073687B (zh) * | 2017-11-17 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 随机游走、基于集群的随机游走方法、装置以及设备 |
CN110264229A (zh) * | 2018-03-12 | 2019-09-20 | 优估(上海)信息科技有限公司 | 基于全连接神经网络的二手车定价方法,装置,及系统 |
CN108647800B (zh) * | 2018-03-19 | 2022-01-11 | 浙江工业大学 | 一种基于节点嵌入的在线社交网络用户缺失属性预测方法 |
CN108804633B (zh) * | 2018-06-01 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 基于行为语义知识网络的内容推荐方法 |
CN108804689B (zh) * | 2018-06-14 | 2020-10-16 | 合肥工业大学 | 面向问答平台的融合用户隐连接关系的标签推荐方法 |
CN110619564B (zh) * | 2018-06-20 | 2021-01-05 | 天云融创数据科技(北京)有限公司 | 一种反欺诈特征生成方法和装置 |
CN108833211A (zh) * | 2018-06-28 | 2018-11-16 | 浙江理工大学 | 社交网络的无偏延迟采样方法 |
CN109034960B (zh) * | 2018-07-12 | 2022-09-06 | 电子科技大学 | 一种基于用户节点嵌入的多属性推断的方法 |
CN109063041B (zh) * | 2018-07-17 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 关系网络图嵌入的方法及装置 |
CN109213831A (zh) * | 2018-08-14 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 事件检测方法和装置、计算设备及存储介质 |
CN109102023A (zh) * | 2018-08-14 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种分类模型生成方法及装置、一种数据识别方法及装置 |
CN109492027B (zh) * | 2018-11-05 | 2022-02-08 | 南京邮电大学 | 一种基于弱可信数据的跨社群潜在人物关系分析方法 |
CN110009093B (zh) * | 2018-12-07 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 用于分析关系网络图的神经网络系统和方法 |
CN109635147B (zh) * | 2018-12-13 | 2023-08-22 | 创新先进技术有限公司 | 一种顶点的图嵌入向量生成、查询方法和装置 |
CN111832782A (zh) * | 2019-04-17 | 2020-10-27 | 北京京东振世信息技术有限公司 | 确定物品物流属性的方法和装置 |
US11100167B2 (en) | 2019-05-06 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Obtaining dynamic embedding vectors of nodes in relationship graphs |
CN110245269B (zh) * | 2019-05-06 | 2021-01-05 | 创新先进技术有限公司 | 获取关系网络图中节点的动态嵌入向量的方法和装置 |
CN110175283B (zh) * | 2019-05-10 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 一种推荐模型的生成方法及装置 |
CN110781406B (zh) * | 2019-10-14 | 2021-07-06 | 西安交通大学 | 一种基于变分自动编码器的社交网络用户多属性推断方法 |
AU2020396102A1 (en) * | 2019-12-03 | 2021-07-08 | Click Therapeutics, Inc. | Apparatus, system, and method for determining demographic information to facilitate mobile application user engagement |
CN111242283B (zh) * | 2020-01-09 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 评估交互事件的自编码器的训练方法及装置 |
CN111914927A (zh) * | 2020-07-30 | 2020-11-10 | 北京智能工场科技有限公司 | 一种优化数据不平衡状态的移动app用户性别识别方法和系统 |
CN113763014A (zh) * | 2021-01-05 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 物品共现关系确定方法和装置及判定模型获得方法和装置 |
CN112770013B (zh) * | 2021-01-15 | 2022-05-20 | 电子科技大学 | 一种基于边采样的异质信息网络嵌入方法 |
CN112862100B (zh) * | 2021-01-29 | 2022-02-08 | 网易有道信息技术(北京)有限公司 | 用于优化神经网络模型推理的方法及设备 |
US11711348B2 (en) | 2021-02-22 | 2023-07-25 | Begin Ai Inc. | Method for maintaining trust and credibility in a federated learning environment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745105A (zh) * | 2014-01-06 | 2014-04-23 | 中国科学院计算技术研究所 | 一种社交网络中用户属性的预测方法及系统 |
CN103824115A (zh) * | 2014-02-28 | 2014-05-28 | 中国科学院计算技术研究所 | 面向开放网络知识库的实体间关系推断方法及系统 |
CN104363104A (zh) * | 2014-09-29 | 2015-02-18 | 中国人民解放军总参谋部第五十四研究所 | 一种面向用户需求的海量多元数据态势显示系统与方法 |
CN106600052A (zh) * | 2016-12-12 | 2017-04-26 | 西安交通大学 | 一种基于时空轨迹的用户属性与社会网络检测系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012077476A1 (ja) * | 2010-12-08 | 2012-06-14 | Necソフト株式会社 | 属性値推定装置、属性値推定方法、プログラム及び記録媒体 |
-
2017
- 2017-04-28 CN CN201710296508.4A patent/CN107145977B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745105A (zh) * | 2014-01-06 | 2014-04-23 | 中国科学院计算技术研究所 | 一种社交网络中用户属性的预测方法及系统 |
CN103824115A (zh) * | 2014-02-28 | 2014-05-28 | 中国科学院计算技术研究所 | 面向开放网络知识库的实体间关系推断方法及系统 |
CN104363104A (zh) * | 2014-09-29 | 2015-02-18 | 中国人民解放军总参谋部第五十四研究所 | 一种面向用户需求的海量多元数据态势显示系统与方法 |
CN106600052A (zh) * | 2016-12-12 | 2017-04-26 | 西安交通大学 | 一种基于时空轨迹的用户属性与社会网络检测系统 |
Non-Patent Citations (3)
Title |
---|
Distributed representations of words and phrases and their compositionality;T. Mikolov, I. Sutskever, K. Chen;《Advances in Neural Information Processing Systems》;20131205;全文 * |
Joint Link Prediction and Attribute Inference Using a Social-Attribute Network;N. Z. Gong, A. Talwalkar, L. Mackey;《Acm Transactions on Intelligent Systems&Technology》;20130430;全文 * |
node2vec: Scalable Feature Learning for Networks;A. Grover, J. Leskovec;《Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining》;20160813;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107145977A (zh) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145977B (zh) | 一种对在线社交网络用户进行结构化属性推断的方法 | |
JP7120433B2 (ja) | 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム | |
CN109918532B (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
CN112529168B (zh) | 一种基于gcn的属性多层网络表示学习方法 | |
CN108960330B (zh) | 基于快速区域卷积神经网络的遥感图像语义生成方法 | |
CN110837602B (zh) | 基于表示学习和多模态卷积神经网络的用户推荐方法 | |
CN113705772A (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN109389151B (zh) | 一种基于半监督嵌入表示模型的知识图谱处理方法和装置 | |
CN109034960B (zh) | 一种基于用户节点嵌入的多属性推断的方法 | |
CN111291556B (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN113177141B (zh) | 基于语义嵌入软相似性的多标签视频哈希检索方法及设备 | |
CN112819023A (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN112364976A (zh) | 基于会话推荐系统的用户偏好预测方法 | |
CN113222068B (zh) | 基于邻接矩阵指导标签嵌入的遥感图像多标签分类方法 | |
CN111241425B (zh) | 一种基于层次注意力机制的poi推荐方法 | |
CN109960755B (zh) | 一种基于动态迭代快速梯度的用户隐私保护方法 | |
CN113190688A (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及系统 | |
CN108470025A (zh) | 局部话题概率生成正则化自编码文本嵌入表示方法 | |
CN112988917A (zh) | 一种基于多种实体上下文的实体对齐方法 | |
CN109948242A (zh) | 基于特征哈希的网络表示学习方法 | |
CN108805280B (zh) | 一种图像检索的方法和装置 | |
CN110502701B (zh) | 引入注意力机制的好友推荐方法、系统和存储介质 | |
CN113505307B (zh) | 一种基于弱监督增强的社交网络用户地域识别方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200731 |