第八届“泰迪杯”数据挖掘挑战赛C题“泰迪杯”奖论文(基于卷积神经网络及集成学习的网络问政平台留言文本挖掘与分析)

目 录

第一章 引言
1.1挖掘背景
1.2挖掘意义
1.3问题描述
第二章 群众留言分类
2.1数据准备
2.1.1数据描述
2.1.2数据预处理
2.2特征提取
2.3建立模型
2.3.1卷积神经网络
2.3.2模型设计
2.3.3模型效果评价
第三章 热点问题挖掘
3.1数据准备
3.1.1数据描述
3.1.2数据预处理
3.2提取热点问题
3.2.1文本去噪
3.2.2话题聚类
3.2.3提取热点
3.3热度度量
3.3.1异常时间识别
3.3.2定义热度指标
3.3.3热度计算
3.4事件提取
第四章 答复意见评价体系
4.1数据准备
4.1.1数据描述
4.1.2数据预处理
4.2评价指标体系
4.2.1相关性
4.2.2可解释性
4.2.3完整性
4.2.4及时性
4.3答复意见质量评价
4.3.1聚类结果
4.3.2结果分析
4.4模型构建
4.4.1二阶段分类器
4.4.2模型评价
第五章 总结
参考文献

第一章 引言

1.1挖掘背景

21 世纪的信息化发展日新月异,网络成了人们生活中必不可少的一部分。

中国互联网络信息中心报告显示,截至 2019 年,我国网民规模达 8.29 亿,互联网普及率达 59.6%。互联网的强渗透力也为政府服务带来极大的便利,摆脱过去单调束缚的“人—信箱—政府”的民意收集模型,越来越多的网络问政平台的出现在人们的视野中。这种新的民意收集模式不仅简化人民群众表达心声的方式, 还能快速及时的掌握社会热点问题,以提高服务效率。

然而,随着数据量的激增,对大数据量留言文本的快速处理成为一个亟待解决的问题。如今大数据技术发展迅速,应用于各行各业都取得不错的成就,将大数据技术引入政府服务,优化服务效率已然是大势所趋。自然语言处理技术是一门融合多学科的技术,近年来逐渐成为发展热潮,在实现人机交互方面取得巨大的进展。构建基于自然语言处理技术的智慧政务处理系统能避免人工处理留言的低效率,提高政府管理水平。基于此,本文运用时下流行的文本挖掘技术,对留言进行划分,并构建热点问题指标,推送人民群众关心的五大热点问题,并对相关答复设计一套评价指标,为政府工作提供参考。

1.2挖掘意义

网络问政平台上的群众留言数量庞大且内容杂乱,依据人工经验处理留言分类工作会导致分类效率低、差错率高等问题。而建立关于留言内容的一级标签分类模型,可以帮助工作人员快速准确地处理留言分类工作,提高分类效率,降低差错率,减少工作量,大大提升工作效率,对相应职能部门快速获取其职责范围内的留言内容并及时处理具有重要意义。

热点问题是指某一时段内群众集中反映的某一问题。从一定意义上说,热点问题是公众利益和情绪的集中体现与表达,如果应对和处理不及时、不妥当,就很容易引起群众的不满和对立情绪,甚至演变成群体性事件。因此,定义合理的热度评价指标,找出热点问题及每个热点问题所对应的留言文本,可以帮助相关部门及时掌握问题动向,进行有针对性地处理,快速高效地解决问题,对提升民众满意度及相关部门服务效率具有重要意义。

相关部门对留言的答复意见,很大程度上反映了相关部门的服务效率、对留言问题的重视程度以及问题解决效果等。因此,建立一套完整的答复意见质量评价方案是很有必要的,本文从相关性、完整性、可解释性与及时性等角度对相关部门答复意见的质量进行评价,对评价相关部门的工作效率、解决问题能力等具有重要参考意义。

1.3问题描述

任务一分析:在处理网络问政平台的群众留言时,工作人员需要首先按照一定的划分体系将留言进行分类,以便后续将群众留言分门别类地划分给相应职能部门处理。但目前大部分留言分类工作还是依靠人工处理,由于网络问政平台留言数量大且内容杂,导致分类工作存在效率低、差错率高等问题。因此,对于任务一,需根据附件 2 所给留言数据,建立关于留言内容的一级标签分类模型,并使用 F1 值评价指标对所建立的分类模型进行评价。

