基于机器学习的网上问政文本分类方法
2023-04-14於雯
摘要:随着信息技术的发展,政务服务的水平也得到了提升,各级政府部门都开通了网上问政服务,留下了大量的群众留言,只通过后台人工对留言进行分类,效率低下,费时费力。本文提出基于机器学习的方法,对网上问政的文本进行分类,利用自然语言处理的技术对文本进行合理的预处理操作,利用词向量工具Word2vec将文本表示成向量的形式,通过机器学习算法支持向量机(SVM)的方法进行文本分类。实验表明,在基于机器学习的文本分类中,经过预处理和词向量模型表示后的文本,使用SVM分类方法对网上问政文本进行所属机构类别取得了90%以上的准确率。
关键词:自然语言处理;机器学习;网上问政;文本分类;SVM
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)06-0022-03
开放科学(资源服务)标识码(OSID)
0引言
智慧政府的建设为群众提供了更多样的政务服务途径,开通网上问政方便群众可以通过互联网完成对相关问题和政策的咨询,不受时间地点限制,方便群众办事,拓宽了政府服务渠道。对于网上问政的问题和留言,需要根据问题的类型分类以便归口到对应的政府机构进行回复与处理,而有不少群众对于自己所需要咨询的问题并不能准确划分归口部门,导致问题不能及时得到有效处理[1]。通过自然语言处理对网上问政的留言文本进行分类可以更加高效地对留言进行分类,对群众关切的问题进行及时回应,提高政务服务的水平。
自然语言处理就是将人类语言转换成计算机可以理解和处理的语言,利用计算机技术实现更加智能的机器理解与后续处理。自然语言就是人类沟通交流所使用的语言,根据地域和种族的不同,不同国家和民族都会有自己的语言,主要有英语、汉语、俄语、法语等。不同的语言类型也有不同的语法结构,需要采用不同的处理才能达到理想的效果,针对中文的文本预处理,目前主要有中文分词、去除停用词、词性标注、向量表示等,根据不同的文本特征进行预处理可以大大提高文本处理的准确率。支持向量机模型在多个自然语言处理问题中都取得了较好的实验结果,本文利用SVM的算法对网上问政文本分类,采集网络上公开的、实际的网上问政文本,通过文本预处理对网络文本进行分词,去除停用词得到更加规整的文本形式,采用词向量模型Word2vec将文本转换成计算机更容易处理的向量形式,最后采用SVM分类方法对文本向量进行分类,并验证分类的准确率,同时还验证了采用不同的预处理操作,以及词向量模型对于分类准确率的影响。
1 文本采集与预处理
1.1数据采集与清洗
从某市政府网上问政平台公开的政务留言数据中,采集网上问政留言数据,并按群众留言数量排序得到问政数量最多的前五个政府机构,分别为:人社、医保、市场监管、公安、教育。由于采集到的网络文本存在着网络符号,重复文字,需要对采集后的原始網上留言数据进行清洗、规整、补录和统计。第一,针对采集到的留言数据进行清洗,删除针对研究没有意义的符号、重复和缺失留言数据;第二,对采集到的部分半格式化的信息进行格式化,如将包含中文的留言数据字段规整为整型字段。数据清洗流程为之后的数据分析和分类提供优质的基础数据。最终清洗后得到共计127000条留言数据,5个留言数量较高的机构数据数量如图1所示。
1.2 中文分词
中文句子的最小单位是字,而词才是具有语义的最小单位,并且具有非常丰富的语义及结构特征。在对文本进行文本分类,对文本语句进行按词的划分具有决定性作用,因此分词的准确性是保证分类结果准确的基础。相比英文每个单词都以空格结尾,对句子进行了天然的切分,所以中文文本不具有良好的切分标志,所以需要对句子按照词语进行切分,只有正确地按照词句进行切分才能对句子进行分析。对句子的正确切分就是自然语言处理领域的分词,准确的中文分词也是目前的研究难点。
目前针对中文的分词工具有很多种,国内比较常用的分词系统包括:jieba分词、中科院的 NLPIR中文分词系统,哈尔滨工业大学语言技术平台(LTP)分词系统等。jieba分词是一种常用的开源分词库。它提供了一种非常适合文本细分的分析模式-精确模式[2]。主要是因为它能够根据分割模型以最精确的方式分离句子。同时,jieba 还支持用户自定义的词库,可以有效地提高准确率。本文采用比较常用的jieba分词来进行分词处理。
1.3 去除停用词
停用词(Stop Words)是指在自然语言处理中可以过滤掉的一些没有实际意义的功能词,这些词在文本中出现的频率较高,但对文本表达没有实际意义,中文常用的停用词有代词“这”“那”,助词“的”“了”,介词“在”,语气助词“呢”“啊”等[3]。去除这些无实义的高频停用词可以降低特征向量的空间维度,提高分类的准确率,本文使用哈工大的停用词表来对文本中的停用词进行处理。
1.4 词向量表示
网上留言属于非结构化文本,不便于使用计算机处理和理解,需要将其按一定的规则把文本转换成数值模型的词向量,使计算机能理解并加以处理。这也是文本处理的一个重要问题,如果可以准确合理地将文本表示成数值类型,将会大大提高计算机的处理和分析难度。利用最简单的想法,对每个词语进行赋值,句子就是每个词语数值的集合,但是这些散乱的数值便不能有效地表示出语义信息,因此采用一种神经网络的语言模型,CBOW(Continuous Bag-of-Words)模型是一种经过改进的神经网络语言模型,主要通过映射层替代隐层,实现了输入层词向量的相加,从而降低了模型的计算量。CBOW模型是由预知的上下文来得出单词出现的概率。主要结构是由输入层、投影层和输出层三层结构组成,模型的学习目标是根据输入层输入的信息和输出层输出的条件概率最大化对数似然函数:
[L=w∈Cl))] (1)
其中,[W]是从语料库[C]输入的词语。 CBOW 模型的原理可以解释为,假设已知上下文,通过上下文来预测中间最可能出现的词。因此模型的输入是上下文词向量,经过投影层简单求和,再输入输出层,输出出现概率最大的词[W]。
本文将使用 Word2vec训练词向量,Word2vec词向量模型包含了 CBOW 模型,用高维向量表示词语,并把相近意思的词语放在相近的位置,并且使用实数向量(不局限于整数)只需要用大量的某种语言的语料,就可以用它来训练模型,获得词向量。在本文的实验中,对采用不同的预处理进行实验对比,验证预处理操作对文本分类结果的影响。
2 SVM 文本分类
支持向量机是一种监督学习算法,是一种广泛使用的机器学习方法,SVM算法具有泛化能力强,能够很好地处理高维数据,无局部极小值问题。SVM算法利用核函数将词向量映射到高维的空间中,使在低维空间中不可分的特征在高维空间中变得可分,从而完成分类的任务,利用 SVM 分类模型对词向量提供的数据特征进行文本分类,根据训练集数据将模型参数学习到最优,然后利用训练好的模型对测试集数据中文本类型作出预测,最后根据预测结果判断训练模型的好坏[4]。针对文本二分类任务,SVM模型分类的原理是将通过预处理阶段生成的文本词向量经过核函数的映射作用,分布到更高维度的空间中,然后将问题转化为在高维空间中的线性分类问题,找到可以分隔的最大区间超平面,并且两个最大的超平面中的每一个超平面在每一侧都有两个其他超平面。两个超平面彼此平行,并且最大化两个超平面的间距就是最优的分隔超平面。支持向量机模型如图 2所示。最大间隔超平面表示为:
[Wx+b=0] (1)
两个平行的超平面为:
[Wx+b=1] (2)
[Wx+b=-1] (3)
y表示數据的分类标签,-1表示属于机构1的数据,+1表示属于机构2的数据。令:
[f(x)=Wx+b] (4)
将两个相互平行的超平面上的点称为支持向量,满足:
[|Wx+b|=1] (5)
因此,从支持向量到最大间隔超平面的距离为:
[Wx+bW=1W] (6)
设间隔的大小为[M],那么:
[M=1W] (7)
最大化[M]等价于:
[max1W→minW2] (8)
因此,满足最大间隔超平面所需的条件是:
[minW2] (9)
满足于:
[yiWxi+b≥1;i=1,2,...,N] (10)
转化为拉格朗日优化问题,利用拉格朗日乘数法进行计算得到式(11):
[LW2,b,α=12W2-i=1NαiyiWTxi+b-1](11)
其中,[αi]是拉格朗日乘子。
SVM算法的特性对于二分类问题可以较好地处理,而对于多分类问题就要对SVM算法进行改进,目前针对多分类的问题,SVM算法的改进方法主要有两种,第一种是对每两个类别之间都构造一个SVM 二分类器,对每一个分类器判别出的所属类别计数,最终计数最大的那个类别就是该文本所属的类别;第二种是对于M个分类,对一个类别和剩余的M-1个类别之间构造一个二分类进行分类判别,如果不属于第一个类别,就继续在剩余的M-1个类别中继续构造分类器进行判别。由于第二种方法中M-1个类别的数据量会明显大于某个单一类别的数据量,造成数据失衡,导致一个样本可能属于多个类,因此本文中采用第一种方法构建多分类的SVM分类器。
本文对需要分类的五个样本类别,每两个分类之间构造一个SVM分类器模型,共需要训练出10个SVM二分类器。在进行测试时,将测试样例分别输入每个分类器中,分别进行二分类,最终的分类类别取计数最大那个类别作为最终分类结果。机器学习工具包scikit-learn 包中已经集成了SVM算法模型,因此可以直接导入工具包来完成文本分类,本文的SVM算法中的核函数选用线性核函数来进行实验。
基于机器学习的SVM算法搭建网上问政文本分类模型如图3所示。
3实验分析
本文利用SVM算法对网上问政的留言文本分属机构分类进行实验,并对不同的预处理操作进行对比实验。先对采集的网上问政留言文本数据使用jieba 分词工具做中文分词处理后,将数据随机切分为测试集和训练集,测试集和训练集的占比为 2:8,训练集用于训练SVM 模型,测试集用于测试分类模型的分类效果。针对实验结果的评价也是实验中非常关键的一步。因此在本章的实验中,采用统一的评价指标来描述分类模型的效果。主要有两个评价指标,即准确率和召回率。
准确率(Precision)可以简记为P。就是评价模型的准确率,对于分类算法模型来说,准确率是最直观的评价标准,简单明了地展示出模型的效果,计算标准就是分类正确的比例。计算公式如式(12)所示:
[准确率=判断正确的类别数目该类别所有评论文本的数目] (12)
召回率( Recall):简记为 R,作为对模型准确率的补充,考查分类结果是否完备。可以指示出分类指标指定的效果,不能单从准确性就判断模型的好坏,模型是否完善也是一个重要因素,召回率就是为人们在评价模型时提供一个更加完善的指标。可以通过式(13)计算得到:
[召回率=判断正确的类别数目该类别实际应包含的评论文本数目] (13)
对于一个文本分类数据集D,属于类别1且被正确分类到该类别的留言数量记为RR,分类为类别1但不属于该类别的文本的数量被标记为 RN,并且属于类别1但未被分类到该类别的文本的数量被标记为NR,其他不相关并且也没有任何分类的文本数量标记为NN。此时,准确率和召回率可分别按照式(14)和式(15)计算:
[Precision=RRRR+RN] (14)
[Recall=RRRR+NR] (15)
相关研究表明,准确率和召回率两项指标在某种程度上存在着相互制约的关系,两者之间的相互制约使得在选择模型时无法取舍。因此需要综合度量两项指标的变化情况。F-Measure就是可以同时关注准确性和召回率的一个指标, F-Measure均衡地制约着准确率和召回率,可以综合这两个指标的影响效果,其计算公式如式(16)所示:
[F-Measure=2*Recall*PrecisionRecall+Precision] (16)
F-Measure也称为 F1 值,常作为评价指标用于衡量情感分类的整体效果,表明准确率和召回率对于模型的评价具有相同的参考价值。F1 的取值在 0 到 1 之间,最好的情况就是当F1值取1时表明准确率和召回率都为1,此时的模型才是最为理想的模型。
实验一对分词后的文本数据直接输入SVM算法模型进行文本分类,实验取得了84.3%准确率;实验二将中文分词后的文本数据利用停用词表进行去除停用词处理后输入SVM算法模型,实验取得了86.5% 的准确率;实验三将经过分词和去除停用词处理的文
本数据,再通过Word2vec词向量模型生成词向量表达后,输入SVM模型中,取得了91.2%的准确率。实验结果如表1所示,实验结果表明,SVM 算法可以较好地完成网上问政文本分类任务,采用合理的文本预处理操作比单纯的使用SVM算法可以取得更高文本分类的准确率。本文采用的经过分词及去除停用词处理后的Word2vec+SVM算法文本分类模型取得了最高的准确率,由此可以说明,本文提出的方法可以较好地完成网上问政文本分类任务。
4结束语
本文提出了采用机器学习SVM算法模型对网上问政群众留言的文本按机构部门分类,并采用了中文分词和去除停用词的文本预处理操作,同时利用了Word2vec词向量表达模型取得了较高的分类准确率,相比于人工后台分类更加高效省时,也解决了群众在问题咨询中不确定问题归属部门的问题。后续工作中可以加入更多的机器学习算法来进一步提高分类模型的各项指标[6]。
参考文献:
[1] 朱文峰.基于支持向量机与神经网络的文本分类算法研究[D].南京:南京邮电大学,2019.
[2] 胡玉兰,赵青杉,陈莉,等.面向中文新闻文本分类的融合网络模型[J].中文信息学报,2021,35(3):107-114.
[3] 何铠,管有庆,龚锐.基于深度学习和支持向量机的文本分类模型[J].计算机技术与发展,2022,32(7):22-27.
[4] 於雯,周武能.基于LSTM的商品評论情感分析[J].计算机系统应用,2018,27(8):159-163.
[5] 赵延平,王芳,夏杨.基于支持向量机的短文本分类方法[J].计算机与现代化,2022(2):92-96.
[6] 刘婧,姜文波,邵野.基于机器学习的文本分类技术研究进展[J].电脑迷,2018(6):26.
【通联编辑:唐一东】