发明名称 一种对在线社交网络中账户进行关联的方法
摘要 本发明公开了一种基于节点相似度的对多个在线社交网络(OSN)中账户进行关联的方法,从OSN网站账户中提取好友关系来关联不同OSN平台上属于同一实体用户的多个账户。该专利五个部分:数据预处理部分对OSN的账户节点关系图进行预处理;节点序列提取部分通过随机游走获得账户节点序列集合;账户向量表示部分通过词转向量工具word2vec生成每个账户的向量模型;计算线性变换矩阵部分通过梯度下降法求得从一个OSN到另一个OSN的线性变换矩阵W;获取关联账户部分将其中一个OSN中的账户映射到另一OSN的坐标空间,通过相似度度量和阈值筛选,得到所有账户对应的关联账户或者对应的候选集。本发明避免了因账户不真实的特征信息对账户关联结果带来的误差,故而提高了账户关联的健壮性。
申请公布号 CN105741175A 申请公布日期 2016.07.06
申请号 CN201610057577.5 申请日期 2016.01.27
申请人 电子科技大学 发明人 罗绪成;周帆;刘梦娟;解书颖
分类号 G06Q50/00(2012.01)I 主分类号 G06Q50/00(2012.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种对在线社交网络中账户进行关联的方法,其特征在于,包括以下步骤:(1)、根据需求确定需要进行账户关联的两个在线社交网络,将两个在线社交网络OSN_X、OSN_Y中各自的账户间存在的好友关系表示为由代表账户的节点集V和代表账户间好友关系的边集E组成的无向图即账户节点关系图,得到两个在线社交网络OSN_X、OSN_Y各自的账户节点关系图RD_X、RD_Y;(2)、分别对两个账户节点关系图RD_X、RD_Y中所有节点进行遍历,得到在线社交网络OSN_X、OSN_Y各自的账户节点序列集WalkList_X、WalkList_Y;对于在线社交网络OSN_X,遍历账户节点关系图RD_X中的所有节点,依次选择一个节点作为开始节点进行随机游走,游走时从开始节点或到达节点的邻居节点中,随机选择一个邻居节点作为下一跳,直到走过的节点形成一个长度L的节点序列;每次遍历结束可得到以不同节点作为起点的节点序列集,多趟循环遍历账户节点关系图RD_X中的所有节点,得到账户节点序列集WalkList_X,这样,以某个节点开始的节点序列就有多条;对于在线社交网络OSN_Y,采用相同的方法进行处理,得到账户节点序列集WalkList_X、WalkList_Y;(3)、将两个账户节点序列集WalkList_X、WalkList_Y分别采用词转向量工具Word2Vec进行转换,分别得到账户在S维空间(S一般取值范围在几十到几百之间)的分布式表示的账户向量模型Model_X、Model_Y,具体为:将OSN_X对应的账户节点序列集WalkList_X中的所有节点序列作为语料输入词转向量工具Word2Vec中,按照设置的窗口(window)以及维度(size)进行转换,得到各个账户x<sub>i</sub>对应的向量Vec_x<sub>i</sub>,账户x<sub>i</sub>及对应的向量Vec_x<sub>i</sub>作为项所构成在线社交网络OSN_X的账户向量模型Model_X,其中,x<sub>i</sub>表示在线社交网络OSN_X的第i个账户,i=1,2,...,m,m为在线社交网络OSN_X的账户数;对账户节点序列集WalkList_Y做同样处理,得到在线社交网络OSN_Y中各账户y<sub>j</sub>及对应的向量Vec_y<sub>j</sub>作为项所构成在线社交网络OSN_Y的账户向量模型Model_Y,其中y<sub>j</sub>表示在线社交网络OSN_Y的第j个账户,j=1,2,...,n,n为在线社交网络OSN_Y的账户数;(4)、计算两个在线社交网络OSN_X、OSN_Y对应的坐标空间之间的线性变换矩阵W4.1)、用已知的两个在线社交网络OSN_X、OSN_Y中为同一用户的真实账户关联对&lt;x<sub>k</sub>,y<sub>k</sub>&gt;构建训练集RealPairL,其中,x<sub>k</sub>表示第k个同一用户在在线社交网络OSN_X中的账户,y<sub>k</sub>表示第k个同一用户在在线社交网络OSN_Y中的账户,共有K个同一用户;在账户向量模型Model_X、账户向量模型Model_Y中分别找到账户x<sub>k</sub>对应的向量Vec_x<sub>k</sub>、账户y<sub>k</sub>对应的向量Vec_y<sub>k</sub>;4.2)、采用随机梯度下降法,解如下优化问题:<maths num="0001"><math><![CDATA[<mrow><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>W</mi></munder><mfrac><mn>1</mn><mrow><mn>2</mn><mi>K</mi></mrow></mfrac><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup><mo>|</mo><mo>|</mo><mi>W</mi><mi> </mi><mi>V</mi><mi>e</mi><mi>c</mi><mo>_</mo><msub><mi>x</mi><mi>k</mi></msub><mo>-</mo><mi>V</mi><mi>e</mi><mi>c</mi><mo>_</mo><msub><mi>y</mi><mi>k</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0000915672730000021.GIF" wi="689" he="123" /></maths>首先,把W初始化为每个元素均为随机值的S×S矩阵,然后,进行H次迭代;对于第h(0&lt;h&lt;=H)次迭代,随机选择一个样本点&lt;Vec_x<sub>k</sub>、Vec_y<sub>k</sub>&gt;,计算梯度T=(W<sup>(h‑1)</sup>Vec_x<sub>k</sub>‑Vec_y<sub>k</sub>)(Vec_x<sub>k</sub>)',其中W<sup>(h‑1)</sup>为(h‑1)次迭代后的线性变换矩阵,(Vec_x<sub>k</sub>)'为Vec_x<sub>k</sub>的转置矩阵;接下来,更新线性变换矩阵:W<sup>h</sup>=W<sup>(h‑1)</sup>‑αT,其中,α为学习率;经过若干次迭代后,上述优化问题中的求和函数值逐渐收敛,此时的迭代次数即为H,此时的变换矩阵则为所求的变换矩阵W;(5)、账户关联将在线社交网络OSN_X中的每个账户x<sub>i</sub>,进行以下计算:b<sub>i</sub>=W Vec_x<sub>i</sub>;b<sub>i</sub>即为OSN_X中的节点x<sub>i</sub>在OSN_Y的坐标空间的向量表示,然后通过余弦相似度函数来计算b<sub>i</sub>与在线社交网络OSN_Y中的每个账户Vec_y<sub>j</sub>的相似度,选出相似度最大并且大于设定阈值的账户y<sub>jmax</sub>作为账户x<sub>i</sub>的关联账户或者根据用途选择相似度最大的t(比如t为5)个作为候选集。
地址 611731 四川省成都市高新区(西区)西源大道2006号