跨平台的用户匹配研究综述
2020-04-22倪亚晨张凯强
倪亚晨,张凯强
(四川大学计算机学院,成都610065)
0 引言
进入二十一世纪,信息产业高速发展,而互联网作为信息产业的基础设施,在近二十年取得了辉煌的成果。《2019 年互联网趋势报告》中显示,互联网的渗透率已经自2009 年的24%增长到2018 年的51%之多,这表明全球已经有超过一半的人在使用互联网,其中亚太地区的互联网用户占所有互联网用户的53%,欧洲为15%,北美则仅为9%。报告中还指出,全球互联网企业市值前30 名中,美国牢牢占据着18 个席位,中国紧随其后,占据7 个席位。2018 年全球互联网用户增长略有放缓,低于2017 年1%,但仍然达到了6%的增长率,说明互联网的高速发展态势并没有改变。
随着互联网的快速发展,各种互联网公司不断兴起。美国出现了苹果、亚马逊、微软、Alphabet、脸书、推特等,中国有阿里巴巴、京东、腾讯、网易、字节跳动和新浪等公司,不同的公司提供不同的平台,以满足用户不同的需求。一个人在某个互联网平台注册为新用户后,通过注册行为和在该平台上的活动,会产生大量的数据。用户数量和用户活动数据的积累,使得大数据时代到来,各平台可以采集使用这些数据,从中挖掘出有价值的信息,开发推荐系统等。
在现实中,一个人可能在不同的平台都有注册,从而成为多个平台的用户。例如,李华可能既是百度贴吧的用户又是新浪微博的用户,李鹏飞在多异构社交网络用户关联研究中,将百度贴吧和新浪微博的用户进行关联,为国内用户关联研究提供了重要参考[1]。一个用户往往会产生很多信息,这些信息是广泛而多样的,例如结构化表、半结构化网页、非结构化文本和多媒体文件(图像、音频和视频)。问题是这些数据常常是零散的、不一致的、混乱的,而且单独一个互联网平台搜集到的用户数据可能是片面的、有缺失的或者虚假的,因此将不同平台上的同一个用户的账号关联起来,能够很好地解决上述用户数据问题。Monika S 等人[2]提到用户的行为在不同平台会表现出令人惊讶的一致性,用户的核心结构具有极大的相似性,并且可以高度区分用户,这表明跨平台的用户匹配是可能的。
跨平台用户匹配研究有诸多好处,对于提高网络平台服务水平和维护互联网安全都具有长远意义。如果通过多个平台,对一个人建立了全面真实的画像,平台就可以依据这些用户信息,对不同的用户提供差异化的服务,精确推荐符合用户喜好的内容[5-6]。另外,进行跨平台的用户匹配还可以解决冷启动问题和许多预测任务中的数据稀疏性问题[3-4],在多个社交媒体平台上拥有账户的用户,还可以帮研究者分析用户迁移模式,并指导Web 开发[6],进一步了解不同类型人的活动之间的相互作用[10],在安全方面,可以提升用户隐私保护意识,帮助改进各平台的用户信息展示策略[7]。
综上所述,互联网高速发展,用户量快速提升,各种互联网平台也是百花齐放。在这个背景下,跨平台的用户匹配研究渐渐成为一个热门方向,也可以解决很多单平台下难以处理的问题。因此,近些年逐渐有不少研究者开展该方面的研究,并取得了很多显著成果,在下面的章节中,这些研究文献将被综述整理,并简述未来的研究方向。
1 问题定义
跨平台的用户匹配研究,即是将一个人在不同平台的账号进行关联的研究,例如,若现实世界中一个名叫Bobi 的人,在A 平台注册为Bobi,在B 平台注册为Boby,用户匹配的任务就是要识别A 平台的Bobi 和B平台的Boby 是同一个人。
平台:平台在这里指个人、机构或公司搭建的提供一种或几种服务的网络平台,不同的平台肯定拥有不同的一级域名。一般情况下,不同的平台代表不同的网站,例如“淘宝”和“新浪微博”属于不同的平台。不同的平台在没有合作的情况下,不会相互交换各自用户的信息,在有合作时,可能会交换部分信息。
用户:当一个人在一个网络平台注册成为用户之后,他在该平台上的所有信息或部分信息会被这个平台保存下来,用户信息可以分为三类,如图1 所示。
图1 用户信息组成
Profile:在用户信息中可称之为简档,表示用户的基本信息,包括用户名、网名、电话号码、邮箱地址、用户头像、所在地址、性别、个人简介、年龄、受教育程度和国籍等信息,在进行用户匹配时起到非常重要的作用。
Content:内容特征表示用户在某个平台上活动产生的内容,例如用户发表的博客、帖子、评论、回复以及用户在个人主页上展示的文本、视频和图片等信息。这部分信息非常丰富,但又非常复杂,且能反映用户的兴趣、风格、技能水平和思维方式等内在特质。
Network:在该研究领域,网络指用户的社交网络,表示用户与同一个平台上的其他用户的交互网络。
对于跨平台的用户匹配问题,下面给出其数学定义。
定义1[8]:给出两个在线社交网络Gs(源站)Gt(目标站),用户匹配任务是要预测来自于Gs和Gt的一对用户us和ut是否是同一个自然人,即:
上述表达式虽然看起来简单,但其实现却相当复杂,难度在于选取什么特征、如何处理特征、如何计算特征之间的相似性以及如何确定两个不同平台的用户就是同一个人。
2 研究现状
由上文可知,在网络平台上,用户的个人信息可分为用户简档、活动内容和社交网络信息[8]。用户简档中的常见属性包括用户的网名、性别、年龄大小、国籍、所在公司、受教育程度、电子邮件帐户地址等很多类型,可以在此类信息集上建立简单的匹配策略。然而,这些属性对于用户匹配的重要性并不一致,因为在识别匹配用户时,诸如用户性别之类的属性和“John”之类的名字,与电子邮件地址这种属性是有区别的[2]。一般情况下,一个人可以有多个邮箱,但一个邮箱基本只对应一个人,所以使用邮箱进行用户匹配在跨平台的用户匹配之初被多人采用。Vasilescu B 等人[9]使用GitHub 和Stack Overflow 两个平台用户的个人邮箱进行用户匹配,GitHub 用户可以选择是否填写邮箱,并公布在个人主页上。Stack Overflow 数据集中的用户邮箱并不直接公布,但保留有用户邮箱的MD5 值,因此作者将GitHub 用户邮箱使用MD5 加密后,与Stack Overflow 用户邮箱的MD5 值进行比较,若两个用户的邮箱MD5 值相等,则认为是同一用户。使用这种方法,最终识别出来了23.6%的GitHub 用户。Anshu Malhotra 等人[11]计算用户简档特征之间的距离,并且使用朴素贝叶斯分类器进行深入比较,以此分析特征辨别能力,最后得出用户名和网名在区分用户时是最具辨别力的特征。
用户头像同样是简档里面一个特别重要的属性,例如,有些用户会将个人自拍照片作为自己的头像,或者即使某个人在两个平台上的头像不是同一张图片,但两张图片可能风格一样或者属于同一类型,仍具有极大的相似性。Jain P 等人[12]使用标准的RGB 直方图图像匹配算法,计算两个用户头像图片之间的相似性得分。计算方法见公式(2):
公式(2)中,hIA和hIBj表示A 平台中的一个用户图片和候选来比较的B 平台的一个用户图片的RGB柱状图,Ns是hIA的大小。如果两张图片是同一张图片,IMs的值就是0,否则会可能是其他任意一个正数。但是,两个图片越接近,计算的到的数据就会越小。可以依此来得到两个用户头像的近似程度,若它们极其相似,那么这两个用户属于同一个人的可能性就很大。
使用内容特征进行用户匹配主要是考虑内容的文本信息,利用有监督、无监督或者自定义规则的方法进行用户的相似性计算。Nie Y 等人[13]将用户的兴趣分为核心兴趣和边缘兴趣,并定义用户的兴趣是核心兴趣和边缘兴趣相加。Nie Y 认为用户的核心兴趣是在动态变化的,通过分析核心兴趣的变化,可以提高结果的准确性。在处理用户相关文本时,作者使用LDA(latent Dirichlet Allocation)算法进行主题建模,得到用户的兴趣模型。得到不同用户相关文本的主题分布之后,有多种技术都可以计算两个分布的近似程度,例如KL 散度(Kullback Leibler)或者JS 散度(Jensen-Shannon),作者则采用KL 散度。不同于Nie Y 等人的研究方法,Lee K W 等人[14]定义了一个共同参与相似性分数,用来衡量共同参与GH 和SO 两个平台的开发者之间的兴趣相似性。研究发现,同一开发人员在GitHub 和Stack Overflow 上有着共同的兴趣。平均而言,一个开发人员参与的GitHub 代码库和Stack Overflow 问答中有39%符合共同兴趣。李鹏飞等人[15]首先基于Text Rank获得用户兴趣话题词,使用Word2Vec 表示之后,计算两个用户对应位置兴趣话题词相似度,再加和计算用户相似度。之后计算两个用户对应位置兴趣话题词的加权相似度,再计算两个用户所有兴趣话题词的相似度,最后计算两个用户所有兴趣话题词的加权相似度。除此之外,李鹏飞使用用户与其得到的相似用户的关注、粉丝重合率来验证算法的优劣。内容特征不仅可以反映用户兴趣,还可以反映用户的文本风格,文献[16]利用基于风格的内容特征,然后应用逻辑回归分类器来预测匹配的用户身份对。Sha Y 等人[17]基于用户的信息,建立了用户内容风格模型来识别用户,最终实现F1 分数达到了74.0 之高。
用户通常在不同的社交网络(例如Twitter 和Facebook)中具有相似的社交网络连接,因为此类社交连接可以隐式地反映用户在现实生活中的社交关系和社交习惯。所以可以利用来自不同社交网络的两个用户帐户之间的社交相似性来帮助定位同一用户[2]。Silvestri G 等人[10]将社交网络信息作为连接Twitter、GitHub 和Stack Overflow 三个平台用户的考虑因素,包括Twitter和GitHub 用户的关注和被关注者,以及Stack Overflow用户的提供回答的人和提供问题的人几种社交关系。Narayanan A 等人[18]提出了一种基于共同邻居数量的图理论模型,来开展用户匹配研究。另外,Korula N 等人[19]设计了一种基于邻域特征的并行映射算法。这都是基于用户网络特征的用户匹配方法。
随着该领域研究的进行,研究者并不是局限于使用用户的单个属性(例如邮箱)进行用户匹配,更多的是融合用户的简档特征、活动内容和社交网络信息,选用不同的特征表示和预测模型进行用户匹配。在文献[10]中,作者其实考虑的远比社交网络特征更加全面,总的来说是采用以下三种策略寻找匹配用户的:①显式匹配,其目的是识别一个平台中的用户显式提供的指向他在其他平台上的帐户的链接,以进行用户匹配。例如,有些Stack Overflow 用户会在自己的主页上填写他的GitHub 主页地址。②基于属性的匹配,它利用用户帐户(例如电子邮件)的某个属性来连接跨多个平台的同一个人。③模糊匹配,它利用不太准确的用户属性(例如登录名和用户头像)来匹配用户。文献[1]进行微博和贴吧的用户关联时,综合考虑了用户背景属性、用户名属性、基于用户兴趣的内容属性和用户网络的结构属性。Xiong Y 等人[18]使用用户名、用户行为和书写风格进行GitHub 和Stack Overflow 的用户匹配研究,用户匹配模型的训练则采用CART 决策树。用户名相似度计算采用的是Levenshtein 距离、Jaro-Winkler 距离、最长公共子串和最长公共子序列四种方式,最后选择两种表现最好的计算方法。对于GitHub 中的每个存储库或StackOverflow 中的每个问答,都有一个描述编程语言或相关技术的标签。因此,Xiong Y 等人使用这些标签获取用户行为中的主题,并使用其行为的主题分布相似性,来度量两个用户行为的相似性。
3 结语
跨平台的用户匹配是一个具有巨大潜在价值和意义的研究方向,研究者最初从邮箱匹配入手,后来逐步尝试其他特征,例如用户名和用户头像,随着研究进展的深入,越来越多的研究者发现用户活动产生的文本数据和用户的社交网络特征,在区分用户时也能起到显著的作用。所以近些年的研究中,更多的人开始采用内容特征和社交网络数据,并取得了不错的效果。但是,当前文献在比较两个用户的头像相似度时,仅仅采用数值计算的方式,不能够提取和比较两个用户头像的深层特征,例如风格,或者当两个图片是一个人不同场景下的自拍时,也难以将其判断为同一个人,故计算两个头像图片相似度时,还需要尝试新的泛化能力更强的算法。另外,近些年的文献虽然已经意识到考虑用户的简档、内容和网络特征,但多是分别使用各个特征,得到一些候选用户,再筛选可能匹配的用户,没有做到同时考虑这些特征,因此在未来的研究中,可以尝试同时考虑所有特征对其他用户进行打分的方式,得到匹配用户。