基于CNN的微博垃圾评论识别方法Word文档下载推荐.docx
- 文档编号:19957716
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:36
- 大小:653.54KB
基于CNN的微博垃圾评论识别方法Word文档下载推荐.docx
《基于CNN的微博垃圾评论识别方法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于CNN的微博垃圾评论识别方法Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。
持续传播炒作导向错误、低俗色情、民族歧视等违法违规等有害信息层出不穷。
微博在带来便捷、即时信息传播的同时,由于其即时性、开放性、隐私性、平等性等特点,微博成了垃圾评论滋生和传播的温床,并已成为发布垃圾评论的理想方式。
然而现阶段,面向微博的研究很多,但是对于垃圾评论识别的研究是十分缺乏的。
尽管微博的内容受字数的限制而内容简短,但是其评论的数量通常数以万计,数量相当可观,垃圾评论的数量与评论的数量成正比。
一方面垃圾评论污染了互联网用户的视线,影响了互联网用户的情绪,并误导了互联网用户对某些事件的看法,引导了舆论走向,对于网站而言,其不仅消耗了有价值的网络资源,而且还对网站的发展产生了不利影响;
另一方面垃圾评论也严重影响了面向微博评论的数据分析和挖掘工作,例如公众舆论分析、情绪健康分析、产品质量评估、影视评估等[2]。
因此,无论是针对于互联网用户、网站还是面向研究评论的数据挖掘工作者来说,识别和研究微博垃圾评论都具有非常重要的意义。
1.2国内外研究现状
迄今为止,针对垃圾评论识别方法国内外工作者的研究大致可以分为两类:
基于评论文本内容和基于评论人行为的垃圾评论识别方法。
基于评论内容的垃圾评论识别
垃圾评论检测的概念于2007年被Jindal和LiuBing[3-5]首次提出,采用逻辑回归算法对36个特征(例如评论内容、评论者等)建模。
与此同时,发现无关评论、非评论文本和欺骗性评论等问题被重复性评论文本所解决。
但是,由于重复性文本只占评论的一小部分,只是发现这些评论不足以解决垃圾评论识别的问题。
几年之后,Jindal和LiuBing[6]在对垃圾评论识别上采用了频繁项集挖掘的方法。
Mukherjee[7-8]根据评论的内容和评论者特征通过在Yelp数据上对比验证,并得出实验结论:
基于评论者特征的识别效果更好;
同年,其首次运用无监督的方法,采用评论者特征来检测垃圾评论。
Mukherjee和LiuBing[9]运用分类的方法来分析虚假评论,并将AMT(AmazonMechanicalTurk)创建的虚假垃圾评论用作有效的标注集合。
Ott等人[10]运用语言和心理特征来组合n-gram和心理特征,以形成分类器来有效的识别垃圾评论。
XuQ等人[11]根据Ott等人的工作提出了基于UNIGRAM和句子结构混合特征的MEM模型。
在2012年,Ott等人[12]提出了一种新方法,通过经济信号理论解释了在垃圾评论盛行中起关键作用的条件。
Feng等人[13]尝试了一种基于语法结构的新方法,该方法使用语法分析的上下文解析树从数据集中检索信息,但是该方法只能用于识别相对简单的结构。
ChenC等人[14]于2015年使用深层语言特征通过分析单个句子以及各句子之间的信息来识别垃圾评论。
BhallaR等人[15]于2016年提出了一种通过语义分析和对长文本内容进行标注来提取虚假评论的方法。
VivianiM,PasiG[16]于2017年尝试了一种多准则的决策方法,目标是获得与每次评论相关的准确性得分。
根据该得分,用户无法测量每个特征对分类过程中贡献度的问题得以解决,然后检测到虚假评论。
RajamohanS.P.UmamaheswariK[17]和UmamaheswariK[17]于2018年提出了一种新方法,即基于改进二进制粒子群优化算法和混合蛙跳算法的混合方法,该方法减少了特征集的高维性并选择优化的特征子集。
检测虚假评论时运用朴素贝叶斯,K最近邻和支持向量机分类器。
基于评论者行为的垃圾评论识别
久而久之,垃圾评论识别的研究变得更加深入,其他研究人员也对研究对象提出了不同意见。
Mukherjee等人[18-19]通过将行为相似的评论者分组,通过分析从而得出垃圾评论者的分组,进而将垃圾评论检测出来。
Lim[20]检测垃圾评论从评论者行为评级的特征中得出。
LiF[21]全面考虑了评论的内容以及评论者的特征,得出结论:
识别欺骗性评论的影响与评论的情感特征没有过多的关系。
AkogluL[22]将评论者与评论的内容建立起独特的网络结构,利用网络效应对评论者和其评论的内容进行打分,垃圾评论即为评分较低的内容。
LiH等人[23-24]提出了一种新方法,即基于时间的垃圾评论识别方法。
采用时间特征对垃圾评论者的行为进行了分析。
KCS[25]通过采用非监督的聚类方法解决了识别垃圾评论无法被准确标注出来的难题。
比较研究人员的研究方法,不难发现使用语义层面的方法研究垃圾评论识别的并不多见。
Collobert等人[26]在许多自然语言处理任务中实施了CNN,分类效果取得了明显的提升。
Shen等人[27]也将CNN用于信息检索中的语义分析,并取得了良好的效果。
Kalchbrenner等人[28]应用了一种新的pooling方式在CNN中并取得了不错的建模效果。
以上工作表明,CNN在中文短文本的处理上必将会产生良好的效果。
由于当前的神经网络对自然语言处理具有重大影响,并且神经网络在文档层次处理的问题上表现突出,因此本文对于解决垃圾评论识别的难题特提出了一种基于卷积神经网络的方法。
1.3论文研究内容
目前,关于微博垃圾评论的识别尚缺乏研究。
与其他论坛、博客相比,微博的内容更短,有效信息的内容不是很广泛,而且评论的数量数以万计。
为了使互联网用户摆脱垃圾评论的烦恼,让面向评论的数据挖掘工作者更好的进行研究。
本文全面的研究了现有垃圾评论识别方法,针对其存在的不足之处,提出了一种新方法——基于CNN的微博垃圾评论识别方法,有效提高了识别微博垃圾评论的效果。
本文的主要工作分为以下四点:
(1)介绍微博相关知识,对微博和其评论的特点以及垃圾评论的定义和特点进行了总结。
(2)本文提出了一种基于cookie与正则表达式的微博评论数据集获取方法。
通过实验证明较以往的网络爬虫以及开放的API接口这两种传统方法更加简洁高效。
(3)本文提出了一种应用于CNN文本分类的词向量模型。
其运用N-Gram模型中的二元模型来提取bigram特征文本,并通过运用Word2vec模型工具训练获得结合了单一语义特征和局部词序特征的Word2vec-NG向量。
(4)本文提出了一种SVM和CNN相结合的算法,通过采用真实的新浪微博评论数据集和电影评论数据集对所提出的算法进行了实验,根据召回率、准确率和F值作为评价标准,并对实验结果进行了详细的比较与分析。
实验结果证明本文提出的方法是有效的。
1.4论文结构安排
本文总共分为六章,各章节的概述如下:
第一章绪论。
本章探讨了微博垃圾评论识别的研究背景及意义;
详细阐述了国内外学者对于垃圾评论的研究现状以及现有方法存在的不足;
提出了本文的主要研究内容及创新点;
将本文的结构安排进行简单说明。
第二章相关技术概述。
介绍了本文研究工作中所涉及到的相关背景知识,包括词向量化——Word2vec、支持向量机、文本相似度的计算方法以及卷积神经网络概述。
第三章微博垃圾评论识别及数据处理。
本章介绍了微博相关知识,对微博和其评论的特点以及垃圾评论的定义和特点进行了总结;
针对传统数据集获取方法的不足提出了一种基于正则表达式的微博评论数据集获取方法;
对于实验所需的微博评论数据进行数据预处理。
第四章基于CNN文本分类的词向量模型。
其运用N-Gram模型中二元模型来提取bigram特征文本,通过采用Word2vec模型工具获得结合了单一语义特征和局部词序特征的Word2vec-NG向量。
为了证明其有效性从而进行了相关实验。
第五章基于SVM和CNN相结合的模型算法。
提出了一种将卷积神经网络与支持向量机相结合的短文本分类方法,即利用卷积神经网络进行特征提取,利用支持向量机进行分类。
并做了相关实验对该新模型进行对比分析。
第六章结论和展望。
总结本文研究微博垃圾评论的工作内容和成果,对此次研究中的不足以及接下来工作中需要改进的地方进行思考。
第二章相关技术概述
2.1词向量化——Word2vec
Word2Vec是一种工具,可以将词表示为真实的矢量值,并将文本内容处理转换为K维矢量空间中的矢量运算。
Word2Vec输出的词向量可用于做自然语言处理的相关工作,例如聚类、同义词、部分语言分析等。
在NLP中,最详细的信息是构成句子的词语,而句子则构成段落,章节和文档。
因此,要处理NLP问题,必须首先解决好单个词语问题。
举个简单例子,判断一个词的词性,是动词还是名词。
用机器学习的思路,我们有一系列样本(x,y),这里x是词语,y是它们的词性,我们要构建
的映射,但这里的数学模型
(比如神经网络、SVM)仅接受数字输入,并且NLP中的单词是符号形式的人的抽象摘要(例如,中文,英语,拉丁语等),因此需要将它们转换为数字形式或嵌入在数学空间中,这种嵌入方法称为单词嵌入,而Word2vec则是一种词嵌入。
大部分有监督机器学习模型,都可以归结为:
。
在NLP中,把x看做一个句子里的一个词语,y是这个词语的上下文词语,那么这里的f,便是NLP中经常出现的语言模型(languagemodel),该模型的目的是确定(x,y)模式是否符合自然语言的定律。
Word2vec正是来源于这个思想,但它的最终目的,不是要把f训练得多么完美,而是只关心模型训练完后的副产物——模型参数(这里特指神经网络的权重),并将这些参数,作为输入x的某种向量化的表示,这个向量便叫做——词向量。
Word2vec流程如图2-1所示。
(1)分词/词干提取和词形还原。
中文和英文的NLP各有各的难点,中文的复杂性在于它需要将词语进行分割并将每个句子分解成单个词语,尽管英语不需要分词,但它处理的方式不同,因此必须进行词干提取和词形还原。
(2)建立字典并计算单词频率。
在此步骤中,需要遍历所有文本,找出所有出现的词语,并计算每个词语出现的频率。
(3)建立一个树形结构。
根据出现的概率建立霍夫曼树,如果是完全二叉树,则简单很多。
需要注意的是,所有分类都应该处于叶节点。
(4)生在节点所在的位置创建二进制代码。
该二进制代码反映了节点在树上的位置。
像门牌号一样,它可以根据编码从根节点分阶段找到对应的叶节点。
(5)初始化每个非叶节点的中间向量和叶节点中的单词向量。
树中的每个节点都存储一个长度为m的向量,但是叶节点和非叶节点中的向量具有不同的内容。
叶节点存储用作神经网络输入的每个单词的单词向量。
非叶节点存储的中间向量与神经网络中隐藏层的参数相对应,并与输入一起确定分类的结果。
(6)训练中间向量和词向量。
对于CBOW模型,首先在单词A旁边添加单词向量n-1个单词作为系统输入,并根据步骤4中单词A生成的二进制代码逐步进行分类,然后根据分类结果和单词向量训练中间向量。
例如在第一个中间节点应该将对应的输入分类到右边。
如果分类到左边,则表明分类错误,需要对向量进行修正。
第二个,第三个节点也是这样,以此类推,直到达到叶节点。
因此对于单个单词来说,最多只会改动其路径上的节点的中间向量,而不会改动其他节点。
图2-1Word2vec流程图
Word2vec有两种模型:
CBOW模型和Skip—gram模型[29][30]。
CBOW模型
CBOW模型的训练输入是与特定功能词的上下文相关词相对应的词向量,而输出是该特定词的词向量。
分为三个阶段:
input(输入层),projection(映射层)和output(输出层)。
训练过程如图2.2所示。
图2.2CBOW模型
输入层:
包括当前词的前面的n个词以及当前词后的n个词。
映射层:
将输入层的若干词向量相加。
输出层:
输出层对应一棵二叉树,它是以语料中出现过的词当叶子结点,以各词在预料中出现的次数当权值构造出来的Huffman树。
在这棵Huffman树中,叶子结点共N(=丨D丨)个,对应词典D中的词,非叶子节点N-1个。
Skip—Gram模型
模型输入是单词A本身,输出是单词A周围有n个单词的词向量。
训练过程如图2.3所示。
图2.3Skip-Gram模型
通过查看所有语料的词作为中心词时,中心词与上下文的n个词语的所有共现情况,这样就得到我们要逼近的中心词与上下文对应关系的条件概率分布(这个概率分布是忽视掉了上下文词语间的顺序的),我们通过模型去训练出词典中心词向量矩阵和词典上下文词向量矩阵(这两个矩阵就是存储了语料中中心词与其上下文的对应关系信息)。
skip-gram的神经网络模型与CBOW的神经网络模型是彼此的镜像,该模型仅通过单词本身来预测单词的上下文,而CBOW通过上下文来预测单词。
计算过程基本相同。
2.2支持向量机
概述
与传统的统计理论相比,统计学习(Statisticallearningtheoty)是专门研究小样本机器学习定律的理论。
理论是为小样本统计问题设计的新型理论系统,该系统中的统计推断规则不仅考虑了渐进工作的要求,而且在信息有限的情况下寻求最佳结果。
统计理论的主要内容包括:
(1)以最小化经验风险为标准的统计培训的一致性;
(2)在这种情况下统计训练方法的一般性的结论;
(3)建立归纳标准的一小部分样本;
(4)识别新标准的实用方法(算法)。
SVM原理
向量支持机(SupportVectorMachine)[31]是Vachin等人提出的一种新的机器学习方法。
1995年,基于统计原理。
通过适当选择功能的一个子集为结构风险最小化提供了理论基础,并且该子集的判别函数将机器学习的实际风险最小化,并确保从受限训练样本中获得的小错误分类器对于独立测试仍然具有较小的测试误差。
支持向量机的基本思想是:
首先,在线性分离的情况下,找到原始空间中两种类型样本的超平面的最佳分类。
在线性不可分的情况下,添加了一个弱变量进行分析,并且通过非线性映射将低空间输入空间中的样本显示在高维属性的空间中,因此高维属性的空间使用线性算法进行采样。
并在函数空间中找到最优分类超平面。
其次,它使用结构风险最小化的原理在属性空间中构造最优分类超平面,从而使分类器具有全局最优性,并且整个样本空间中的预期风险以一定的概率满足一定的上限。
它的突出优点是:
(1)基于结构风险最小化原理和统计学习理论中的VC维理论,具有良好的泛化能力,即有限训练样本产生的小误差可以提供独立的测试工具。
别犯小错误。
(2)求解矢量支持的机器解的任务对应于凸优化问题,因此局部最优解必须是全局最优解。
(3)核函数的成功应用将非线性问题转化为线性问题。
(4)最大化分类间隔使支持向量机算法更加可靠。
借助SVM的突出优势,越来越多的研究人员被用作解决模式识别和回归估计领域中问题的有力学习工具。
在线性分离的情况下,SVM是从最佳分类表面开发的。
基本思想可以在图2-4中说明。
对于一维空间中的点,二维空间中的直线,三维空间中的平面以及高维空间中的超平面,图中的实点和空心点代表两种类型的样本,H是它们之间的分类。
平面H1和H2是穿过最接近分类平面并且平行于分类平面的样本的超平面。
它们之间的距离△称为分类间隔(margin)。
图2-4最优分类面示意图
所谓的最优分类面要求分类面不仅能够正确地划分两种类型,而且还需要最大化分类间隔。
正确区分这两个类别是为了提供训练错误率为0,即最小的经验风险为0。
最大化分类差距实际上会最小化对广义世界的置信范围,从而将真实风险最小化。
在高维空间上扩展,最优分类线成为最优分类面。
设一组划分的样本
作为类别符号。
d维空间中线性判别函数的一般形式是类别符号。
d维空间中线性判别函数的一般形式为
,分类线性方程为
对判别函数进行归一化,以便满足两个类别的所有样本
,即最接近分类表面的样本
此时,分类间隔是相等的
,因此最大化间隔等于最小化
要求分类线正确的对所有样本进行分类,则要求它满足:
(2-1)
满足上述条件(2-1),最优分类面就是使
最小的分类面,平行于最优分类面的两种样本H1,H2超平面上且过两类样本中离分类面最近的点称为支持向量,因为它们保持了最优分类面。
拉格朗日优化方法可用于将上述最优面分类问题转换为以下更简单的对偶问题:
(2-2a)
(2-2b)
下面对
求解下列函数的最大值:
(2-3)
若
为最优解,则
(2-4)
即最优分类面的权系数向量是训练样本向量的线性组合。
这是一个不等式约束下的二次函数极值问题,存在唯一解。
解中将只有一部分
不为零,这些不为零解所对应的样本就是支持向量。
求解上述问题后得到的最优分类函数是:
(2-5)
关于应用研究的现状,尽管支持向量技术研究非常广泛,但其应用却不如人工神经网络方法,因此有理由相信SVM应用研究具有巨大的潜力。
2.3文本相似度的计算
识别垃圾评论与衡量文本相似性是分不开的。
识别垃圾评论的大多数方法都是基于评论和文章的相似性来检测和过滤垃圾评论。
相似性是指两个对比事物的共性大小,这是检测垃圾评论的特征的总体重要指标,而相似度小于阈值的是垃圾评论。
当前,相似度计算主要涉及基于向量空间模型的余弦相似度测量[32]和基于其基础上改进的高级算法,例如添加语义信息[33-34],改善特征词权重[35]等。
还有一种基于编辑距离或最长整体序列的线相似度测量方法[36-37]。
由于相似度只是本文的重要特征之一,因此仅使用余弦相似度方法和TF-TDF算法来降低相似度测量算法的复杂度。
(1)余弦相似度
一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似。
其计算过程如下:
1)比如两句话,句子A为这只皮靴号码大了,那只号码合适。
句子B为这只皮靴号码不小,那只更合适。
将这两句话经过分词、列出所有词、对分词进行编码、计算词频,得到词频向量为A=[0、1、1、1、2、1、0、2、1、1],B=[1、0、1、1、2、1、1、1、1、0]。
2)这两个句子的相似性由余弦定理判断。
假设A和B是两个n维向量,A=[A1,A2,……,An],B=[B1,B2,……,Bn],计算方法如公式所示:
(2-6)
通过公式求得句子中A和B的余弦值cos为0.81,根据余弦相似度,句子A和句子B相似度很高。
余弦相似度的优点是它适用于所有方向的向量映射,并且更多的是从方向上
来区分对比物之间的差异,但对向量中单个个体的绝对值不敏感,则意味着它的价值更高无论个体是否出现,该个体都可以有效地抵消关键字,而不必关注事件的出现数量或重要性。
余弦相似度的取值范围为[0,1],该值与相似度成正比,直观且清晰。
(2)TF—IDF算法
TF-IDF(TermFrequency-lnverseDocumentFrequency)是指文本的反向频率索引,用于描述文本集D中特征值t的重要指标。
[38-39]
1)TF是词频(TermFrequency)
词频(TF)表示词条(关键字)文本中出现的频率。
通常将此规范进行规范化(通常将单词频率除以文章中单词的总数),以防止将其移至较长的文档中。
公式如下:
(2-7)
即:
其中ni,j是dj文件中输入单词出现的数量,分母是dj文件中所有单词出现的总数。
2)逆向文件频率(InverseDocumentFrequency)
IDF:
可以通过将文件总数除以包含该单词的文件数量,然后获取得到的数的对数来获得特定单词的IDF。
如果包含词条t的文档数较少,则IDF较大,表明该词条具有很好的区分类别的能力。
(2-8)
其中,丨D丨是语料库中的文件总数。
丨{j:
ti∈dj}丨
表示包含单词ti的文件数(即ni,j≠0的文件数)。
如果该词语不在语料库中,将导致分母等于零,因此通常使用1+丨{j:
ti∈dj}丨,
3)TF-IDF实际上是:
TF*IDF
特定文件中单词的高频率和整个文件集合中单词文件的低频率会产生很大的TF-IDF权重。
因此,TF-IDF试图过滤常见单词并存储重要单词。
(2-9)
2.4卷积神经网络(CNN)文本分类模型
卷积神经网络概述
卷积神经网络(CNN,ConvolutionNeuralNetwork)是具有卷积结构的深度神经网络。
1984年,日本科学家Fukushima基于感知领域的概念提出了一种新认知模型,可以认为它是引入卷积神经网络的第一个网络。
卷积结构可以减少深度网络占用的内存量,还可以减少网络参数的数量并减轻模型过拟合的问题[40]。
标准的CNN模型由输入层,卷积层,下采样层,完全连接层和输出层组成,在文本分类中,其基准架构如图2.5所示。
图2.5基准架构
在文本分类中,输入是一个二维向量矩阵,即单词嵌入矩阵,每
行代表单词的向量表示,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CNN 垃圾 评论 识别 方法
![提示](https://static.bdocx.com/images/bang_tan.gif)