相关文章
数据代码分享|Python用NLP自然语言处理LSTM神经网络Twitter推特灾难文本数据、词云可
2024-11-10 17:13

 

数据代码分享|Python用NLP自然语言处理LSTM神经网络Twitter推特灾难文本数据、词云可

Twitter是一家美国社交网络及微博客服务的网站,致力于服务公众对话。迄今为止,Twitter的日活跃用户达1.86亿。与此同时,Twitter也已成为突发紧急情况时人们的重要沟通渠道。由于智能手机无处不在,人们可以随时随地发布他们正在实时观察的紧急情况。 因此,越来越多的救灾组织和新闻机构对通过程序方式监视Twitter产生了兴趣。但是,我们并不清楚一个用户在推特上发布的推文是否是真实的正在发生的灾难。举个例子,用户发送了“从正面看昨晚的天空,好像在燃烧一样。”作者明确使用了“ABLAZE”一词,但仅仅是为了形容火烧云,并非真正的火焰燃烧。这对于人类来说是显而易见的,但是对于机器来说便很难分辨该用户是否正在预告真实发生的火灾。

建立一个预测推文发布灾难真实性的机器学习模型,该模型可以预测哪些推文发布的是真实发生的灾难,哪些是虚假的灾难,从而为相关组织网络监测灾难发生及救援提供帮助。

数据集中包含的列:列名 解释id 每条推文的唯一标识符text 推特的内容location 推文发送的位置(可以为空白)keyword 推文中的特定关键字(可以为空白)target 仅在train.csv中存在,表示推文中描述灾难的真假,真实为1,虚假为0

其中,测试集包含7613个样本,训练集包含3263个样本。

运用pandas分别读取训练集,测试集等。

查看训练集前五行

结果如下:

查看测试集前五行

结果如下:

首先,运用plotly绘制真实虚假灾难数量对比的饼图,该饼图描述了正例反例在训练样本中的占比,检验数据平衡性。

运行结果如下:

由饼图可知,在训练集中,灾难真实发生的样本(1)共有3271个,占总体的43%,非真实发生的样本(0)有4342个,占总体的57%。总体来说比例较为均衡,可以进行后续建模。然后,为了进一步了解灾难推文的大致内容,本文利用wordcloud绘制推文的内容的词云。首先自行将一些网络常用词加入停用词表。

然后定义绘制词云图的函数:

结果如下:

众所周知,在进行建模之前,我们必须首先进行数据的预处理,以便于后续进一步处理。因此,本文将进行一些基本的网络文本清理工作,例如去除网址,去除网络标签,删除标点符号,删除常用表情符号,拼写矫正等。1. 删除网址

2. 删除HTML标签

