基于深度学习LSTM模型的新闻分类方法设计_第1页
基于深度学习LSTM模型的新闻分类方法设计_第2页
基于深度学习LSTM模型的新闻分类方法设计_第3页
基于深度学习LSTM模型的新闻分类方法设计_第4页
基于深度学习LSTM模型的新闻分类方法设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

湖南商务职业技术学院毕业设计

目录

1引言............................................................................................................................1

1.1项目背景......................................................................................................1

1.2开发环境与工具..........................................................................................1

1.2.1Python简介..........................................................................................1

1.2.2Tensorflow简介..................................................................................2

1.2.3Python第三方库简介..........................................................................2

2需求分析....................................................................................................................3

2.1可行性需求分析..........................................................................................3

2.2数据集采集功能分析..................................................................................3

2.3关键技术分析..............................................................................................3

2.3.1卷积神经网络原理...............................................................................3

2.3.2jieba关键技术....................................................................................4

3数据采集....................................................................................................................4

3.1数据集需求分析..........................................................................................4

3.2数据集获取分析..........................................................................................5

3.3数据集下载..................................................................................................6

4数据集处理................................................................................................................6

4.1导入所需要的库..........................................................................................6

4.2读取训练集、验证集和测试集..................................................................6

4.3查看数据集大小..........................................................................................7

4.4精确分词......................................................................................................7

4.4.1保存分词文件.......................................................................................7

4.4.2文本向量化...........................................................................................8

4.5拼接数据集及绘图......................................................................................9

4.5.1绘制散点图.........................................................................................10

4.5.2绘制直方图.........................................................................................11

5模型构建及评估分析..............................................................................................11

I

湖南商务职业技术学院毕业设计

5.1模型构建....................................................................................................11

5.1.1模型结构.............................................................................................11

5.1.2建立模型.............................................................................................12

5.2模型编译....................................................................................................13

5.2.1优化器设置.........................................................................................13

5.2.2损失函数设置.....................................................................................13

5.2.3模型编译.............................................................................................13

5.3模型训练与调优........................................................................................14

5.3.1模型训练设置.....................................................................................14

5.3.2学习率调优.........................................................................................14

5.3.3Epochs设置........................................................................................15

5.4模型部署....................................................................................................15

5.4.1系统前端设计.....................................................................................15

5.4.2设计效果展示及分析.........................................................................16

6小结..........................................................................................................................18

参考资料.........................................................................................................................20

II

湖南商务职业技术学院毕业设计

基于深度学习LSTM模型新闻分类方法设计

1引言

在5G时代的快速推进下,新闻的传播速度以秒进行,新闻的数据量导数

据的快速发展,大数据技术、互联网、移动互联网、社交网络自媒体等促进

下,新闻的分类技术变得越来越成熟,将成千上万条新闻进行分类,让它在人

们心中的价值越来越高。

1.1项目背景

随着科技的快速发展和社会的多方面交流,新闻价值变得越来越高,也变

得越来越重要,其带来的便捷性是毋庸置疑的。伴随着互联网的快速发展、大

数据分析快速发展和逐步完善,使得自媒体也变得越来越完善、成熟。

在当今社会随着5G时代的到来,人们每天的第一件事就是打开手机,无

时无刻了解不同国家,不同地区的新闻信息,其数据量之多也不必多言,所以

如何处理这些新闻文本数据,使其简洁、干净、去掉不需要不重要的信息,保

留有效,重要的信息变得越来越重要。

对于新闻本身而言,可以按很多定义去他的种类,就比如可以分为事件性

新闻和非事件新闻,按报道内容,可以经济、社会、娱乐、军事、游戏等等,

覆盖了动态新闻和综合新闻。

对普通老百姓网上冲浪一些自媒体,网站等各种新闻发布者、传播者对新

闻进行分类越来越简洁深受大众好评这也充分证明的新闻分类的可行性及其重

要性。

1.2开发环境与工具

1.2.1Python简介

在荷兰荷牛科技大学设计和开发,起初是为了作为一种简单易学的脚本语

言,但是随着时间的推移,Python已成长为一种全功能的编程语言,被广泛用

于Web开发、科学计算、人工智能、数据分析等领[1]。

Python开源的特性,使得全世界都可以参与它的开发和推广。Python社

区庞大,有丰富的文档、教程、代码库和第三方扩展包,让Python成为众多

开发人员和科学家的首选编程语言之一。

1

湖南商务职业技术学院毕业设计

1.2.2Tensorflow简介

目前有不少深度学习的基础框架,其中tensorflow提供python的接口。

Tensorflow是机器学习和数据科学中的两个框架之一,也同样是一个开源软件

库,是利用计算图去精确计算数值。

TensorFlow提供了各种API,可以提供给初学者和专家在桌面、移动、网

