一种对在线社交网络用户进行结构化属性推断的方法技术

技术编号:16176162 阅读:43 留言:0更新日期:2017-09-09 03:26
本发明专利技术公开了一种对在线社交网络用户进行结构化属性推断的方法,将用户的多个属性编码为结构化的组合属性类别向量,通过在用户节点关系图G中进行权重化的随机游走获取用户节点序列集,然后利用词转向量工具Word2Vec生成每个用户节点的实数值向量表示;构建一个的全连接神经网络模型进行训练。在用户属性推断时,将需要推断属性的用户节点向量表示输入到训练好的神经网络模型中,计算得出每个组合属性类别向量的概率,取概率最大的为该用户的组合属性类别。本发明专利技术只需提取部分用户的属性信息以及用户间的好友关系(或关注关系),无需获取额外的用户行为特征数据;同时,所提出的方法充分利用属性之间内在联系,提高了属性推断的准确度。

【技术实现步骤摘要】
一种对在线社交网络用户进行结构化属性推断的方法
本专利技术属于网络信息
,更为具体地讲,涉及一种对在线社交网络用户进行结构化属性推断的方法。
技术介绍
属性推断是用来自动预测在线社交网络中用户的未知属性和潜在特质的主要技术手段,可应用于市场分析中定义不同的客户类型,深度挖掘用户属性信息以优化个性化的推荐方法,同时针对可能的用户属性推断攻击采取相应的保护措施。如推测用户的年龄、性别、地理位置、兴趣、职业等,这些信息可用于商品推荐、资讯推荐。已有属性推断方法提取的特征包括用户本身的个人信息如性别、年龄、职业、教育水平,以及用户的行为信息如浏览的网页、共享的位置、购买的商品数据等。然而由于涉及个人隐私,提取的用户个人信息往往存在不真实不全面的问题;用户行为信息(特征数据)大多数也不容易获取,且需耗费大量的时间和资源。此外,已有属性推断采取多个属性分别预测的方法,忽视了属性之间本身存在的相关性质,因此已有属性推断方法效率低且准确性不高。同时,已有属性推断方法的思路是利用用户的行为特征相似,进而推断用户属性存在相同的趋势,通过提取用户行为特征进行用户建模,从而设计算法进行单个属性推断。尽管已有属性推断方法完成了属性推断的任务,但其所需的输入信息较多,且难以避免不真实的用户信息对属性推断结果的影响,故而属性推断的可移植性不高。
技术实现思路
本专利技术的目的在于克服现有属性推断的不足,提出一种对在线社交网络用户进行结构化属性推断的方法,以提高属性推断的效率和准确性,并避免不真实的用户信息对属性推断结果的影响,改善属性推断的可移植性。为实现上述专利技术目的,本专利技术对在线社交网络用户进行结构化属性推断的方法,其特征在于,包括以下步骤:(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)、本专利技术实现了同时推断多个用户属性,考虑到用本文档来自技高网...
一种对在线社交网络用户进行结构化属性推断的方法

【技术保护点】
一种对在线社交网络用户进行结构化属性推断的方法,其特征在于,包括以下步骤:(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个用户属性。...

【技术特征摘要】
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的概率修改两节点之间的权重;②若选择的邻居节点与上一节点互为邻居节点,则两节点之间的权重不变;③若选择的邻居节点并...

【专利技术属性】
技术研发人员:罗绪成谢敏锐解书颖
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1