基于用户偏好的新闻推荐系统的设计和实现毕业论文

 2021-04-12 04:04

摘 要

随着社会不断发展,信息化程度不断提高,筛选信息成了一个重要的课题。日常浏览新闻时,用户通常只会关注自己感兴趣的新闻,而普通的新闻推荐系统也只会根据用户搜索的关键字自动抓取类似的新闻推送给用户,长此以往渐渐产生了所谓的“信息茧房”现象,这对个人及社群的多元化发展是极为不利的。如果能通过算法找到用户潜在的偏好倾向,可以有效抑制“信息茧房”的形成。

本次新闻推荐系统设计中主要使用了协同过滤推荐算法,在收集了用户的新闻偏好后,对各个用户的偏好类型进行建模,计算用户新闻偏好的余弦相似度,把类型相似度较高的新闻推荐给目标用户,以此拓展用户的偏好倾向。在实现过程中运用了面向对象的开发方法,系统采取B/S结构,使用原生JDBC开发,首要开发语言为Java,后台数据库为MySQL。

关键词:用户偏好,信息茧房,协同过滤

ABSTRACT

With the continuous development of society, the degree of informationization is constantly improving, information screening has become an important issue.When browsing news on a daily basis, users usually only pay attention to the news they are interested in, and the ordinary news recommendation system only automatically grabs similar news and pushes it to users according to the keywords searched by users. In the long run, the so-called "information cocoons" has gradually emerged., which is extremely harmful to the diversified development of individuals and communities. If the potential preference tendency of users can be found through the algorithm, the formation of "information cocoons" can be effectively suppressed.

Collaborative filtering recommendation algorithm is mainly used in the design of news recommendation system.. After collecting the news preferences of users, the preference types of each user are modeled, the cosine similarity of the user's news preferences is calculated, and the news with high type similarity is recommended to the target user, so as to expand the user's preference tendency. In the process of implementation, the object-oriented development method is used. The system adopts B/S structure and uses native JDBC to develop. The primary development language is Java and the background database is MySQL.

KEY WORDS:user preferences,information cocoons, collaborative filterin

目 录

第1章 绪论 1

1.1研究目的与意义 1

1.2 国内外研究现状 1

1.3 本文的主要工作 2

1.4 本文的组织结构 2

第2章 系统开发工具及相关理论知识 4

2.1开发工具简介 4

2.1.1 Ecplise简介 4

2.1.2 MySQL简介 4

2.1.3 JDBC简介 5

2.1.4 Tomcat简介 5

2.1.5 SQLyog简介 5

2.2 系统开发思想 6

第3章 新闻推荐系统需求分析与总体设计 7

3.1 系统功能需求分析 7

3.1.1 系统可行性分析 7

3.1.2 系统功能具体分析 7

3.2 系统模块总体设计 7

3.2.1管理员/用户功能设计 9

3.2.2 算法功能测试 9

第4章 新闻推荐系统详细设计 16

4.1 系统运行平台 16

4.2 方法设计 16

4.2.1在控制层(system)中: 16

4.2.2在事务层(RunD)中: 17

4.3 数据库 18

4.4 功能展示 19

4.4.1 模拟用户界面 19

第5章 总结与展望 24

5.1 本文实现的工作 24

5.2 本系统的不足之处 24

致谢 25

参考文献 26

附录 28

第1章 绪论

1.1研究目的与意义

随着信息化社会的不断发展,每天接触着井喷的新闻信息,人们也开始困扰于这过于庞大的新闻体系。对于现代社会的人来说,每时每刻都在接收身边各式各类的信息。新闻的获取变得愈发容易,不论在网络的哪个角落都能获得为数不少的新闻内容。但是新闻获取变得便捷的同时,人们之于新闻的选取也变得越来越个人化,如果使用了一个简单的基于关键字的新闻推荐系统,这一问题更是被加倍的放大。

如果新闻推荐系统只会单纯地根据用户输入的关键词或平时经常浏览的新闻类型来选择推荐新闻,用户只能得到他们已知范围的新闻,难以获取已知范围以外的信息。随着这种极化程度的加深,用户的眼界只会变得越来越狭隘,甚至排斥接收其他类型的信息,这也就是所谓的“信息茧房”现象。譬如在微博环境中,拥有几十乃至几百万粉丝的大V们拥有着相当程度的号召力及影响力,他们的粉丝们大多为这些“意见领袖”的言论马首是瞻,听不进甚至刻意排斥意见相左者的声音,自发地维护那些意见领袖的言论,而不论言论的对错。人们生活在自己织成的茧里,对外4面的世界充耳不闻,这对个人以及整个社会的危害都是显而易见的。

为了遏制这一现象的产生,让用户能听见不同的声音,看到平时不会刻意搜索的新闻,各种各样的新型新闻推荐系统被创造了出来,常见的推荐算法有、基于流行度的算法、协同过滤算法、基于内容的算法、基于模型的算法、混合算法等几种。比如通过使用协同过滤算法,统计出新闻偏好相似的用户,并给用户推荐他所不了解、而其他用户感兴趣的新闻类型,拓宽用户的视野,防止用户陷入单调不变的个人偏好里,从而减少“信息茧房”的产生。

1.2 国内外研究现状

在推荐系统方面目前国外起步较早,早在1992年由Goldberg 等人制作出了具有邮件过滤功能的User CF,后进过不断发展,逐渐开发为新闻过滤系统,以此为基础发展出了诸多个性化推荐系统。目前国外对于新闻推送算法的研究具体体现在对大数据的分析以及算法的精准性调整上,如Twitter、Facebook等采用的混合型新闻推送算法,可以在很精确地为用户推荐需要的信息。最近几年云计算技术不断发展,分布式环境下的推荐系统渐渐兴起。例如,Abhinandan Das和Mayur Data提出了一种混合分布式协作过滤算法,作为一种集成了内存和模型的算法,它在一定程度上缓解获取的用户数据过于稀疏的问题,改善了推荐的精度,目前正在为谷歌新闻提供个性化推荐服务。

相对于国外,国内的推荐系统在近几年才发展起来。随着国内电子商务规模不断发展壮大,以阿里巴巴为首的国内电商网站也开始开发自己的新闻推荐系统。目前,国内企业在推荐系统上有所成就的有百度、阿里巴巴、腾讯、今日头条和新浪等。2006年,当当网推出了关于其所售商品的个性化推荐系统,得到了众多用户的青睐。淘宝也在2008年推出了“爱淘宝”,其自主研发的个性化推荐系统;2011年,百度推出了个性化的主页“一人一世界”,使用了基于大数据和机器学习的个性化数据,总体上提高了个性化推荐水平,用户反映良好;2014年,阿里巴巴举办了“天池”个性化推荐大赛,吸引了来自各地的推荐系统研者员,极大地促进了中国推荐算法的发展。

1.3 本文的主要工作

基于用户偏好的新闻推荐系统通过对用户新闻点击频率、新闻类型等数据的采集,对每个用户的新闻偏好类型进行建模分析,比较用户之间新闻偏好类型的相似程度,在去除了重合的偏好类型后,列出目标用户最可能感兴趣的新闻类型,以及该类型对目标用户的推荐度。

您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,优先添加企业微信。