APP下载

融合多特征的跨社交网络用户在线识别方法研究

2021-11-22王菊钿

小型微型计算机系统 2021年11期
关键词:结构特征爬虫好友

卢 菁,王菊钿,刘 丛

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

随着社交网络的广泛普及和兴起,人们为满足不同的服务需求会加入多个社交网络.在不同的社交网络中找到属于同一自然人的用户即为跨社交网络用户识别问题(通常也称为社交网络用户对齐问题、跨社交网络实体匹配问题以及锚链接预测问题等).跨社交网络用户识别可实现刻画用户画像、提高社交效率、投放精准广告等.

当前的跨社交网络用户识别研究,按照使用特征的信息不同,大致分为基于属性特征的识别方法、基于结构特征的识别方法和结合两种特征的识别方法,近年来还出现了针对结构信息获取限制问题的用户识别方法.

1)基于属性特征.属性指用户简档中的属性信息,如用户名、个人简介、教育经历等.表1显示了社交网络中用户简档中的属性信息.文献[1]结合简档属性的匹配分数和人为设置的权重判断来自两个网络的实体对是否指向同一个现实实体.文献[2]利用属性信息构建分类特征,并通过第3个社交网络为无法直接匹配的跨社交网络用户对建立关联.文献[3]分析了用户名的n-gram概率以估计用户名稀有性或通用性,利用无监督方法识别具有通用用户名的用户,并将具有同一稀有用户名的用户识别为相同用户.以上基于属性特征的用户识别方法取得一定的成果,但该类方法往往面临属性数据缺失、不一致、异构等问题,且容易受到恶意伪装用户的干扰.

表1 用户及候选用户简档中的属性信息

2)基于结构特征.用户与社交网络中其他用户的链接关系即为用户的结构信息.不同社交网络中属于同一自然人的用户的网络结构往往是相似且难以模拟的.现存许多研究通过网络嵌入、随机游走技术提取用户的结构特征对跨社交网络的用户进行识别.文献[4]提出了网络嵌入模型IONE将用户关系表征为向量以链接跨社交网络的用户.文献[5]提出了FRUI-P算法通过随机游走技术构建FFVM模型提取朋友特征向量以评估跨社交网络中两个用户的相似性.文献[6]提出将社交网络表征为低维的向量空间,通过神经网络等方法得到锚链候选集合,最后通过G-S算法进行稳定匹配的IAUE模型以提高用户识别的准确度.然而,仅利用结构信息容易将用户抽象成网络中一个没有身份信息的用户,导致识别准确率不高.另外,如今社交网络更新变化快,用户可能随着时间变化中断或者形成新的关系,以上基于离线全局网络结构的跨社交网络用户识别方法将面临社交网络结构更新消耗大的问题.

3)结合属性特征和局部结构特征.基于以上提出的问题,近几年出现了许多基于用户属性信息和局部结构信息即用户邻居信息提取特征进行跨社交网络用户识别的研究.文献[7]利用一个线性模型结合属性相似度和好友相似度计算得用户整体相似度以识别用户.文献[8]通过利用众包识别激活用户锚点对以计算用户的全视角特征,并将其与属性特征、局部结构特征结合以迭代识别未匹配的用户对.然而,近几年许多社交网络为保护用户的隐私限制了获取用户结构信息的API的访问频率.例如,Twitter设置了每小时最多允许请求150次API,且部分API限制每次调用仅返回不多于200条数据;新浪微博普通权限下访问API的总次数为每小时1000次,且不同功能的API存在不同的限制,例如,调用获取用户好友列表的API最多能够获取30%的好友信息,而对于获取用户跟随者列表的API,每次调用最多能得到5个跟随者信息.因此,在API的访问限制下,以上结合属性特征和局部结构特征的跨社交网络用户识别方法将因获取不到用户识别所需的结构数据而无法得到期望的用户识别结果.

