基于内容的新闻推荐系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于内容的新闻推荐系统
一般在一个个性化推荐系统中,用户对已经看过的对象依据感兴趣程度进行评分,推荐系统根据用户对已查看对象的评分情况,预测用户对未查看对象的评分,并将用户未查看对象按照预测评分的高低排序,呈现给用户。
抽象地看,推荐系统是预测用户对未查看对象评分的系统。而推荐系统对未查看对象的评分方法即为推荐算法。而主要的推荐算法有三类:①、协同过滤的推荐方法、②、基于内容的推荐方法、③、混合的推荐方法。
①、协同过滤是利用集体智慧的一个典型方法。
协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。
比如说,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。
协同过滤相对于集体智慧而言,它从一定程度上保留了个体的特征,就是你的品位偏好,所以它更多可以作为个性化推荐的算法思想。
二、协同过滤的实现步骤:
2)、找到相似的用户或物品
当已经对用户行为进行分析得到用户喜好后,我们可以根据用户喜好计算相似用户和物品,然后基于相似物品进行推荐,这就是最典型的CF 的分支之一——基于物品的CF。
3)、计算推荐——基于物品的CF
比如说,对于物品A,根据所有用户的历史偏好,喜欢物品A 的用户都喜欢物品C,得出物品A 和物品 C 比较相似,而用户 C 喜欢物品A,那么可以推断出用户 C 可能也喜欢物品C。物品 C 比较相似,而用户 C 喜欢物品A,那么可以推断出用户 C 可能也喜欢物品C。
基于物品的CF 的基本原理
②、基于内容的推荐方法
它是将与用户过去感兴趣的对象相似的对象推荐给用户,该方法是对协同过滤的延续和发展,主要借鉴了信息抽取和信息过滤的研究成果,依据被推荐项目的内容特征来进行推荐。
③、混合的推荐方法。
它则是以上两种方法的综合体。
可见,要想做一个个性化的新闻推荐系统,最理想的是运用协同过滤推荐方法。
但是,智能推荐大都基于海量数据的计算和处理,然而在海量数据上高效的运行协同过滤算法以及其他推荐策略这样高复杂的算法是有很大的挑战的。
相对于智能推荐,只要求实现基本的推荐功能的新闻推荐系统来说,基于内容的推荐方法比较合适。在使用该方法的系统中,被推荐对象使用其内容的特征进行表示,推荐系统通过学习用户的兴趣,将用户模型与被推荐对象进行相似度比较来实现特征提取。而文本类的内容,其特征相对来说较易提取,而且最为普遍的网络新闻正是文本新闻。
所以,在文本要描述的网络新闻系统中,采用基于内容的推荐方法,效果相对较为显著。
基于内容推荐机制的基本原理
首先我们需要对新闻的元数据有一个建模,这里只简单的描述了一下新闻的类型;然后通过新闻的元数据发现新闻间的相似度,因为类型都是“文化,科教”新闻 A 和 C 被认为是相似的新闻;最后实现推荐,对于用户A,他喜欢看新闻A,那么系统就可以给他推荐类似的新闻C。
这种基于内容的推荐机制的好处在于它能很好的建模用户的口味,能提供更加精确的推荐。但它也存在以下几个问题:
1需要对物品进行分析和建模,推荐的质量依赖于对物品模型的完整和全面程度。在现在的应用中我们可以观察到关键词和标签(Tag)被认为是描述物品元数据的一种简单有效的方法。
2物品相似度的分析仅仅依赖于物品本身的特征,这里没有考虑人对物品的态度。
3因为需要基于用户以往的喜好历史做出推荐,所以对于新用户有“冷启动”的问题。
新闻推荐系统结构图
新闻采集模块:
主要负责从互联网上采集新闻资讯信息,主要以国内知名新闻门户类网站作为其新闻源。比如说:搜狐、新浪、新华网、凤凰网等。在本项目中仅以凤凰网作为新闻源。它采集到新闻后,将正文内容从页面中提取出来,保存到数据库中。作为一个比较实用的新闻推荐系统,就因该保持推荐的新闻的新,亦即在此模块还应该负责管理系统中活跃的新闻,若某一新闻的发布时间超过一定的时效则视为过期,并标记为已归档,而不会出现在以后的推荐列表中。
新闻推荐模块:
主要负责响应用户请求,生成新闻推荐列表,并将列表返回给用户。在改模块中使用的算法便是基于内容的推荐算法,此外,在推荐结果中,还会将最新的新闻整合到推荐列表中,因为最新的新闻是依据时间排序的,而内容具有随机性。
资源调度模块:
主要负责监控系统当前负载情况,按照算法调整新闻数据保持的时间时效,从而保证新闻的实时性,并控制新闻的数量;此外还要调用推荐算法进行计算和关于相似度的计算。
用户在浏览新闻的过程中,其使用习惯主要包括使用时间、阅读的新闻分类(国际、社会、科教、IT、医疗等等)、每天新闻阅读时间和次数等等信息,而这些信息都应该呗记录到用户数据库。然后,由用户建模模块进行数据分析,并最终生成用户模型保存在用户模型数据库中。
该模块还必须定时运行,从而不断更新用户模型,从而使得用的兴趣转移能够实时反映到用户模型中。
监视系统资源,根据负载情况实时调整计算资源的分配,从而保持系统稳定的响应时间。
对于用户的不同主题的兴趣特征进行分类。
计算使用用户关注某篇新闻的时间时间长度,并以此来作为用户对此新闻的一个关注
度的指标。
用户兴趣挖掘:用户数据获取语义预处理文本分类用户兴趣模型文本分类技术:文本分词关键词提取特征值离散化关键词和分类新闻推荐模块