跨社交平台的用户识别方法研究
2020-04-22文玥琪周安民
文玥琪,周安民
(四川大学网络空间安全学院,成都610225)
0 引言
在线社交网络具有现代日常生活中无处不在的特征,人们访问社交网络以分享他们的故事并与他们的朋友联系。许多网民通常参与多元社交网络,以满足阅读、研究、分享、评论和抱怨的社交需求。有很多选择可以虚拟地连接他们的现实社交网络,并在线扩展和增强它们。它们拥有海量的用户规模,但进行实名认证的用户却只占很小的比例,这使得恶意用户可以肆意散播各种谣言和不良信息,给互联网监管带来了巨大挑战。因此对跨社交网络的实体用户进行关联,建立身份识别信息网络,有助于解决用户的身份识别和监管问题。
用户档案链接是一个与在线社交网络并行发展的研究领域。该方法的核心是,通过仔细研究两个用户的属性[1-4],它们比较两个用户的属性(通常是一个社交网络中的一个,另一个社交网络中的一个)的相似性。Vosecky 等人[4]和Carmagnola 等人[1]提出了基于线性阈值的模型,该模型将每个特征与权重相结合,并通过与预设阈值进行比较来确定它们是否属于一个身份。Malhotra 等人[2]和Nunes 等人[3]采用监督分类来决定匹配。
除了属性比较,Narayanan 等人[5]和Bartunov 等人[6]利用用户的社交关系来识别其OSN 帐户。前者通过利用用户在不同OSN 中经常具有相似的社交关系这一事实,证明可以在没有个人信息的情况下对用户进行匿名处理。Bartunov 等也提出过类似的报告,对用户图进行建模可以通过重新标识具有相似关系结构的用户来提高性能。
一些工作还旨在消除具有相同名称的用户(“同名用户”)的歧义,这是一个名为名称消除歧义的子任务[7-8]。Zafarani 等人[9]探索了用户如何表达自己并生成用户名的行为特征。Perito 等人[10]研究的用户名选择向公众公开了我们的身份,而Liu 等人[11]通过对用户名的通用性进行建模来改善名称歧义性,以帮助更好地估计链接可能性。
用户档案链接类似于传统的记录链接(或实体解析)。调查[12-13]回顾了各种方法,包括命名属性计算[14],模式映射[15-16]和分层数据中的重复检测[17],所有这些方法都有助于构建特性链接技术。
1 模型框架概述
本文基于用户属性信息相似度匹配和熵权法实现了两个平台的用户身份关联,首先实现了爬取Facebook 和Twitter 数据在线爬虫系统,针对用户档案信息等进行采集,对采集到的信息进行数据清理和筛选之后,对两个社交网络中的用户名、个人描述、个人主页和地理位置四个属性分别进行字符串相似度匹配,最后通过熵权法给不同属性信息分配相应的权重从而得到用户档案的总相似度,得到最终用户身份关联结果。
LinkedIn 和Twitter 的用户之间的总相似度。其计算方法如公式(1)所示:
其中,Fl为Facebook 用户,Ft为Twitter 用户为属性的权重;simljt为属性相似度;Similarity为用户之间的总相似度。
识别流程如图1 所示:
图1 个人简介相似度计算流程图
1.1 字符串相似度计算方法
大多数的属性项都存储为字符串类型,因此利用计算字符串序列之间相似程度就可以获取该属性项的相似度。字符串相似度的计算已经建立了成熟的理论和模型,并且已经被广泛应用,其中来自统计学、数据库、人工智能领域的学者都从自身的研究领域出发,提出了不同的相似度计算方法。常见的字符串相似度计算方法有:
(1)MN 算法[1]:MN 用户名匹配算法包括两个步骤,先进行预处理,将用户名中含有的特殊字符或表情删除;然后结合精确匹配与部分匹配,得到最终的匹配结果值。
(2)词频一逆文档频率(Term Frequency-Inverse Document Frequency,TF-IDF)相似度匹配算法:这是一种用于信息检索与数据挖掘的常用加权技术。TF 表示词频,IDF 表示逆文本频率指数。用以评估一个词或短语对于文档和语料库的重要程度。词语或短语在文档中出现的次数越多其重要性也就越大,反之则重要性越小。TF 表示词频,即一个词在整个文本中出现的频率,IDF 表示逆文档频率,即给不常见词汇赋予更大的权重。
TF 的计算方法,如公式(2)所示:
其中,ni,j为某一词在文档中出现的次数;为所有词在文档中出现的次数之和。
IDF 的计算方法,如公式(3)所示:
TF-IDF 的计算方法,如公式(4)所示:
其中,tfi,j表示该词的词频;idfi,j表示该词的逆文档频率;tf idfi,j表示该词的TF-IDF 值。
(3)余弦相似度计算方法:余弦相似度计算方法是通过两个向量的余弦夹角来计算向量之间的相似度,余弦值越接近1,余弦夹角就越接近0,表明两个向量越相似,余弦相似性的值域在-1 到1 之间,由于实验中向量元素的值都为非负值,因此余弦相似性的值的值域也就限制在[0,1]之间。
余弦相似性计算方法,如公式(5)所示:
其中,Ai和Bi分别表示向量A 和B 的元素。
1.2 地理位置距离计算方法
li和lj分别表示账号i 和账号j 的地理位置,地点li的经纬度坐标为(lati,loni),地点lj的经纬度坐标为(latj,lonj),两个全球定位系统(Global Positioning System,GPS)坐标之间的距离采用大圆距离的计算方法计算[18],大圆距离指的是从地球的一点出发到达球面上另外一点所经过的最短路径长度,计算方法如公式(6)所示:
其中,li,lj表示两个地理位置;lati,latj分别表示li的纬度和lj的纬度;loni,lonj分别表示li的经度和lj的经度。
2 跨社交媒体用户身份关联
2.1 数据清洗
在进行跨社交媒体用户身份关联之前,需要对爬虫采集的数据进行数据清洗。一方面,能够提高用户身份关联的准确率;另一方面,能够加快用户身份关联的速度。
(1)对用户名进行预处理,将其转换为小写(就像在这两种社交网络中,字母大小写并没有什么区别)修改数据库中含有“#”字符的地理位置字符串,将“#”号删除保留其他字符,通过实验发现含有“#”的地理位置,在获取经纬度时总是出错,因此修改了这类地理位置信息,便于后面获取经纬度值。
(2)删除掉数据库中用户位置数据字符串长度为1的数据。一般情况下,位置信息字符串的长度应该大于1(很少存在地理位置的名字只有一个字符的情况),这样的数据会影响身份相似度判定的准确性,由于将一个字符输入Google Maps 的Google Maps Geocoding API 可以得到很多条结果,但这些返回的信息可能与用户原始填入的信息是不匹配的,会导致用户身份关联出现极大偏差。
2.2 字符串相似度匹配
针对用户属性信息相似度的匹配有多种方法,只有根据不同属性的特征选择适合的方法,才可以准确真实地反映相似度,并得到最佳的匹配准确率和效率。本文选择对用户名、个人描述、个人主页和地理位置共4 类属性信息来计算账号相似度。它们的相似度计算方法如下。
(1)用户名:用户名通常包含在用户档案主页统一资源定位符(Uniform Resource Locator,URL)中。相关研究表明,同一用户在不同社交平台注册账号选择用户名时,很大可能在一个原有用户名的基础上进行微小改变。文献[1]的研究表明,与其他算法相比,MN 算法更加客观真实,所以本文采用MN 算法计算用户名相似度。
(2)个人描述:个人描述一般是简短的几句介绍个人基本情况的话,可能包含个人职业、成就、兴趣、性格等。针对个人描述通常是一段字符串的特点,本文选择利用TF-IDF 相似度匹配算法。
(3)个人主页:个人主页是指在一个社交平台上注明的在另一个平台的个人主页的链接,只有部分用户档案中有该信息,因为链接的唯一性,所以本文认为只有当链接完全匹配时相似度为1,否则为0。
(4)地理位置:地理位置信息一般有多种形式,详细地址、经纬度坐标和城市名称等。本文为了统一计算相似度,将城市或地址名称转换为该相应的经纬度,再通过大圆距离算法计算不同地理位置的经纬度的距离,来判断地理位置是否相似。
3 基于熵权法的用户身份识别算法
在给用户档案信息中各属性信息分配权重时,一般有两种方法:一种是主观赋权法,这种方式较为主观,需要有大量的相关经验且与属性领域紧耦合,算法鲁棒性较差;另一种是客观赋权法,客观赋权法有熵权法、离差及均方差法等,其中熵权法根据各指标的变异程度,利用信息熵计算出各指标的熵权,通过熵权对各指标权重进行修正,得到较为客观的指标权重。因此本文采用更科学合理的熵权法赋予不同属性不同的权重。
熵权法的步骤如下:
(1)将属性数据归一化,将属性的相似度值映射到[0,1]之间,采用的映射方式如公式(7)所示:
(2)计算第j 项属性中每个数据所占的比重,如公式(8)所示:
其中,pij为第j 项属性中第i 个数据值所占的比重,为第j 项属性的第i 个数据归一化后的值,第j 项属性所有归一化后数据的总和。
(3)计算第j 项属性的信息熵值,如公式(9)所示:
其中,ej为第j 项属性的信息熵值,pij为第j 项属性中第i 个数据值所占的比重。值得注意的是,如果pij=0,那么定义
(4)计算信息熵的冗余度,如公式(11)所示:
其中,dj为第j 项属性的信息熵冗余度,ej为第j项属性的信息熵值。
(5)计算各项属性的权重,如公式(12)所示:
其中,wj为第j 项属性的权重,dj为第j 项属性的信息熵冗余度,为所有属性信息熵冗余度总和,本文中需要为四项属性分配权重,因此m 为4。
4 实验测试及结果
4.1 数据集处理
文献[19]提供了一份包含5 个社交网络账号主页链接的公开数据集,本文以Google+作为收集用户属性信息的源网站,过滤选取其中给出Facebook 和Twitter主页链接非空、网页未失效且公开档案信息访问权限的Google+账号,最终得到Google+账号3670 个,Facebook 账号2884 个,Twitter 账号3141 个,其中,我们只对Facebook 和Twitter 进行用户关联。
表1 用于存放Facebook 用户数据的数据表
表2 用于存放Twitter 用户数据的数据表
实验中,先计算每个Facebook 用户与其候选集中Twitter 用户的单个属性的相似度,然后基于熵权法计算不同属性信息的权重,然后基于单个属性的相似度和属性所分配的权重计算出用户的总相似度,在其候选集中选出得分最高的一对用户对,则判定为同一用户的不同账号,将实验结果存入一张数据表中,用召回率评估实验结果。
4.2 评估指标
本实验采用召回率来评估实验效果。TP 为正确数据,用户身份关联出来账号属于同一用户,且实际上真的为同一用户的数据;FN 为错误数据,用户身份关联出来账号属于同一用户,但实际上账号不属于同一用户的数据。
召回率R(Recall Rate)的计算方法,如公式(13)所示:
由于实验中使用的用户数据在标注时只标注了现实中属于同一人的,也就是只有TP 或FN,因此选用召回率对实验结果进行评估。
表3 单属性以及基于熵权法的用户身份实验结果对比
通过表3 可以看出,基于熵权法的用户关联要明显优于单属性用户身份关联,综合各项属性及其权重进行用户身份关联实验结果更好。本文采用的用户身份关联方法——基于熵权法的用户身份关联方法,召回率大致为93.26%,说明基于熵权法的用户身份关联方法对用户身份关联能力较强。
5 结语
社交网络逐渐成为人们维持各种社交关系的重要平台,人们往往会使用多个社交网络账号,如何发现同一用户在不同社交网络中的账号也变得越来越重要。本文基于属性信息和熵权法,实现了Facebook 和Twitter 特定群体的用户身份关联,召回率达到了93.26%。
本文采用的是基于属性信息的用户身份关联方法,如果再增加两到三个属性项,同时结合社交关系,对实验结果会有更大的提升。但社交关系相似度计算是一个难点,目前大部分研究仍是主要基于属性信息进行用户身份关联的。现在,越来越多的研究者开始尝试利用好友关系进行关联用户,在未来,我们希望将将更复杂有效的技术引入到我们的模型中。