4)基于结构信息获取限制的用户在线识别.文献[9]基于API的调用限制问题设计了爬虫策略TOP动态分配API以迭代获取结构信息,并结合了属性信息和有限的结构信息进行跨社交网络的用户识别.该研究在一定范围内解决了结构信息获取限制下的跨社交网络的用户识别问题.然而,TOP爬虫策略在动态获取结构信息过程中始终将API分配给评分最高的候选用户,容易导致其他与最高评分相近的候选用户分配不到API,从而得不到更高的识别精度.因此,需要设计一个动态爬虫策略实现有限API的优质调配以获取更多隐含有效信息的结构数据.

综上所述,跨社交网络的用户识别主要面临属性信息存在干扰信息、单特征识别准确度低、离线全局结构更新消耗大、在线获取结构信息的API存在访问限制等问题.因此,本文将跨社交网络用户识别视为一种在线任务,设计了爬虫策略DYN动态获取结构信息,并改进了属性特征和局部结构特征的提取方法,最后利用逻辑回归模型融合多特征构建用户识别模型实现了跨社交网络的用户在线识别.本文的贡献如下:

1)针对获取结构信息API的访问限制,设计了动态爬虫策略DYN,对有限的API进行优质的调配以获取得更多有效结构数据.

2)改进了属性特征和局部结构特征的提取方法,提高了跨社交网络用户在线识别的精确度和召回率.

3)结合逻辑回归模型构建了融合属性特征和局部结构特征的多特征跨社交网络用户识别模型,提高了跨社交网络用户识别的精确度和召回率.

4)在新浪微博和知乎中获取了大规模用户数据,对本文设计的方法进行训练和验证.与已有的方法相比,本文的方法具有更高的精确度和召回率.

2 问题定义

2.1 相关定义及符号

定义1.社交网络.将社交网络表示为G={V,E},其中,V表示用户集合,E⊂{(vi,vj)|vi,vj∈V}(i,j,…,N)表示用户间的关系集合.本文为了方便模型建立和计算,选取两个网络进行建模,一个网络为源网络,另一个网络为目标网络,分别记为Gs={Vs,Es}和Gt={Vt,Et}.v∈V代表用户集V中的用户v.

定义2.候选用户集合C.候选用户表示在目标网络中潜在的与源网络中的待匹配用户属于同一自然人可能性较大的用户,候选用户集合为候选用户组成的集合.

如表1所示,源网络中的用户u在目标网络中的候选用户为v1,v2,v3,因此用户u的候选用户集为C={v1,v2,v3}.

定义3.候选用户对集合T.源网络中的用户分别与其在目标网络中的候选用户组成的用户对.候选用户对集合为用户对应的所有候选用户对组成的集合.

例如,表1中所示,源网络用户u及其候选用户组成的用户对集合为T={(u,v1),(u,v2),(u,v3)}.

定义4.跟随者.在社交网络中,用户v主动跟随用户u,而用户u没有跟随v,即称用户v为用户u的跟随者.

定义5.好友.若用户u和用户v互为对方的跟随者,则u和v互为对方的好友.

定义6.邻居.在本文中邻居指用户的跟随者或好友.

定义7.特征向量X.特征向量X={a1,..,an,b1,..,bn}由属性特征和局部结构特征构成,其中ai为计算用户的属性相似度得到的属性特征,bi为根据用户邻居信息计算得到的局部结构特征.

定义8.最佳映射.对于源网络中用户vs,vs的候选用户集合C中与其属于同一自然人概率最高的候选用户即为用户vs在目标网络的最佳映射.

跨社交网络用户在线识别问题可定义为:给定源网络用户vs及其在目标网络中的候选用户集合C,在C中找到与vs属于同一自然人的最佳映射.

2.2 用户识别模型

本文通过训练得到的逻辑回归模型参数构建用户识别模型.逻辑回归[10,11](Logistic Regression)模型是一种非线性0/1分类模型.假设数据集D={Xi,Yi},i=1,…,n,Xi∈R,Yi∈{0,1},Xi为输入变量集合,Yi为分类结果集合.逻辑回归模型预测函数的值表示分类结果为1的概率,该预测函数为:

(1)

