首页> 中国专利> 一种基于用户名相似度的跨网站用户关联方法

一种基于用户名相似度的跨网站用户关联方法

摘要

本发明提供一种基于用户名相似度的跨网站用户关联方法,步骤包括:1)对多个用户名中的字符进行过滤,仅保留英文字母和数字;2)找出上述处理过的用户名的特征,并获取该特征的自信息值,根据该自信息值得到自信息向量;3)根据上述自信息向量,得到所述多个用户名间的相似度,如果该相似度大于给定的阈值τ,则判断所述多个用户名属于同一用户。本方法通过多个用户名间的相似度来判断其是否属于同一用户,对属于同一用户的不同网站上的账户可实现关联。

著录项

  • 公开/公告号CN106126654A

    专利类型发明专利

  • 公开/公告日2016-11-16

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN201610479968.6

  • 申请日2016-06-27

  • 分类号G06F17/30;G06Q50/00;

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人余长江

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-06-19 00:53:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-18

    授权

    授权

  • 2016-12-14

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160627

    实质审查的生效

  • 2016-11-16

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,具体涉及一种基于用户名相似度的跨网站用户关联方法。

背景技术

目前越来越多的公司通过建立自己的网站对用户提供信息检索、资源下载、虚拟社交等网络服务。人们在使用这些网络服务时,通常需要在各个网站上注册账号并获得相应的用户名作为公开的身份标识。如果能将同一用户在不同网站上的账号关联起来,可以提升许多网站应用的用户体验。例如,如果可以将同一用户在当当网、京东商城等不具有社交功能的购物网站上的账户,与新浪微博、人人网等社交网站的用户关联起来,那么就可以借助用户在社交网站上的社交网络结构来提升购物网站的个性推荐的精准程度。因此,将属于同一用户的不同网站上的账户进行关联具有重要意义和价值。

现有的跨网站用户关联方法主要分为以下三类:

1、由用户在自己某个账户所在的网站上或其他第三方应用上主动地填写自己在各个网站上的个人主页的链接,从而达到将属于同一用户的不同网站上的账户关联到一起的目的。

2、借助用户注册时填写的Email地址或手机号实现用户关联,如果在不同网站的两个或多个账户是使用同一个Email地址或手机号注册的,那么这些账户极有可能是属于同一用户的。

3、事先借助网络爬虫或网站公开接口获取到用户的一些个人资料(如性别、年龄等)和发布的信息(如微博、论坛的帖子等),再从中提取出和用户相关的特征并建模,最终通过模型求解属于同一用户的不同网站上的账户。

由用户主动填写自己在各个网站上的个人主页的链接的方法的实际效果依赖于用户填写的信息的完整性,如果用户不愿意填写或漏填,又或者用户在填写完之后又在其他网站上注册新账号,都会影响用户填写的信息的完整性,进而导致无法关联某些本属于同一用户的账户,因此这类方法的实用性不强。

目前大家对互联网中个人隐私的保护愈加重视,而用户注册账户时填写的Email地址或手机号都属于用户较为敏感的隐私信息,所以大部分网站都不会公开用户个人的Email地址和手机号。换言之,在大多数网站中是不能获取到用户个人的Email地址和手机号的,因此基于Email地址和手机号关联用户的方法通用性不强。

基于用户个人资料和发布的信息提取特征并建模的方法依赖于用户相关信息的真实性和完整性,而由于每个网站在用户注册时要求填写的信息不尽相同,同时有些用户会出于保护个人隐私的目的故意错填部分信息,这些都可能导致用户相关信息不真实或不完整,进而影响这类方法的关联效果,因此这类方法也具有一定局限性。

发明内容

鉴于上述不足,本发明提供一种基于用户名相似度的跨网站用户关联方法,通过多个用户名间的相似度来判断其是否属于同一用户,对属于同一用户的不同网站上的账户可实现关联。

为解决上述技术问题,本发明采用的技术方案是:

一种基于用户名相似度的跨网站用户关联方法,根据任意多个不同网站的账户的用户名,来判断这些账户是否属于同一用户,如果属于就可进行关联,步骤包括:

