基于堆叠降噪自编码机的广告博文识别方法与流程

文档序号:13661319阅读:238来源:国知局
基于堆叠降噪自编码机的广告博文识别方法与流程

本发明涉及基于堆叠降噪自编码机的广告博文识别方法,属于自然语言处理技术领域,微博广告识别。



背景技术:

广告博文由专业人士编写,内容分散,形式多种多样,很难以通过统计筛选等简单的方法将其识别、去除。广告博文不仅影响用户体验,还对基于微博的相关研究(如舆情分析、意见领袖挖掘、话题发现等)产生不利影响。目前国内外关于广告博文的去除主要有以下几种方法。通过对广告博文进行分析,确定广告博文拥有的特性,将各个特性值相加并设定阈值来过滤广告博文。使用文本数据作为特征,采用监督学习的方式构建svm分类模型进行广告博文的识别;然而这种方式在建立模型未考虑博主社会关系方面的特征。从博主方面出发定义特征,在原有的特征基础上引入博主“主题”特征,实验证明在引入博主“主题”特征之后广告博文识别模型准确率有所提高。但上述方法在构建模型时都没有对特征进行选择,使用的特征或多或少存在着冗余的问题。从而产生了参考特征工程中现有的特征选择方法(主要为机器学习方法)构建自己的特征选择方法,并将选择后的特征用于构建微博反垃圾模型,实验表明相比于方法的选择,特征选择对模型的识别效果更为重要。



技术实现要素:

针对上述问题,本发明提供了基于堆叠降噪自编码机的广告博文识别方法,解决特征冗余的问题,提高模型的识别率,降低应用的难度。

本发明的技术方案是:基于堆叠降噪自编码机的广告博文识别方法,所述基于堆叠降噪自编码机的广告博文识别方法的具体步骤如下:

step1、首先爬取微博语料,通过人工标注语料得到训练集和测试集,其次对语料进行预处理;

step2、构建微博文本特征向量表征博文,然后将特征向量放入最大熵分类中训练建模,得到基于微博文本特征向量的广告博文识别模型;

step3、构建人工定义特征向量表征博文,然后放入最大熵分类中训练建模,得到基于人工定义特征向量的广告博文识别模型;

step4、构建组合特征向量表征博文,然后放入最大熵分类中训练建模,得到基于组合特征向量的广告博文识别模型;

step5、对得到的广告识别模型评估,根据实验结果选择最终的模型,依据此模型识别广告博文。

作为本发明的优选方案,所述步骤step1的具体步骤为:

step1.1、首先人工编写爬虫程序,爬取微博得到微博语料;

step1.2、把已爬取的微博语料,经过过滤、去重得到不重复的微博语料,并把微博语料存放到数据库中;

本发明考虑到爬取的微博语料可能存在重复博文,这些博文增加了工作量,而没有太大意义,所以需要过滤、去重,得到不重复的微博博文语料,存放在数据库是为了能方便数据的管理和使用。

step1.3、对数据库中的语料进行人工标注得到训练集和测试集,并对语料进行分词、去停用词相关的预处理工作。

本发明考虑到直接将文本切分为多个字符组成的字符串形式,会造成原文本中字、词、段落之间语言学信息的丢失。所以对微博语料进行预处理工作,其中包括中文分词、去停用词。方便后续工作的进行。

作为本发明的优选方案,所述步骤step2的具体步骤为:

step2.1、对微博文本首先使用word2vec对微博文本进行处理,得到微博的文本向量;

本发明考虑到新浪微博将文本的字数限制从原来140字调整到了2000字,使得文本的特征词也相应的得到扩大,而且其中存在着大量同义词,上下文依赖严重,为了避免出现特征词冗余的问题,发明首先使用word2vec对文本进行处理,借助word2vec在语义信息表征的优越性把文本中每个词转化为向量表示。

step2.2、对step2.1中得到微博文本向量使用堆叠降噪自编码机进行特征处理,得到不同维度的微博文本特征向量fv1;特征的维度不同结果也不同,为了获得最优效果,考虑了不同维度的特征向量。

step2.3、将step2.2中得到的不同维度的微博文本特征向量放入最大熵分类中训练建模;

step2.4、用测试集语料测试不同维度文本特征向量模型,得到最优维度模型m1。

作为本发明的优选方案,所述步骤step3的具体步骤为:

step3.1、对广告博文进行分析定义特征,然后对定义的特征进行抽取获得人工定义的特征;