任务二分析 :热点问题是指某一时段内群众集中反映的某一问题。及时发现热点问题,有利于相关部门快速掌握问题动向,及时进行有针对性地处理,从而提升服务效率。因此,对于任务二,需根据附件 3 所给留言数据,将各留言进行
归类,并定义合理的热度评价指标,给出各留言类别热度评价结果,按表 1 格式给出排名前 5 的热点问题,保存为文件“热点问题表.xls”;按表 2 格式给出相应热点问题类别下的留言信息,保存为文件“热点问题留言明细表.xls”。

任务三分析:相关部门对留言的答复意见,对于评价相关部门对群众所反映问题的解决效率、反馈情况等具有重要参考意义。因此,针对任务三,需根据附件 4 中相关部门对留言的答复意见,对答复意见从答复的相关性、完整性、可解释性等角度给出一套质量评价方案,并尝试实现对答复意见的评价。

第二章 群众留言分类

2.1数据准备

2.1.1数据描述

本文共有三个留言数据集,每一个任务对应一个数据集,另有一个数据集提供了留言的分类标签。针对任务一的数据集共有 9210 条留言,分为 6 个部分, 包括“留言编号”、“留言用户”、“留言主题”、“留言时间”、“留言详情” 与“一级分类”。“留言编号”是每条留言的编号,一条留言有一个编号;“留言用户”是每位网友的账号,一位网友一个账号;“留言主题”与“留言详情” 记录用户所反映的现象;“一级分类”是对留言按标签分类,数据集内共有 7种一级标签,其中城乡建设共 2009 条,环境保护共 938 条,交通运输共 613 条,商贸旅游共 1215 条,卫生计生共 877 条,教育文体共 1589 条,劳动和社会保障共 1969 条。图 2-1 显示各个分类标签的占比情况。

在这里插入图片描述

图 2-1 一级标签类别分布

2.1.2数据预处理

对任务一的留言进行分类前,首先要对数据集进行数据清洗。留言文本语句多样、语言随意的特点导致其中存在大量不规范的内容,如噪声、文本重复、文本冗余等情况,若不对留言文本内容进行处理,会影响分类器的分类效果。在数据集中,主要对“留言主题”与“留言详情”进行数据预处理。

1.去除特殊字符
(1)去除原因

第一类:空格。提取数据集文本时发现,提取出的信息中带有大量空格、“\xa0”、“\t”、“\n”等特殊字符,使得留言文本中存在很多空白内容,破坏了文本的规范性;

第二类:网址。原始数据集中存在大量网址,如:“https://baidu.com/”及“https://baidu.com/.05”这些网址信息夹杂在留言文本中,影响分词效果;

第三类:日期。留言文本中的日期数据并不包含分类的特征,属于无价值信息,因此在数据预处理阶段,本文去除数据集中结构为“XXXX 年 X 月 X 日”、“XXXX 年 X 月”的日期数据;

第四类:地名。原始数据集中带有“A 市”、“A8 县”,“B4 区”等英文单词为开头的地名,会影响分词效果,如:对“A1 区 A2 区华庭小区高层”分词时,若不删除地名,分词结果是“A1/区/A2/区华庭小区高层”,而删除地名后的分词结果是“华庭小区高层”,可见删除地名后分词结果更佳。且从语义角度来说,这些地名具有语义上的相似性,也会影响分类器的效果。

标点符号、常规英文字母与数字作为非文字符号的一部分将在分词结束后与停用词一同去除。因为本文发现先进行分词处理,后去除标点符号、常规英文字母与数字的分词效果优于先去除上述三项后分词的效果。

(2)处理方法

在 Python 中利用正则表达式去除原始数据集中的非文字符号。

2.去除重复留言
(1)去除原因

在数据预览时发现,部分“留言详情”内容存在高度一致性,因此需要去除重复文本,即筛选“留言详情”中完全重复与相似的留言,本文去除的对象有以下两类:

第一类:完全重复的留言。原始数据集中可能存在同一用户短时期内上传 2条完全重复的“留言详情”以及后一用户复制前一用户“留言详情”的情况;

第二类:相似留言。同一用户两次上传的“留言详情”做了部分修改,大部分内容相同,以及后一用户复制前一用户留言并做部分修改,这些留言属于相似留言,反映的是同一现象,因此本文仅保留一条作为有效留言。

数据集中存在较多的完全重复与相似的留言文本,表 2-1 给出了完全重复与相似留言文本的示例。

表 2-1 重复与相似留言
在这里插入图片描述

(2)处理方法

对于完全重复的留言文本,处理的原理非常简单,利用 Python 程序判断语料库中是否存在完全重复的文本,若存在,则保留一条完全重复文本;