络和云端环境下进行开发[1]。

数据以张量(Tensor)的形式在计算图中流动(Flow),这也是这个计算

框架命名为TensorFlow的原因。

Tableau数据可视化分析产品,能够连接数据库,呈现动态的数据变化,

更加直观的进行数据分析。

1.2.3Python第三方库简介

requests:最友好的网络爬虫功能库,非常简洁,相比于urllib使用非

常容易,第三方库都需要先安装才能去使用[8]。

Re:正则表达式解析和处理功能库,里面包含了多种字符串匹配的方法。

NumPy库是Python数据分析的基础,是处理数组的Python库,NumPy库

的数据结构比Python自带的更加高效[2]。

pandas:数据分析并保存为csv文件,python数据分析高层次应用库,还

可以进行数据清洗[9]。

matplotlib:绘图库,主要是偏向于二维绘图包括折线图、条形图、扇形

图、散点图、直方图等等。

jieba:生成中文词云的。

主要用到的就是结巴库:

结巴库:jieba是所有第三方库之中比较好用的一个中文分词,因为中文

文本每个汉字之间都是不间断书写的,所以我们需要利用某些特定的手段去把

中文文本分成每个词组,这种手段叫做分词,我们可以通过jieba库来完成这

个过程。

Jieba分词原理:利用了一个中文词库,把需要分词的中文文本和分词里

面的词库对比,然后通过图结构和动态规则划分方法找到最大概率的词组。除

了分词,jieba还提供增加自定义中文单词的功能[3]。

2

湖南商务职业技术学院毕业设计

2需求分析

2.1可行性需求分析

1.技术可行性

Python编程语言通俗易懂、是一种动态的面对对象的脚本语言。这让它对

于爬虫领域有着巨大的优势,是当前爬虫的首选语言。本项目便是利用python

采集数据,通过python第三方库进行数据分析、与数据可视化的展示[9]。

Tableau是一款对人操作十分友好的软件,利用它对数据可视化进行展示和分

析也十分便捷[2]。

2.项目可行性

在这个5G时代下,自媒体、网站、各种手机新闻软件等等其中新闻样

式、内容、数据等等都需要用到新闻分类,使新闻变得简洁、干净,让读者观

看新闻更加舒适,从而达到新闻分类的最高效益化,所以新闻分类的可行性非

常之高。

2.2数据集采集功能分析

此次项目的数据集来源于腾讯网,是通过python爬取腾讯网各种新闻包

括财经、科技、娱乐、体育等新闻信息。

本次爬取腾讯网,主要目的是通过实际数据来分析描述新闻的内容如何分

类,比如:什么样的新闻文字往那一条新闻里面放,就比如实时新闻是否应该

放到首页,持续更新,吸引读者的视力,让读者还没有点开新闻条里面去就能

看到该条实时新闻。还有它本设有的热点精选新闻,该如何放入哪个类型的新

闻,还可以适当通过大数据来获取读者是偏向于哪种新闻信息,喜欢什么样的

内容就变化成每一个用户喜欢的新闻内容,样式等等。

2.3关键技术分析

2.3.1卷积神经网络原理

LSTM模型,是一种神经网络模型这种,这种网络模型在循环神经网络基础

上加以改进[10]。LSTM模型的设计目的是解决长序列数据在传统的循环神经网

络中,非常容易形成梯度消失或者梯度爆炸等一系列的问题,因此变得不能非

常高效地学习到一些能够长期依赖信息的限制。LSTM模型的核心是通过添加门

3

湖南商务职业技术学院毕业设计

控单元,来控制信息的流动和保留。它的组成其主要由三种门控单元:输入

门,遗忘门,输出门。其中,第一个输入门用来控制网络内部的输入流量,而

第二个遗忘门用于控制输入的遗忘流量,输出门控制网络外部的输出流量,从

而通过不同的门控机制,可以有效地控制和调节信息的流量和保存[5]。

因此,LSTM模型不仅能够学习到长序列数据之间的相互关系,还能够将先

前时间步骤的信息传递到后续的时间步骤,进而影响后续预测的结果。LSTM目

前在语音识别、机器翻译、时间序列预测等领域中都取得了重要的应用效果

[4]。

2.3.2jieba关键技术

jieba是目前在python领域中对于中文分词有着非常好的表现,拥有三个

非常高效的特性,比如第一个:中文文本需要通过分词才能获得单个的词语。

而第二个:结巴需要另外去安装,是一个独立的库。第三个:结巴库提供三种

分词模式。

jieba库的分词原理:使用一个中文词库,然后去确定中文文字之间的关

联概率,文字之间概率的组成词组,从而去形成分词的结果。除此之外,我们

自己还可以去自定义的添加一个词组[6]。