其中,输入向量X={x0,x1,x2,…,xn}是样本特征向量,x0为1.θ={θ0,θ1,…,θn}是特征向量对应的权重向量,即逻辑回归模型的参数.通过最大似然估计求解模型的参数,即将对数似然函数取反构造损失函数,如式(2)所示.

(2)

通过梯度下降法求解出一组θ值使得J(θ)最小,θ的迭代更新公式如式(3)所示:

(3)

其中,α为梯度下降的学习率.通过以上的步骤便可求出逻辑回归模型的参数向量θ.

本文研究的跨社交网络用户在线识别问题可以转换为判断源网络中用户vs及其在目标网络中的候选用户vt是否属于同一自然人的二分类问题.通过利用训练数据集提取其用户对的属性特征和局部结构特征训练得到逻辑回归模型参数向量θ,并利用参数向量θ构建用户识别模型,如式(4)所示.

(4)

MATCH(vs,vt)表示用户对(vs,vt)属于同一自然人的概率.因此,将用户对(vs,vt)的属性特征和结构特征组成特征向量X计算MATCH(vs,vt),可以得到(vs,vt)属于同一自然人的概率估计,该概率即为(vs,vt)的匹配分数.

2.3 方法流程

本文提出的跨社交网络用户在线识别方法(MCUOR)的流程如图1所示,主要分为以下3个部分:

图1 跨社交网络用户在线识别方法流程图

1)提取属性特征.通过计算候选用户对应属性信息的相似度提取属性特征.

2)提取结构特征.通过动态爬虫策略DYN利用有限的API预算获取候选用户的局部结构即邻居信息,然后计算候选用户对的跟随者重叠度和好友重叠度以提取局部结构特征.

3)跨社交网络用户在线识别.通过用户识别模型结合属性特征和局部结构特征计算候选用户对的匹配分数,并根据相应算法得到用户识别结果.

3 属性特征提取

本文利用简档中的多个属性提取用户的属性特征,综合考虑各属性项的数据类型以及现实特性选择合适的相似度计算方法以提取每个属性对应的特征.

3.1 用户主观描述类

在用户简档中,存在一类需用户编写文本的主观描述类型属性,其中往往隐含了用户独特的书面语言组织习惯.本文利用word2vec[12]模型将文本信息重构到向量空间得到词向量模型以计算用户主观描述类型属性的相似度.本文基于微博语料库采用word2vec中的CBOW[13]模型进行训练得到词向量库,CBOW模型通过给定上下文contextt预测出词wt,其损失函数为:

JCBOW=-∑wt∈Clogp(wt|contextt)

(5)

C为微博预料库中的所有词语,k为wt上下文窗口大小.利用反向传播更新模型参数使得公式(5)的值最小从而训练得到word2vec词向量模型.

对于用户vs和vt,将其主观描述类属性中的文本经过分词和停用词过滤等操作得到的词语依次输入到训练好的n维word2vec模型中得到相应的n维词向量,并通过累加法将文本中所有词对应的词向量相加得到对应的句向量Ds、Dt.最后,结合句向量和余弦相似度度量计算vs和vt主观描述属性的相似度Fsd(vs,vt),如式(6)所示.

(6)

个人简介、职业经历和教育经历这3个简档属性均属于主观描述类型,因此可通过以上方法计算相似度以提取这些属性对应.

3.2 用户名

在社交网络中,许多用户倾向于采用相似的文本搭配特殊符号组合成独特的用户名,文本往往包含了用户名的基本信息,而特殊字符反映了用户特殊的命名喜好.因此本文将用户名拆分为文本和特殊符号并分别计算相似度以提取用户名特征.

文本相似度:本文采用Jaro距离[14]计算用户名文本相似度.设用户vs和vt对应的用户名文本分别为qs和qt,|qs|和|qt|为文本长度,m是公共字符的个数,t是换位的个数.因此用户名文本相似度公式如式(7)所示.

(7)

特殊符号相似度:设用户vs和vt的用户名特殊符号组成的字符串分别为rs、rt,本文采用 Jaccard 相似系数[15,16]计算用户名特殊字符串的相似度,其计算公式如式(8)所示.

(8)

因此,用户名的特征计算公式如式(9)所示.