对于相似文本的处理,本文采用的是 Simhash 算法,该算法将文本映射成指纹,通过对比指纹来识别相似文本。其优点是检索速度快,适用于海量文本,因此本文选用 Simhash 算法解决相似文本问题。其原理是将在超大集合内查找数据的问题利用哈希函数转换映射的方法转化为在较小集合内查找数据的问题,大大减少计算量,主要包括:分词、计算 hash、加权、合并、降维。其中 hash 值的计算是通过 hash 函数对每一个词向量进行映射,产生一个 n 位二进制串,使字符串数字化。

相比于短文本,Simhash 算法更适用于长文本,由于数据中的留言详情经过去除特殊字符的处理后,其平均长度约为 200,文本内容较长,所以使用该算法取得较好的效果。求得文本之间的相似度后,保留一条为有效留言,其余作为无效留言去除。

经上述处理后,本文共去除 260 条完全重复留言,155 条相似留言,剩余 8795条有效留言文本。
在这里插入图片描述
图 2-2 重复与相似留言占比

3.去除首尾冗余
(1)去除原因

本文对原始数据集进行预览时发现,一些“留言详情”的首部会出现“尊敬的胡书记:您好!”、“尊敬的领导:”等字样,在尾部会出现“谢谢!”、“希望能得到重视”等字样。这些内容是出于中文语言习惯,并不包含有价值的信息, 可以视作文本的冗余部分。

(2)处理方法

为了解决首尾冗余对模型效果的影响,本文提出了一种首尾冗余识别算法, 先对文本进行分句处理,再按照首尾句句子特点制定规则来过滤无关句子。

规则一:通过浏览发现,留言内容的首句以向领导问好的形式居多,也有直接言明遇到的实际问题,这时,就需要过滤向领导问好的无关句,观察发现,这类句子一般较短,即使略长也带有“好”字,所以以此为规则删除无关首句;

规则二:相比于首句,尾句的表达更加多样化,有表示感谢、请求领导解决问题、落款等形式,这些句子也无关问题本身,同样需要过滤,观察发现,这类句子也一般较短,但部分短句中也带有实际问题的表达,这种句子一般带有问号, 所以以此为规则删除无关尾句。

该算法具体步骤为:

Step1:按标点符号对文本进行分句;
Step2:索引文本首句,若字段长度小于 7,则直接删除,否则进入下一步; Step3:若字段长度在 7 至 15 之间,同时包含“好”字,则将其删除,其余
保留;
Step4:索引文本尾句,若字段长度小于 4,则直接删除,否则进入下一步; Step5:若字段长度在 4 至 10 之间,且不含问号(?),则直接删除,其余
保留。

算法流程如下图:
在这里插入图片描述
图 2-3 首尾冗余识别算法流程图

利用首尾冗余识别算法能较好的识别出以下内容(示例),且从后续的操作中可以证明,这种算法能提高分类器效果。
在这里插入图片描述图 2-4 识别出的首部(左)与尾部(右)冗余

4.分词技术

中文以字为单位,多个字连在一起构成一个表达具体含义的词。在文本中,句段之间通过标点符号进行简单分割,而词与词之间没有明显的分割符号,因此首先需要在语句中划分出具有独立意义的词,即通过分词工具将连续的字序列按照一定规则重新组合成词序列的过程。

分词结果对后续建模的效果具有至关重要的影响,目前使用较多的分词工具有 Jieba 分词工具、NLPIR 分词系统以及 HanLp 分词工具。

(1)Jieba 分词工具

Jieba 分词属于概率语言模型分词。在全切分所得的所有结果中求某个切分方案 S,使得 P(S)最大。Jieba 分词支持三种分词模式,包括全模式、精确模式、搜索引擎模式。

(2)NLPIR 分词系统

NLPIR 是中科院计算所研制的基于多层隐马尔科夫模型的中文词法分析系统。该系统提供了中文分词、词频统计、词性标注、命名实体识别、新词识别等功能。

(3)HanLp 分词工具

HanLp 是一系列模型与算法组成的工具包,具备功能完善、预料时新、性能高效的特点,提供了中文分词、词性标注、命名实体识别、句法分析、文本分类和情感分析等。

数据集中“留言主题”和“留言详情”均带有用户所要传达的信息,且“留言主题”中也含有“留言详情”中没有的关键词,所以为了丰富用户所要传达的语义信息,本文将数据集中的“留言主题”与“留言详情”合并作为分类的依据,随后使用 HanLp 分词工具对合并后的留言进行分词,所得分词效果较好。

