本发明属于社交网络技术领域,更为具体地讲,涉及一种融合用户多属性信息的跨社交网络用户身份识别方法。
背景技术:
社交网络作为web2.0时代的产物,成为了人们日常生活中沟通交流不可或缺的工具。据最新统计报告显示,facebook月活跃用户达到了24.14亿,微信月活跃用户也达到了11.33亿。从以上的统计数据可以明显看出,单一的社交网络不足以满足用户的全部社交需求。因此,用户在社交过程普遍具有多个不同的社交账号。由于各大社交网络之间的限制问题,用户的多个社交账号信息存在不互通性,因此,导致无法获取一个完整的用户社交图。同时,也影响了社交网络为用户提供社交服务的质量。因此,如何跨社交网络识别出不同社交账号背后的实体用户成为了当下的研究热点和难点问题。
用户身份识别也称为用户身份解析、用户匹配和锚点链接。已有的相关工作基本上采用用户档案信息、网络拓扑结构信息以及用户行为信息这三类用户信息来进行用户身份识别。基于用户档案信息的研究主要聚焦在用户的基本信息上,例如,用户名、性别、兴趣等。然而,随着社交网络的发展和用户隐私意识的提高,这些基本信息获取较难且代价较高,并在识别过程中,这类用户信息存在伪造性,对用户身份识别的性能影响较大。基于网络拓扑结构信息的相关研究主要聚焦在用户的好友网络上,利用用户与邻居节点之间的关系来识别用户身份。然而,社交网络具有异构性且部分用户不愿意公开自己的好友网络,因此,识别性能需要进一步提高。基于用户行为信息的研究主要聚焦在用户发布内容上,该类用户信息相较于其它两种信息容易获取且具有高访问性,更重要的一点是,该类信息可以个性化的映射出用户的行为习惯。然而,部分用户的发布内容也会出现稀疏性,一定程度上影响了用户身份识别的性能。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种融合用户多属性信息的跨社交网络用户身份识别方法,融合多种用户特征属性,以提高用户身份识别性能。
为实现上述发明目的,本发明融合用户多属性信息的跨社交网络用户身份识别方法包括以下步骤:
s1:当需要对社交网络a中的用户识别其在社交网络b中的相同账号时,分别从社交网络a和社交网络b中爬取各自用户的显示名称、用户好友网络和历史发布内容,记两个社交网络中用户数量分别为na和nb;预先在两个社交网络中获取已知属于同一用户的账号对作为种子账号对;
s2:从每个用户的显示名称中提取出预设的c个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户..每个特征属性的相似度
s3:从每个用户的好友网络中提取出预设的d个特征属性的数据,然后计算社交网络a中各个用户i和社交网络..中各个用户j每个特征属性的相似度
s4:从每个用户的历史发布内容中提取出预设的e个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
s5:设置c d e个权重,对步骤s2、s3和s4中计算得到的c d e个特征属性相似度进行加权求和,将求和值作为社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j:
s6:根据社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j对两个社交网络中的用户进行匹配,从而得到用户身份识别结果。
本发明融合用户多属性信息的跨社交网络用户身份识别方法,首先分别从两个社交网络中爬取各自用户的显示名称、用户好友网络和历史发布内容,然后计算用户之间的显示名称相似度、好友网络相似度以及历史发布内容相似度,最后综合所有特征属性相似度进行用户匹配,得到用户身份识别结果。本发明充分考虑用户不同数据之间的融合,融合三类信息的特征属性相似度可以打破不同用户信息在识别过程中的限制问题,使得不同信息在识别过程中实现互补,提高了用户身份识别的普适性以及识别性能。
附图说明
图1是本发明融合用户多属性信息的跨社交网络用户身份识别方法的具体实施方式流程图;
图2是本实施例中基于频繁模式挖掘的文本信息特征提取计算方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明融合用户多属性信息的跨社交网络用户身份识别方法的具体实施方式流程图。如图1所示,本发明融合用户多属性信息的跨社交网络用户身份识别方法的具体步骤包括:
s101:获取用户数据:
当需要对社交网络a中的用户识别其在社交网络b中的相同账号时,分别从社交网络a和社交网络b中爬取各自用户的显示名称、用户好友网络和历史发布内容,记两个社交网络中用户数量分别为na和nb。预先在两个社交网络中获取已知属于同一用户的账号对作为种子账号对,以便后续使用。
s102:计算显示名称相似度:
从每个用户的显示名称中提取出预设的c个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
用户的显示名称通常是由一串字符、字母和数字构成,其在很大程度上能够突出用户的身份信息。显示名称不同于用户名,其可以随着用户的喜好进行不断的变化更改。用户名在一些社交网络上是一串连续的数字,例如:qq,foursquare等等,对用户身份识别产生的作用较小。而用户在命名显示名称时,会极大程度上遵循自己的之前命名习惯来书写,这就形成了丰富的冗余信息。可以通过提取显示名称产生的冗余信息来达到识别用户身份的目的。
本发明所设置的显示名称特征属性包括长度特征、字符特征、字母特征,计算不同社交网络中用户的这3种特征属性相似度,以识别用户身份。下面分别说明这三种特征属性相似度的计算方法。
·显示名称的长度相似度:
用户在命名显示名称过程中,同一用户的不同社交网络账号的显示名称会存在一定的相似性。社交网络a中各个用户i和社交网络b中各个用户j的显示名称长度相似度
其中,
可见,长度相似度
·显示名称的字符相似度:
显示名称在社交网络中是由字符串组成的,可以利用最长公共子串来获取社交网络a中各个用户i和社交网络b中各个用户j的显示名称字符相似度
其中,
可见,字符相似度
·显示名称的字母相似度:
字母也是用户在命名显示名称过程中经常用到的一个特征。例如:显示名称“moviestar”和显示名称“starmovie”具有相同的字母分布。社交网络a中各个用户i和社交网络b中各个用户j的显示名称字母相似度的计算方法如下:记可用于显示名称的字母数量为g,对于每个显示名称分别转换得到一个g维字母向量,该向量中第g个元素表示该显示名称中第g个字母的出现次数,记显示名称
s103:计算用户好友网络相似度:
用户的好友网络具有低伪造性,且多跳节点的测量和分析对用户身份识别具有积极的作用。本发明从每个用户的好友网络中提取出预设的d个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
本发明所设置的好友网络特征属性包括好友关系、朋友圈、聚类系数,计算不同社交网络中用户的这3种特征属性相似度。下面分别说明这三种特征属性相似度的计算方法。
·好友关系相似度:
在社交网络中,当两个用户为好友,假设社交网络a中各个用户i的邻居节点集合为φa,i,社交网络b中各个用户j的邻居节点集合为φb,j,两个账号的好友关系相似度是它们集合的交集比上它们集合的最小值。为了更好地提取好友关系相似度,本发明将用户的邻居节点集合按跳划分,计算不同跳数的邻居节点集合的好友关系相似度,具体计算公式如下:
其中,..表示社交网络a中用户i的第p跳邻居节点集合
在计算邻居节点集合的用户交集时,由于两个社交网络中还存在未识别的账号,因此仅能根据种子账号对来获取邻居节点集合的交集。本实施例中设置邻居节点集合的跳数为4跳,共计有16个好友关系相似度,从中选择14个作为特征属性相似度。
·朋友圈相似度:
用户的朋友圈代表了一组用户(包含用户自己),可以将用户的朋友圈划分为最大和最小朋友圈,即最大朋友圈是指用户所有朋友圈中最大的一个,相应地最小朋友圈是指用户所有朋友圈最小的一个。本发明将用户的朋友圈按跳划分,其中可以根据2跳朋友圈获取3跳朋友圈,然后计算社交网络a中各个用户i和社交网络b中各个用户j的不同跳数的最大朋友圈相似度和最小朋友圈相似度,具体计算公式如下:
其中,
同样地,在计算朋友圈的用户交集时,也只能根据种子账户对来获取朋友圈的交集。本实施例中设置朋友圈的跳数为4跳,共计有16个最大朋友圈相似度、16个最小朋友圈相似度,从中各选择12个作为特征属性,共计24个特征属性。
·聚类系数相似度
聚类系数是指一个用户的2个好友也是朋友的概率,其计算公式为:
其中,e表示用户v所有邻居节点存在相互连接的用户对数量,nv表示该用户的邻居节点数量。
平均聚类系数即为用户和其邻居节点集合φv中所有用户的聚类系数的平均值,其计算公式为:
本发明中将社交网络a中各个用户i和社交网络b中各个用户j的平均聚类系数的差值和比值作为识别身份的两个特征属性,其相似度计算公式分别如下:
其中,aca,i表示社交网络a中用户i的平均聚类系数,acb,j表示社交网络b中用户j的平均聚类系数。
s104:计算历史发布内容相似度:
从每个用户的历史发布内容中提取出预设的e个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
就特征属性而言,可以根据实际需要确定特征属性的类别,本发实施例中采用三种特征属性:文本信息特征、标点符号特征和状态时间戳特征。下面分别说明三种行为特征属性的相似度计算方法。
·文本信息特征相似度:
首先基于频繁模式挖掘来提取每个用户的文本信息特征,得到若干频繁项和每个频繁项对应的支持度计数,然后采用以下公式计算得到社交网络a中各个用户i和社交网络b中各个用户j的文本信息特征相似度
其中,f表示频繁项,
图2是本实施例中基于频繁模式挖掘的文本信息特征提取计算方法流程图。如图2所示,本实施例中基于频繁模式挖掘的文本信息特征提取方法的具体步骤包括:
s201:文本分词:
对每个用户所发布的每条文本信息进行分词,将分词所得到的每个单词作为一个事务,则根据该用户所发布的所有文本信息可得到一个事务集t。
s202:获取频繁1项集:
遍历事务集t中所有项并计算其支持度构成1项集c1,根据预设的1项集最小支持度滤去不满足条件项集得到频繁1项集l1,在本实施例中对于1项集设置最小支持度为2。令项数参数k=1。
s203:生成频繁k 1项集:
将频繁k项集lk与自身连接(里面的项集相互取并集)得到k 1项集ck 1,根据预设的k 1项集最小支持度滤去不满足条件项集得到频繁k 1项集lk 1。
s204:判断是否lk 1为空,如果为空,则说明当前的所有k 1项集ck 1均不满足最小支持度,项集生成结束,进入步骤s206,否则进入步骤s205。
s205:令k=k 1,返回步骤s203。
s206:确定文本信息特征:
得到当前用户所发布文本对应的频繁项,并获取各个频繁项对应的支持度计数。
·标点符号特征相似度:
用户在书写发布内容的过程中对标点符号的使用可以明显的映射出用户的个性化行为习惯,因此,标点符号的使用也可以作为一个识别用户身份的特征进行测量分析。本实施例中从社交网络a中用户i和社交网络b中用户j所发布的文本信息中统计得到每种标点符号的使用次数与用户所发布文本数量的比值,形成标点符号向量,计算两个向量之间的相似度即为标点符号相似度
·时间状态戳特征相似度:
同一用户很大概率在不同的社交网络上会产生一致的动态时间,该属性也能够充分的反映出用户的行为习惯。状态时间戳相似度计算是根据用户在不同时间段所产生的动态数来衡量用户的行为特征,从而计算两个用户账号的相似度。
将每天划分为g个时间段,统计得到预设日期内各个用户在每个时间段的平均动态数,采用以下公式计算社交网络a中用户i和社交网络b中用户j的时间状态戳相似度:
其中,
s105:计算匹配评分:
采用以上方法计算出了c d e种特征相似度,接下来需要将这些特征相似度进行融合,以得到两个用户最终的相似度。本发明特征相似度融合的具体方法为:设置c d e个权重,对步骤s102、s103和s104中计算得到的社交网络a中各个用户i和社交网络b中各个用户j之间的c d e个特征属性相似度进行加权求和,将求和值作为社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j:
其中,wg表示所有c d e个特征属性相似度中第g个特征属性相似度的权值,g=1,2,…,g,g=c d e,
匹配评分scorei,j的大小决定两个社交账号背后的实体用户是否具有同一性。
显然,权重的设置对于本发明最后的识别准确度存在较大影响,为了使权重更加合理,本实施例中采用预先对权重设置初值,然后根据种子帐号对的特征属性相似度以及匹配结果采用梯度下降法对权重进行优化,,得到最终的权重。其具体方法如下:
构建识别预测函数:
hw(x)=w1x1 w2x2 ... wgxg
建立损失函数:
其中,xg表示种子账号对预测得到的第g个特征属性相似度,yg表示种子账号对真实的第g个特征属性相似度。
根据种子帐号对的特征属性相似度,通过最小化损失函数,即可实现对权重的优化,具体过程可分为两个阶段:
第一阶段:对损失函数进行偏微分运算,得到一般化表达公式为:
第二阶段:迭代更新wg,可得其一般化公式为:
其中,α表示学习率。
经过上述两个阶段的参数优化,可以使得各个特征获取最优的权重分配。
s106:用户匹配:
根据社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j对两个社交网络中的用户进行匹配,从而得到用户身份识别结果。
在用户匹配时,对于社交网络a中各个用户i,选择社交网络b中与其匹配评分最高的用户作为其在社交网络b中的账号。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
1.一种融合用户多属性信息的跨社交网络用户身份识别方法,其特征在于,包括以下步骤:
s1:当需要对社交网络a中的用户识别其在社交网络b中的相同账号时,分别从社交网络a和社交网络b中爬取各自用户的显示名称、用户好友网络和历史发布内容,记两个社交网络中用户数量分别为na和nb;预先在两个社交网络中获取已知属于同一用户的账号对作为种子账号对;
s2:从每个用户的显示名称中提取出预设的c个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户bb每个特征属性的相似度
s3:从每个用户的好友网络中提取出预设的d个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
s4:从每个用户的好友网络中提取出预设的e个特征属性的数据,然后计算社交网络a中各个用户i和社交网络b中各个用户j每个特征属性的相似度
s5:设置c d e个权重,对步骤s2、s3和s4中计算得到的c d e个特征属性相似度进行加权求和,将求和值作为社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j:
s6:根据社交网络a中各个用户i和社交网络b中各个用户j的匹配评分scorei,j对两个社交网络中的用户进行匹配,从而得到用户身份识别结果。
2.根据权利要求1所述的跨社交网络用户身份识别方法,其特征在于,所述步骤s2中显示名称的特征属性包括长度特征、字符特征、字母特征,其相似度计算方法分别如下:
社交网络a中各个用户i和社交网络b中各个用户j的显示名称长度相似度
其中,
社交网络a中各个用户i和社交网络b中各个用户j的显示名称字符相似度
其中,
社交网络a中各个用户i和社交网络b中各个用户j的显示名称字母相似度的计算方法如下:记可用于显示名称的字母数量为g,对于每个显示名称分别转换得到一个g维字母向量,该向量中第g个元素表示该显示名称中第g个字母的出现次数,记显示名称
3.根据权利要求1所述的跨社交网络用户身份识别方法,其特征在于,所述步骤s3中好友网络的特征属性包括好友关系、朋友圈、聚类系数,其相似度计算方法分别如下:
社交网络a中各个用户i和社交网络b中各个用户j的好友关系相似度
其中,
社交网络a中各个用户i和社交网络b中各个用户j的不同跳数的最大朋友圈相似度和最小朋友圈相似度计算公式如下:
其中,
聚类系数的相似度包括平均聚类系数差值相似度和平均聚类系数比值相似度,其中社交网络a中各个用户i和社交网络b中各个用户j的平均聚类系数差值相似度
社交网络a中各个用户i和社交网络b中各个用户j的平均聚类系数比值相似度
其中,aca,i表示社交网络a中用户i的平均聚类系数,acb,j表示社交网络b中用户j的平均聚类系数;平均聚类系数为用户和其邻居节点集合中所有用户的聚类系数的平均值。
4.根据权利要求1所述的跨社交网络用户身份识别方法,其特征在于,所述步骤s4中历史发布内容的特征属性包括文本信息特征、标点符号特征和状态时间戳特征,其相似度计算方法分别如下:
社交网络a中各个用户i和社交网络b中各个用户j的文本信息特征相似度
其中,f表示频繁项,
社交网络a中各个用户i和社交网络b中各个用户j的标点符号相似度
社交网络a中各个用户i和社交网络b中各个用户j的时间状态戳相似度
将每天划分为g个时间段,统计得到预设日期内各个用户在每个时间段的平均动态数,采用以下公式计算社交网络a中用户i和社交网络b中用户j的时间状态戳相似度:
其中,
5.根据权利要求1所述的跨社交网络用户身份识别方法,其特征在于,所述步骤s5中的权重采用以下方法确定:预先对权重设置初值,然后根据种子帐号对的特征属性相似度以及匹配结果采用梯度下降法对权重进行优化,得到最终的权重。
技术总结