算法:

基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所

构成的有向无环图(DAG)[3]。

采用了动态规划查找最大概率路径,找出基于词频的最大切分组合对于

未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算

法。

3数据采集

3.1数据集需求分析

打开QQ浏览器,首先登录腾讯网,在搜索栏中输入关键字:体育、娱

乐、家居、房产、教育、时尚、时政、游戏、科技和财经点击搜索,观察图3-

1,其中的网络页面如下图所示;然后点击页面下方的分页按钮,同时观察

URL,发现URL没有变化。

4

湖南商务职业技术学院毕业设计

图3-1数据网址页面

按F12调出开发者工具,刷新页面,如图3-1。利用全局搜索工具定位所

需数据位置,点击开发者工具上面的Headers字段,分析这是个什么请求,然

后找到POST请求。

3.2数据集获取分析

定位到我们所需要的数据所在的位置,点击一条新闻:教育,调出全局搜

索框搜索,点击数据预览Preview,如图3-2,然后找到新闻这个数据在

positionResult下result列表中。最后找到json数据。

图3-2分析数据类型页面

5

湖南商务职业技术学院毕业设计

3.3数据集下载

将数据集下载保存在cnews中

图3-3下载数据集

三个数据集如下图所示,含有dev数据集,train训练集和test测试

集。

图3-4训练集、测试集和验证集

4数据集处理

4.1导入所需要的库

首先第一个步是安装所需要的第三方库,在这里我们导入pandas库别名为

pd,导入numpy库别名为,导入tensorflow库别名为tf,再从

gensim.models导入word2vec,代码如图4-1所示。

图4-1导入pd,np,tf包

4.2读取训练集、验证集和测试集

对数据集进行读取,如图代码4-2所示。

6

湖南商务职业技术学院毕业设计

图4-2读取数据集

4.3查看数据集大小

利用shape()对训练集查看大小,如图4-3所示。

图4-3训练集的矩阵大小

它的大小是50000x2的矩阵,如图4-4所示。

图4-4训练集的矩阵大小

然后我们使用train[‘content’][0]查看内容中第一行的内容。如下图

4-5所示。

图4-5取出的训练集内容

4.4精确分词

首先引入结巴库,利用jieba库中的jieba.lcut()函数来进行精确分词,

定义一个分词函数变量,分词完之后用空格对其进行连接。

图4-6设立精确分词函数

4.4.1保存分词文件

先导入OS库:ImportOS,导入os库之后,保存精确分200个词的文件保

存。

7

湖南商务职业技术学院毕业设计

图4-7对三个数据集分词

精确分词:以空格为分开符号来对文本前面200个词语进行精确分词

size=200,window=5,Iter=10,worker=11,seed=2018,min_count=2。

图4-8对三个数据集分词

利用model.save()函数,word2vec.load()函数保存文件。

显示精确分词之后的文本内容如下所示:

图4-9前200词精确分词文本

4.4.2文本向量化

创建一个分词器tokenizer,根据文本更新内部分词器信息。

图4-10建立分词器

8

湖南商务职业技术学院毕业设计

根据单词划分然后生成文本序列:

图4-11文本序列

根据分词数,分词文本来创建一个矩阵。

图4-12文本矩阵

矩阵内容如下图所示:

图4-13矩阵内容

4.5拼接数据集及绘图

在这里我们使用pd的concat对数据集进行拼接。

图4-14拼接数据集

9

湖南商务职业技术学院毕业设计

导入matplotlib.pyplot、numpy库。

图4-15导入绘制图形所需要的matplottlib.pyplot包

4.5.1绘制散点图

首先利用plt.figure来弄一个大小20,10的图,顶峰值用*并且拿红

色来进行填充,设置三条无限长的直线分别是黑色、卡其色和橘色,橘色最

高,卡其色第二,黑色位于最后一个。在这里先用np.mean()函数对其进行

画线,用percentile函数把第二条和第三条的values设为90和98.

图4-16绘画出数据集的一个散点图

图4-17绘制出来的散点图型

从散点图的内容上来说,15000达到了一个峰值,先达到一个最低,然后

迅速的发展到了顶峰。

10

湖南商务职业技术学院毕业设计

4.5.2绘制直方图

图4-18绘制出来的直方图图型

从直方图可以看出,体育、娱乐、家居、房产、教育、时尚、时政、

游戏、科技和财经他们的数据内容都一致,他们的长度都相同。

5模型构建及评估分析

5.1模型构建

5.1.1模型结构

首先去定义两个需要隐藏空间的维度,它们这个两个维度的大小都可以通

过自己来进行调整,第一个维度它被利用控制词嵌入时的一个维度,然后第二

个维度就是用来控制这个模型的两个状态变量,这两个变量分别是h,c维

