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

自动文本分类技术将人类从繁琐的手工分类中解放出来,使分类任务变的更为高效,为进一步的数据挖掘和分析奠定基础。对于新闻来说,简短的新闻标题是新闻内容的高度总结,针对短文本的分类研究一直是自动文本分类技术的研究热点。本文基于人民网观点频道中的数据,采用深度学习中的卷积神经网络(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.fmovhaqkz.com/shou-ji/530948.html
2.增强学习原理与代码实例讲解增强学习详解摘要: 本文章全面介绍了增强学习的基本概念、原理及算法,并通过具体的代码实例深入讲解了如何应用增强学习解决实际问题。文章结构清晰,理论与实践相结合,适合对增强学习感兴趣的读者阅读和学习。 增强学习(Reinforcement Learning,简称RL)是机器学习的一个分支,旨在通过奖励机制使智能体学习如何在环境中采取行动,从而实现特https://blog.csdn.net/universsky2015/article/details/143087363
3.强化学习详解:理论基础与核心算法解析本文详细介绍了强化学习的基础知识和基本算法,包括动态规划、蒙特卡洛方法和时序差分学习,解析了其核心概念、算法步骤及实现细节。 关注作者,复旦AI博士,分享AI领域全维度知识与研究。拥有10+年AI领域研究经验、复旦机器人智能实验室成员,国家级大学生赛事评审专家,发表多篇SCI核心期刊学术论文,上亿营收AI产品研发负责人。https://www.jianshu.com/p/09c44358b4a6
4.一文带你了解算法背后的基本原理推荐收藏三、算法背后的基本原理是怎样的? 1.监督学习的基本原理 监督学习的基础是三类模型:线性模型、决策树模型、神经网络模型。掌握这三类模型就掌握了监督学习的主干,利用监督学习来解决的问题,占所有机器学习或者人工智能任务的绝大多数。这些监督学习模型又可以细分为主要处理两类问题:分类问题和回归问题。 分类问题的核https://baijiahao.baidu.com/s?id=1703903777603543299&wfr=spider&for=pc
5.深度强化学习在自动驾驶系统中的优化与应用深度强化学习的基本原理和算法 深度强化学习结合了深度学习和强化学习的方法,用于解决复杂的强化学习任务。 深度Q网络(Deep Q-Network, DQN):DQN是一种基于深度学习的强化学习算法,通过使用神经网络来近似Q值函数。它使用经验回放和固定目标网络来提高训练的稳定性。 https://www.dongchedi.com/article/7240011407876571648
6.SLAM:从传统算法到深度学习北斗产业资讯平台SLAM:从传统算法到深度学习 SLAM(Simultaneous Localization and Mapping)是一种集成定位和建图的技术,已经在自主导航、虚拟现实、增强现实等领域发挥着重要的作用。本文将详细介绍SLAM的发展历程、基本原理和应用领域。 1. SLAM的起源与发展 SLAM的概念最早出现在20世纪80年代。传统的SLAM算法主要基于激光雷达、相机和惯https://www.qxwz.com/zixun/127374539
7.科学课教学案例分析范文算法的基本思想是指按照确定的步骤,一步一步去解决某个问题的程序化思想。在数学中,完成每一件工作。例如,计算一个函数值,求解一个方程,证明一个结果,等等,我们都需要有一个清晰的思路,一系列的步骤,一步一步地去完成,这就是算法的思想,即程序化的思想。 https://www.gwyoo.com/haowen/211046.html
8.大数据:分类算法深度解析大数据分类算法深度解析 在大数据时代,处理海量数据并从中提取有用信息变得至关重要。分类算法是机器学习领域的核心,它们在大数据分析、模式识别和决策支持等方面发挥着关键作用。本文将深度解析大数据分类算法,包括其基本原理、常见算法、应用场景以及未来发展方向。 http://www.360doc.com/content/24/0112/20/78411425_1110858832.shtml
9.白话机器学习算法理论+实战之Xgboost算法这个系列已经基本包含了上面这些算法的原理和基本使用。但是,如果仅仅是会用这些算法可是不够的, 我们也得跟着时代的步伐前进,近几年,有很多大佬又在上面的某些算法上加以改进,发明了更加厉害的算法,而这些算法才是当今时代解决问题的主流,所以我们学习的一个方式就是掌握传统,而又得紧跟时代。 https://cloud.tencent.com/developer/article/1632864
10.恭喜您!您孩子参加的机器人等级考试的证书或将对升学有作用了!常见电器、交通工具、运行原理和科技知识,各种齿轮、杠杆、机械机构、机械臂、支点、摩擦力、太阳能、气动力等各种原理和知识机器人的运行原理和编程控制、基本算法和逻辑等 关于我们: 2015年3月,嘉祥乐高机器人冠亚店成立。 乐高机器人教育进入嘉祥,受到社会各界的好评,被济宁市教育局授予济宁市创客教育联盟企业。乐高https://www.meipian.cn/299ssjnc
11.基于深度学习的变电设备缺陷检测因此,本文提出将去雾算法和深度学习算法相结合的方式来进行缺陷监测,使用暗通道去雾算法改善图片质量,然后使用YOLOV4对设备缺陷进行检测。 1 基于暗通道去雾算法的图像优化 1.1 暗通道去雾算法基本原理 1.1.1 暗通道先验理论 基于暗通道先验的去雾算法实际上是一种统计意义上的算法,何恺明博士总结了大量的室外无雾图像,https://www.fx361.com/page/2022/0118/12234063.shtml
12.焦李成院士:下一代深度学习的思考与若干问题1986年,DE Rumelhart, GE Hinton, JL McClellandt把深度学习中的反向传播误差的算法用于学习表征,从而对深度学习的算法进行了再次的改进。1980年,Kunihiko Fukushima提出了卷积神经网络,将神经原理用于工程的开创性质研究中,因此获得了2021鲍尔奖。Lecun在对Kunihiko Fukushima工作的评价当中说:福岛邦彦教授1980年的卷积https://ipiu.xidian.edu.cn/info/1097/2576.htm
13.下一代人工智能方法重大研究计划项目指南发布政策资讯(一)深度学习的基本原理 深入挖掘深度学习模型对超参数的依赖关系,理解深度学习背后的工作原理,建立深度学习方法的逼近理论、泛化误差分析理论和优化算法的收敛性理论。 (二)可解释、可通用的下一代人工智能方法 通过规则与学习结合的方式,建立高精度、可解释、可通用且不依赖大量标注数据的人工智能新方法。开发下一代https://mall.ggdzhj.com/kjcs/policy/detail?id=e2a381ec9c794749a7ce4fae14fed41d
14.关于发布可解释可通用的下一代人工智能方法重大研究计划2022(一)深度学习的基本原理 深入挖掘深度学习模型对超参数的依赖关系,理解深度学习背后的工作原理,建立深度学习方法的逼近理论、泛化误差分析理论和优化算法的收敛性理论。 (二)可解释、可通用的下一代人工智能方法 通过规则与学习结合的方式,建立高精度、可解释、可通用且不依赖大量标注数据的人工智能新方法。开发下一代https://www.ncsti.gov.cn/kcfw/xmsb/202205/t20220518_79110.html
15.BoostKit大数据业界趋势鲲鹏大数据组件增强特性和典型配置在匹配鲲鹏多核能力方面,鲲鹏BoostKit通过设计并行优化方案,消除通信瓶颈,提高计算并行度,实现RF(Random Forest,随机森林)、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)算法等机器学习算法性能最高提升2.5倍。 算法共性原理创新 分布式优化求解 线性代数运算 https://developer.huawei.com/consumer/cn/blog/topic/03898238728230088
16.深度增强学习PPO(ProximalPolicyOptimization)算法本文主要走读其中的PPO(Proximal Policy Optimization)算法的源码实现。PPO是2017年由OpenAI提出的一种DRL算法,它不仅有很好的performance(尤其是对于连续控制问题),同时相较于之前的TRPO方法更加易于实现。之前写过一篇杂文《深度增强学习(DRL)漫谈 - 信赖域(Trust Region)系方法》对其历史、原理及相关方法做了简单介绍,http://www.fpga7.com/ziyuan.asp?id=41