本发明考虑已有广告博文研究中人工定义特征基础上,依据对微博文本分析补充一些特征。已有研究特征主要包括:文本特征、博主特征、博文特征。其中文本特征包括:微博的字符长度、微博的总词数、微博中第一人称代词“我”出现的次数、微博中url链接的数目、微博中数字占微博总长度的比值、微博中@的用户总数。博主特征包括:博主发布的微博总数、为用户名字的复杂度、博主的粉丝总数、博主关注其他博主的总数、关注数与粉丝数的比值。博文特征引用了博文的发布时间是否是在活跃时间段。发明补充了博文特征,补充的博文特征包括:博文的转发总数、博文的评论总数、转发数与评论数的比值、博文的类型(转发还是原创)、博文的情感倾向(正面还是负面)。然后根据定义的特征抽取并融合得到初步的特征向量。

step3.2、对step3.1中得到的人工特征向量使用堆叠降噪自编码机进行特征选择,得到不同维度特征向量fv2;

本发明对step3.1中得到的特征进行融合得到初步的特征向量,然后对初步的特征向量使用堆叠降噪自编码机进行特征选择,得到基于堆叠降噪自编码机的特征向量,为下一步模型训练提供输入特征向量。特征的维度不同结果也不同,为了获得最优效果,考虑了不同维度的特征向量。

step3.3、将step3.2中得到不同维度特征向量放入最大熵分类方法中训练模型,通过不同维度的特征向量得到基于不同维度的广告识别模型;

step3.4、用测试集语料测试不同维度的广告识别模型,得到最优维度模型m2。

其中最优维度模型的标准是根据准确率、召回率、综合指标评测不同维度模型的分类结果的。选择表现最好的维度的模型作为最优模型。

作为本发明的优选方案,所述步骤step4的具体步骤为:

step4.1、将step2和step3中得到的最优维度的微博文本特征向量和人工定义的特征向量进行组合得到组合特征向量fv3;

本发明考虑微博文本特征向量和人工定义特征向量各有优缺点,对此我们将前两种方法构建的特征向量进行组合,即构建一个能够同时容纳两种特征向量的高维度向量,得到组合特征向量,为下一步模型训练提供输入特征向量。

step4.2、将step4.1中的得到的组合特征向量放入最大熵分类中训练模型,得到基于组合特征向量的广告博文识别模型m3。

作为本发明的优选方案,所述步骤step5的具体步骤为:

step5.1、对step2、step3和step4中模型综合评估,选定评估结果最好的模型;

本发明对step2、step3和step4中各模型的综合分析,选择实验效果最好的模型,得到广告博文识别的最终模型,作为下一步识别广告博文的方法模型。

step5.2、把step5.1得到的模型作为广告博文的识别模型。

对本发明做进一步阐述的,所述步骤step2、step3和step4中的堆叠降噪自编码机是在自编码机和降噪自编码机基础上扩展而来。

自编码机:

自编码机是一种无监督学习算法,主要有两个部分组成,编码和解码。编码器结构如图3所示:

其中x为输入,h为隐藏层的值,y为输出,l1、l2、l3分别为输入层隐藏层和输出层。自编码机每两层之间的变换都是“线性变化”+“非线性激活”,其首先将输入数据转换到隐藏层

h=f(w(1)x+b(1)),

再将数据转换到输出层

y=g(w(2)h+b(2))。

在整个过程中尝试学习一个函数g(f(x))使得输出y最大程度上复现输入x,虽然将f和g设为恒等映射即可办到,但这样做没有任何意义。因此我们常常为自动编码机加入某些限制(比如限定隐藏神经元的数量),这样我们就可从输入数据中发现一些隐含的结构,例如假设我们有如下输入{0,0,0,1}、{0,0,1,0}、{0,1,0,0}、{1,0,0,0},我们将隐藏层设置为两个单元,在经过自动编码机之后我们可将输入变换成如下形式{0,0}、{0,1}、{1,0}、{1,1}。我们可以发现新的编码并没有损失信息量反而在编码结构上要优于先前的编码,也就是说自编码机学习出了的能力并且在几乎不损失信息量的情况下将原始数据表达成另一种形式。基于这一原理我们可以使用自编码机对特征进行选择,同样当我们将隐藏层单元设置为高于输入层时我们可以用其对特征进行扩展。

