基于卷积神经网络的语句级新闻分类算法

2020-04-23 05:42:22曾凡锋李玉珂
计算机工程与设计 2020年4期
关键词:语句卷积向量

曾凡锋,李玉珂,肖 珂

(北方工业大学 信息学院,北京 100144)

0 引 言

随着信息时代的到来,人们的信息来源日益广泛,信息获取速度越来越快,信息的有效时间也越来越短。新闻阅读一向是人们获取信息的重要手段,对人们的生活有着不可替代的意义。然而在信息获取越来越便利的同时,信息的种类的也日益繁杂,质量层次不齐,对于所需信息的准确定位与获取也相对变得越来越困难。由于互联网新闻数量巨大,主题多样,数据稀疏,传统的中文文章分类方法在面对海量的网络互联网信息时显得尤为不足。因此,如何对互联网上海量的新闻信息进行快速准确的分类一直是一个十分关键的问题。

文本分类本质上都是以数据特征提和最优特征匹配为核心,一般包括数据预处理、文本表示、特征选择、构造并训练分类器、类别预测这5步。因为中文不能像英文一样按照空格进行分词,所以在预处理阶段需要使用专门的中文分词算法对文本进行分词处理,并且需要根据停用词表来剔除分词结果中的停用词。在文本表示方面,词袋模型(bag-of-words)[1]是在文本分类中被广泛应用的表示方法,这种方法不考虑文法和词的顺序,只包含最基础的词频信息。对于特征选择,比较常用的方法有卡方统计量、信息增益、互信息量、TF-IDF等。构造分类器时,常用的传统机器学习分类方法有支持向量机(SVM)[2]、朴素贝叶斯分类法(NBC)[3]、K-最近邻法(KNN)[4]、决策树法(DT)等。上述方法都是以词袋模型为基础的传统的机器学习方法,有很多难以根除的固有弊端。本文将使用word2vec技术生成的词向量来代替传统的词袋模型并借助信息提取技术和卷积神经网络来进行互联网新闻分类,以期获得更优越的性能。

1 相关研究

深度学习技术在图像领域的应用已经比较普遍,随着该技术的进一步发展,其在自然语言处理的领域中也已经取得很多优秀的成果。

Collobert等[5]提出可以使用目标词的周围的词作为神经网络的输入,目标词作为输出期望,按照这个原则训练神经网络就可以获得词向量。首先将词汇表中的词进行随机初始化,然后通过训练神经网络来不断的优化词向量,最终使相似的词的向量表示在向量空间中都处于较近的位置。Mikolov等[6,7]提出了连续词袋模型(CBOW)和Skip-gram模型,这是两种十分简洁的模型。连续词袋模型的输入是目标词周围的词,隐层通过这些词来预测目标单词,输出是目标词的词向量。Skip-gram模型的结构和连续词袋模型互为镜像,其原理是通过中间词来预测周围的词。Kim[8]基于语义分析和话题分类任务对卷积神经网络在不同数据集上进行了实验评估,他使用的是一个结构简单的卷积神经网络,输入层是代表文本的矩阵,每行代表一个词,列数等于词向量的维度。Zhang等[9]通过多次实验对CNN模型在不同参数下的性能进行了对比。

在进行语句级的文本分类时,每个语句的长度并不一致,为了保证输入格式的一致,必须进行相应的处理。Baotian Hu等[10]在研究卷积神经网络对英文短句建模的过程中,提出通过设置最大长度,对较短的句子采用0填充的方式来解决这个问题。

对于互联网新闻数据来说,其数量巨大,文本间篇幅差异也较大,直接使用原始数据来进行神经网络的训练时间成本高昂,占用计算资源较多,由于原始文本中也含有较多无关主题的部分和噪音等,最终结果也差强人意。信息提取是自然语言处理的另一大研究领域,目的是从数据中提取到最关键的信息,具体来说就是提取出文本中可以代表文本中心思想的部分。通过信息提取来获得最能代表文本主题的文本摘要,就能很好解决上述问题。传统的词袋模型下的数据相较于原始数据有较大的信息损失,会使得后续的文本处理工作变得十分困难。word2vec训练得到的中文词向量能够捕捉到词之间的语义相关性,从而克服了词袋模型在这方面的缺点,对数据有更好的保真度。本文结合信息提取技术,Wordvec技术和卷积神经网络提出了一种准确高效的互联网新闻分类技术,并取得了良好的实验结果。

2 基于卷积神经网络的语句级新闻分类算法

