该项目是我的毕业设计,是一个文本分类相关的应用,目的是打造出一个可以对新闻进行智能分类的微信小程序。
Python + Scrapy + MongoDB + scikit-learn + Flask + 微信小程序,涉及爬虫、文本分类、Web 开发和微信小程序。
系统架构图如下图所示,分为基础设施层、服务层、交互层、应用层。
整个系统的实现分为如下四个步骤,分别是新闻数据爬取、文本分类处理、后端 API 接口开发,微信小程序客户端构建。
爬虫的目标网站为中国新闻网,新闻数据爬取分类为:国内、国际、军事、体育、社会、娱乐、财经,爬取新闻的时间跨度为 2012 年到 2019 年。
文本分类的效果如下图所示,橙色和蓝色的数量约接近,代表这个分类下的新闻机器分类正确率越高,可以看到由于上面军事类新闻的数量较少,所以训练出来的新闻分类模型效果不是很高,错误率较高。
小程序首页展示新闻列表,点击新闻条目可以查看新闻详情,可以点击分类按钮选择新闻分类,还可以输入关键字查找新闻。
下面通过动图来演示该小程序的特色功能-新闻分类功能(建议下载下面的 gif 图片查看!)。