Fn(vs,vt)=Fbn(vs,vt)+Fsn(vs,vt)

(9)

3.3 用户跟随者数

社交网络中节点的度为与目标节点连接的节点总数.文献[17]提出度中心性的定义,即一个节点的度越大,其在社交网络中的影响越大.属于同一自然人的用户在社交网络中的影响力往往是相近的.用户的跟随者数量为该用户在社交网络中的入度,因此本文采用度中心性计算用户跟随者数相似度以表示两个用户在社交网络中的影响差异,设社交网络Gs用户vs和社交网络Gt用户vt的入度分别为ks和kt,则用户的跟随者数相似度为:

(10)

其中,ns、nt分别为社交网络Gs和Gt的节点度数.

4 局部结构特征提取

跨社交网络用户在线识别的局部结构特征提取过程如图2所示.对于待识别用户对应的候选用户对集合,在未用完API预算时,利用已知结构信息提取结构特征并结合属性特征计算候选用户对的动态评分,然后根据动态评分和爬虫策略DYN将API分配给候选用户以迭代获取其结构信息;在用完API预算后,利用已获得结构信息提取局部结构特征.

图2 局部结构特征提取流程

4.1 局部结构特征提取方法

给定源网络用户vs及目标网络用户vt,本文首先通过用户识别模型得到vs邻居的最佳映射以构建用户对(vs,vt)的邻居重叠集合,然后根据邻居重叠集合分别计算(vs,vt)的跟随者重叠度和好友重叠度以提取(vs,vt)局部结构特征.

4.1.1 邻居重叠集合

跟随者重叠集合和好友重叠集合的计算方法是一样的,因此使用“邻居重叠集合”泛指跟随者重叠集合和好友重叠集合以描述该计算方法.

已知vs的邻居集合为Γ(vs),对于任意f∈Γ(vs),为节省API资源,仅通过属性信息计算得到f的最佳映射.因此,将属性特征与值为0的结构特征组成的特征向量输入到用户识别模型中计算f与其候选用户的匹配分数,匹配分数最大的候选用户为f在目标网络中的最佳映射f′,S(f′)为(f,f′)对应的匹配分数.将用户vs所有邻居的最佳映射存储到vs邻居最佳映射集合M(vs)中,则vs与vt的邻居重叠集合为vs邻居最佳映射集合和vt邻居集合的交集,如公式(11)所示.

L(vs,vt)=M(vs)∩Γ(vt)

(11)

如图3中的例子所示,源网络中用户v与目标网络中用户v′的邻居重叠集合为{a′,c′},a′对应的匹配分数为S(a′)=0.8,c′对应的匹配分数为S(c′)=0.6.

图3 跨社交网络用户邻居重叠示意图

4.1.2 用户跟随者重叠度

对于用户vs和vt,通过计算得到用户vs邻居最佳映射集合M(vs)以及用户对(vs,vt)的跟随者重叠集合L(vs,vt).本文通过使用加权Jaccard相似度(WJ)[9]结合跟随者重叠集合中跟随者的匹配分数计算用户跟随者的重叠度,WJ将重叠度的计算分为WJ(a)和WJ(b)两部分.WJ(a)表示重叠跟随者在vs邻居最佳映射集合中所占比重,即L(vs,vt)中用户对应的匹配分数总和与M(vs)中用户匹配分数总和的比值,计算公式如式(12)所示.

(12)

WJ(b)表示重叠跟随者在vt的跟随者中所占比重,即L(vs,vt)中用户匹配分数总和与vt的跟随者总数的比值,其计算公式如式(13)所示.

(13)

因此,用户对(vs,vt)的跟随者重叠度Fg(vs,vt)如式(14)所示.

Fg(vs,vt)=WJ(a)+WJ(b)

(14)

4.1.3 用户好友重叠度

不同社交网络中,拥有相似的好友圈,且与好友圈中好友关联程度相近的用户属于同一自然人的可能性较大[18,19].因此本文通过计算用户与好友关联程度为每个好友赋予权重,并结合好友权重和好友最佳映射对应的匹配分数计算好友重叠度.

