基于微博的用户分析与个性化推荐系统(共12页)_第1页
基于微博的用户分析与个性化推荐系统(共12页)_第2页
基于微博的用户分析与个性化推荐系统(共12页)_第3页
基于微博的用户分析与个性化推荐系统(共12页)_第4页
基于微博的用户分析与个性化推荐系统(共12页)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1. 概念及应用(yngyng)背景1.1 本文(bnwn)研究内容在过去的几年时间里,无论从用户数量还是(hi shi)内容数量来看,互联网都经历了爆炸式的增长。人们逐渐从信息匮乏时代过渡到了信息过载(information overload)时代。无论作为想获取信息的普通用户,还是作为产生信息的内容提供商或产品提供商,都面临着新的挑战。作为普通用户,他们希望有一种从海量信息中方便实时快速地获取有用的信息的方式。而作为内容或产品提供商,他们希望把自己的信息及时准确地传播给希望接收这些信息的目标群体。用户获取信息的方式经历了如下几个阶段:从原始靠人工记忆各种网站,并且人工查找所需的信息,推出

2、了按类别对网站进行分类以方便用户查询,再到近年来以 为代表的搜索引擎的出现。虽然搜索引擎极大地方便了人们获取信息的方式,但是依然存在不足。比如,当用户无法用一些关键词准确描述自己的需求时,搜索引擎就无能为力了。而且对于互联网信息的内容提供商来说,搜索引擎也不能帮助他们主动地把自己的内容传播给目标人群。推荐系统的出现弥补了搜索引擎的不足。从用户的角度出发,搜索引擎是一个 拉 (pull)模型,即用户主动地查找自己感兴趣的信息,而推荐系统是一个 推 (push)模型,即系统根据用户的历史行为记录,推荐新的信息给用户。一个好的推荐系统,非常重要的一步就是对用户的兴趣进行建模 。常用的方法是根据用户的

3、历史行为数据对用户兴趣进行建模。用户的历史行为数据可以是用户的在线购买记录,搜索记录等。这些数据存在许多缺点。首先,数据的形式比较单一,只能反应用户的购买喜好,或者搜索喜好,并不能全面地描述用户的兴趣。其次,这些数据更新缓慢,反应的是用户过去的兴趣。而我们相信,用户的兴趣可能是经常变化的。而且对于一个新的用户,在没有历史行为数据的情况下,推荐系统就无法正常工作,这也称为冷启动(cold start)问题 。另外一种获取用户兴趣的方式是让用户直接输入一些关键词列表来描述用户的兴趣。但是通常情况下,用户并不愿意参与其中。并且,用户可能不能完整地描述自己的兴趣。另外,由于用户的兴趣会随时间经常变化,

4、这就需要用户不停地更新关键词列表。这些局限性大大降低了用户体验,也会影响推荐系统的质量。微博作为一种新兴的社交网络和信息分享、传播方式,在最近几年变得尤为流行。常用的微博服务,比如国外的 ,国内的新浪微博,腾讯微博等,都有上亿的注册用户。 最初的理念就是,让用户能够更加简单地与好友、家人分享自己正在做什么 。实际中,用户不仅使用微博发布 我正在做什么 之类的信息,还用它来与好友交流,转播突发的一些新闻事件,对某件事发表自己的观点,甚至在危险的时候作为一种求救的方式 。微博更像是传统博客与社交网络的一个结合体。微博服务的一个重要特性就是它的实时性。比如,传统的博客用户可能每过几天会更新一次博客的

5、内容。而微博用户经常会在一天内发布多条微博内容。而且用户发布的微博内容大部分都是跟用户每天的活动相关。因此,微博内容可以被看做是基于人的信息聚合种子(RSS Feed) 。微博的这些特性让我们有了新的途径去获取用户的实时兴趣。与传统的获取用户兴趣的方法相比,微博提供了更海量,更实时的数据。如何有效地从用户的微博数据中挖掘出用户的实时兴趣,对于提高个性化推荐的质量,提高用户体验,都具有重要意义。1.2 本文(bnwn)研究内容本文(bnwn)主要对从微博数据集上分析用户兴趣并进行个性化推荐的过程中的一些关键问题进行分析(fnx)和探索:1.2.1 使用外部知识库对微博文本进行语义丰富针对微博文本