降噪编码机:降噪编码机是自编码机的变种,能够将有噪音的原始数据编码并通过解码将其恢复为真正的原始数据的自编码机才是最好的。降噪自编码机的结构如图4所示,其中x为原始数据,z为输出,为加入了噪音的输入,h为隐藏层数据,l(x,z)为监督训练的误差。降噪自编码机的原理与自编码机基本一致,不同之处在于降噪自编码机的输入是有噪音的输入,他的输出复现的是原始数据而不是输入数据,同样监督训练的误差也是原始数据与输出之间的误差。

堆叠降噪自编码机(sda):堆叠降噪自编码机是在降噪自编码机上的一种改进,改进的目的是为了通过深层网络学习出原始数据的多种表达,每一层都以上一层的输出作为输入,借此找出最适合分类任务的特征。堆叠降噪自编码机结构如图5所示,其中dae1表示的是降噪自编码机单元,当我们完成自编码机的训练之后,其输出z就没有存在的必要了,因为对我们来说最重要的是隐藏层的数据,因此上图中降噪自编码机单元的输出为h。堆叠降噪自编码机的训练是逐层训练的,也就是说前一个单元训练完成之后将输出传递给下一个单元,下一单元接受数据后才能开始训练,最终完成整个网络的训练。

本发明的有益效果是:

1、本发明的基于堆叠降噪自编码机的广告博文识别方法,对博文抽取的特征进行处理,一方面通过堆叠降噪自编码机对特征进行降维,将原有特征编码成一种更低维度的特征表征,解决特征冗余的问题,提高了模型的识别率,另一方面使用深度学习技术对特征进行选择减轻了特征选择的工作量,降低了应用的难度;

2、本发明的基于堆叠降噪自编码机的广告博文识别方法,考虑微博博文特征、人工定义特征、组合特征,选择能够获得最好效果的特征,得到基于此特征的识别模型;

3、本发明的基于堆叠降噪自编码机的广告博识别噪方法,对博文中广告博文实现了有效的去除,为后续基于博文的相关研究打下了坚实的基础。

附图说明

图1为本发明中的总的流程图;

图2为本发明中的基于堆叠降噪编码机广告博文识别方法流程图;

图3为自编码机结构图;

图4为降噪编码机结构图;

图5为堆叠降噪自编码机结构图。

具体实施方式

实施例1:如图1所示,基于堆叠降噪自编码机的广告博文识别方法,所述基于堆叠降噪自编码机的广告博文识别方法的具体步骤如下:

step1、首先爬去微博语料,通过人工标注语料得到训练集和测试集,其次对语料进行预处理;

step2、构建微博文本特征向量表征博文,然后将特征向量放入最大熵分类中训练建模,得到基于微博文本特征向量的广告博文识别模型;

step3、构建人工定义特征向量表征博文,然后放入最大熵分类中训练建模,得到基于人工定义的特征向量的广告博文识别模型;

step4、构建组合特征向量表征博文,然后放入最大熵分类中训练建模,得到基于组合特征向量的广告博文识别模型;

step5、对得到的广告识别模型评估,根据实验结果选择最终的模型,依据此模型识别广告博文。

实施例2:如图1-2所示,基于堆叠降噪自编码机的广告博文识别方法,本实施例与实施例1相同,其中:

作为本发明的优选方案,所述步骤step1的具体步骤为:

step1.1、首先人工编写爬虫程序,爬取微博得到微博语料;

step1.2、把已爬取的微博语料,经过过滤、去重得到不重复的微博语料,并把微博语料存放到数据库中;

本发明考虑到爬取的微博语料可能存在重复博文,这些博文增加了工作量,而没有太大意义,所以需要过滤、去重,得到不重复的微博博文语料,存放在数据库是为了能方便数据的管理和使用。

step1.3、对数据库中的语料进行人工标注得到训练集和测试集,并对语料进行分词、去停用词相关的预处理工作。

本发明考虑到直接将文本切分为多个字符组成的字符串形式,会造成原文本中字、词、段落之间语言学信息的丢失。所以对微博语料进行预处理工作,其中包括中文分词、去停用词。方便后续工作的进行。

实施例3:如图1-2所示,基于堆叠降噪自编码机的广告博文识别方法,本实施例与实施例2相同,其中:

作为本发明的优选方案,所述步骤step2的具体步骤为:

step2.1、对微博文本首先使用word2vec对微博文本进行处理,得到微博的文本向量;