对于用户vs的好友i,通过计算用户v的好友集合Γ(vs)与i的好友集合Γ(i)的重叠度好友i赋予权重,其权重计算如公式(15)所示:

(15)

图4 源网络用户好友权重示意图

本文结合好友重叠集合中好友的权重和好友最佳映射的匹配分数改进了加权Jaccard相似度(IWJ)以计算好友重叠度.与WJ的计算类似,IWJ将重叠度的计算分为IWJ(a)和IWJ(b)两部分,IWJ(a)计算好友重叠集合L(vs,vt)在vs好友映射集合M(vs)中所占比重其计算公式如式(16)所示.

(16)

IWJ(b)计算重叠好友在vt好友中所占比重,其计算公式如式(17)所示.

(17)

综上所述,用户对(vs,vt)好友相似度的计算如式(18)所示.

Fh(vs,vt)=IWJ(a)+IWJ(b)

(18)

根据用户及其不同好友之间的不同的关联程度为用户的好友赋予权重,可以更加有效地利用好友信息,从而实现更加精准地对跨社交网络用户进行识别.

4.2 动态评分函数

对用户进行动态评分时,除了邻居重叠集合中的节点外,也应考虑候选用户邻居集合中不重叠节点以及未知节点对动态爬虫的影响,因此本文在构建动态评分时加入了Cu和Cn,Cu为未知邻居分数,Cn为已知不重叠邻居分数.Cu代表了用户的未知邻居节点在动态评分过程中的影响,Cu计算公式如式(19)所示.

(19)

其中,Uk(vs,vt)表示用户vs的候选用户vt未知邻居总数,即Uk(vs,vt)=|vt.out|-|Γ(vt)|,|vt.out|表示候选用户邻居总数.在动态爬虫过程中,拥有越多未知邻居,其Uk越大,Cu越大.

Cn表明了候选用户邻居中被判断为不重叠的邻居对动态爬虫的影响,Cn的计算公式如式(20)所示.

(20)

其中,Nl(vs,vt)表示候选用户已知跟随者中不重叠用户的总数Nl(vs,vt)=|Γ(vt)-M(vs)|.当候选用户中不重叠的邻居数量增多时,Nl相应增大,Cn相应减小并且Nl越大,Cn减少速度越快.

因此,本文通过训练得到的逻辑回归模型参数θ结合属性特征、局部结构特征以及Cu和Cn构造动态评分函数,因此动态评分函数如式(21)所示.

(21)

给定源网络用户vs和其在目标网络候选用户vt,在动态匹配过程中通过利用属性信息提取属性特征和已获取邻居信息提取局部结构特征,将属性特征和局部结构特征组成(vs,vt)的特征向量X,并根据邻居信息的获取情况计算Cu和Cn,最后利用动态评分函数MATCH_DYN(vs,vt)计算用户对(vs,vt)的动态匹配分数.

4.3 动态爬虫策略

本文设计了一种根据动态评分占比分配API的迭代式爬虫策略DYN(v,C,E),给定API预算E、待识别用户v及其在目标网络中的候选用户集合C,通过爬虫策略DYN迭代分配预算以获取C中候选用户c的邻居信息.在每次迭代开始前,根据动态匹配分数对候选用户c进行降序排序.第一次迭代时仅利用属性特征计算动态匹配分数.在迭代过程中,根据候选用户动态匹配分数与C中所有候选人动态匹配分数总和的比值将s个预算按候选用户排序分配给候选用户以获取其邻居信息,直到用完s个预算.利用动态评分函数根据所获取邻居信息更新候选用户c和v的动态匹配分数,实现迭代爬虫.动态爬虫策略流程如算法1所示.

算法1.动态爬虫策略DYN(v,C,E)

输入:待识别用户v,候选用户集合C,API预算E,每轮迭代分配API总数s,e=0

输出:更新后的候选用户集合C中用户c的邻居信息

1.whilee

2. ife=0 do //开始第一次爬虫迭代之前

3. 仅通过属性特征计算动态匹配分数c.score

4. 根据c.score对C中候选用户c进行降序排序