6、内容都比较短,语义信息不够充分的特点,我们提出使用在外部知识库上建立的主题模型分析微博内容,从而对短文本的微博内容进行语义上的丰富。这样也避免了直接在微博数据上构建主题模型时,主题数目不容易确定的缺点。1.2.2 过滤不能体现用户兴趣的微博用户使用微博的目的多样,因此并不是每条微博都能体现用户兴趣。那些不能体现用户兴趣的微博,会对基于词袋的模型,包括主题模型等,产生负面的影响。我们称这些微博为噪音微博。我们从多个方面分析了识别一条微博是否是噪音微博的特征,并使用朴素贝叶斯分类器和支持向量机分类器过滤掉这些噪音微博。1.2.3 用时间加权的主题分布表示用户兴趣我们认为用户的兴趣并不是一成不变的,

7、而是随时间变化的。因此,我们在用户兴趣的表达上,加上的时间的维度。并基于此描述了分析用户兴趣及个性化推荐的方法。2. 基于微博的用户兴趣分析及信息推荐方法研究21概述微博服务作为目前主流的信息传播媒介,越来越多的用户每天在上面发布自己的状态,分享信息,表达自己的观点、想法和意图。这使得微博服务成为一个有用的、信息量巨大的数据源,用来挖掘分析用户的兴趣。根据从微博数据中分析得到的用户兴趣,我们可以给用户推荐他们感兴趣的新闻、团购信息等。本文针对微博的特点,提出了从微博数据中分析用户兴趣并建模的方法,然后使用挖掘出的用户兴趣,推荐个性化信息给用户。本文的工作分为三个主要部分。首先是微博数据中噪音微

8、博的过滤,过滤掉那些跟用户兴趣无关的微博数据。然后,对过滤后的微博数据进行主题分析。考虑到微博内容一般比较短,因此本文使用维基百科作为知识库进行语义扩充,通过主题模型分析用户兴趣。同时考虑到用户兴趣会随时间经常变化的特点,提出了使用时间加权的主题分布来建模用户兴趣。最后,使用挖掘得到的用户兴趣,向用户推荐个性化信息。22噪音(zoyn)微博的过滤每个用户使用微博服务的方式不同。用户使用微博服务主要用来记录自己每天的活动,分享新闻及他们对新闻的评论,与好友聊天等 。还有很多用户经常发布一些笑话等娱乐内容。因此,并不是每条微博都能体现用户的兴趣。但是,之前的很多研究,都是根据用户发布的所有微博,使

9、用词包模型分析用户兴趣 。这样,那些与用户感兴趣的主题不相关的微博数据,就成为了噪音数据,严重影响了分析结果的准确度。因此,本文提出在使用微博数据分析用户兴趣之前,先对微博数据进行过滤(gul),去除那些与用户兴趣不相关的微博。噪音微博的过滤可以看做一个二分类问题,即一条微博与用户兴趣的表达(biod)相关或者不相关。本文使用两种经典的文本分类方法,朴素贝叶斯和支持向量机,分别采用不同的特征,训练得到两个分类器。然后对这两个分类器以线性加权的方式组合成联合分类器,解决这个二分类问题。2.2.1 构建朴素贝叶斯分类器对于朴素贝叶斯分类器,我们采用一元语言模型作为特征进行训练。朴素贝叶斯分类器的训

10、练非常简单。每条微博看做一篇文档。首先人工标注若干微博数据,分别标注为 相关 或 不相关 ,得到训练集。然后,在训练集上,估计出 P(tk|c) 的概率以及 P (c) 的概率。P (c) 即训练集中,属于类别 c 的文档个数占总文档数的比值。P(tk|c) 的计算方法为其中,Tctk表示单词 tk出现在属于类别 c 的文档中的次数,|Vc| 表示类别 c 中出现的所有单词的个数。考虑到训练集的有限性,不能覆盖所有的词,因此本文采用加一平滑操作 。从训练集上得到 P(tk|c) 和 P (c) 的值后,就可以使用公式 对每个微博进行分类,判断每条微博是否是与用户的兴趣有关的。2.2.2 构建支