本发明考虑到新浪微博将文本的字数限制从原来140字调整到了2000字,使得文本的特征词也相应的得到扩大,而且其中存在着大量同义词,上下文依赖严重,为了避免出现特征词冗余的问题,发明首先使用word2vec对文本进行处理,借助word2vec在语义信息表征的优越性把文本中每个词转化为向量表示,然后把博文中每个词的向量中对应的维度累加并除以词的个数,最后得到博文的向量表示,博文的向量维度与词的向量维度相同。

发明再对博文进行分析,发现微博上的博文主要有两种类型,一种是原创博文,另一种是博主转发的博文,如下表1所示:

表1原创/转发博文展示表

由于转发的博文比原创博文多了一项转发理由,而转发理由也包含了大量文本信息,为了表征所有种类博文的文本信息,我们将文本特征向量分为两部分,前一部分用以表征转发的博文文本信息,后一部分用于表征转发理由这一文本信息,对于原创博文而言,其文本特征向量的前一部分表针博文的文本信息,由于其没有转发理由这一文本信息,我们将其特征向量的后一部分做置0处理。这样我们就得到所有种类博文的文本特征向量。

step2.2、对step2.1中得到微博文本向量使用堆叠降噪自编码机进行特征选择,得到不同维度的微博文本特征向量fv1;

本发明考虑特征选择对模型的识别效果更为重要,采用堆叠降噪自编码机进行特征选择,解决特征冗余的问题,提高了模型的识别率。特征的维度不同结果也不同,为了获得最优效果,考虑了不同维度的特征向量。

step2.3、将step2.2中得到的不同维度的微博文本特征向量放入最大熵分类中训练建模;

step2.4、用测试集语料测试不同维度文本特征向量模型,得到最优维度模型m1。

实施例4:如图1-5所示,基于堆叠降噪自编码机的广告博文识别方法,本实施例与实施例2相同,其中:

作为本发明的优选方案,所述步骤step3的具体步骤为:

step3.1、对广告博文进行分析定义特征,然后对定义的特征进行抽取获得人工定义的特征;

本发明考虑已有广告博文研究中人工定义特征基础上,依据对微博文本分析补充一些特征。已有研究特征主要包括:文本特征、博主特征、博文特征。其中文本特征包括:微博的字符长度、微博的总词数、微博中第一人称代词“我”出现的次数、微博中url链接的数目、微博中数字占微博总长度的比值、微博中@的用户总数。博主特征包括:博主发布的微博总数、为用户名字的复杂度、博主的粉丝总数、博主关注其他博主的总数、关注数与粉丝数的比值。博文特征引用了博文的发布时间是否是在活跃时间段。发明补充了博文特征,补充的博文特征包括:博文的转发总数、博文的评论总数、转发数与评论数的比值、博文的类型(转发还是原创)、博文的情感倾向(正面还是负面)。然后根据定义的特征抽取并融合得到初步的特征向量。

特征定义之后需要对数据进行特征抽取,由于定义的特征数过多,对于能直接量化的特征不做赘述,对不能直接量化的特征描述如下:

(1)昵称复杂度

昵称复杂度主要表征的是微博用户昵称的复杂程度,微博用户昵称允许输入字母、数字、汉字、特殊字符这四种字符,对这四种字符设立权重并计算四种字符在昵称中所出现的次数,将四种字符的权重与出现次数相乘并求和作为用户的昵称复杂度。

其中nc表示昵称复杂度,i表示字符编号,wi表示字符的权重,ti表示型字符在用户昵称中出现的次数。

(2)博文情感

博文情感使用博文的情感倾向来表示正面:1,负面:0。通过工具包构建情感分析模型,将模型分析出来的值作为博文的情感特征值。

最后,将抽取的特征进行融合得到初步的特征向量。

step3.2、对step3.1中得到的人工特征向量使用堆叠降噪自编码机进行特征选择,得到不同维度特征向量fv2;

本发明对step3.1中得到的特征进行融合得到初步的特征向量,然后对初步的特征向量使用堆叠降噪自编码机进行特征选择,得到基于堆叠降噪自编码机的特征向量,为下一步模型训练提供输入特征向量。特征的维度不同结果也不同,为了获得最优效果,考虑了不同维度的特征向量。

step3.3、将step3.2中得到不同维度特征向量放入最大熵分类方法中训练模型,通过不同维度的特征向量得到基于不同维度的广告识别模型;

step3.4、用测试集语料测试不同维度的广告识别模型,得到最优维度模型m2。