5.过滤停用词

停用词是指那些包含信息少且在文本中大量出现的词语。比如“啊”、“和”、“的”、“他”等。这些词语和符号在所有文本中都会大量出现,并且在表示文本语义上具有较弱的作用。因此,过滤停用词能有效提高文本的检索效率和效果, 使分类结果更加精确,同时过滤标点符号、常规英文字母与数字以及长度为 1 的词。本文使用的停用词表示例内容见下表 2-2。

表 2-2 停用词表
在这里插入图片描述

经过上述预处理、分词及过滤停用词的操作后,本文得到较准确的分词结果, 表 2-3 显示分词后结果示例,从中可以看出,本文的分词结果效果不错。

表 2-3 分词结果
在这里插入图片描述

2.2特征提取

将文本输入分类器之前,需要将文本转化为计算机所识别的符号数学形式, NLP 中最直观的表示方式就是 One-hot Representaion,它将每个词表示为一个向量,长度为词表大小,只有一个维度值为 1,但是这种表示方式没有考虑语义, 存在“词汇鸿沟”的缺陷。因此一般采用 Distributed Representaion,它表示低维实数向量,常见维度为 50 维和 100 维。这种方法可以让相关或相似的词距离上更接近。常用的训练词向量方法有 Word2Vec 与 FastText。

1.原理

(1)Word2Vec 原理

Word2Vec 模型包含三层神经网络算法,训练词向量的同时达到降维的目的, 它能从海量的文档数据中训练高质量的词向量,本文从语料库中训练词向量,得到的结果更加准确[1]。Word2Vec 的底层包括两种训练模型,分别是 CBOW 和Skip-gram。CBOW 模型的训练输入是某特征词上下文相关的词对应的词向量, 而输出就是这特定词的词向量。Skip-gram 的思路与 CBOW 相反,其输入特定词的词向量,而输出是特定词对应的上下文词向量,如下图 2-5 所示。本文使用Skip-gram 模型。
在这里插入图片描述
图 2-5 CBOW(左)与 Skip-gram(右)模型示意图

(2)FastText 原理

FastText 是 2016 年发布的一个开源文本分类器[2]。它的显著特点是速度非常快,其在保持分类效果的同时,大大缩短了训练时间。且 FastText 能够自己训练词向量,不需要预先训练词向量。整体流程为:输入一段文本至 FastText 模型, 输出这个词序列属于不同类别的概率。序列中的词和词组组成特征向量,特征向量通过线性变换映射到中间层,中间层再映射到标签。

①模型架构

FastText 的模型架构基于 Hierarchical Softmax,有三层架构:输入层、 隐藏层、输出层。FastText 将整个文本作为特征去预测文本的类别。
在这里插入图片描述
图 2-6 FastText 模型架构

②层次映射

将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,然后根据每个类别的权重和模型参数构建Huffman 树,将 Huffman 树作为输出。

③N-gram 特征

N-gram 是基于语言模型的算法,基本思想是将文本内容按照子节顺序进行大小为 N 的窗口滑动操作,最终形成窗口为 N 的字节片段序列。同时,FastText 过滤低频的 N-gram 以提高效率。

FastText 为计算单词表示也提供了两种模型:Skip-gram 和 CBOW,这和Word2Vec 内容一样,本文使用 Skip-gram 模型。

2.训练词向量

本文采用融合 Word2Vec 模型与 FastText 模型训练词向量的结果,即利用这两种模型分别训练出词向量后,对同一个词的词向量按顺序拼接为一个新的词向量来表示该词,如:“语言”在 Word2Vec 中可能被表示成[0.1,0,1,0.1,0.2,0.12,…],在 FastText 中可能被表示成[0.2,0.2,0.2,0.11,0.21,…],那么“语言”这个词的最终表示结果为[0.1,0,1,0.1,0.2,0.12,…, 0.2,0.2,0.2,0.11,0.21,…]。利用这种方式得到的词向量能体现更丰富的语义。本文分别用 Word2Vec 与 FastText 训练词向量,维数都为 100 维,拼接后的词向量维度为 200 维。

2.3建立模型

2.3.1卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一种深度前馈人工神经网络,已在多领域持续快速发展[3、4]。下图 2-7 是一个传统的用于文本分类任务的卷积神经网络结构,也是本文用于说明的一个简化例子。由此可以看出卷积神经网络主要包括嵌入层(Input Layer)、卷积层(Convolution Layer)、池化层(Pooling Layer)、全连接层(Fully Connected Layer)、激活函数(Activation Function)与损失函数损失函数。