11、持向量机分类器基于朴素贝叶斯的分类器把微博中的每个词作为特征,进行分类。考虑到微博数据的特殊性,每条微博的字数都比较少,数据比较稀疏,这影响了朴素贝叶斯分类器的精度。为了提高分类的精度,本文考虑到微博服务中不仅包含文本数据,还有很多其他丰富的数据资源,比如用户与用户之间组成的社会关系网,微博的一些特殊语法等,做为分类依据。本文主要从四个方面抽取微博特征:1、微博本身的特征譬如该微博是否包含标签,是否包含 等。包含标签或者 的微博通常涉及的是用户关注的话题。2、社会(shhu)关系网特征譬如该微博是否被好友转发,被好友评论的次数等。因为我们认为,能够(nnggu)体现用户兴趣的微博,也同样会得到

12、好友的关注。3、时间(shjin)特征譬如微博发布日期是一周中的星期几,是一天中的几点钟。我们认为,用户可能经常会在一天中的某个时间段发布一些与用户兴趣无关的微博,而在另外一些时间段发布一些与兴趣相关的微博。比如,一个上班族很可能在每天中午的时候会经常发布一些类似 我好困啊 之类的微博,而在周末的时候可能会经常发布一些 海贼王真好看 之类的微博。4、用户的自然属性特性譬如用户的年龄、性别、教育情况、目前职业等本文用来训练支持向量机分类器的特征总结如表 所示。23用户兴趣分析2.3.1用户兴趣的表示用户兴趣的表示是个性化信息推荐、过滤等任务的一个非常重要的环节,它直接关系到后续任务效果的好坏。但

13、是由于影响用户兴趣的因素众多,如性别,年龄,性格等,因此很难从各个维度完整地描述用户兴趣。同时,用户的兴趣经常变化,这给用户兴趣的表达带来了进一步的难度(nd)。最基本的用户兴趣表示方法是用一组关键词来表达。这些关键词可以是用户手动输入的,也可以是从用户的一些线上行为,如发表的微博、评论等,通过 等文本处理技术挖掘得到的 。一些商品推荐系统则是通过用户的自然属性,如性别,年龄,身份等信息来刻画用户兴趣,或者通过用户之前购买过的商品组成的向量构建用户兴趣。其他一些用户兴趣的表达方式有使用微博中的标签 ,或者用维基百科中的层次分类 。这些方式都能在一定程度上反应用户的兴趣,但是都有一定的局限性,要

