一种基于BLSTM的微博谣言检测方法与流程

文档序号:14940840发布日期:2018-07-13 20:43阅读:3138来源:国知局

本发明涉及机器学习领域和深度学习领域,尤其是涉及一种基于blstm的微博谣言检测方法。



背景技术:

以新浪微博为代表的新兴社交媒体具有开放性、低门槛、交互性等特点,为网民提供了一个自由表达意见与交流信息的平台。在当今自媒体盛行、网络红人影响力越来越大的情况下,他们的微博内容时刻影响着大众。所以,在微博平台中,经过某个或几个微博知名用户的转发,就会形成强大的舆论效应。这在权威媒体占主导的当代是不可想象的。这些因素,导致微博很容易成为谣言扩散的平台。

针对社交网络上谣言的检测,主要以人工检验和关键词检索为主。对新浪微博来说,目前谣言处理主要采取用户举报、人工判断方式,这导致了处理效率低和时间滞后等问题。

现有方法涉及用one-hot方法表示词向量,但若将一个文件中的句子都压平成向量,则会造成维度爆炸,所以这种方法在处理大量的文本数据时会遇到极大挑战。google提出word2vector方法,用高维度的向量从多个方向表征一个词,从而采用二进制方式提高数字的表示范围([1]毛二松,陈刚,刘欣,等.基于深层特征和集成分类器的微博谣言检测研究[j].计算机应用研究,2016,33(11):3369-3373)。

深度学习是近年来的研究热点,它通常包含多个隐层,从而能够从更加抽象的角度表示特征。深度学习在语音识别、图像处理等领域都有着广泛的应用。递归神经网络(rnn)目前应用较多,长短期记忆模型(lstm)是它的一种典型变形,而双向lstm(blstm)相当于两层lstm连接,应用于文本分析可以理解更多的上下文语义,对微博谣言有更好的处理能力([2]梁军,柴玉梅,原慧斌,等.基于极性转移和lstm递归网络的情感分析[j].中文信息学报,2015,29(5):152-159)。因此,需要提供一种基于深度学习的微博谣言检测方法,更具体地,需要提供一种基于blstm的微博谣言检测方法。



技术实现要素:

本发明的目的在于提供通过深度学习技术进行多层次训练,可提高对社交网络谣言检测准确率的一种基于blstm的微博谣言检测方法。

本发明包括以下步骤:

1)收集微博网络数据作为样本数据;

2)对样本数据进行预处理;

在步骤2)中,所述预处理可包括分词、去停用词、文本向量化等。

3)用word2vec方法构建样本句矩阵;

在步骤3)中,所述用word2vec方法构建样本句矩阵的具体方法可为:采用blstm模型对样本句矩阵进行训练,构建训练模型;blstm每一个训练序列向前和向后分别是两个lstm神经网络,所述两个lstm神经网络连接一个输出层,提供给输出层输入序列中每一个点的完整的过去和未来的上下文信息,展示的是一个沿着时间展开的双向循环神经网络,6个独特的权值在每一个时步被重复的利用,6个权值分别对应:输入到向前和向后隐含层(w1,w3),隐含层到隐含层自己(w2,w5),向前和向后隐含层到输出层(w4,w6)。

4)对待检测的微博数据进行预处理;

5)根据对层次的训练模型,对待检测句矩阵进行分类检测,得到检测结果。

本发明的有益效果如下:本发明采用blstm深度学习方法,对样本数据进行多层次训练建模,有效提高当前其他方法对谣言检测的准确率,降低处理数据过程的复杂度,同时能为社交媒体提供可行性方法。

附图说明

图1为blstm神经网络的基本结构。

图2为基于blstm的社交网络谣言检测的流程图。

具体实施方式

下面结合附图对本发明的具体实施方案进行进一步详细说明。

参见图1和2,本发明实施例包括如下步骤:

爬取收集社交网络数据为样本数据,样本数据包括非谣言数据2万条和谣言数据2万条。

对样本数据进行预处理,包括分词并去除停用词。

利用word2vec对文本进行向量化处理,构建向量矩阵进行文本表示。

利用样本数据学习构建blstm模型。

利用构建好的blstm模型对待检测数据进行分类检测,得到检测结果。

下面代入具体的社交网络数据对本发明作进一步说明。

基于深度学习blstm的社交网络谣言检测方法,包括如下步骤:

步骤1:收集社交网络数据作为样本数据:使用了2万条微博谣言和2万条微博真实数据,其中80%作为训练集,20%作为测试集,即待检测数据集。采用windows10操作系统的pc机作为终端设备,以pycharm作为开发平台进行数据爬取,选取mysql作为后台数据库,利用python语言进行编程。

步骤2:预处理,包括分词与去停用词。这部分采用python的jieba分词工具包进行分词处理,并对中文词进行检测,去除检索不到的词(停用词)。

步骤3:采用word2vec进行文本向量化。通过word2vec中的cbow训练语言模型,并且设置了两种不同维度的词向量,以此确定最优的词向量。两种设置分别为,词向量100维,滑动窗口大小为5;另一种为,词向量400维,滑动窗口大小也为5。

步骤4:采用深度学习方法blstm对样本句矩阵进行训练,构建多层次的训练模型。采用tensorflow作为实现环境。blstm是按时间序列展开的双向lstm网络,该网络输入层分别连接前向隐含层和后向隐含层,对应权值为w1,w3。前向网络和后向网络的处理顺序正好相反,对应权值为w2,w5。然后两个方向的隐含层的输出在输出层进行融合,对应权值为w4和w6。输出层最终得到了具有双向信息的特征。按时序输入微博语句的词向量,并对训练集迭代20次,即训练集在深度学习模型中重复载入20次,使神经网络中的权值变化趋于稳定。

步骤5:用训练好的模型对待检测数据进行分类检测,得到检测结果。通过不同的模型和方法对文本内容进行特征提取,从而载入深度学习模型中进行训练和分类。利用步骤4生成微博的句子级词向量。另外,由于微博本身的特点,微博除了内容特征以外,还有许多其他文本不具备的社会特征,比如评论数量,转发人数,客户端类型,以及用户自身的一些信息等等。使用训练好的ltsm模型来组合每条微博语句的词向量生成句子级向量,并通过加入这些微博的社会特征来分析其对谣言鉴别的影响。

下面用准确率作为检测结果的评价指标,lstm模型和blstm模型的识别结果参见表1。

表1

对比不同的lstm模型来看,双向lstm整体效果更好,lstm模型的准确率其次,即准确率随着模型的复杂度提升而提高。双向lstm结合了前向和后向两个方向的时序,较之单向的lstm模型,增强了对微博语句的理解,提升了模型的整体计算强度,对谣言的鉴别有更好的准确率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1