在这里插入图片描述
图 2-7 卷积神经网络结构图

1.输入层(Input Layer)

输入层是一个个词向量堆叠形成的 n × k n\times k n×k 矩阵,其中n 为一个句子中的词数,k 是每个词对应的词向量的维度,图 2-7 中的输入数据是一个 6 × 5 6\times5 6×5 矩阵;

2.卷积层(Convolution Layer)

卷积层进行卷积运算,一般包括输入,核函数和输出特征映射。卷积是一种局部操作,通过一定大小的卷积核作用于输入数据的局部区域来获取数据的局部特征信息,图 2-7 中的第二列构成一个卷积核。卷积过程如下图 2-8 所示, Feature map 是卷积运算的输出, 它是由对应的矩阵与卷积核做逐点乘的求和。通过卷积操作将输入的 6 × 5 6\times5 6×5 矩阵映射成一个 3 × 1 3\times1 3×1的矩阵
在这里插入图片描述
图 2-8 卷积过程

3.池化层(Pooling Layer)

池化是卷积神经网络重要的操作,它是一种非线性的下采样算法。它在保持主要特征的情况下, 降低了维度,加快计算,在一定程度上可以防止过拟合,有助于模型的优化。常用到的池化函数有最大值池化函数与平均值池化函数,本文采用最大值池化函数。从图 2-9 可以看出上例中的 Feature map 经过池化从三维变成了一维。
在这里插入图片描述
图 2-9 池化结果示意图

4.全连接层(Fully Connected Layer)

全连接层是卷积神经网络的最后一层,起到分类器的作用。卷积神经网络中的卷积层、池化层和激活函数层等操作将原始数据映射到抽象特征空间,全连接层是将特征表示映射到样本的标记空间。

5.激活函数(Activation Function)