本节我们提出了一个用于中文新闻分类的方案。首先需要从新闻中提取文本摘要。然后使用外部语料库训练词向量模型,基于词向量将从新闻中提取的文本摘要转换成向量化的表示,再将语句的向量化的表示拼接成整个文本的向量化的表示。最后,对卷积神经网络进行训练,使用训练好的网络模型进行新闻的类别预测。

2.1 文本摘要提取

针对于新闻文本相对于网络评论等形式的数据普遍偏长,文本间长短的差异也较大,所以在使用前必须对文本进行相应的处理。通过语句比通过词语更能准确把握文本语义,所以我们通过提取文本的文本摘要来解决这个问题。王俊丽等[11]提出了一种基于图排序的摘要提取算法,但是此方法较为费时,TF-IDF算法相对耗时较少,但是对于文本分类来说,传统TF-IDF算法会丢失一些关键的分类依据,所以最终我们使用改进的TF-IDF算法来解决这个问题。之后选取评分最高的前N个句子作为文本的文本摘要,这样一方面降低了数据维度,另一方面也消除了一些噪音。

2.1.1 改进TF-IDF算法

TF-IDF将文本集作为整体来考虑,其IDF部分并没有考虑特征项的类间分布信息[12]。如果词条ti在某一类Ci有很高的出现频率,进而导致词条ti在较多的文本中都有出现,虽然词条ti在其它类中出现较少,但根据IDF算法算出的权值会偏小,词条ti就会被误认为是对类别区分能力不强的词条,显然这不符合实际情况,仅仅在某一类或某几类中频繁出现的词恰恰是最具有这一类或几类的标志性词语,对文本分类有较高的信息价值,所以应该赋予较高的权重。相应的,如果词条ti仅仅出现在少量的文本中,但是在各个类中出现频率比较均匀,这种其实并不重要的词就会被IDF算法赋予过高的权值,所以也不符合实际情况。一般来说,当一个词语在不同主题新闻下的分布情况差异较大,则说明这个词语对某类或某几类新闻有较强的代表性,可以作为分类的关键依据。上述缺陷就是因为传统TF-IDF算法在没有考虑词的类间分布信息,在进行文本分类时,显然会因此损失一部分精度。所以我们通过添加一个类间的离散度系数Dac来衡量词的类间分布信息,详见后续说明。

2.1.2 文本摘要的评价与选择

对于文本摘要提取的任务,目标是提取文本中最为重要的语句集合。

首先通过改进的TF-IDF算法计算词项的权值。

假设D为文本集合。对于文本Dj中任意单词ti,词频表示为

(1)

其中,nij表示单词ti在文本Dj中的出现次数,m表示字典长度。

逆文档频率表示为

(2)

词的类间离散度表示为

(3)

式(1)、式(2)、式(3)的乘积即为对应词项的TF-IDF-DAC值。

在获取所有词项的权值之后,用语句中词项权值的累加来代表语句的重要程度。此外,考虑到语句长短不一的情况,需要再对结果进行相应处理以防选择出的结果偏向于长语句。对于给定的语句S,可以用S中包含的词项来表示: S=(W1,W2…Wn), S的重要性定义如下

(4)

最后,为了获得文本摘要,对文本的所有语句进行排名。选取评分前K个语句作为当前文本的摘要。

2.2 使用word2vec技术将数据向量化

词的向量化是指将语言中的词转化成便于计算机处理的数字化表示。Bengio提出的NNLM与Hinton等提出Log-Linear模型[13]都是使用神经网络来获取词向量的杰出代表。广为人知的Word2vec模型就是借鉴于这两者,是一种更为简洁高效的词向量模型。Word2vec技术是深度学习技术在自言语言处理应用上个一个关键突破。

2.2.1 word2vec模型

word2vec模型本质上是一种简单的神经网络。当网络训练完成后,输入层和隐藏层之间的权重矩阵,就是我们所需的词向量映射表。一般分为CBOW与Skip-Gram两种模型。以往的研究表明,CBOW在小规模语料库中表现较好,而Skip-Gram更适用于较大的语料库。本实验在进行词向量训练时使用的是Skip-Gram模型。

2.2.2 数据向量化

在从文本中提取文本摘要之后,根据单词向量模型将语句转换为向量。中文维基百科语料库和word2vec工具用于训练模型。对于语句S=(W1,W2…Wn), 对于其中任意一个词项Wi=(v1,v2…vd), 其中d代表词的维度。语句S的向量化表示为S=(W1⊕W2⊕…⊕Wn), 其中⊕是连接运算符。因此,语句S被转换为一串由词向量顺序排列而成的向量。同样,对于每个文本A=(S1⊕S2⊕…⊕SK), 其中K表示语句S的重要程度排序,也就是说Si为文本第i重要的语句。将文本转化为向量形式后,就可以用向量化的数据来进行神经网络的训练。

