基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计

技术栈

Java EE Eclipse Mysql-5.6 Spring SpringMVC Mybatis JavaScript EasyUI TF-IDF算法

推荐算法

基于内容推荐算法:TF-IDF

基本原理:根据用户的浏览行为,获得用户的兴趣偏好度,为用户推荐跟他的兴趣偏好相似的内容,采用词频-逆文档词频来提取文章关键字,根据关键词词频向量计算相似度(余弦相似度)来进行内容推荐。

(1)方法描述

在新闻领域,推荐系统将用户的特征作为依据,利用用户历史行为数据进而挖掘用户可能感兴趣的文章内容并推送给用户,以减少用户在新闻搜索上花费的时间和精力。

系统首先使用分词工具包jieba对每个新闻进行分词,根据分出来的值过滤掉语气词和不重要的内容,然后计算每个词的TF-IDF值获取新闻关键词以及采用余弦相似度计算除自己以外的其他新闻关键词的相似度,根据从大到小排序,选取前五个新闻的id保存在相似度列表中,当用户通过点击一个新闻的标题、封面等查看新闻详情页时,系统就会去数据库取该新闻相似度最高的5条新闻然后把它们推荐给用户。

(2)内容相似

新闻作为文本类的数据,可以从文本特征几个方面去提取它的特征信息,然后将不同的新闻间的特征信息进行比较。

通过采用余弦相似度比较特征信息,计算的余弦值越接近1就越相似。

(3)提取新闻关键词

TF-IDF的主要思想是:如果一个字词在一篇文档中出现的次数很多,而在语料库其他文档中出现的次数很少,那么就可以认为该字词具有良好的分类效果,适合当作分类关键词。

从每篇新闻过滤好的词频中挖掘,构建新闻关键词列表,使用TF-IDF算法提取计算出新闻消息的K个关键词对应的TF-IDF值,并将它们存入集合。

(4)新闻内容相似度计算

从每篇文章中提取了若干个关键词,有了新闻的关键词列表{keyword1:value1,keyword2:value2……},以及其他新闻的关键词列表{nkeyword1:nvalue1,nkeyword2:nvalue2……},生成两篇文章各自的词频向量,计算两个向量的余弦相似度,值越大就越相似。其中所有文章对应的词频向量等长,相应位置的元素对应同一词。

实现功能

(1)前台功能模块

前台用户可以进行分类查看各模块下的新闻概要列表并显示基于新闻评论量推荐的新闻列表,点击新闻封面、标题等可直接进入新闻详情页进行阅读、评论,显示基于词语的新闻推荐列表,搜索框输入来搜索感兴趣的新闻。

(2)后台功能模块

后台管理主要包括系统设置、用户列表管理、系统日志以及新闻管理四个模块。系统设置里面包括进行菜单按钮增删改查的菜单管理、增删改角色信息的角色管理和修改密码;用户信息管理里面包含了一个详细的用户信息可以对每个人的详细资料进行了增删或者修改操作;系统日志里面包含了一个日志清单,可以对日志进行增删操作;新闻管理模块里包括进行增删改查分类信息的分类管理、增删改查新闻的标题、封面等信息的新闻管理以及增删改新闻的任意一条评论的评论管理。

系统功能结构图

基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计_第1张图片

预览

前台展示:

新闻推荐(推荐5条相似新闻)

【备注:】推荐还有一处首页给用户的热门推荐

后台展示:
基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计_第2张图片基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计_第3张图片基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计_第4张图片

项目获取

添加QQ获取:3181514079

项目中将会包含:项目源码、数据库、运行须知、PPT

基于内容推荐(TF-IDF)的新闻博客系统-期末项目/毕业设计_第5张图片

你可能感兴趣的:(项目,毕业设计,Java,java)