基于人民网新闻标题的短文本自动分类研究传媒

自动文本分类技术将人类从繁琐的手工分类中解放出来,使分类任务变的更为高效,为进一步的数据挖掘和分析奠定基础。对于新闻来说,简短的新闻标题是新闻内容的高度总结,针对短文本的分类研究一直是自动文本分类技术的研究热点。本文基于人民网观点频道中的数据,采用深度学习中的卷积神经网络(CNN)和循环神经网络中的长短时记忆模型(LSTM)组合起来,捕捉短文本表达的语义,对短文本自动文本分类进行智能化实现,为新闻网站的新闻分类实现提供参考。

关键字:深度学习,LSTM,CNN,新闻,文本分类

一、引言

面对规模巨大且不断增长的文本信息,依靠人工将海量的文本信息分类是不现实的。近些年来,借助机器学习技术完成分类任务已成为主流[1][2],计算机可以通过不断学习获得经验技能,对未知的问题可以给出一个正确的分类标签。因此,通过机器学习,可以对新闻平台上的大量数据进行自动化分类,帮助用户提高检索效率,提升用户阅读体验,同时可以在分类的基础上分析与挖掘有用的信息,协助网站运营人员了解用户需求,让信息更有效的被利用,这也是本文的研究意义所在。

二、研究背景及现状

而新闻文本分类问题,几乎是伴随着新闻本身而生的。从传统的报纸媒体开始,就有手工分类。但是随着网络化的普及以及新闻更新的高频性,新闻网络平台中出现了大量的新闻信息累积,手工分类已经难以满足目前的数据需求。新闻数据的文本分类是中文文本分类的重要的研究方向之一,网络平台上的新闻文本数据库,是研究中文本文分类的重要数据源。

因此,本文面向网络新闻平台本文数据,充分考虑短文本特征,提出了集成机器学习算法和深度学习算法的CNN+LSTM分类模型,力图解决新闻自动分类问题。

三、分类方法原理

3.1、文本分类算法

一般来说,文本分类模型需要提前标注好类别的语料作为训练集,属于有监督的学习,核心问题是选择合适的分类算法,构建分类模型。本文采用了随机梯度下降、在线被动攻击算法、线性支持向量分类、岭回归和梯度提升5种分类算法,集成构成模型。

随机梯度下降(SGD)通过一次只考虑单个训练样本来近似真实的梯度,算法在训练样本上遍历,用每一个样本对模型的权重参数进行一次更新。和梯度下降相比,SGD使用单个样本来近似,收敛速度快,对高维度特征适应性较好,但计算得到的并不是准确的一个梯度,容易陷入到局部最优解中。而梯度下降的代价函数计算需要遍历所有样本,每次迭代都要遍历,直至达到局部最优解。但是在面临训练集较大的情况,梯度下降的收敛速度比较慢,兼顾计算量和效率,SGD不失为一种折中的选择。

线性支持向量分类(LinearSVC)是基于liblinear实现的线性支持向量分类器,它在惩罚和丢失函数的选择上具有更大的灵活性,计算效率高,可以更好的适应较大的训练集。

岭回归(RidgeRegression)是一种专门用于共线性数据分析的有偏估计方法,是一种改良的最小二乘估计法,它放弃最小二乘的无偏性,通过施加一个惩罚系数的大小解决了一些普通最小二乘的问题,以损失部分信息、降低精度为代价,获得更符合实际的回归系数,最大限度地减少了一个惩罚的误差平方和。

梯度提升(GradientBoosting)。Boosting是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数。GradientBoosting就是对Boosting思想的一种实现,它是以弱预测模型的集合的形式产生预测模型。通过调节决策树的数目、树的最大深度,叶子节点包含样本的最大数目等参数,可以调节模型的性能。

3.2卷积神经网络(CNN)

本文采用了卷积神经网络作为深度学习模型,捕捉文本中邻接词的语义的特点,得到文本可能的邻接词语义组合序列。卷积神经网络是人工神经网络的一种,如图1,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量,避免了传统识别算法中复杂的特征提取和数据重建过程。[9]

卷积神经网络中主要包括卷积层、池化/采样层、全连接层等结构。