度。然后定义它的输入变量,这个变量长度是一个向量。接下来通过

embedding函数,从而去实现词嵌入,之后就变成一个可以控制的向量,然后

把x作为函数LSTM的输入,因此建立模型。它经历了一次embedding层,这

一层是把所有不相同的中文文字都放进一个虚拟空间中,然后来一次LSTM

层,通过三个门来进行消耗,最后进行全连接。

先导入labelencoder包,对数据集进行分析模型结构代码如下图5-1所

示。

11

湖南商务职业技术学院毕业设计

图5-1模型结构

模型结构分析结果图如下图5-2所示

图5-2分词内容

5.1.2建立模型

在这里我们使用embedding对其进行建立模型如下图5-3所示

图5-3建立模型

12

湖南商务职业技术学院毕业设计

5.2模型编译

5.2.1优化器设置

优化器的作用就是用来优化损失函数,用来更新和计算影响模型训练和模

型输出的网络参数,让它变得最优值,让损失函数最小化的形式去修改可训练

集。常见的优化器梯度下降法,其中包括批量梯度,随机梯度和小批量梯度。

把学习率设为0.001,最小化的目标函数,使用Adam优化器,学习率为

learning_rate。

图5-4设置学习率

5.2.2损失函数设置

损失函数是用来评估模型的预测值和真实值的方法,去评估它们不一样的

程度大小,是一个神经网络中需要优化的目标函数,也可以去衡量一个模型的

性能好或者坏,从而去引导我们优化算法,然后达到一个提高模型的性能,它

的设计方法存在算法,模型和训练实验这三个方面的影响。

损失函数另外还有两个非常突出的主要作用,第一个是去计算输出与预期

之间的一个差距,从而让模型调整方便提供有效的信息。第二个主要作用是损

失的降低到让收敛去对模型的一个有效性进行一次重要而不可避免的检验方

式。

利用metrics中的mean()和categoricalaccuracy()分别对训练集和测试

集进行设置。

图5-5损失函数

5.2.3模型编译

在这里我们调用model.summary()对其进行模型编译。

13

湖南商务职业技术学院毕业设计

图5-6模型编译

5.3模型训练与调优

5.3.1模型训练设置

设置训练损失和精确,利用tensorflow中的keras的metric来进行设置

对训练集损失,精确操作:

图5-7训练集精确操作

对测试集损失,精确操作:

图5-8测试集精确操作

5.3.2学习率调优

设置学习率,我们在这里把学习率设为0.001。

图5-9设置学习率

14

湖南商务职业技术学院毕业设计

5.3.3Epochs设置

把epochs设为10,把训练集和测试集进行损失、精确调试,循环EPOCHS

长度来一次对训练集和测试集损失和精确。

图5-10epochs设置

5.4模型部署

5.4.1系统前端设计

点击黑色框里面的文字“点击上传文本数据集”,然后我们就可以上传新

闻文本数据集,然后初始的新闻列表条数都为0。进行新闻分类之后就可以显

示出分类之后的新闻条数的统计图。

图5-11上传文本数据集

15

湖南商务职业技术学院毕业设计

5.4.2设计效果展示及分析

取50条新闻进行分类之后统计的各个新闻的条数。进行上传文本数据集然

后分类之后统计的新闻条数统计图,如下图所示所示。

图5-12python运行之后的结果图

由图5-13所示,可以看出模型编译之后它的一个准确率高达0.98,非常

明确的表明了这个模型进行新闻分类十分精准。

图5-13分类之后模型准确率

16

湖南商务职业技术学院毕业设计

图5-14分类之后显示的新闻条数结果

图5-15分类结果

将新闻文本内容汇总,分有体育、娱乐、家居、房产、教育、时尚、时

政、游戏、科技和财经。如图5-15中可以看出时政在新闻文本中他的热度非常

高后面科技和时尚据地位。

不难发现,时政和体育位居第一,这说明了在我国高速科技的发展下,时

政和已经变成了我国的一项热门话题,从2008年的北京奥运会开始,我们国

家在体育的发展上已经取得了一个阶段性的成功,获取了总金牌数的第二名,

在这小小二十年的发展,体育肯定发展到了一个惊人的地步,尤其是乒乓球,

17

湖南商务职业技术学院毕业设计

一直以来都是我国的一个强项;体育当然给人们带来了不可质疑的好处,热爱

一门体育项目,就能是自己的身体健康得到一个良好的基础保证和保障,所

以,体育位居榜首是一个非常好的体现。

其次就是房产也是和体育热度排到第一个,这是因为什么呢,我们国家是

一个人口基数大,人占比地区少的一个国家,在我们国家的每个人的努力下,

人人都过上了好

温馨提示

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

评论

0/150

提交评论