14、么局限于 词 的层面,要么不能表达用户兴趣多样性这样一个特点。而且,这些表达方法都没有考虑到用户兴趣会随时间变化的特点。本文针对微博的特点,提出使用时间加权的主题分布来表达用户兴趣(xngq)。时间加权的主题分布是一组二元组,每个二元组是由用户对一个主题感兴趣的程度和该主题对用户的时间权重表示的。形式化地讲,假设用户的兴趣可以分为其中(qzhng),(P(k),wt(k) 表示一个时间加权的主题分布二元组。P (k) 表示用户对主题 k 的感兴趣程度,这是从用户所有的微博历史数据得到的。直观上看,如果一个用户发布的属于主题 k 的内容越多,计算得到的 P(k) 越大。这样,如果用户在一年前发布

15、了很多属于主题 k 的微博,那么即使最近一年该用户不再对主题 k 感兴趣,P(k) 仍然会很大。为此,wt(k) 就起到了作用。wt(k) 表示主题k 对于用户 u 的时间权重。用户讨论主题 k 的时间越久远,wt(k) 就越小。这样,Interest(u) 就从 主题 维度的层面上描述了用户随时间不断变化的兴趣。2.3.2用户兴趣的分析由于每条微博都很短,因此如果直接在微博数据上使用 等主题模型进行分析,势必会由于数据过于稀疏影响模型的精度 。同时,考虑到可以使用外部知识,比如维基百科等,对微博数据进行语义扩充,因此本文直接在维基百科数据上进行主题分析。然后,把得到的主题模型,再用于分析每个

16、用户的微博数据。在维基百科等外部知识库数据上进行 模型的学习和主题分析,与直接在微博数据集上进行 分析,有如下优点。1、可以弥补微博的文本较短,不能有效分析出有用信息的缺点。2、学习到的主题模型可以方便地应用于微博数据上,同时能起到对微博内容进行语义扩充的功能。3、在对微博用户进行个性化信息推荐的时候,可以用同样的方法把学习到的 模型应用于信息源中。这样,可以用一个统一的主题模型进行用兴趣分析和个性化推荐,不用再训练多个主题模型,使得该算法更简洁,更高效。同时,用户兴趣主题分布与信息源中每篇文档的主题分布来自同一个主题模型,可以很方便地进行相似度的计算。使用 模型对维基百科数据进行主题分析相对

17、比较简单。把维基百科中的每个词条看做一篇文档,然后使用公式 迭代直到(zhdo)收敛,就可以得到维基百科数据的主题分布。同时还可以得到两个矩阵 CWT和 CDT,分别表示在维基百科数据中,单词 w 分配到主题 t 的次数,和主题 t 被分配到文档 d 中某个单词的次数。根据这两个矩阵(j zhn),就可以使用公式 和 计算得到 和 ,即每个主题在单词维度上的概率分布,以及每篇文档(维基百科的一个(y )词条)在主题维度上的概率分布。对于分析用户的微博数据来说,我们并不关心每个词条在主题维度上的概率分布,只需要每个主题在单词维度上的概率分布。有了 CWT和,以及模型的参数 和 ,我们就可以对任意

18、一个新的文档d,得到它的主题分布。对于文档 d,首先使用吉布斯采样的方法,计算出文档d 中每个主题出现的次数,用向量 V 表示。采样的过程如图 。第 i 次迭代中,计算第 n 个词所属的主题时,依赖于第 i 次迭代时,前 n 1 个词被分配的主题,以及第 i 1 次迭代时,第n + 1 N 个词被分配的主题。图 3-124个性化信息推荐个性化信息推荐就是在一堆文本信息源中,找出用户感兴趣的文本,推荐给用户。形式化地讲,给定一个用户的兴趣,表示为一个特征向量 V (u),另外有 N 个候选文档,每个文档也在相同的特征空间表示为一个特征向量,即N = V (n1), V (n2), ., V (n

19、n)。个性化推荐算法通过计算 V (ni) 与 V (u) 的相似度,对这 N 个文档进行排序,返回相似度最大的前 K 个文档。最简单且常用的相似度的计算方法是求两个向量的余弦值。即本文中,用户兴趣 V (u) 的表示方法是时间加权的主题分布。因此,我们把候选的文本也表示为主题分布的形式,这很简单。对于一个候选文本 d,只需要使用(shyng)算法 和公式 即可得到该文本的主题分布。为了描述方便,我们给出一些形式化表示。用户兴趣可以表示为V (u) = (Pu(ki), w(ki)| f or i = 1 T 候选(hu xun)文档 d 的特征向量表示为V (d) = Pd(ki)| f o

20、r i = 1 T 其中(qzhng) T 表示主题的个数,Pu(ki) 表示在用户兴趣在主题上的概率分布,Pd(ki) 表示文档 d 在主题上的概率分布。要计算 V (u) 和 V (d) 之间的相似度,可以通过计算它们在主题 k 上的概率分布距离得到。衡量两个概率分布 p 和 q 的距离的常用方法是Kullback Leibler差异(KL divergence),即这是一个非负函数,当对所有的 j 都满足 pj= qj时,该函数等于0。该函数是非对称的。我们可以把它变为对称的形式为由此,我们定义 V (u) 和 V (d) 之间的相似度计算方法为对于每个候选文档 d,使用公式 计算它与用

21、户兴趣之间的相似度。然后按相似度大小排序,选取前面文档的推荐给用户即可。3. 实验结果与结果分析3.1主题模型的构建3.1.1 实验设计主题(zht)模型的构建是指在维基百科数据上用LDA模型进行主题分析,最终得到(d do)每个主题在词空间上的概率分布。我们使用的是中文维基百科2013年12月20号的数据库镜像文件2。去除掉了那些没有实际意义的分类下的词条,以及(yj)正文少于100个字的词条。然后,对剩下的词条进行LDA分析,得到主题模型。3.1.2 实验结果及分析主题模型的构建中,一个非常重要的问题就是如何确定主题数目。目前,还没有比较有效的方法来确定主题数目。49等提出使用贝叶斯方法,

22、但是我们依然使用经验假定方法。即不断枚举主题的数目来观察实验结果的好坏,比如观察高概率的主题词汇、语义是否一致等。经过试验,最终我们确定分为 100个主题。图 4-4显示了分配到每个主题中的单词的个数。从该图可以看出,分配到每个主题中的单词数还是比较均匀的,每个主题中的单词数在1000到5000之间。这也间接说明,把中文维基百科数据分为 100个主题是比较合理的。图4-5 显示了在每个主题 k 中,P(w|k) = 0.001 的那些词,占分配到该主题 k 中所有词的比率。从图中可以看出,平均每个主题都有 30% 40%的词满足属于该主题的概率大于等于 0.001。我们从这100个主题中随机挑

23、选了5个主题,表4-2展示了这5个主题中,每个主题中出现概率最高的10个词,以及每个词出现的概率。从这些主题在单词空间上的概率分布可以看出,同一个主题下面的词语(cy)都有比较明显的语义关联性,主题与主题之间也很少有重叠的情况。3.2 兴趣(xngq)抽取和个性化推荐3.2.1 实验设计由于用户兴趣分析结果的好坏都具有很强的主观性,并且目前没有公开的中文测试(csh)集,因此,我们采用类似 中的实验方法。我们选取了三个新浪微博用户,分析他们的兴趣,比较这三种算法的结果。在这三个用户中,其中两个是选取的公众人物,分别是 李开复 和 姚晨 。选取这两个人是因为他们的微博主题比较集中,比较容易验证。

24、另外随机选取了一个匿名普通用户,以研究算法的泛化能力。另外(ln wi),我们还随机从Google新闻(xnwn) 上面抓取了100个新闻页面,这些新闻内容属于 财经,科技,体育,娱乐(yl),健康,政治,社会等7个分类,每个分类下面有10篇左右的新闻。3.2.2 非负矩阵分解非负矩阵分解(Non-negation Matrix Factorization)是D.D.Lee 和H.S.Seung等提出。它与主成分分析(PCA),奇异值分解(SVD)等类似,都是通过寻求对原始矩阵的分解,得到原始矩阵的低维近似。但是,与这些矩阵分解算法不同,非负矩阵分解克服了传统矩阵分解的许多问题。它通过寻求上下

25、文有意义的解决方法,提供解释数据的更深层的看法。传统的矩阵分解,分解出的矩阵可能存在负的元素。而非负矩阵分解保证分解出的两个矩阵的元素都是非负的。这在现实的应用中有很多例子。例如,数字图像中的像素一般是非负的,文本分析中的单词频率也是非负的。NMF可以形式化地表示为3.2.3 实验结果及分析这三种算法根据李开复的微博内容,推荐的前20篇新闻所属的类别如4-6图 所示。从图4-6中可以看出,这三种方法都比较集中地推荐了属于 科技 分类下面的新闻,另外比较多的分类的是 财经 、 娱乐 。而我们的算法推荐的新闻中属于 科技 类的新闻的比例更多,其他分类如 体育 , 社会 等基本没有。通过人工分析李开

26、复微博的内容,我们发现他的微博中有讨论到这方面的内容,但是时间比较早,或者只提到了很少的几次。因此,在我们的算法中,由于使用了时间权重,使得属于这两个分类下的新闻的得分会比较低。这说明我们的算法能更好地发现用户实时的兴趣。图4-7是三个算法对姚晨的微博进行分析后推荐的结果。图4-8是三个算法对匿名用户 进行分析后推荐的结果。匿名用户A的微博内容主要是转发一些娱乐信息,篮球和足球比赛,和自己的一些日常活动。从图4-8中可以看出,NMF算法和PrimaryLDA 算法推荐的新闻没有一个比较明确的分类,每个分类下面都会有一些。而我们的算法的推荐结果则比较集中于体育类别。造成这种结果的原因可能有以下两个方面组成:1、与前面的两个公众人物,李开复和姚晨,发布的微博数量相比,匿名用户A的微博数量很少。李开复和姚晨分别发布了6000多条和8000多条的微博,而用户A只发布了100多条。这造成微博中包含的信息不足。而我们的算法则可以利用维基百科提供的外部知识进行扩展。2、与两个公众人物(rnw)的微博相比,用户A的所有(suyu)微博中有很多与个人兴趣不相关的微博。这对NMF算法(sun f)和PrimaryLDA算法造成了一定的干扰。而我们的算法由于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论