卷积层会将一个二维数据通过过滤器过滤,卷积计算如图2所示:

四、新闻分类模型

本文提出的新闻标题分类模型,首先选择了随机梯度下降、在线被动攻击算法、线性支持向量分类、岭回归和梯度提升5种机器学习算法集成训练,然后将深度学习中的卷积神经网络(CNN)和循环神经网络中的长短时记忆模型(LSTM)组合起来,综合考虑近邻信息和长序信息,下层利用CNN对邻接词的语义捕捉的特点得到文本可能的邻接词语义组合序列,上层利用LSTM来整体把握文本的上下文语义关系。然后进行模型集成,形成最终模型。

4.1机器学习算法集成

SGD、PA、LinearSVC、RidgeRegression这些算法均是基于词袋模型,自变量是特征词典的大小,所以为了后期更方便地进行模型调优,在自变量的初步筛选中,按照特征工程的流程,对特征词典进行了分组测试,选取特征词典维度为[10000,45000]区间分8组进行试验。

在自变量初步筛选的基础上,对各个算法进行参数调优,从而得到算法的初步调优结果。经实验对比发现,当特征数为35000时,各个模型的F1值达到最好,即当特征词典选取为35000时,可作为最终训练参数。当特征数目较少时,不能很好的对文本语义的完整度进行建模,当特征数目过多时,反而会引入较多的语义噪声。特征工程的目的在于能够找到一组超参数,找到二者的权衡点,达到模型既能对文本语义有很好的建模,又能最大程度的降低噪声的影响。如表1所示,是各个模型在特征参数为35000时的准确率、召回率和F1值:

为了提高整体模型的泛化能力和分类性能,本文采用了ensemble集成的思想,将上述5个机器学习算法集成使用,如图8所示。调优过程选取了比较常用的套袋算法(bagging),bagging是bootstrapaggregating的缩写,是第一批用于多分类器集成算法,该集成方法包括在一个训练集合上重复训练得到的多个分类器。给定一个大小为N的训练集合,bagging方法构建了n个新的训练集合S1,S2...Sn,每个训练集合都是由随机抽取的N个样本进行训练得到的。

在分类预测的过程中,集成模型形成类似委员会机制,每个模型对待分类的文本都有一个预测标签,最后的输出标签根据所有分类器的统计投票确定。各模型的预测标签越一致,则分类的置信度越高,反之,各个模型的分类标签差别越大,分类的置信度越低。

4.2深度学习算法集成

传统的机器学习算法召回率较高,但在上下文语义的理解上不如深度学习。深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。至今已有数种深度学习框架,如深度神经网络、卷积神经网络和深度置信网络和递归神经网络已被应用计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

本文主要采用深度学习中的卷积神经网络(CNN)和循环神经网络中的长短时记忆模型(LSTM)组合起来,捕捉短文本表达的语义,并在语义识别效果上,要优于基于词袋模型的普通机器学习算法[11][12]。卷积神经网络(CNN)通过借助不同的滤波器尺寸(filtersize)可以有效捕捉文本邻接组合词的语义;长短时序模型(LSTM)有利于解决上下文语义的长时依赖问题。

4.3算法评价指标

算法评价矩阵一般指对于算法预测效果和实际值的比较在本文中,采用了常用的分类衡量指标准确率(Accuracy)、召回率(Recall)和基于二者的调和平均值的综合指标F1值。

(8)

五、实验过程

5.1数据选择及数据预处理

字符在文本中并不具备具体的语义,只是起到语义停顿、连接、结束的作用,在文本分类上,经常作为无用字符处理。一般的处理方法是直接匹配过滤。因此,本文采用正则匹配的方法,对输入的文本数据进行全角半角转换、标点字符匹配过滤等操作。

中文文本并不像英文文本那样,带有空格作为各个单词的分隔符。在汉语表达中,词可以看作是语义的最小单元。中文文本分类中,经常采用分词操作对一段汉语文本进行切词处理,即将文本表示成多个中文词语的形式。文本分词,有利于后续采用向量空间模型进行算法模型训练。目前业界常见的分词工具包括jieba分词、清华的分词工具以及斯坦福的分词包。其中jieba分词在词性标注、分词准确率、分词粒度和性能上都相对较好,因此本文主要采用jieba(0.38版本)进行文本分词操作。