1)对多个用户名中的字符进行过滤,仅保留英文字母和数字;

2)找出上述处理过的用户名的特征,并获取该特征的自信息值,根据该自信息值得到自信息向量;

3)根据上述自信息向量,得到所述多个用户名间的相似度,如果该相似度大于给定的阈值τ,则判断所述多个用户名属于同一用户。

进一步地,将保留的英文字母统一转换成小写或大写形式。

进一步地,所述特征包括子串内容特征、字母和数字间的组合顺序特征、数字日期特征以及键盘布局特征。

进一步地,估算所述特征在一给定用户名集合中出现的概率,根据该概率得到所述特征的自信息值。

进一步地,所述自信息向量的维数与所述特征的数量相等。

进一步地,计算所述自信息向量的余弦相似度,根据该余弦相似度得到所述多个用户名间的相似度。

进一步地,所述阈值τ为一给定训练集上取得F1值最优时对应的τ值。

进一步地,所述阈值τ为0.15。

本发明的有益效果是,利用本发明提供的方法判定多个用户名属于同一用户,进而实现跨网站用户关联,与现有技术相比,该方法仅使用了用户名这一和用户相关的信息,其是网站公开的信息且不涉及用户隐私,该信息更易获取,而且不受限于其他与用户相关的信息的完整性,因而该方法具有更强的通用性和实用性。另外,该方法利用自信息的概念,对用户名在内容上、模式上等多个角度的特征进行统一的度量,并融合到一个模型中,相比于只使用用户名在内容上的特征能够达到更高的准确率。

附图说明

图1是实施例中一种基于用户名相似度的跨网站用户关联方法的流程图。

具体实施方式

为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。

提供一种基于用户名相似度的跨网站用户关联方法,如图1所示,假定给定两个不同网站上的账户的用户名a和b,判断a和b是否属于同一用户,包含以下几个步骤:

1、用户名预处理

通常网站会要求用户在注册账户时选择的用户名,只能包含英文字母、数字以及下划线等个别特殊字符。预处理过程会去除用户名中的特殊字符,仅保留英文字母和数字,并统一将英文字母转换成小写或大写形式,本实施例以小写形式为例。

2、计算用户名特征的自信息

对于某一个用户名特征λ,约定如下的特征识别函数用以指示某个用户名u是否包含特征λ:

选择一个足够大的用户名集合U来估算特征λ出现的概率:

上述公式的含义是,特征λ出现的概率等于所有包含特征λ的用户名除以用户名集合U,理论上用户名集合U应该为所有的用户名,但实际上不太可能拿到所有的用户名,但可以通过一定方式获取一部分用户名的用户名集合U,以此来估算某个特征出现的概率,相当于U是所有用户名的一个抽样,用抽样来估计整体。一般U越大越好,因为越大越接近整体,越能反映出整体的规律。

通过上述估算的概率,进而可以计算出每个用户名特征的自信息值:

这里考虑的用户名的特征λ包括:

子串内容特征:考虑用户名是否包含某个形如αβ的子串,其中α和β均代表任意的小写英文字母和数字,由于αβ一共有1296中可能的组合,因此这里实际包含1296个特征。

字母和数字间的组合顺序特征:考虑用户名是否是以下组合顺序中的一种,“只包含英文字母”“只包含数字”“英文字母+数字”“数字+英文字母”“英文字母+数字+英文字母”以及“数字+英文字母+数字”。在实际数据中其他类型可以少到忽略掉,因此这里实际包含6个特征。

数字日期特征:用户名中一串数字描述某个时期的情况十分常见,考虑用户名中是否包含一些常见格式的日期,包括“年+月+日”“月+日+年”“日+月+年”“月+日”“年”等,因此这里实际包含5个特征。

键盘布局特征:考虑用户名三个和键盘布局相关的特征:①所有字符在键盘上均处在同一行,全是数字的情况除外;②任意两个相邻字符在键盘上都是相邻且不同行的;③任意两个相邻字符在键盘上的位置都是相等或相邻的,因此这里实际包含3个特征。