实施例5:如图1-2所示,基于堆叠降噪自编码机的广告博文识别方法,本实施例与实施例3,4相同,其中:

作为本发明的优选方案,所述步骤step4的具体步骤为:

step4.1、将step2和step3中得到的最优维度的微博文本特征向量和人工定义的特征向量进行组合得到组合特征向量fv3;

本发明考虑微博文本特征向量和人工定义特征向量各有优缺点,对此我们将前两种方法构建的特征向量进行组合,即构建一个能够同时容纳两种特征向量的高维度向量,得到组合特征向量,为下一步模型训练提供输入特征向量。

step4.2、将step4.1中的得到的组合特征向量放入最大熵分类中训练模型,得到基于组合特征向量的广告博文识别模型m3。

实施例6:如图1-2所示,基于堆叠降噪自编码机的广告博文识别方法,本实施例与实施例3,4,5相同,其中:

作为本发明的优选方案,所述步骤step5的具体步骤为:

step5.1、对step2、step3和step4中模型综合评估,选定评估结果最好的模型;

本发明对step2、step3和step4中各模型的综合分析,选择实验效果最好的模型,得到广告博文识别的最终模型,作为下一步识别广告博文的方法模型。

step5.2、把step5.1得到的模型作为广告博文的识别模型。

本实施例构建了两部分实验数据(da,db),da是通过对coae2013中倾向性分析评测数据文本进行预处理获得的数据,db是爬取的新浪微博中热门板块的微博,随机爬取10万条2016年11月用户发表的微博,去除其中博主信息不全的微博,剩下5万条。并对爬虫获取的微博数据进行预处理(主要为第一步的去除无法获取博主信息的博文,第二步的两轮人工标注,标注广告博文)之后得到的,包括微博和博主信息,。同时为了获得高维的最大熵特征函数向量,提高最大熵分类的效果。本发明使用不平衡的样本数据训练模型,使用权重调整的方式解决样本不平衡带来分类问题。数据详情如表2所示:

表2数据详情表

实验一:为了验证本发明特征抽取方法的有效性。对于不能直接量化的特征做抽取实验,实验结果如表3-4所示。

表3昵称复杂度抽取实验

表3展示的是抽取复杂度的部分实例,可以看出复杂度的给定基本符合客观事实,呢称越长其复杂度越高,且含多种字符的呢称其复杂度可能越高。

表4情感特征抽取实验

从表4中实验结果可以看出情感分析的准确率在86%以上,召回率在84%以上,达到了实验要求的标准。

实验二:为了验证使用堆叠降噪自动编码机进行特征选择之后对模型产生的效果,对比堆叠降噪自编码机引入前后模型识别率的变化。实验结果采用准确率r、召回率r、综合指标f比较。实验结果如表5所示:

表5未引入堆叠降噪自编码机的实验结果

从模型的f值上看,两者模型之间相差不大,仅有1.24%的差距。而基于微博文本特征构建模型准确率为100%,明显高于基于人工定义特征构建的模型。从召回率上说,基于人工定义特征所构建的模型略有优势。总的来说仅从表5实验结果难以判断两个模型的谁的效果更好。因此对两个模型分别引入sda进行特征选择,观察模型的识别效果。引入sda之后模型的实验结果如表6所示:

表6引入堆叠降噪自编码机的实验结果

对比表5和表6实验结果可以看出在引入堆叠降噪自编码机之后对于基于不同特征向量的模型,其识别效果均有不同程度的提升。另外从f值看,对于基于微博文本特征向量,特征维度50维的时候模型识别效果最好,对于基于人工定义特征向量特征维度15维的时候模型识别效果最好。因此后续实验中文本特征向量选择经过堆叠降噪编码处理后的50维向量,而人工定义的特征向量则选择经过堆叠降噪编码处理后的15维特征向量。

实验三:为了验证识别效果最好的的模型,对比了所述模型的实验结果。

根据实验二的结果,经堆叠降噪编码处理后,最好的人工定义特征向量的维度是15维,最好的文本特征向量是50维,因此将两个最好维度的向量组合得到组合特征向量。实验二结果也表明了基于文本特征的模型优于基于人工定义特征模型。下面比较基于文本特征模型和基于组合特征模型的实验结果。实验结果如表7所示:

表7对比实验结果

从表7可以看出基于文本特征向量的模型的识别效果最好,虽然其识别的准确率较低,但是其召回率较高能识别出微博中绝大部分的广告博文,因此选取此模型用于广告类噪音博文的去除。

上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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