2.3 TextCNN神经网络

卷积神经网络是由卷积层,池化层和全连接层组成。卷积层通过卷积计算来提取数据的特征。池化层则从卷积层提供的特征中选取最优特征[14],之后输出给全连接层进行处理。图1是本研究所采用的卷积神经网络的结构。

图1 卷积神经网络模型

(1)输入层:输入层的输入是一个代表文本的矩阵,d代表词向量的维度,n代表每个数据所包含的词向量的数量。

(2)卷积层:卷积层涉及卷积核w∈Rhk, h表示卷积窗口大小,k为卷积维度,等于词向量的维度。一般来说, Wi∶i+h表示单词Wi,Wi+1…Wi+h。 所以生成一个文本特征的表达式为C=f(w·Wi∶i+h+b), 其中b为偏置,f为非线性函数。将此卷积核应用于(W1∶h,W2∶h+1…WN-h+1∶N)生成一个特征映射c=(c1,c2…cN-h+1)。

(4)全连接层:将池化层输出的多个特征向量进行拼接并输入到全连接层的输入。

(5)输出层:使用softmax层进行输出,输出结果是所有类别的概率分布。

3 实验及结果分析

3.1 实验准备

本实验使用的数据来源于搜狗数据库的新浪新闻语料,从中选取部分了新闻数据,涵盖经济,健康,教育,军事,体育,旅游6个种类。在数据预处理方面,利用jieba分词工具对数据集进行分词并去除停用词。之后通过改进TF-IDF算法进行文本摘要提取,当文本和语句出现过长或过短的情况时根据定长进行截断或用空白数据填充。词向量采用word2vec中的skip-gram模型,使用维基百科中文语料库训练。

3.2 实验设计

设计实验来验证本文提出的基于卷积神经网络的语句级新闻分类方案的有效性。为了评价分类方案的效果,将精确率,召回率,F1值作为衡量实验结果的指标。为了体现方案的优越性,在验证本方案同时,设置一组以SVM模型进行文本分类的实验作为对照组。另外,为了说明在本方案的信息提取阶段使用改进TF-IDF算法的优势,在同样的数据集上设置一组使用TF-IDF算法的对比实验。

3.3 实验结果

表1是本文提出方案和KNN,SVM两种传统分类模型的精确率(Precision),召回率(Recall),F1值的比较结果。

表1 各类分类方法性能对比

表2是在文本摘要提取时分别选取TF_IDF算法和TF_IDF_DAC算法的卷积神经网络分类模型在精确率(Precision),召回率(Recall),F1值上的比较结果。

表2 不同摘要提取策略对于分类结果的影响

3.4 结果分析

通过表1可以看出,基于卷积神经网络的新闻分类算法和传统的SVM和KNN相比,前者不仅准确率更高,并且更加稳定。这是因为一方面卷积神经网络模型可以通过增加卷积核来提取到更丰富的分类特征,另一方面还可以通过增加卷积层数来提取相更高层次的分类特征。简单来说就是卷积神经网络可以在横向上提取更为丰富的特征,纵向上提取更多层次的特征,这是传统机器学习模型无法比拟的。通过表2可以看出,相较于原始的TF-IDF算法和卷积神经网络结合的方案,改进的TF-IDF算法和卷积神经网络结合的方案的准确率在整体上更高,并且不同类别的准确率更加平衡,原始方案中准确率较高的在新方案中只有些许降低,原始方案中准确率较低的在新方案中有较大提升。所以通过改进TF-IDF算法来捕捉不同词在类间的分布差异可以进一步提升卷积神经网络在文本分类问题上的准确率和稳定性。

4 结束语

本文在经典的TextCNN 分类模型的基础上,结合了信息提取技术来提取新闻摘要,这样对较长篇幅的文本也非常适用,同时还减轻了神经网络的训练负担,并且通过适当改进TF-IDF算法来进一步提升方案的整体性能。实验结果表明,基于卷积神经网络的新闻分类算法在多个指标上都优于传统算法,并且改进的TF-IDF算法比原始TF-IDF算法更适合中文新闻分类,一方面整体准确率有一定的提升,另一方面在各个类别上的准确率也更加平衡。

猜你喜欢
语句卷积向量
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
重点:语句衔接
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
精彩语句
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20