3、将用户名表示成自信息向量

假设之前一共选择了m个特征,分别将给定的两个用户名a和b表示成对应的自信息向量:

>Va=<Wλ1.Jλ1(a),Wλ2.Jλ2(a),...,Wλm.Jλm(a)>>

>Vb=<Wλ1.Jλ1(b),Wλ2.Jλ2(b),...,Wλm.Jλm(b)>>

4、计算用户名间的相似度

计算用户名a与b对应的自信息向量的余弦相似度,作为用户名a与b的相似度:

>sim(a,b)=cos(Va,Vb)=Va·Vb||Va||·||Vb||>

5、判定用户名是否属于同一用户

对于给定阈值τ(0<τ≤1),如果满足sim(a,b)>τ,则认为这两个账户属于同一个用户,否则认为这两个账户属于不同的用户。

需要指出的是,阈值τ可以通过一个有明确标注的训练集来获得,即在该训练集上取得F1值最优时对应的τ的值作为阈值。所谓的有明确标注的训练集就是若干个三元组<a,b,c>,其中a是一个网站的某个用户名,b是另一个网站上的某个用户名,c取0或1,1表示两个用户名属于同一用户,0表示用户名不属于同一用户。根据实验,τ取0.15左右可以达到较好的效果,详细内容如下。

现收集csdn.net的用户数据6302988条,17173.com的用户数据2500264条,178.com的用户数据3827603条,分别记作CSDN、17173和178账户数据集,这些用户数据包括用户名和注册邮箱等信息,需要说明的是,这些数据属于随机收集,且并未做过提前预处理,以保证该实验结果的客观性和准确性。由于这些用户数据中包含注册邮箱这一信息,可以认为如果两个属于不同网站的账户对应的注册邮箱相同,那么这两个账户是属于同一用户的,否则这两个账户不属于同一用户,以此来构造实验数据集。

从CSDN和17173的账户数据集中找到了155878个注册邮箱相同的用户名对作为正例,同时随机抽取两个数据集中注册邮箱不同的用户名组成的155878个用户名对作为负例,记作CSDN+17173实验数据集。从CSDN和178的账户数据集中找到了112603个注册邮箱相同的用户名对作为正例,同时随机抽取两个数据集中注册邮箱不同的用户名组成的112603个用户名对作为负例,记作CSDN+178实验数据集。从17173和178的账户数据集中找到了145849个注册邮箱相同的用户名对作为正例,同时随机抽取两个数据集中注册邮箱不同的用户名组成的145849个用户名对作为负例,记作17173+178实验数据集。

本实验采用准确率、召回率、F1值来衡量本发明提供的方法方法的效果。对于实验数据集中为正例的且本方法通过计算后认为属于同一用户的用户名对的数量,记作TP;对于实验数据集中为正例的且本方法通过计算后认为不属于同一用户的用户名对的数量,记作FN;对于实验数据集中为负例的且本方法通过计算后认为属于同一用户的用户名对的数量,记作FP;对于实验数据集中为负例的且本方法通过计算后认为不属于同一用户的用户名对的数量,记作TN。那么准确率、召回率、F1值的计算公式分别为:准确率=TP/(TP+FP),召回率=TP/(TP+FN),F1值=(2*准确率*召回率)/(准确率+召回率)。

在上述三个实验数据集上进行十折交叉验证,通过实验发现,阈值τ取0.15左右时能够得到较好的实验效果。在τ=0.15时得到的实验效果如下表所示:

表1

表1中Name-Match方法为对比方法,该方法的思想为,如果两个用户名完全相同则认为其属于同一用户,否则认为其不属于同一用户。

以下用两个实例说明计算的具体过程:

实施例一:判断用户名a=ye2dai和b=ye8023dai是否属于同一用户

随机抽取数据集中1657320个用户名作为用户名集合U,阈值τ取0.15。

首先将用户名a表示成自信息向量。用户名a包含的子串内容特征包括ye、e2、2d、da和ai,字母和数字间的组合顺序特征为“英文字母+数字+英文字母”,没有数字日期特征和键盘布局特征。用户名a具有的各个特征的自信息值计算如下表所示:

