




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1课题背景及意义在当今时代,互联网技术蓬勃发展,网络已经渗透到了人们的各种各样的生活和娱乐活动之中,据2021年发布的《中国互联网络发展状况统计报告》[1]中显示,截至到2020年12月份,我国网民的规模达到了9.89亿,互联网普及率达70.4%。这些不断攀升的数字代表着越来越多的人通过网络获取信息,信息的增长速度越来越快,各种信息不论真假,不断涌入人们的脑海,使人们难以辨别信息的真假,误导网络中的其他用户,有可能造成不可预期的后果。新闻是社会大众获取最新信息的途径之一,新闻的生命是真实性。而虚假新闻是含有虚假成分的新闻,它具有不客观性和虚假性。虚假新闻的传播影响了人们的正常生活,损伤当事人的声誉和形象。不仅如此,还对真正的好新闻,真新闻的价值有所损害,使真正的新闻的传播度下降,削弱了新闻的公信力。通过各种各样的媒体平台,虚假新闻的传播速度越来越快。由于虚假新闻的数量多,迷惑性强,人工检测虚假新闻是要投入的人力成本非常庞大,效率和准确度也不高。因此人工识别虚假新闻是一件几乎不可能完成的事情。民众迫切需要一个高效率、低成本、高准确率的虚假新闻检测方法来识别虚假新闻,为人们筛选出更具真实性、有价值的新闻。综上所述,自然语言处理中的一个具有挑战性的问题就是虚假新闻检测。本文实现了基于循环卷积神经网络(RCNN)的虚假新闻检测方法,提高识别虚假新闻的准确率和效率,提高信息的可信度。1.2国内外研究现状在这个互联网蓬勃发展的时代,社交媒体信息传播速度越来越快,虚假新闻铺天盖地的通过各种各样的媒介传播,虚假新闻检测越来越重要。在国内外也有很多的研究,并提出了很多实现方法。清华大学和腾讯人工智能实验室提出的一种新型双向模型,即双向图卷积神经网络(Bi-GCN)[2],进行谣言检测。通过对谣言的自上而下和自下而上的传播进行操作来探索这两个特征。YWang,WYang等人提出了WeFEND[3],它是一种弱监督的神经网络框架,它的特点是它可以利用用户报告,从而扩大用于训练的数据量。Lu,Yi-Ju,Li,Cheng-Te等人提出了一种新的神经网络模型,即图感知协同注意网络(GCAN)[4],在真实推文数据集上进行的大量实验表明,GCAN的准确率平均可比现有技术高出16%。AJain,AKasbe[5]等人使用朴素贝叶斯分类模型来进行预测。1.3本文主要工作随着深度学习的发展和不断深入研究,各种深度学习方法被运用到了虚假新闻检测当中,效率高、成本低,取得了不错的成果。论文的研究目标在于针对含有大量虚假新闻的数据集中,辨别新闻的真实性,帮助网络中的其他用户辨别新闻的真假,提供参考。本文的主要工作可以分为以下两个部分:数据预处理。在NLP中,如何将词表示成计算机可以理解的信息是必须首先考虑的问题。而机器语言是计算机可以容易识别和进行操作的数据,所以就要将自然语言处理成机器语言,也就是向量表示,这些向量被称为词向量。将自然语言表示成向量有很多种方式,一般来说可以分为两种方式:分布表示和离散表示。离散表示主要有one-hot等,分布表示主要有Word2ver等。在数据预处理部分,本文主要采用的是Word2ver模型中的skip-gram模型和斯坦福提出的Glove模型,将自然语言处理成词向量,并作为神经网络的词嵌入层。神经网络模型构建。神经网络越来越多的使用在各种机器学习的任务中,并且随着计算能力的发展,神经网络模型的训练效果越来越好。神经网络的结构主要分为三个类型:前馈网络、记忆网络、图网络。本文采用循环卷积神经网络(RCNN)[6]模型对新闻的真实性进行辨别,并建立卷积神经网络(CNN)[7]和循环神经网络(RNN)[8]进行结果对比,查看效果,比较不同模型的准确率。1.4论文结构安排本文一共有四个章节,组织结构如下:第一章绪论。本章节主要内容是对虚假新闻检测的课题背景进行了介绍并阐明了他的研究意义。对虚假新闻检测的国内外研究现状进行分析,并概括了本文的主要工作内容。第二章相关理论介绍。本章节主要介绍了本文所运用的相关知识。包括各种词向量模型的优缺点和不同词向量之间的比较。重点介绍了本文所使用的Word2ver模型和Glove模型。并介绍了神经网络的相关知识,如RNN和CNN。第三章循环卷积神经网络。该章节主要对RNN和CNN的优缺点进行了分析。并重点介绍了本文所使用的循环卷积神经网络的模型结构。第四章数据准备及实验。该章节主要介绍了具体的实验过程和数据准备过程,通过展示模型的实验结果,分析比较不同模型对虚假新闻检测的效果。最后的总结部分对本文实现的神经网络模型进行分析总结,并分析了研究中的不足之处。第2章相关技术简介随着互联网和移动端的快速发展,人们获取最新新闻的途径主要是通过网络。而社交媒体平台的快速发展,使虚假新闻的传播速度越来越快,极大地破坏了新闻行业的秩序和人们获取新闻的环境。越来越多基于神经网络的方法被应用在了虚假新闻检测方面。本章节将介绍虚假新闻检测所应用的相关理论与技术,这些理论将为本文实现的RCNN神经网络模型提供理论支撑与技术支持。2.1神经网络2.1.1神经网络基础人工神经网络(ANN),简称为神经网络,是一种非常关键和重要的人工智能技术。天然具有存储和使用知识的能力,具有良好的并行性。神经元模拟了自然界生物神经元的功能和特性,接收输入信号并给出相应的输出。为了进一步加强神经网络的计算学习能力,在神经网络中加入了激活函数,它为神经元带来非线性因素,计算和求导简单是常见的激活函数一般要求,这样就可以增加网络的计算效率。常见的激活函数包括:Sigmoid函数、ReLU函数等。因为单一神经元的功能是非常简单的,远远无法达到我们所要求的计算功能,所以必须将这些神经元通过不同的结构联结起来进行计算,而不同结构的神经元排列联结方式构成了不同的神经网络。神经网络的输出一般取决于神经元的排列联结方式,激活函数,和神经元联结之间的权重。前馈网络,记忆网络和图网络是常见的神经网络结构。2.1.2卷积神经网络卷积神经网络[9](CNN)是前馈神经网络中的一种。这也是CNN中的最主要的特点是各层神经元的联结方式是局部连接而非全连接的,并且各层神经元的权重是共享的,通过权重的共享可以大大减少神经网络中的参数。CNN最开始是用于处理图像方面的相关任务的。输入层、卷积层、池化层和输出层组成了CNN。卷积层就相当于一个具有不同感受野的特征提取器,提取层次更丰富的局部特征。值得注意的是,并不是卷积层越多,神经网络的性能就越好。随着卷积层数量的增多,神经网络的各种参数也增多,计算量变大。不仅如此,卷积层增多,提取的局部特征也越多,容易造成过拟合现象。所以在构建卷积神经网络时要注意对卷积层数量进行控制。池化层。经过了卷积层的处理之后,获得了许许多多层次不同的局部特征,虽然经过卷积层得到的这些局部特征可以直接拿来对神经网络进行训练,但是没有经过降维的局部特征将带来很大的计算量,并且容易导致过拟合。所以理所当然的就加入了池化层。池化层的最主要的功能就是降维,在保证一些重要的局部特征不丢失的情况下,去除不重要的特征,对特征进行降维。简单来说,池化就是在进行一个信息过滤的过程,对通过卷积处理而得到的众多局部特征进行选择,对信息进行过滤。本文使用的是最大池化。简单来说,就是从大量的局部特征中选择最具影响力的部分。随着卷积操作的效果越来越好和计算机计算能力的提升,池化层的作用越来越低。输入输出层。卷积神经网络最初使用在图像识别的方向。而图像是具有天然的稠密性的,因为图像是由像素点构成的。要将CNN用于自然语言处理,就需要将句子也处理成稠密的向量。而词语不同于图像,词语是离散的。本文采用了词嵌入模型如Word2ver[10]和Glove[11]。将词语表示成稠密的词向量。那句子就可以表示成词向量组成的矩阵,作为卷积神经网络的输入层。一般采用全连接神经网络作为输出层,将局部特征合并成全局表示,进行输出。2.1.3循环神经网络与卷积神经网络不同,循环神经网络对处理序列化数据有着天然的优势,例如自然语言等,词汇之间的关系和他们所在的位置是直接相关的。循环神经网络的某一时间步的输出不仅仅依赖于当前时间的输入,还依赖于之前其他时间步的输入。而时间步在自然语言处理之中可以是一个字,一个词或者是一个句子。循环神经网络的基本模型如图2-1所示。图2-1循环神经网络结构图但是,梯度消失和爆炸的问题是传统RNN不可忽视的问题,这是由于长程依赖问题的存在。为了解决这些问题,提出了长短期记忆神经网络(LSTM)。LSTM采用了门结构来解决这两个棘手的问题。LSTM也是构成卷积神经网络的重要一环。2.2词向量模型随着深度学习和神经网络的快速发展,自然语言处理技术的应用越来越成熟。而想要处理自然语言,首先要面对的第一个问题就是如何表示词,它是非结构化的数据信息,计算机不能直接识别,词向量模型就可以解决这个问题。词向量模型就是将词语用向量表示的模型。通常词向量分为两种表示方式:离散表示和分布表示。分布表示有很多特点,最大的特点是相比于离散表示,分布表示更加能够表示词与词之间的关系并且维度更低,并且离散表示导致计算和存储的效率都不高。如果使用离散表示,‘男人’和‘女人’的差别和‘男人’和‘男士’的差别一样大。本文使用的是词嵌入模型中的Word2ver和Glove模型,都属于分布表示。2.2.1Word2ver模型Word2ver[12]是一种基于统计的获取词向量的方法。简单来说,Word2vec是一种无监督学习方法,通过大量无标记的文本学习语义的一种模型。在NLP中,Word2ver是十分火热的。它是由Google团队在2013年发表的词嵌入工具。Word2ver可以分为两个部分:第一是模型的建立,第二是通过模型获取词向量。可以看出,建立模型不是Word2ver[13]的目的,获取词向量才是目的。我们真正需要的是训练模型中所得的参数。Word2ver主要包括两种模型:第一种是连续词袋模型(CBOW),第二种是跳字模型(skip-gram)。如图2-2所示。简单来说,通过中心词来预测上下文的模型是skip-gram模型,输入是某一单词的词向量,而输出是特定词对应的上下文词向量。相反的,CBOW模型则与它正相反。下面用一个例子来直观的说明:‘我喜欢吃烤串和烤鱼’(已分好词),上下文大小选择2。假定选定的词是‘吃’,则其上下文词一共有4个,即‘我’‘喜欢’,‘烤串’,‘和’。如果使用的是CBOW,以上的词就会作为CBOW输入层的输入,而模型的输出就是‘吃’对应的词向量。若采用skip-gram模型,选定的词也是‘吃’,该词作为skip-gram模型的输入,输出则是上下文的词向量。下面将主要介绍本文使用的skip-gram模型的细节,如图2-3。首先,在skip-gram模型的输入层中,神经网络只能识别数值。最常用的方法就是用训练集构建词表,再用one-hot编码对词表进行编码。比如词表有1000个词汇,则经过one-hot编码后每个单词都表示成了1000维的词向量,例如‘我’是词汇表的第一个,则他的向量表示就是[1,0,0...0,0,0]。图2-2Word2ver的两种模型Skip-gram模型的隐层。隐层十分重要,正如上文所说Word2ver最重要的不是模型的训练,而是模型训练得到的参数。隐层并没有使用任何的激活函数。如果我们现在想要得到一个100维的词向量,也就是将原来的1000维的向量转换成100维的向量,极大的减小了词向量的维度。那么隐层的权重矩阵就应该是1000*100。而这个隐藏层的输出就是我们所需要的。最后是输出层。输出层是一个softmax分类器,所有可能的概率之和为1,输出给定上下文中出现单词的概率分布。图2-3skip-gram模型结构经过前面的介绍,可以看出skip-gram模型是一个非常庞大的神经网络。可想而知,它的梯度下降计算会十分慢,计算量也十分庞大。特别是从隐藏层到输出层的softmax计算量大。所以便提出了两种高效的训练方法来优化Word2ver模型的训练:层序softmax(hierarchicalsoftmax)和负采样(negativesampling)。2.2.2Glove模型Glove[14](GlobalVectorsforWordRepresentation),它是一个基于全局词频统计的词向量工具。他的功能和Word2ver一样,都是将词表示成向量。传统的词向量方法大概有两种类型:全局矩阵分解,例如LSA,和局部上下文窗口方法,例如skip-gram。两种方法在不同方面各有自己的优势,在利用全局统计信息方面上前者的效果很好。在词类比方面,后者的效果比较好,但是却不能很有效的利用全局信息。而Glove模型结合了二者的优点。Glove模型实现过程主要分为两步:第一步是构建共现矩阵,第二部是词向量的训练。基于全体语料库构建共现矩阵。共现矩阵就是指在全局语料的某一指定词汇在一定窗口内与其他词共现的次数。例如语料库为‘我喜欢你’,‘我喜欢吃饭’,‘你喜欢吃饭’。为了得到共现矩阵,就需要将整个语料库进行完整的遍历。Glove模型中构建共现矩阵是不可或缺的一部分。共现矩阵(设窗口大小为1)如表2-1:表2-1共现矩阵我喜欢你吃饭我0200喜欢2022你0200吃饭0200值得一提的是,Glove模型认为,两个词的远近对权重是有影响的,两个词离得越近权重越高。基于此提出了衰减函数(decreasingweighting):deacy=1/dGlove模型的基本思想是认为词向量与共现矩阵应该有很好的一致性。则Glove模型的代价函数是J=i,jN其中权重函数应该满足非减要求,并且在词频高的情况下,权重也不应该过高。fx=xxmax0.75可以看出Glove模型与Word2Ver不同,Word2Ver是基于局部局表示的,并且采用负采样进行训练,会更加缺失词与此之间的关系信息。而Glove模型融合了LSA方法,基于全局表示,获取全局信息的能力强,并且可以加快训练速度。一般来说Glove模型的性能会优于Word2Ver。第3章循环卷积神经网络3.1长短期记忆神经网络长程依赖问题是传统RNN不可避免的问题,而LSTM可以很好的解决这个问题。它为了解决这一问题,引进了门控机制。通过这一机制来控制序列信息的保存,可以控制选择保存哪些信息和选择遗忘那些信息。LSTM的结构图如图3-1所示。记忆单元是LSTM的网络的基本计算单元,记忆单元中包含了各种各种权重参数和图3-1LSTM网络结构图记忆单元的内部状态,如输入的权重参数和输出的权重参数。LSTM通过三种门结构来控制信息。LSTM首先需要决定丢弃什么信息,这个阶段称为遗忘阶段,即对输入的信息进行有选择的丢弃。公式如下:ft=其中ft表示的就是该时间上的遗忘门输出。Wf表示的是遗忘门的权重参数,ht−1和Xt分别表示的是前一个时间步的输出和本次时间步的输出,然后就需要确定需要更新的信息,这个阶段称为记忆阶段,决定怎样的信息需要更新。这包括了两个操作,第一个操作是由输入门决定怎样的值值得更新,第二个操作就是由值得更新的值进行更新得到单元状态,公式如下:it=Ct=其中it表示在该时间步的输入门的输出,Wi也表示的则是输入门的权重参数,bi表示的是输入门的偏置项。Ct表示的是值得保留的值,tanh是激活函数,然后就是将上文已经确定要更新的信息Ct−1进行更新,得到CCt=这Ct表示的就是当前状态,C最后就是输出阶段了,通过上一阶段得到的Ct得到当前的输出,用ot来表示当前输出门的输出,用ot=ℎt=ot∗tanℎℎt这就是LSTM的基本阶段,利用门机构进行信息的选择和控制,解决传统RNN的长程依赖问题。LSTM也是我们实现RCNN中的重要环节。3.2RNN与CNN的优缺点分析循环神经网络的优点是时间复杂度低,为O(n)。该模型具有记忆功能,能更好地捕捉序列化上下文信息,逐个词读取分析,并保存之前读取过的文本语义。这有利于捕获长文本的语义。但是它也有缺点,它并不是每一个词都是平等的,更后出现的词会比前面出现的词更有优势,他是一个有偏差的神经网络。因此,当它用于捕获长文本的语义时,可能会降低效率,因为关键词出现的位置是不确定的。卷积神经网络的优点是时间复杂度低,也为O(n)。与循环神经网络不同,CNN是一个无偏差模型。他通过池化层来过滤信息并且选择更有价值的特征。与RNN相比,CNN的卷积层更能提取出层次不同的更丰富的信息。他的缺点是使用CNN时一般使用固定大小的窗口的卷积核,这样一来,就难以确定卷积核窗口的大小,窗口太大可能导致参数量过多,窗口太小可能会导致丢失关键信息。3.3循环卷积神经网络模型为解决上述两个模型的局限性,使用了循环卷积神经网络(RecurrentConvolutionalNeuralNetwork,RCNN),将其用在了虚假新闻检测中。首先应用双向循环神经网络结构,他较之于传统神经网络,它的优势在于它对噪声有着更好的过滤效果,有利于在训练、学习时尽可能捕获有用的上下文信息。并且这种结构对保存更大范围的词序有着很大的作用。然后模型将使用一个最大池化层,通过池化层进行特征挑选,信息过滤,筛除掉对文本分类中不重要的特征,保留重要的关键特征。模型结合了RNN和CNN各自的优点,将双向循环结构和最大池化层结合,想要得到更好的效果。该模型可以理解为用双向循环网络代替了卷积神经网络的卷积层来得到文本的相关信息,在自然语言处理过程中,双向循环神经网络的结构更加有助于获取序列化的信息。将获取完的信息经过线性变换和ReLU激活函数的处理,输入到池化层。池化层我们选择的是最大池化,是因为考虑到虚假新闻检测中使用最大特征更有利于新闻真实性的判断。最后经过全连接层进行分类。接下来将介绍RCNN的具体结构。图3-2RCNN结构图如图3-2,模型建立的主要过程如下:经过1层双向LSTM网络,将指定词的左上下文进行正向的输入LSTM,将会得到一个左上下文词向量,相反的,将该词的右上下文进行反向输入,得到右上下文的词向量。如公式3-1,和公式3-2所示。clwicrwiclwi和crwi都是具有|c|实值元素的稠密向量,分别代表单词wi的左上下文和右上下文。ewi−1和ewi+1分别代表wi−1的词嵌入和wi+1的词嵌入。W(l)和W(r)都是矩阵,他与左右上下文向量相乘,得到下一个隐藏层。Wsl和Wsr也都是矩阵,前者将当前的词与下一个词的左上下文结合,后者则相反,与右上下文结合。clw1和cr(wxi=clwi;ew由双向循环网络结构得到单词表示xi之后,我们将ReLU激活函数和一个线性函数一起应用到x,值得注意的是,本文采用的激活函数不同于普通的RCNN模型使用的tanh激活函数,而是ReLU函数。并将结果yi(2)发送到下一层,即最大池化层。如公式3-4所示:yi2=ReLUW2xiyi通过最大池化层,得出最大化向量y3。最大池化层可以提取其中关键的信息。并且和循环网络结构一样,池化层的时间复杂度也为O(n)y(3)=maxi=1yi(2) 最后为输出层,使用softmax函数,将y(4)转化为概率,得到最终的二分类结果。y(4)=W(4)y3+b4 pj=expyj(4)k=1nexp(yk以上就是循环卷积神经网络模型的模型结构,本文就是要构建此模型进行虚假新闻检测的文本分类任务。该模型的时间复杂度为O(n)。采用pytorch建立循环卷积神经网络的关键代码如下图:图3-3RCNN模型构建第4章数据准备及实验本次实验数据采用的是CCF大赛中虚假新闻检测的数据集,以6:2:2的比例切分构成训练集、验证集、测试集。数据集的标签只有两个,‘0’或‘1’即假或真。本章主要介绍了数据处理过程及实验进行的相关过程,如实验环境、实验模型构建、实验结果对比等。4.1实验环境本文的实验环境是在windows10系统下,使用的编程环境为Python3.7,所用的GPU是NVIDIA,网络模型我们通过pytorch框架实现。Pytorch具有方便调试,支持动态神经网络,设计简洁,速度快且易用的特点。还使用了例如numpy,metrics,gensim等众多开发库。4.2数据准备及处理从ccf大赛中的虚假新闻检测赛道下载数据集。将数据集下载保存后,对数据集进行数据清洗。对数据集的文本进行清洗,去除各种非中文符号,只保留中文字符。当存在各个特征值完全相同的多条数据时,此时直接删除并只保留其中一条数据。当存在不合理值时,如标签值不在{0,1}之中,则去除这条数据。或同一条数据存在两个不同的标签,存在标记错误,因不知道该数据的真实标签值,所以将两条数据都删除。将处理好的数据保存好,并按照6:2:2的比例切割,作为本次训练神经网络的训练集、验证集和测试集。并对数据集进行繁体转简体,去除非中文词,并进行分词。分词工具我们选择的是由北京大学开发的pkuseg。支持多领域分词是pkuseg最大的特点。他提供了新闻、网络、医疗等不同领域的预训练模型。在用户使用时,可以根据自己的数据集类型选择相匹配的预训练模型,若没有相匹配的分词领域,也可以选择通用的分词工具。并且pkuseg的分词效果比较好。与其他的分词工具包,如jieba分词相比,当使用的训练集和测试集相同,其他条件也同时,pkuseg的分词效果更好。经过处理后的训练集有29548条数据,验证集有9850条数据,测试集也有9850条数据。在数据集中,真实新闻和虚假新闻的比例大致为1:2,使用train_test_split函数将数据集进行划分,选择参数值为random_state=1,shuffle=True,即将数据集进行打乱并保持当前标签的比例。则当划分数据集时要保持了验证集和测试集的数据比例为1:2。对数据去重、去除非英文字符和中文符号并分词的核心代码如图:图4-1数据清洗核心代码4.3模型构建本节将实现上文所提到的词向量模型:Word2ver模型,Glove模型。神经网络模型:卷积神经网络,循环神经网络,和循环卷积神经网络。不同神经网络搭配不同的词向量模型作为对比,分析分类结果。4.3.1权重初始化首先要对该模型进行权重初始化,对于神经网络来说,权重初始值的选择对其的训练有着很大的影响。当权重初始化趋于0时,随着神经网络一层一层的传递,会导致神经元的输出越来越小,方差也越来越趋于0。不仅如此,还会让一些激活函数失去非线性,比如Sigmoid型激活函数。而如果初始值很大时,随着神经网络一层层的传播,会导致方差越来越大,而对常用的Sigmoid激活函数来说,会导致它饱和,带来了梯度消失的问题。这里我们将采用Xavier初始化[15]。Xavier初始化是一种基于方差缩放的初始化方法。他是一种十分有效的神经网络初始化方法。简单来说,他的基本思想可以概括为:在经过神经网络时,尽可能的保持网络的输入输出的方差保持一致。4.3.2Word2ver和Glove词向量模型训练首先,基于训练集构建自己的词典。使用预处理结束的数据集,即经过繁体转简体,去除非中文词汇,并用pkuseg分词处理过的数据,构建词典并设置词典大小为99999,其中用'<UNK>','<PAD>'来表示未知词和填充词。统计词频并按照词频大小进行排序,设置最小词频数为1,取字典的前99999个词,再加入unk和pad作为未知词和填充词,即最终词典大小为100001。然后分别用skip-gram模型和Glove模型进行训练从而得到词向量。Skip-gram模型的负采样训练方法可以每次让一个训练样本仅仅更新一小部分的权重,这样就会大大降低训练过程中的计算量和计算的复杂度。设置skip-gram模型的上下文窗口大小为5,学习率为0.025,设置min_count=5,简单来说就是对词频小于5的单词进行丢弃,设置词向量维度为300。对Glove模型进行参数配置:vector_size=300,即词向量维度为300。max_iter=15,即训练迭代次数。window_size=15,即上下文窗口数。最小词频数min_count=5。最后再将将训练好的词向量作为模型的词嵌入层。4.3.3CNN模型实现首先设置TextCNN的实验参数如表4-1:表4-1CNN参数参数值参数意义epoch=20一代训练,使用完整的训练集数据进行一次训练batch_size=50设置batch的大小,batch为训练集中一小部分数据,对模型进行一次参数更新计算learn-rate=0.002学习率filter_sizes=(2,3,4)卷积核尺寸num_filters=256卷积核数量pad_size=125每句话处理成的长度,长切短接。TextCNN要求输入的词向量是定长的dropout=0.5随机失活输入层采用的词向量模型,本文将采用上文见到的Word2ver模型和Glove模型,都设置为300维进行对比实验。采用static。简单来说,它指的就是使用静态的训练好的词向量,它不随模型的训练而改变。相反的也有nonstatic,即动态的,词向量随着模型的训练而不断改变词向量。卷积层设置了256个卷积核,并设置卷积核尺寸为2,3,4。池化层采用的是最大池化层,通过最大池化层提取影响力最大的特征。最后采用softmax函数进行预测分析,得到虚假新闻的判断。4.3.4RNN模型实现首先设置RNN的实验参数如表4-2:表4-2RNN实验参数参数值参数意义epoch=10一代训练,使用完整的训练集数据进行一次训练batch_size=50设置batch的大小,batch为训练集中一小部分数据,对模型进行一次参数更新计算learn-rate=0.002学习率hidden_size=128LSTM的隐藏层状态的维数num_layers=2LSTM层数pad_size=125每句话处理成的长度,长切短接。TextCNN要求输入的词向量是定长的dropout=0.5随机失活循环神经网络我们选择的是双向LSTM,使用双向LSTM进行前向和反向扫描,得到文本的信息。然后使用一个全连接层进行预测分析。过拟合对模型的泛化能力有很大影响,会过分考虑数据中的噪声。设置随机失活为0.5,并对神经网络加上优化器Adam,通过随机失活金和Adam来预防过拟合和解决的问题。4.3.5RCNN模型实现同样的,我们首先设置RCNN的实验参数如表4-3:表4-3RCNN实验参数参数值参数意义hidden_size=256LSTM的隐藏层状态维数num_layers=1LSTM层数learning_rate=0.002学习率batch_size=50设置batch的大小,batch为训练集中一小部分数据,对模型进行一次参数更新计算pad_size=125每句话处理成的长度,长切短接。要求输入的词向量是定长的对于RCNN模型,首先采用双向循环网络结构,这里我们也采用双向LSTM网络,可以获得文本的前向与后向扫描结果。我们采用的激活函数为ReLU函数,与原文采用的tanh函数不同,tanh属于饱和激活函数,而ReLU则属于非饱和激活函数。能够加快收敛速度是ReLU函数的特点激活函数的输出作为输入进入最大池化层,捕获文本最重要的信息。最后经过全连接层,使用softmax函数进行预测输出。4.4实验结果及分析对比4.4.1实验结果的评价指标首先介绍本文采用的实验结果评价指标。对于文本分类问题,常用的评价指标有精确率(precision),召回率(recall)和f1分数(f1-score)等。首先来介绍基本的TP、FP、FN和TN的概念。首先,当标签的真实值为正,模型的预测值也为正,这种情况表示为TP。当标签的真实值为负,而模型的预测值为正,这种情况表示为FP。当标签的真实值为正,模型的预测值却为负,这种情况表示为FN。当标签的真实值为负,模型的预测值也为正,这种情况表示为TN。准确率的公式如下:accuracy=(TP+TN)总样本 从上述公式可以得知,准确率就是预测正确所占的比例。精确率的公式如下:precision=TP(TP+FP) 可以看出,精确率就是在所有标签预测值为正中真实值也为正的比例。召回率的公式如下recall=TP(TP+FP) 从公式中可以看出,召回率就是标签的真实值和预测值都为正的概率。从召回率和精确率的公式看来,这两个指标是矛盾的,一个指标高则另一个指标就会相对低,不可能同时高。而我们又希望精确率和召回率都有比较好的效果。就需要综合考虑召回率和精确率,找到一个比较平衡的值让两个指标都有比较高的值。而f1分数就是一个比较好的指标。F1分数表达式如公式4-4:f1=2∗precision∗recall4.4.2实验结果使用反向传播进行神经网络的训练,并使用训练好的模型进行预测。使用pytorch中的classification_report函数计算出文本分类报告,报告中显示每个类的精确度,召回率,F1值等信息。并使用confusion_matrix函数计算混淆矩阵。得到的实验结果如下。Glove词向量+RCNN的实验结果如表4-1:表4-1Glove词向量+RCNN实验结果PrecisionRecallF1-scoreSupportFake0.94110.96130.95116534True0.92030.88150.90053316Accuracy0.93349850Macroavg0.93070.92140.92589850Weighted0.93410.93440.93419850测试集的准确率为93.44%Word2ver词向量+RCNN的实验结果如图4-2:表4-2Word2ver词向量+RCNN实验结果PrecisionRecallF1-scoreSupportFake0.94570.95240.94916534True0.90490.89230.89863316Accuracy0.93229850Macroavg0.92530.92240.92389850Weighted0.93200.93220.93219850测试集的准确率为93.22%。Word2ver词向量+CNN的实验结果如图4-3:表4-3Word2ver词向量+CNN实验结果PrecisionRecallF1-scoreSupportFake0.95050.92960.94006534True0.86710.90470.88553316Accuracy0.92129850Macroavg0.90880.91720.91279850Weighted0.92240.92120.92169850测试集的准确率为92.12%Glove词向量+CNN的实验结果如图4-4:表4-4Word2ver词向量+CNN实验结果PrecisionRecallF1-scoreSupportFake0.93300.95500.94396534True0.90700.86490.88553316Accuracy0.92479850Macroavg0.92000.91000.91479850Weighted0.92430.92470.92429850测试集的准确率为92.47%Word2ver词向量+RNN的实验结果如图4-5:表4-5Word2ver词向量+RNN实验结果PrecisionRecallF1-scoreSupportFake0.94000.93560.93786534True0.87420.88240.87833316Accuracy0.91779850Macroavg0.90710.90900.90809850Weighted0.91790.91770.91789850测试集的准确率为91.77%。(6)Glove词向量+RNN的实验结果如图4-6:表4-6Glove词向量+RNN实验结果PrecisionRecallF1-scoreSupportFake0.94300.93620.93966534True0.87600.88840.88223316Accuracy0.92019850Macroavg0.90950.91230.91099850Weighted0.92040.92010.92029850测试集的准确率为92.01%。4.4.2实验分析将实验结果进行整合如表4-1。并对表中的数据进行分析,表4-1实验结果模型测试集准确率precisionrecallf1-scoreFakeTrueFakeTrueFakeTrueGlove+RCNN0.93440.94110.92030.96130.88150.95110.9005Word2ver+RCNN0.93220.94570.90490.95240.89230.94910.8986Glove+CNN0.92470.93300.90700.95500.86490.94390.8855Word2ver+CNN0.92120.95050.86710.92960.90470.94000.8855Glove+RNN0.92010.94300.87600.93620.88840.93960.8822Word2ver+RNN0.91770.94000.87420.93560.88240.93780.8783由实验结果可以清晰的看出,Glove模型在三种神经网络模型上的表现都比Word2ver模型好。这是因为Word2ver是基于局部上下文窗口的,Glove模型能够基于全局获取信息,它获取全局信息的能力比Word2ver模型强,所以效果比Word2ver好。TextCNN在Glove词向量和Word2ver词向量模型上的效果都优于TextRNN在两种模型上的效果。原因可能是TextCNN是无偏差模型,它通过卷积层获取层次不同的多方面的信息并且通过最大池化层进行特征选取,这有利于文本分类的进行。RCNN模型的效果比TextRNN和TextCNN都好,这是因为RCNN模型吸取了RNN和CNN的优点,先采用双向循环网络结构进行上下文信息读取,再采用池化层进行信息过滤、特征选择,去除噪声。获得了更好地效果。结论本文的主要研究内容是基于深度学习的虚假新闻检测模型研究。运用深度学习神经网络模型和词向量模型的搭配使用,构建虚假新闻的分类模型。实现对虚假新闻进行检测识别的功能。本文的主要工作如下:首先介绍了虚假新闻检测的国内外研究现状,并对神经网络的基础知识做了介绍。对TextRNN和TextCNN进行了介绍,为循环卷积神经网络模型的理论实现做准备。对十分火热的词向量Word2ver模型和Glove模型进行研究。并重点介绍了Skip-gram模型。实现循环卷积神经网络的模型,介绍他的模型结构、模型理论,并使用了ReLU激活函数。实现了TextCNN和TextRNN模型,并将Word2ver模型和Glove模型运用在这三个神经网络之中。将结果进行对比和分析。本文的不足之处:数据集的选择。数据集不够庞大,数据集的代表性还不够,数据集中真假新闻的比例不够均匀。模型的泛化能力不够好。2.循环卷积神经网络没有考虑到真实和虚假新闻上下文向量的不同,循环卷积神经网络只学习一种词语上下文信息,并没有真假之分。参考文献[1]中国互联网络信息中心.第47次中国互联网络发展状况统计报告[R].北京:中国互联网络中心,2021[2]BianT,XiaoX,XuT,etal.RumorDetectiononSocialMediawithBi-DirectionalGraphConvolutionalNetworks[J].2020.[3]WangY,YangW,FMa,etal.WeakSupervi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鼻肠管非计划性拔管的预防
- 高中语文《边城》说课
- 护理基本操作培训
- 餐饮部门投诉解决办法
- 八年级上册《科学记数法》课件与练习
- 英语 第四册(五年制高职)6课件 Unit6 Green Development
- 第二章 4 单摆-2025版高二物理选择性必修一
- 鼻咽癌病理分型
- 实战演练CFA试题及答案技巧
- 鼻肠营养管的护理
- GB/T 7113.2-2014绝缘软管第2部分:试验方法
- 周三多管理学精华重点
- GB/T 41097-2021非公路用旅游观光车辆使用管理
- GB/T 32439-2015给水用钢丝网增强聚乙烯复合管道
- GB/T 12971.2-2008电力牵引用接触线第2部分:钢、铝复合接触线
- 模板安装自检记录表
- 常见急救知识培训课件
- 表现主义-蒙克《呐喊》赏析微课 课件
- 《了凡四训》课件
- 《动脉血气的采集》课件
- Aspen-中文培训资料课件
评论
0/150
提交评论