5. whiles≠0 do

6. 按照评分排序依次读取C中候选用户c的信息

7. 计算所有候选用户动态评分总和sum

9. 对候选用户c调用n个API获取邻居信息

10.e=e+n

11.c.score=MATCH_DYN(v,c)

12.end while

13.end while

5 跨社交网络在线用户识别

本文的跨社交网络用户在线识别流程如算法2所示.给定源网络Gs中待识别用户v及其在目标网络Gt中的候选用户集合C,利用预算E根据动态爬虫策略DYN(v,C,E)获取候选用户邻居信息以提取局部结构特征.在动态爬虫结束后,将属性特征和局部结构特征组成特征向量输入用户识别模型的函数MATCH(v,c)中得到候选用户c与v的匹配分数,与v匹配分数最大的候选用户即为v在目标网络中的最佳映射v′.最后,将最佳映射v′对应的匹配分数与阈值λ比较,若用户对(v,v′)的匹配分数超过阈值λ,则返回“用户v与v′属于同一自然人”,否则返回“(v,v′)属于不同自然人”的结果.

算法2.跨社交网络用户在线识别

输入:Gs中待识别用户v及其候选用户集合C,API预算E

输出:v在Gt中的匹配结果

1.Fm←v.friends//v的好友信息

2.Fn←v.followers//v的跟随者信息

3.v←{vp,Fm,Fn} //vp为v的属性信息

4.C←DYN(v,C,E) //获取候选用户邻居信息

5.//cp、FM和FN分别为c的简档、好友和跟随者信息

6.c(c∈C)←{cp,FM,FN}

7.c.score=MATCH(v,c) //c与v的匹配分数

8.v′←argmaxc∈Cc.score//v′为匹配分数最高的c

9.ifv′.score≥λthen

10. return“(v,v′)属于同一自然人″

11.else

12. return“(v,v′)属于不同自然人″

6 实验部分

6.1 数据集与实验设计

在本文的实验中,设置知乎为源网络,新浪微博为目标网络.通过网络爬虫得到40万微博用户和37万知乎用户的信息,并对爬取到的信息进行筛选和人工识别,得到31273对属于同一自然人的知乎与微博关联用户,并将这些用户对标注为正样本,其标签为1.同时,在剩余的数据中,设定随机选择的两个非关联用户为负样本,其标签为0.本文通过简单抽样法将正样本按照6∶2∶2划分,并根据不同的方案搭配负样本组成训练集和测试集,如表2所示.

表2 实验数据集

本文先通过训练集对逻辑回归模型进行训练得到权重向量θ以构造用户识别模型和动态评分函数,然后使用测试集对爬虫策略DYN和MCUOR方法进行评估.新浪微博的用户可能获取的好友信息可以通过调用一个API得到,因此本文仅对获取用户跟随者列表的API设置爬虫策略.根据实际情况分析,本文设置每单位预算包含40个获取用户跟随者列表的API.实验设计如表3所示.

表3 实验设置

6.2 评价指标

本文采用标准的评价指标,即precision,recall,F1-measure进行对所提出的方法进行评估.

6.3 实验结果与分析

根据6.1节的实验设计进行实验,实验结果如下文.

6.3.1 迭代API预算s取值分析

图5为s的不同取值对用户识别的召回率、精确度和F1的影响,如图4所示,三者变化趋势一致.随着s的增大,召回率、精确度和F1同时增加,并在s=8时,取得最大值.当s继续增大,数值反而下降.根据现实情况分析,出现这一情况是由于每一次迭代分配的API总数过多会出现将部分API分配给匹配度较低的候选用户的情况,导致API资源的浪费.因此,当s取8时,能得到最好的用户识别效果,即smax=8.

图5 s取值对实验结果的影响

6.3.2 阈值λ取值分析

图6为根据表3的参数设置进行实验2得到的结果.如图6所示,随着阈值不断增大,precision不断增大,recall始终保持下降的趋势.从图6中可以看出,在范围[0.25,0.6]中,F1呈上升趋势,在(0.6,0.7]的范围内阈值λ愈大F1反而更小.当λ=0.6时,取得F1的最大值,此时precision=88.75%,recall=55.04%.在跨社交网络用户识别的过程中应在保证召回率的情况下,尽量提高精确度,F1是两者的综合结果.因此,λ=0.6时实验得到最佳效果,即λmax=0.6.