激活函数用于对卷积的结果进行一个非线性函数的映射。把被激活的神经元的一些特征通过函数保留并且映射出来,将原本的线性函数转换成非线性函数, 从而解决一些非线性问题。常用的激活函数有很多,本文使用的是 ReLu(Rectified Linear Unit)激活函数,其表达式为:
σ ( x ) = m a x { 0 , x } = { x , x ≥ 0 0 , x < 0 \sigma(x)=max\{0,x\}=\begin{cases}x,x\geq0\\ 0,x<0\end{cases} σ(x)=max{ 0,x}={ x,x00,x<0

6.损失函数

本文使用交叉熵损失函数,其公式表示为:

H ( p , q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H(p,q)=-\sum^{n}_{i=1}p(x_i)log(q(x_i)) H(p,q)=i=1np(xi)log(q(xi))

2.3.2模型设计

本文针对任务一的一级标签分类任务,应用基于卷积神经网络的分类模型。通过分析语料集样本的长度,指定一个输入序列的长度 seq_length,比 seq_length 短的样本序列需要填充,比 seq_length 长的序列需要截取,并利用预训练得到的词向量输入到词嵌入层,又由于宽度不同的卷积核可以捕捉到不同个数的相邻词之间的相关性,所以本文定义多个卷积核,并使用这些卷积核对输入分别做卷积计算,然后经过时序最大池化,再将向量连结起来,通过全连接层将连结后的向量变换为各类别的输出。该模型的详细介绍如下:

1.词嵌入层:将文本编码成数字格式并填充到相同长度,再初始化 Word2Vec和 FastText 预训练好的词向量。

2.卷积层:对输入的文本序列进行卷积核大小为 3、4、5 的卷积操作,提取文本特征。

3.池化层:采用 1-Max Pooling,经过最大值池化层对数据降维,并采用ReLU 作为激活函数来防止方向传播中出现的梯度问题。

4.全连接层:将池化的向量进行拼接。

5.Dropout 层:用于缓和过拟合化。

6.Softmax 层:将连接后的向量变换为有关各类别的输出。

7.网络优化:采用梯度下降以优化卷积神经网络,优化函数为交叉熵损失函数,并在损失函数上添加 L2 正则化项。

由于类别不平衡,本文通过数据增强的方法提高模型的性能,即对数量较少的类别进行同义词替换、随机插入、随机交换、随即删除的操作。

具体参数见下表 2-4。

表 2-4 卷积神经网络参数表
在这里插入图片描述

2.3.3模型效果评价

1.评价指标

本文对模型效果进行评价时,采用准确率(Accuracy,简记为 A)和 F1 值(F-Score)作为性能评价指标。

混淆矩阵是对分类问题所得的预测结果的总结,它能显示模型在预测结果时产生的误差。混淆矩阵的关键在于计算预测结果正确和不正确的数量,并汇总在一个矩阵中,多分类问题的混淆矩阵如下表 2-4 所示,其中aij 指预测结果中真实类别为i 类,预测类别为 j 类的样本数。

表 2-5 混淆矩阵

在这里插入图片描述

(1)准确率

准确率是分类模型中最常见的性能评价指标,准确率越高,分类器效果越好。对于给定的测试集数据,准确率是被模型正确预测的样本数的累加与总样本数之比。
A = ∑ i = 1 n ∑ i = 1 n ∑ j = 1 n a i j A=\frac{ \sum^{n}_{i=1}}{\sum^{n}_{i=1}\sum^{n}_{j=1}a_{ij}} A=i=1nj=1naiji=1n

(2)F1 值

F1 值是查全率(Recall,简记为 R)和查准率(Precision,简记 P)的调和平均值。在多分类问题中,每个类别都有一个 R i R_i Ri P i P_i Pi F i F_i Fi 值,总体 F1 值一般取每个类别 F i F_i Fi值的平均值。F1 值综合考虑了 P 和 R 的结果,当它较高时则能说明试验方法比较有效。

P i = a i i ∑ i = 1 n a i j , j = i , R i = a i i ∑ j = 1 n a i j , F 1 = 1 n ∑ i = 1 n 2 P i R i P i + R i P_i=\frac{a_{ii}}{\sum_{i=1}^na_{ij}},j=i,R_i=\frac{a_{ii}}{\sum_{j=1}^na_{ij}},F1=\frac{1}{n}\sum_{i=1}^n\frac{2P_iR_i}{P_i+R_i} Pi=i=1naijaii,j=i,Ri=j=1naijaii,F1=n1i=1nPi+Ri2PiRi

2.模型效果

将预处理后的数据集划分为训练集、验证集和测试集。下面给出卷积神经网络模型在测试集上得到的分类效果:

表 2-6 卷积神经网络各类别 F1 值
在这里插入图片描述

表 2-7 卷积神经网络效果评价指标值
在这里插入图片描述

从上表可以看出,7 个类别的 F1 值均在 82%以上,整体准确率达到了 91.4%, F1 值达到 90.4%,,可见本文所采用的基于卷积神经网络的分类模型效果较好。该卷积神经网络对训练集与验证集的指标如图 2-10 所示。

在这里插入图片描述
在这里插入图片描述
图 2-10 卷积神经网络指标效果图

为了验证本文构建的卷积神经网络分类模型具有优越性,下面将分别对模型预处理、特征提取与模型选择三个阶段采用不同处理方式所得的结果进行比较。

(1)是否剔除冗余的结果对比

在数据预处理阶段,本文提出了首尾冗余识别算法,对数据集“留言详情” 部分去除首部与尾部的冗余信息,保留有价值的留言文本。下图 2-11 是未去除冗余与去除冗余的文本使用卷积分类的效果,未去冗余信息的准确率为 89%,

F1 值为 88.5%。而去除冗余信息的准确率为 91.4%,F1 值为 90.4%,分别提高了 2.4%和 1.9%。从中可以看出,本文提出的首尾冗余识别算法能提高分类效果。
在这里插入图片描述
图 2-11 去除冗余信息效果对比

(2)不同词向量下的结果对比

在特征提取阶段,本文使用 Word2Vec 与 FastText 结合的方式训练词向量, 将结果按顺序拼接作为最终使用,下图 2-12 是单独使用 Word2Vec、单独使用FastText 与两者结合后放入卷积神经网络的效果。结果显示,单独使用 Word2Vec 的模型的准确率为 90.2%,F1 值为 90.1%,单独使用 FastText 的模型的准确率为90.8%,F1 值为 90.3%,两者结合使用的模型的准确率为 91.4%,F1 值为 90.4%。从中可以看出,两者结合的模型分类效果更优。
在这里插入图片描述
图 2-12 词嵌入模型效果对比

(3)不同模型的结果对比

在模型选择阶段,本文曾使用随机森林、XGBoost 与这两种模型的加权平均模型(1:1 融合)来进行训练,随机森林与 XGBoost 都是较为成熟的分类算法, 在分类问题中表现出优良的特性。但是相比于本文所建立的卷积神经网络,随机森林、XGBoost 以及两

  • 31
    点赞
  • 206
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的数据喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值