3. 删除表情符号首先,搜索推特中常用的表情符号,查询他们的代码点(https://emojipedia.org/relieved-face/),将需要删除的表情符号记录。

5. 拼写矫正

1. 文本序列化通过tensorflow自带的Tokenizer分词器设置训练集text中所有词的索引值,然后将词映射为其索引值。

然后,查看text中独立词汇的数量

输出结果:Number of unique words: 14666

2. 嵌入GloVe字典在这里我们将使用GloVe预训练的语料库模型来表示我们的单词。GloVe模型用于进行词的向量化表示,使得向量之间尽可能多地蕴含语义和语法的信息。我们需要输入语料库,然后通过该模型输出词向量。该方法的原理是首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型学习词向量。GloVe语料库共有3种类型:50D,100D和200 D。在这里我们将使用100D。

3. 匹配GloVe向量

输出结果:100%|██████████| 14666/14666 [00:00<00:00, 599653.57it/s](14667, 100)

从2014年起,NLP 的主流方法转移到非线性的神经网络方法,从而输入也从稀疏高维特征向量变为低位稠密特征向量。神经网络不仅像传统机器学习方法一样学习预测,同时也学习如何正确表达数据,即在处理输入输出对时,网络内部产生一系列转化以处理输入数据来预测输出数据。因此,本次建模以神经网络为基础,设置了Embedding层,Dropout层,LSTM层,以及全连接层。1. 定义模型函数导入神经网络相关库后定义模型函数。

添加Embedding层以初始化GloVe模型训练出的权重矩阵。input_dim即词汇量,输入数组中的词典大小是14666,即有14666个不同的词,所以我的input_dim便要比14666要大1,output_dim是密集嵌入的尺寸,就如同CNN最后的全连接层一样,上面设置的100,便将每一个词变为用1x100来表示的向量,embeddings_initializer为嵌入矩阵的初始化的方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。输入序列的长度设置为序列长度20,将每个text表示为一个20×100的矩阵

由于文本数据的连续性,我们添加LSTM层。LSTM是作为短期记忆的解决方案而创建的长短期记忆模型,和RNN类似,只是当词向量作为输入进入神经元后,神经元会按照某种方式对该词向量的信息进行选择,存储成新的信息,输入到相邻的隐藏层神经元中去。

输出结果:

2. 参数选择与调优本文运用交叉验证的方法得到验证集精度,并以此为标准,使用网格搜索来确定最优超参数。Scikit-Learn里有一个API 为model.selection.GridSearchCV,可以将keras搭建的模型传入,作为sklearn工作流程一部分。因此,我们运用此函数来包装keras模型以便在scikit-learn中使用keras。

3. 模型训练

输出结果:

输出结果:

由训练过程可知,验证集准确率最高的参数组合为第五次训练时的参数,batch_size=10 ,epochs=10。4. 模型评估

查看最终参数选择的结果和交叉验证的结果:

输出结果:交叉验证平均准确率: 0.7921975544580065最好的参数模型: {‘batch_size’: 10, ‘nb_epoch’: 10}

5. 与传统机器学习模型对比将train中训练集数据划分为训练集和验证集,然后对比其在验证集上的准确率。

分别使用SVM,KNN,多层感知器,朴素贝叶斯,随机森林,GBDT等方法构建模型,与神经网络进行对比。

输出结果:模型1验证集准确率: 0.6250820748522653模型2验证集准确率: 0.5843729481286933模型3验证集准确率: 0.5384110308601444模型4验证集准确率: 0.4799737360472751模型5验证集准确率: 0.6323046618516087模型6验证集准确率: 0.6401838476690742

以上模型的验证集准确率与神经网络的验证集准确率相比差别较大,可见本文基于神经网络的文本预测模型是相对准确且可靠的。

我们继续通过上述步骤构建的神经网络模型预测test测试集中的target列。

输出结果:

真实虚假样本比例接近1:1.

灾难相关推文中提到最多的词汇是fire。

最好的参数组合是batch_size=10 ,epochs=10。

将测试集输入模型得到最终预测结果。

在此对Yunfan Zhang 对本文所作的贡献表示诚挚感谢,她专长机器学习,概率论与数理统计。

 

最受欢迎的见解

1.R语言实现CNN(卷积神经网络)模型进行回归

2.r语言实现拟合神经网络预测和结果可视化

3.python用遗传算法-神经网络-模糊逻辑控制算法对乐透分析

4.R语言结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

5.Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性

6.Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

7.用于NLP的seq2seq模型实例用Keras实现神经机器翻译

8.R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测

9.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列预测

    以上就是本篇文章【数据代码分享|Python用NLP自然语言处理LSTM神经网络Twitter推特灾难文本数据、词云可】的全部内容了,欢迎阅览 ! 文章地址:http://dgaty.xhstdz.com/news/1915.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://dgaty.xhstdz.com/mobile/ , 查看更多   
最新文章
Dynadot支持哪些中文域名后缀
Dynadot是一家知名的国外域名注册商,成立于2002年,其官网支持中文、英文、法语、西班牙语等多种语言切换,主要提供域名注册、
如何轻松应对Nginx配置文件大小限制提高网站性能与稳定性
为什么需要关注Nginx配置文件大小限制 在使用Nginx作为网站服务器的过程中,配置文件的大小限制是一个常见的问题。当配置文件过大时,会导致服务器性能下降,影响网站的稳定性和访问速度。因此,及时优化和调整配置文件大小非常重要。 如何
打造健康生活新选择:养生馆推广文案写作技巧揭秘
引言:健康生活的追求 在现代社会中,健康已经成为人们最看重的财富之一。快节奏的生活和不断加重的工作压力,使得越来越多的人开始关注自己的身心健康。养生馆作为一种创新的健康生活方式应运而生,它不仅为人们提供了放松身心的场所,还
探索兰州魅力:一份全面的兰州旅游攻略揭开牛肉面与黄河的秘密
探索兰州:邂逅西北的魅力之城 兰州,作为甘肃省的省会,坐落于黄河上游,是一座历史悠久而又充满活力的城市。这里不仅拥有丰富的文化遗产,还有壮观的自然景观。兰州以其独特的地理位置、深厚的文化底蕴和美味的地方美食吸引着越来越多的
如何设置服务器配置提高系统性能?
提高系统性能的重要性 在当今数字化时代,服务器的性能直接影响到企业的竞争力和运营效率。一个高效的服务器配置不仅可以提升系统的稳定性和响应速度,还能提高员工的工作效率和客户体验。 选择适合的硬件和软件配置 首先,要根据企业的实
如何成功启动社区团购:从运营模式到实战技巧的全方位解析
引言:社区团购的崛起 在当今的互联网时代,社区团购以其高效、便捷的特点迅速崛起,成为许多消费者购物的新选择。社区团购不仅能满足居民对日常生活用品的需求,还能通过规模化采购为消费者带来实惠。如何成功启动社区团购,成为了许多创
海底捞学生证折扣使用时间详解:让你的就餐更划算
海底捞学生证折扣使用时间详解 海底捞作为国内知名的火锅连锁品牌,一直以高质量的服务和美味的火锅享誉全国。而对于学生党来说,海底捞更是一个不可多得的福利之地。学生持有效学生证可以享受折扣优惠,让你的就餐更划算。 折扣使用时间
企业网站优化的方法详解
企业网站优化的方法详解 在当今数字化时代,企业网站是企业展示形象、吸引客户、提升品牌的重要窗口。但是,如何使企业网站在竞争激烈的网络世界中脱颖而出,吸引更多潜在客户,成为每家企业都需要思考和解决的问题。 网站内容优化 网站内
探索旅游景区的多样性:常见景观设施类型与特色分析
引言 随着人们生活水平的不断提高,旅游已成为现代生活中不可或缺的一部分。在这个充满活力的行业中,旅游景区以其多样化的景观设施和独特的文化特色,吸引了越来越多的游客。本文将深入探讨旅游景区的多样性,分析常见的景观设施类型以及
企业网站建设优化设计:提升品牌形象与用户体验的必经之路
企业网站建设优化设计的重要性 随着互联网的迅猛发展,企业网站已经成为企业展示自身形象、吸引客户、促进销售的重要工具。而一个优秀的企业网站不仅仅是在页面上简单地展示产品和服务,更需要具备优化设计,提升品牌形象和用户体验,从而
相关文章