5.2文本表示

文本表示,也称为文本向量化,就是把文本表达为可以让计算机来理解的形式。常见的文本向量化手段包括词袋模型(bagofwords)和文本分布式表示(如Word2vec)。本文中采用了多个机器学习算法和深度学习算法,其中在机器学习算法中,主要采用了词袋模型,即通过进行特征工程,筛选出主要贡献度大的特征和特征数目,构建特征词典,进而将文本词映射为词ID;在深度学习模型中,主要采用文本分布式表示,本文采用了预训练的Word2vec向量,为保证预训练的语料尽可能正确的表示中文词的语义空间,采用了搜狗实验室3.5G的全网语料,选取语义空间维度100进行无监督训练得到,每一维度用浮点型数据表示。

整个数据预处理过程及文本表示如表2所示。

5.3模型参数

本文将深度学习模型与机器学习模型集成在一起,各取所长,在分类效果上取得了更好的结果。在对文本进行相同方法的预处理以后,并非像机器学习那样,利用词袋模型构建文本向量,而是采用预训练的word2vec进行词到语义空间的映射。每个词id都被表征为语义空间的100维的向量,每条文本表示为sequence_len×100的二维数组。训练采用batch的方式进行训练。表3是深度学习时的各个参数配置说明。

基于深度学习的模型在泛化能力上具有很大的优势,能够避免基于词袋模型的机器学习对部分词比较敏感的问题。当文本的长度低于一定值时深度学习模型可能存在较大的误差,为了解决超短文本带来的偏差,此项目采用了以深度模型为主,机器学习模型为辅助的集成模型,同时在部分类目上采用深度优先的原则,即深度模型具有一票否决权。

5.4实验结果示例

将人民网观点频道中的新闻标题,利用机器学习算法和CNN+LSTM深度学习算法集成的模型进行分类,正确预测的几种典型标题及对应的分类标签和结果如表4所示,其中标签1代表文化,标签8代表教育,10代表农业。

六、结论

针对中文短文本的特点,本文以新闻标题为实验数据,利用word2vec有效地提取新闻标题中语义信息,构建了基于机器学习和深度学习的分类模型,实现了网络新闻平台上新闻标题的自动分类,对新闻网站的建设及更深一步的信息挖掘,有一定的推动意义。未来,可以以此为基础,分析用户的阅读新闻的类型喜好,实现新闻个性化推荐,给用户带来更良好的体验与服务。