表2

由于自信息向量中大部分项为0,故仅以“特征:自信息值”的形式来描述自信息向量中不为0的项,得到用户名a对应的自信息向量为:

Va=<ye:4.660,e2:5.607,2d:8.429,da:3.915,ai:3.179,英文字母+数字+英文字母:3.490>

接着将用户名b表示成自信息向量。用户名b包含的子串内容特征包括ye、e8、80、02、23、3d、da和ai,字母和数字间的组合顺序特征为“英文字母+数字+英文字母”,没有数字日期特征和键盘布局特征。用户名b具有的各个特征的自信息值计算如下表所示:

表3

进而得到用户名b对应的自信息向量为:

Vb=<ye:4.660,e8:6.089,80:3.595,02:3.307,23:2.767,3d:8.052,da:3.915,ai:3.179,英文字母+数字+英文字母:3.490>

计算Va和Vb的余弦相似度:

cos(Va,Vb)=(4.660*4.660+3.915*3.915+3.179*3.179+3.490*3.490)/[sqrt(4.6602+5.6072+8.4292+3.9152+3.1792+3.4902)*sqrt(4.6602+6.0892+3.5952+3.3072+2.7672+8.0522+3.9152+3.1792+3.4902)]=0.336

其中,sqrt为开平方运算。

所以有sim(a,b)=0.336>τ,因此本方法认为用户名a=ye2dai和b=ye8023dai属于同一用户。

实施例二:判断用户名a=asdfjk和b=as1001是否属于同一用户

随机抽取数据集中1657320个用户名作为用户名集合U,阈值τ取0.15。

首先将用户名a表示成自信息向量。用户名a包含的子串内容特征包括as、sd、df、fj和jk,字母和数字间的组合顺序特征为“只包含英文字母”,没有数字日期特征,符合键盘布局特征①。用户名a具有的各个特征的自信息值计算如下表所示:

表4

由于自信息向量中大部分项为0,故仅以“特征:自信息值”的形式来描述自信息向量中不为0的项,得到用户名a对应的自信息向量为:

Va=<as:3.847,sd:4.422,df:5.359,fj:6.544,jk:5.996,只包含英文字母:1.183,键盘布局特征①:5.314>

接着将用户名b表示成自信息向量。用户名b包含的子串内容特征包括as、s1、10、00和01,字母和数字间的组合顺序特征为“英文字母+数字”,数字日期特征为“月+日”(1001可以看作是10月1日),没有键盘布局特征。用户名b具有的各个特征的自信息值计算如下表所示:

表5

进而得到用户名b对应的自信息向量为:

Vb=<as:3.847,s1:5.281,10:2.813,00:2.616,01:2.955,英文字母+数字:0.552,月+日:3.449>

计算Va和Vb的余弦相似度:

cos(Va,Vb)=(3.847*3.847)/[sqrt(3.8472+4.4222+5.3592+6.5442+5.9962+1.1832+5.3142)*sqrt(3.8472+5.2812+2.8132+2.6162+2.9552+0.5522+3.4492)]=0.128

其中,sqrt为开平方运算。

所以有sim(a,b)=0.128<τ,因此本方法认为用户名a=asdfjk和b=as1001不属于同一用户。

由以上实施例可知,本发明提供的方法仅使用了用户名这一和用户相关的信息,便判定多个用户名属于同一用户,进而实现跨网站用户关联。用户名是网站公开的信息且不涉及用户隐私,更易获取,而且不受限于其他与用户相关的信息的完整性,因而该方法具有更强的通用性和实用性。另外,本方法利用自信息的概念,对用户名在内容上、模式上等多个角度的特征进行统一的度量,并融合到一个模型中,相比于只使用用户名在内容上的特征能够达到更高的准确率。

最后应当说明的是,虽然本发明已以实施例公开如上,但这些实施例并非用于限定本发明,所属技术领域中普通技术人员可以对其进行改动或替换,而不脱离本发明的精神和范围,故本发明的保护范围以权利要求书为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号