基于用户关系和文本的微博用户相似性度量
来源:论文查重 时间:2019-08-05 10:25:06
摘要: 用户相似性论文查重度量是用户关系分析的基础,在推荐系统、用户聚类、社区发现等方面都有重要的意义。对于微博用户的 社交关系和微博文本分别给出相似度计算方法,并通过加权的方式构建综合的用户相似性度量方法。最后进行用户 相似性度量的实验分析和比较,实验结果表明,相对于传统的用户相似度计算方法,所提方法在准确率和召回率方面 具有明显提升,说明该方法度量用户相似性的有效性。 微博是一个以用户社交关系为基础的信息发布、 分享、获取的在线社交平台,在微博中,用户可以随时 随地发布信息,并可以对感兴趣的微博内容进行转发、 点赞和评论[1]。根据新浪微博官方发布的数据,目前微 博月活跃用户已经超过 4 亿人,构成了一个庞大的用 户网络,对微博平台中用户的特征以及发布的内容和 关注关系进行分析挖掘是当前的热门的研究方向,而 用户相似度计算是其中的一个重要研究点。用户相似 度计算相关技术可用于好友推荐、相似用户发现,可在 海量用户中挖掘与目标用户在关系和兴趣爱好等特征 维度相似的用户并推荐给目标用户。除此之外,用户 相似度计算在用户聚类、社区发现、热门微博跟踪等方 面都有着重要意义[2]。本文综合了社交关系(关注、粉 丝)和微博文本两种属性,给出一种微博用户相似性度 量方法。 1 相关研究 社交媒体上的用户的信息总体上可以分为三类: ①用户的背景信息,包括年龄、性别、地理位置、教育、 职业、标签信息等;②用户的社交关系,包括关注、粉 丝、转发、点赞等;③用户发表的微博信息。已有的研究工作大多都是基于上述三类信息的一种或多种构建 用户相似性度量方法。 Bhattacharyya 等人[3]从用户的背景信息中提取关 键词,并通过计算关键词的语义距离来表示关键词的 相似性,进而度量用户间的相似度。Krishnamurthy 等 人[4]通过分析 Twitter 用户的关注和粉丝关系,并利用 用户关系构成的网络结构进行用户间的相似性进行度 量。Kahanda 等人[5]利用用户相互之间的转发、评论、文 件传输等交互行为来度量用户相似度。Xiang 等人[6]融 合了用户的属性(包括学校、工作单位、兴趣组和地理 位置等)和用户间的交互计算用户关系强度。徐志明 等人[7]在进行微博用户相似性度量时给出了用户的背 景信息、微博文本、社交信息等多种属性的相似度计算 方法并对各属性对相似度计算影响大小进行实验,认 为社交信息对用户的相似性度量最有影响力。郑志蕴 等人[8]结合微博用户自身背景信息和交互信息两种属 性,并利用层次分析法确定各属性权值,最后构建综合 的用户相似度计算模型。姚彬修等人[9]分别计算用户 间社交信息相似度、微博内容相似度和交互关系相似 度,最后融合各类相似度得出两个用户的总相似度来 进行用户推荐。 本文采用用户社交关系和微博文本构建用户相似 性度量方法,并分别给出基于户社交关系信息和微博文本信息的用户相似度计算方法:①用户社交关系相 似度计算方面,本文在 Jaccard[10-11]方法的基础上对用户 间的每个共同好友根据其热度不同赋予不同的权重, 使相似度计算结果更加合理。②在微博文本相似度计 算方面,本文采用 LDA 模型[12]来表示微博文本并计算 相似度,较基于 TF-IDF 的 VSM 模型[13-14]有效地降低了 文本向量的维度并提高了相似度计算的效果。 2 微博用户相似度计算模型 2.1 用户社交关系相似度计算 在微博平台中,用户之间存在着关注和被关注的 关系,用户会关注感兴趣的账号,也可以吸引别的用户 成为自己的粉丝,关注和被关注的关系不断扩展使构 成了一个庞大的社交关系网络。微博用户的关注信息 和粉丝信息可以直观的反映该用户的兴趣,两个微博 用户拥有的共同粉丝或关注者越多,说明其具有更加 紧密的社交联系,这也能在某种程度上反映了两个用 户间的相似度。对于一个微博用户 u,其社交信息可以 表示为: 如上式所示,Jaccard 方法通过两个用户间的共同 关注用户的比例来度量用户间的相似程度,这种方法 对不同的共同关注用户并没有分情况处理,无论是热 度较高(即粉丝较多)的用户,还是普通的用户,对用户 相似度计算结果的影响都是相同的。但实际中并非如 此,微博平台上存在着一些热门用户,这些热门用户拥 有海量的粉丝数,受到广大微博用户的喜爱和关注。 关注这样一个热门的用户往往并不能够反映一个用户 的真正的兴趣所在。相反,微博用户对一个较为冷门 的用户的关注,从某种程度上来说更能反映用户真正的兴趣所在。基于上述现象,计算用户 u 和用户 v 的 关注相似度时,共同关注微博用户 z 的粉丝越多,在计 算关注相似度时其权重越小。与之相反,粉丝数越少, 在计算关注相似度时其权重越大。基于该思路,本文 在 Jaccard 方法的基础上,对每一个共同关注根据其热 度赋予不同的权重,用户关注信息相似度计算公式可 以表示为: 2.2 基于 LDA的用户微博文本相似度计算 在微博平台上用户可以随时随地的发表自己的想 法与见解,同时还能够转发、评论其感兴趣用户的微博 内容。微博文本是微博用户间进行互动交流的主要媒 介,微博文本直接体现了用户感兴趣的内容和话题。 两用户所发布微博文本的相似度可以有效地体现两个 用户间的相似度。 基于 TF-IDF 的向量空间模型(VSM)文本相似度 计算方法被广泛地用于微博文本相似度计算[7,9]。将用 户的微博文本拼接成一个文档,通过分词、提取关键 词,使用 TF-IDF 计算关键词权重,最终将用户微博表 示为一个文本向量,并通过余弦相似度计算两个用户 的微博文本相似度。VSM 将文档表示成一个高纬度、 稀疏的文本向量导致计算效率不高,并且 VSM 忽略了 词语之间的关联,不能完全建模自然语言的复杂性 问题。 针对上述方法存在的缺陷,本文使用 LDA 主题模 型进行文本相似度计算。LDA(Latent Dirichlet Alloca⁃ tion)模型是一种对文本数据的主题信息进行建模的方法,它有文档-主题-特征词三层贝叶斯网络结构。本 文用 LDA 模型对用户微博文本进行建模,即利用文本 的统计特性,挖掘文本中不同主题与词之间的潜在关 系,将文档以主题分布的形式展现,通过此分布计算文 本的相似度。使用 LDA 主题模型进行文本相似度计 算相较于向量空间模型能更好地表示文本的语义并且 有效地降低了文本向量的维度。 将用户所发布的微博合并成一个长文本作为 LDA 模型中的文档层中的一个文档,从而得到用户的主题 概率多项分布。对于用户 u 将其发布的全部微博所拼 接成一个长文本并使用 LDA 模型其表示为一个主题 向量的过程如下: 文本预处理,对微博文本进行过滤表情符号、URL 等无意义文本、分词、去停用词等处理; 2.3 完整的微博用户相似度计算 如图 2 所示,完整的微博用户相似度计算是将用 户微博社交关系相似度和微博文本相似度两个部分综 合起来得到,更加全面地构建微博用户间的相似性 度量。 3 实验及分析 3.1 实验数据 目前,关于新浪微博用户相似度计还没有统一的 公开数据集,根据需求,本文使用 Scrapy 框架编写爬虫 程序自行从新浪微博上采集相关数据。本文在新浪微 博中选取 10 个种子用户,并利用其社交关系链向外扩 展一层,抓取用户的基本信息、微博内容、社交信息。 为了实验的有效性,对采集的用户数据进行了筛选: ①去除不活跃的用户,即用户关注加上粉丝数少于 50 或发表微博数少于 30 的用户;②去除部分无效的微 博,即微博字数少于 10 个或者仅包含表情符号、URL 的微博。 经过处理后,挑选出 2000 名用户的信息用于实 验,包括用户社交关系信息 230250 条,微博内容 968016 条。 3.2 评估指标 本文使用准确率(Precision Rate)和召回率(Recall Rate)作为衡量实验结果的评估指标。通过用户标签、 简介以及用户微博内容为用户划分领域,以同一领域 的用户为相似用户。对于用户集合中的用户 u,通过对 其进行 Top-N 推荐,即使用相似度算法计算各个用户 之间的相似度,将计算结果排序选出相似度得分最高 的 N 个用户作为相似用户推荐结果。 准确率是指在推荐出的 N 个用户中属于用户的相 似用户的个数 Nc与推荐结果总数 N 的比值,比值越大 则推荐结果的准确率越高。准确率的计算公式为: 召回率是指推荐结果中属于相似用户的个数 Nc与 相似用户总数 Ns的比值,比值越大则说明推荐结果越 全面。召回率的计算公式为: 3.3 实验结果及分析 本文选择以下四种方法进行对比实验: (1)本文提出的方法,通过多次实验将社交关系相 似度中关注相似度和粉丝相似度的权重分别设为α1= 0.6,α2=0.4;微博文本相似度中 LDA 模型主题数 k=40; 社交关系相似度和微博文本相似度的权重分别设为ω1= 0.8,ω2=0.2。 (2)已有的混合方法,借鉴文献[6-8]的方法,基于 用户社交关系和微博文本计算用户的相似度,其中社 交关系相似度采用 Jaccard 方法,微博文本相似度采用 基于 TF-IDF 的 VSM 模型计算。 (3)本文所述的基于社交关系的相似度计算方法。 (4)本文所述的基于微博文本的相似度计算方法。 在实验中,分别取 TOP-N 的 N={20,40,60,80,100} 时的 5 种情况,四种算法的确率、召回率如图 2-3 所示。 从实验结果可以看出,随着推荐数 N 的增加,各算 法的准确率逐渐降低,在四种算法的对比中本文提出 的混合方法的准确率方面均明显高于其他方法;在召回率方面,随着 N 值的增加,召回率越来越高,并且比 本文算法的召回率始终高于其他三种算法。本文算法 综合了用户社交关系和微博文本两方面属性,较于单 独属性构建的相似度算法有更好的表现,且与已有的 混合方法相比效果上也有一定提升。 4 结语 本文主要研究微博用户间的相似性度量方法,对 微博用户社交关系(关注、粉丝)和微博文本两方面信 息分别进行分析并给出两种信息相似度计算方法。对 于用户社交关系,本文在 Jaccard 方法的基础上引入用 户热度的影响并用于用户社交信息相似度计算;对于 用户微博文本,本文使用 LDA 模型进行用户微博文本 相似度计算。最终通过加权的方式综合两种信息构建 完整的微博用户相似性度量方法。并使用本文方法进 行了 Top-N 推荐实验,实验结果表明,本文所提算法较 其他三种算法具有更好的效果。对于微博用户相似性 度量的进一步研究可以考虑利用微博用户的其他信息 进行相似度计算,如使用点赞、转发、评论等交互信息 来度量用户相似性。 相关文章:基于用户关联度的半监督情感分析模型