THE END
1.算法笔记(三)算法学习技巧前言 从开始学习算法已经有两三个多月的时间了,从简单到深入层次展开,层层优化,对算法的理解也在逐渐加深,不在那么片面,虽然现在还是片面一些,对它的了解也仅仅知道冰山一角,还有很多的内容需要我们去学习去挖掘。思路 在学习前我们https://www.code456.com/article/3598351.html
2.如何有效学习算法?算法学习学习算法需要系统性的方法和实践,以下是一些有效的学习步骤和资源建议 基础知识学习: 数学基础:掌握离散数学、概率论、统计学等基础知识 编程基础:熟练掌握至少一种编程语言,如Python、C++、Java等 数据结构与算法基础: 数据结构:学习数组、链表、栈、队列、树、图等数据结构 https://blog.csdn.net/qq_49548132/article/details/140109291
3.2020年深度学习算法工程师面经(微软阿里商汤滴滴华为3.10 深度神经网络和深度学习区别 机器学习是很多种方法和模型的总称。 神经网络是一种机器学习模型,可以说是目前最火的一种。 深度神经网络就是层数比较多的神经网络。 深度学习就是使用了深度神经网络的机器学习。 3.11 深度学习为什么比机器学习好 3.12 train,val,test相关 https://maimai.cn/article/detail?fid=1514590373&efid=Oph3033j5Qs70xHZdz0sGA
4.不会算法?大厂可不是那么好进的!第三部分,这部分是你学习的重点,也就是用算法思考问题的逻辑和程序设计方法。 第四部分,侧重在 BAT 高频面试真题详解。 第五部分,面试现场。很多工程师有个共性问题,那就是明明有能力,却说不出来,表现得就像是个初学者一样。 其中,最最最重要的就是刷题了,百炼才能成钢!!(重要的事儿多说几遍。) https://www.jianshu.com/p/2aea4e93fa4f
5.如何成为一名数据科学家?但是掌握一门专业知识最好的方法还是系统性的阅读书籍。如果想进一步了解数据科学家的工作或者如何提升自己的数据科学技能,我推荐以下这几本书籍:《数据天才》、《敏捷数据科学》、《数据科学家养成手册》、《Python大战机器学习》 评论 43赞 踩 在外界看来,「大数据」和「数据科学」这样的词看起来复杂又神秘。数据科学https://www.360doc.cn/mip/730726464.html
6.北师大版三年级数学《植树》问题教学设计(精选12篇)2.通过老师用画线段的方法模拟种树情境理解解决问题的方法,再采用合作学习的方式利用学具摆、数、画等方法,进一步明确棵数与间隔数之间的规律。 3.学习植树问题在生活中的运用。 教具:课件一套学具9套自学提示卡一张。 预设教学流程: 一、创设情境生成学习目标 https://www.ruiwen.com/jiaoxuesheji/4156829.html
7.青少年网络信息安全知识竞赛题库(中职(学)版)网络安全121. 下面属于对称算法的是 ( B ) A. 数字签名 B. 序列算法 C. RSA 算法 D. 数字水印 122. PGP 加密技术是一个基于 体系的邮件加密软件。 ( A ) A. RSA 公钥加密 B. DES 对称密钥 C. MD5 数字签名 D. MD5 加密 123. 为了防御网络监听,最常用的方法是 ( B ) https://www.wxjsxy.com/xxglzx/wlaq/content_11087
8.学习SEO优化最常见的100个SEO问答黑帽seo就是作弊的意思,黑帽seo手法不符合主流搜索引擎发行方针规定,黑帽SEO获利主要的特点就是短平快,为了短期内的利益而采用的作弊方法,同时随时因为搜索引擎算法的改变而面临惩罚(具体可查看马海祥博客《什么是黑帽SEO》的相关介绍)。 4、新人如何去学习seo优化? https://www.niaogebiji.com/article-32844-1.html
9.《光谱学与光谱分析》2022年,第42卷,第02期实验表明,采用PLS算法建立的TOC紫外-可见光谱定量分析模型具有较好的分析精度和鲁棒性,分组实验和不同仪器状态交叉实验中预测浓度的MAPE均不超过3.82%,优于常规的间接推算法。此外,建立的光谱定量分析模型不依赖COD与TOC间的推算关系,因此在水环境变化时较常规推算方法具有更好的适应能力。最后,PLS算法建模过程简单,运算http://www.sinospectroscopy.org.cn/readnews.php?nid=97028
10.机器学习(二)之无监督学习:数据变换聚类分析虽fit_transform不一定对所有模型都更加高效,但在尝试变换训练集时,使用这一方法仍然是很好的做法。 2.3 降维、特征提取与流形学习 数据变换最常见的目的就是可视化、压缩数据,以及寻找信息量更大的数据表示以用于进一步的处理。常见的算法有主成分分析、非负矩阵分解、t-SNE,前者通常用于特征提取,后者通常用于二维散点https://www.flyai.com/article/516
11.统计学习方法(豆瓣)详细介绍支持向量机、Boosting、最大熵、条件随机场等十个统计学习方法。 统计学习方法的创作者· ··· 李航作者 作者简介· ··· 李航 日本京都大学电气工程系毕业,日本东京大学计算机科学博士。曾任职于日本NEC公司中央研究所,微软亚洲研究院高级研究员及主任研究员,现任华为诺亚方舟实验室首席科学家。北京大学、https://book.douban.com/subject/10590856/
12.基于深度强化学习的水面无人艇路径跟踪方法然而,上述现有方法不具备自适应能力,当水面环境参数发生变化时,不仅需要复杂的参数整定过程,还难以实际保证路径跟踪控制效果的稳定,导致无人艇路径跟踪控制的稳定性不好。同时,现有技术还提出了基于最优控制和反馈线性化的自抗扰控制方法,这类算法通过环境和无人艇动力学建立准确的模型才能获得较好的控制精度,但同样https://www.xjishu.com/zhuanli/54/202210772926.html/
13.科学网—[转载]进化集成学习算法综述随着集成学习处理问题的维度、复杂度的增加(如大数据、云计算和深度网络集成等)以及进化算法的突破和发展(如多模态优化、大规模优化、超多目标优化等),进化集成学习算法具有越来越广阔的应用前景。 在当前的研究方法中,一些研究分别对基于分类、回归和聚类问题的集成学习方法进行了综述。尽管这些研究对进化集成学习算法https://wap.sciencenet.cn/blog-951291-1312816.html
14.力扣(LeetCode)全球极客挚爱的技术成长平台算法作为面试中非常核心的一环,攻克其高效的方法为先熟练掌握数据结构,再系统学习算法。本文会详细介绍面试中经常用到的数据结构数组,字符串,链表,哈希表,栈,队列,堆,优先队列,树,以及图的使用、底层原理以及各个操作的性 967 103 3365 TaylorSwift?2 小时前https://leetcode-cn.com/
15.航班预计到港时间的精细管理基于XGBoost机器学习算法的EXIT预测方法是一种动态的预测方法,能够根据机场场面运行条件的变化进行实时的准确预测,其难点在于需要大量的、实时的、准确的数据以及优秀的算法模型,不过这是一种值得深入研究的一种方法。 五、结论与展望 丰田公司在20世纪60年代提出了“准时生产(Just In Time,简称JIT)”概念,其核心思想就https://news.carnoc.com/list/616/616735.html
16.机器学习常用的十大算法人工智能8)对于异常点的容错能力好,健壮性高。 决策树算法的缺点: 1)决策树算法非常容易过拟合,导致泛化能力不强。可以通过设置节点最少样本数量和限制决策树深度来改进。 2)决策树会因为样本发生一点点的改动,就会导致树结构的剧烈改变。这个可以通过集成学习之类的方法解决。 https://www.elecfans.com/rengongzhineng/2270100.html
17.简单易学的机器学习算法——集成方法(EnsembleMethod)在现实世界的生活中,常常会因为“集体智慧”使得问题被很容易解决,那么问题来了,在机器学习问题中,对于一个复杂的任务来说,能否将很多的机器学习算法组合在一起,这样计算出来的结果会不会比使用单一的算法性能更好?这样的思路就是集成学习方法。 集成学习方法是指组合多个模型,以获得更好的效果,使集成的模型具有更https://cloud.tencent.com/developer/article/1390381
18.4种方法教你利用Python发现数据的规律python分组和聚合:将数据按照某个变量进行分组,然后对每组数据进行聚合(如计算平均值、中位数、最大值、最小值等),以便找到变量之间的相关性和趋势。 机器学习算法:使用机器学习算法(如线性回归、决策树、聚类等)对数据进行建模和预测,以便更深入地了解数据的规律和趋势。 综合使用以上方法可以更全面地了解数据的规律,以便https://www.jb51.net/article/278111.htm
19.字节跳动面试全经历,大佬的世界原来是这个样子!51CTO博客A:项目是最好的学习方法,现学现用是最有力的驱动,效果比体系化的学习之后再去做项目学的快。然后数学功底也很重要,最近有在看吴军博士的《数学之美》,就是把数学的思想抽象出来应用的图像上,对于图像处理来说可能数学的抽象能力也非常重要。 反问环节 https://blog.51cto.com/u_14209518/5344067
20.轻松看懂机器学习十大常用算法西南石油大学轻松看懂机器学习十大常用算法 通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)。以后有机会再对单个算法做深入地解析。 一、决策树 二、随机森林算法 三、逻辑回归https://www.swpu.edu.cn/eelab/info/1090/2296.htm
21.《常用算法之智能计算(三)》:机器学习计算在给出机器学习计算各种算法之前,最好是先研究一下什么是机器学习和如何对机器学习进行分类,才能更好的理解和掌握一些具体的机器学习算法并将其用于实际问题的计算和处理。 学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有自己不同的看法和说法。比如,http://www.kepu.net/blog/zhangjianzhong/201903/t20190327_475625.html