图6 阈值取值对实验结果的影响

6.3.3 爬虫策略分析

根据表3的参数设置进行实验4对DYN爬虫策略与文献[9]中提出的爬虫策略TOP进行比较.图7和图8为根据本文的用户识别方法利用DYN和TOP所爬取结构信息得到的用户识别结果.如图7所示,随着预算E的增加,通过DYN和TOP策略得到的用户识别精确度均在不断增加,且在预算数量为16的时候增长趋于平缓.在相同预算下,通过DYN策略得到的precision始终高于TOP.并且,在预算数为8时,DYN的精度达到88.6%,而TOP在预算数为20时才达到88.69%.可见在相同精度要求下,TOP花费的预算是DYN的两倍多.

图7 爬虫策略的precision比较

如图8所示,随着预算E的增加,TOP和DYN对应的re-call与F1也随之增加,且DYN对应的recall与F1始终高于TOP.综上所述,DYN策略的爬虫效果优于TOP策略,通过DYN策略爬取到的结构信息可以得到更好的用户识别结果.

图8 爬虫策略的recall和F1-measure比较

6.3.4 算法整体性能分析

本文将提出的方法与文献[6]和文献[9]中提出的方法进行对比实验,并且基于本文提出的方法考虑了仅利用简档信息、仅利用结构信息和结合了两者进行匹配的情况.

1)TOP:文献[9]提出的通过计算跟随者重叠度提取结构特征,并结合简档特征进行用户识别的方法.

2)IAUE:文献[6]提出的利用结构信息将社交网络表征为低维的向量空间,并通过神经网络得到源网络用户在目标网络的映射集合,最后通过G-S算法进行稳定匹配的模型.

3)MCUOR-P:基于本文提出的属性特征提取方法,仅利用属性特征计算用户的相似度以进行跨社交网络的用户识别.

4)MCUOR-S:通过本文提出的局部结构特征提取方法仅利用结构特征对跨社交网络用户进行识别.

5)MCUOR:本文提出的结合属性特征和局部结构特征的跨社交网络用户识别方法.

图9为根据表4中实验4的参数设置对以上方法进行实验的结果.从图9中可知,本文提出的MCUOR方法在3个评价指标下均优于IAUE和TOP.另外,通过MCUOR-S和MCUOR-P的实验结果可以看出,仅基于属性特征和局部结构特征进行用户识别,其结果表现远不如结合两者的识别结果.实验结果表明,本文的跨社交网络用户在线识别方法MCUOR有效地提高了用户识别精确度和召回率.

表4 分类结果混淆矩阵

图9 方法性能比较

7 总结和未来工作

为解决近几年出现的社交网络获取结构的API的访问限制问题,本文设计了爬虫策略DYN优质地调配API以迭代获取结构信息,并通过用户识别模型结合属性特征和局部结构特征对跨社交网络的用户进行在线识别.通过真实数据集进行训练和测试得到的实验结果表明,与TOP相比,相同预算条件下,DYN策略可以获得更多有效的结构数据.本文提出的跨社交网络用户识别方法整体表现优于其他方法,能够得到更高的用户识别的精确度和召回率.在未来可考虑利用本文中通过微博语料库训练得到的词向量模型从用户所发内容中提取用户内容特征,并结合用户识别模型进一步提高用户身份识别的精准度.

猜你喜欢

结构特征爬虫好友
论莫言小说的复线式结构特征
利用网络爬虫技术验证房地产灰犀牛之说
淮南花家湖轮虫群落结构特征及季节变化
缺氮胁迫对小麦根际土壤微生物群落结构特征的影响*
基于Python的网络爬虫和反爬虫技术研究
属羊
基于Scrapy框架的分布式网络爬虫的研究与实现
谁抢走了低价机票
删除好友
浅谈高考数学中的审题要点