一种基于胶囊网络的字符级文本分类方法

专利查询2023-7-21  122



1.本发明涉及文本分类技术领域,尤其是一种基于胶囊网络的字符级文本分类方法。


背景技术:

2.文本分类是根据用户已设定的类别,自动对待分类文档进行类别的划分。根据处理文档类型的不同,可以分为主题分类(例如体育,财经)和情感分类(商品或电影评论中的情感评级)等。根据处理对象粒度的不同,可以分为句子分类或者篇章分类等。还有一种类型的文本分类是方面级文本分类,它是对一个文档某几个方面进行分类,例如某个文档可能同时具有情感等级以及服务质量等多个方面的类别。为了完成文本分类任务,首先需要用户预定义类别,然后提取文本的特征,构建文本分类器。分类器将给定的文本判定为所有类别中的某一个或某几个具体的类别。由于文本分类在垃圾邮件分类、自动问答、信息检索、情感分析以及个性化推荐中的广泛应用,使文本分类迅速成为自然语言处理领域的一个热点研究问题。
3.虽然现有的基于字符级的文本分类方法已经取得了具有竞争力的实验结果,甚至这些模型所展示出的性能已经接近使用预训练工具的单词级文本分类模型。但是,仅仅使用卷积提取字符级的局部特征,并没有获取原始字符文本特征的空间层次关系信息,这些空间层次关系信息可能蕴含了字符顺序或者某些有利于分类的位置信息。因此,现有的基于字符级的文本分类模型依然具有进一步的提升空间。事实上,使用字符而不是单词作为神经网络的输入,能够最大程度上的保留文本的最原始文本特征信息。但是,仅仅使用卷积网络,虽然能够很好的提取具有表达能力的字符级文本局部特征,但是没有考虑这些特征之间的空间层次关系信息,而这些空间层次关系信息的缺失,可能会影响分类的结果。如果能在获取具有强区分能力的字符级文本局部特征的基础上,进一步获取这些字符级文本局部特征的空间层次关系信息。那么,就有可能进一步提升文本分类模型的分类能力。


技术实现要素:

4.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例,在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
5.鉴于上述和/或现有技术中所存在的问题,提出了本发明。
6.因此,本发明所要解决的技术问题是现有的基于字符级的卷积神经网络文本分类模型缺乏利用特征之间的空间层次关系信息,限制了文本分类模型性能的进一步提升的问题。
7.为解决上述技术问题,本发明提供如下技术方案:一种基于胶囊网络的字符级文本分类方法,包括,
8.利用卷积层提取字符级的文本特征;
9.通过对所述文本特征进行重新构建,得到胶囊向量;
10.利用所述胶囊向量获取文档之间的空间层次关系信息;
11.将所述空间层次关系信息导入数据集进行试验分类,输出得到分类结果。
12.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:提取所述文本特征之前还包括构建字符级胶囊网络模型,其包括:
13.用于提取文本局部特征的5个卷积层,获取字符级文本特征;
14.所述字符级文本特征为类似字符组合的抽象文本局部特征。
15.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:还包括用于学习特征之间的空间层次关系的2个卷积层;
16.将提取的高层次字符级文本局部特征重构为胶囊向量表示,得到初始胶囊层;
17.所述初始胶囊层是将相邻位置空间的16个字符级文本局部特征进行打包为一个整体,即一个16维的胶囊向量。
18.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:还包括将初始胶囊层和数字胶囊层进行通信;
19.利用路由算法进行迭代训练,使胶囊向量获取空间层次关系信息;
20.根据数字胶囊层的长度得到分类结果。
21.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:提取所述文本特征包括:
22.定义一个原始字符级文档d={t1,t2,

,tn},其包括c个类别的文档;
23.所述文档包括n个句子td={i1,i2,

,i
l
},td(1≤d≤n);
24.所述句子td={i1,i2,

,i
l
}包含l个字符,所述字符长度为l,所述字符i
l
∈rm用一个m维的词向量表示;
25.利用卷积核w∈rh×m提取字符级文本特征,所述卷积核w的宽度为m,高度为h。
26.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:提取所述文本特征时需要进行输入输出运算,所述输入为一个原始文本句子td∈r
l
×m,输入的特征长度为l,宽度为m;
27.利用one-hot编码给每个字符设置一个长度为m的编码。
28.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:所述输出为通过函数得到的最终分类结果
29.作为本发明所述基于胶囊网络的字符级文本分类方法的一种优选方案,其中:所述原始文本句子的选取包括:
30.利用字符选择算法,选取权重最高的128个字符;
31.将所述字符组成长度为1024的m维嵌入;
32.将每个样本数据转化为1024*m大小的矩阵传入到字符级胶囊网络模型。本发明的有益效果:本发明通过字符级胶囊网络模型对字符级文本进行分类,通过充分的提取字符级文本特征,提高了数据提取的精度,同时,胶囊向量能够很好的获取文本特征的空间位置层次关系信息,并且本发明利用7层卷积层用于提取字符级文本特征,极大地提升了模型分类性能。
附图说明
33.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
34.图1为本发明提供的一种实施例所述的基于胶囊网络的字符级文本分类方法中的字符级胶囊网络模型图;
35.图2为本发明提供的一种实施例所述的基于胶囊网络的字符级文本分类方法中对部分单词片段的类别区分示意图;
36.图3为本发明提供的一种实施例所述的基于胶囊网络的字符级文本分类方法中文本局部特征重构为胶囊向量表示的框架图;
37.图4为本发明提供的一种实施例所述的基于胶囊网络的字符级文本分类方法中不同的字符数量对模型性能的影响对比图;
38.图5为本发明提供的一种实施例所述的基于胶囊网络的字符级文本分类方法中不同的网络层数提取的字符级文本特征对模型性能的影响对比图。
具体实施方式
39.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
40.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
41.其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
42.再其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
43.实施例1
44.参照图1、图2和图3,为本发明的第一个实施例,提供了一种基于胶囊网络的字符级文本分类方法,包括:
45.s1:利用卷积层提取字符级的文本特征。该步骤需要说明的是:
46.参照图1,图1为用于文本分类的字符级胶囊网络模型图,模型的输入是一个字符级文本,输出是文本的类别。
47.在图1中,模型在功能上分为三个部分:
48.(1)用于提取文本局部特征的5个卷积层,本实施例中是为了获取字符级文本特征,它们是一些类似字符组合的抽象文本局部特征;
49.(2)用于学习特征之间的空间层次关系的2个卷积层,将提取的高层次字符级文本局部特征重构为胶囊向量表示,得到初始胶囊层,这一层是将相邻位置空间的16个字符级
文本局部特征进行打包为一个整体,即一个16维的胶囊向量;
50.(3)将初始胶囊层和数字胶囊层进行通信,本实施例中没有使用全连接层而是使用一种路由算法进行迭代训练,使得胶囊向量获取空间层次关系信息,实现更强的类别表示能力,最后根据数字胶囊层的长度得到分类结果。
51.在字符级胶囊网络模型中,给定一个原始字符级文档d={t1,t2,

,tn},它是包含c个类别的文档,每个类别的文档包括n个句子td(1≤d≤n),每一个句子td={i1,i2,

,i
l
}包含l个字符,它的长度为l,每个字符i
l
∈rm用一个m维的词向量表示;使用卷积核w∈rh×m用于提取字符级文本特征,卷积核w的宽度为m,它和字符ik的宽度相同,因为每个字符是不可分割的,它的高度为h,字符级胶囊网络模型charcaps的相关定义如下:
52.输入:模型的输入是一个原始文本句子td∈r
l
×m,输入的特征长度为l,宽度为m,使用one-hot编码给每个字符设置一个长度为m的编码。
53.输出:整个模型的训练过程可以定义一个函数模型的输出是最终的类别因此,对于任何一个文本句子td∈r
l
×m,能够通过一个函数得到最终的分类结果
54.在本实施例中,l一般取1024,其含义是1024个字符已经可以获取某个样本大部分文本特征信息,样本长度不足1024的用零补齐,超过1024长度会被截断;通过一种字符选择算法,选取权重最高的128个字符,通过这些字符组成每个样本的输入,对于任何一个文本句子td∈r
l
×m,它是由最多128个字符组成了长度为1024的m维嵌入,最终,每个样本数据会被转化为1024*m大小的矩阵传入到模型charcaps当中。
55.根据图1的示意,本实施例中设置了5个卷积层用于提取字符级文本特征,其中,对于每一个卷积核w∈rh×m,对文本序列td={i1,i2,

,i
l
}进行卷积运算,得到一个文本局部特征yn,如下:
56.yn=f(w
·
t+b)
57.其中,其中b∈r是偏置项,f(w
·
t+b)是一个线性整流函数(rectified linear unit,relu),它的目标是激活特征表示。
58.使用宽度为m,高度h不同的多个卷积核(一般情况下,h∈{2,3,4,5}),就可以得到多个特征,组成一组特征图y,如下:
59.y=[y1,y2,

,yn]
[0060]
特征图y作为下一层的输入,本实施例使用了5个卷积层用于从字符序列中提取字符级文本局部特征,通过这5层卷积操作,提取了类似单词的文本特征以及词根词缀特征,甚至是某些单词的片断,也包括了一些特殊符号特征。
[0061]
较佳的,经过多个卷积层,每个卷积层的步幅设置为1,并使用一种正态分布的方式随机初始化网络权重,同时,为了减少模型过拟合,在卷积层之间设置dropout操作,dropout通过在前向传播过程中随机丢弃一些神经元来保证神经元间的相互适应,dropout比率一般设置的0.22,这是通过实验反复确定的;字符级胶囊网络通过反向传播获得的梯度来执行模型的优化,设置一个学习率来控制优化的过程。
[0062]
不难理解的是,特征提取层的目标是将原始字符级文本数据经过多个卷积层转换为一些固定的字符组合,它可能没有实际的自然语言含义,但因为是端到端的训练方式,使
得特征提取层能够提取到一些有利于分类的字符或者特殊符号组合。
[0063]
事实上,卷积操作是一种模拟生物视觉处理图像的机制,擅长从原始数据信息中提取局部特征,而自然语言也可以被看作与其它如图像相似的信息,各种未经处理的字符文本作为类似图像像素点数据,可以保留最丰富的原始文本特征信息;字符级文本特征擅长识别拼写错误,因为它可以提取单词片断,同时对一些特征符号也能够识别,参照图2,某些单词的词性仅需要提取它的部分片断就能判该词的情感级性。
[0064]
优选的,在大型数据集中,字符级胶囊网络charcaps的表现较好,因为对于字母来说,数据集规模越大,提取的特征越充分,包括了完整的单词、单词片断、词根词缀以及特殊符号等信息,并且,字符级文本特征不仅能减少信息的损失,而且对于单词简写或者错误拼写具有更强的适应能力。
[0065]
进一步的,本实施例还需要说明的是,在上述步骤中使用了5层卷积层提取字符级文本局部特征,下面将从提取的字符级文本特征中进一步提取具有空间位置关系信息的文本特征,然后再将这些高层次文本特征进行重构为胶囊向量表示,最终构建不依赖于预训练词向量工具,能够处理多种语言以及特殊符号的文本分类模型,提升字符级文本分类模型的性能。
[0066]
具体的:
[0067]
s2:通过对文本特征进行重新构建,得到胶囊向量。其中需要说明的是:
[0068]
模型框架的第二个部分是胶囊层,将前面5层卷积层提取的局部特征进行一次重组,再使用2个卷积层进一步提取更加抽象的文本特征;经过重组后,构成16维的向量表示,形成初始胶囊层,参照图3,虚线框中显示了重组的过程。
[0069]
在图3中,根据输出类别数,设置相应的数字胶囊层,本实施例中的胶囊层之间没有全连接层,也没有池化层,而是使用动态路由算法代替,为了有效的分类,在初始胶囊层和数字胶囊层之间使用动态路由协议进行传递数据,通过路由算法进行迭代,调整网络参数;动态路由算法的目标是找到一组表示第l层胶囊(如初始胶囊层)与第l+1层胶囊(如数字胶囊层)之间的映射关系;例如,在图3中,256个局部特征可以重构为16个16维的向量。
[0070]
s3:利用胶囊向量获取文档之间的空间层次关系信息。其中需要说明会的是:
[0071]
路由算法本质是两个胶囊层之间进行通信,它主要用于代替全连接层,在最后一个胶囊层使用它的长度来表示类别存在的概率;路由算法是要找到一个系数a
ij
,在初始状态下,系数a
ij
等于它的含义是下一层胶囊是上一层每个胶囊的加权求和,初始权重都为路由算法的目标就是找到最合适的权重系数;首先,a
ij
就通过一个变量b
ij
得到,a
ij
的计算过程由下式得到,变量b
ij
初始值为0。
[0072][0073]
在得到系数a
ij
后,通过计算得到一个中间变量sj,计算方法如下:
[0074]
[0075]
在得到sj之后,根据sj计算得到vj,数字胶囊层中的胶囊vj计算方法如下:
[0076][0077]
根据下式进行计算得到一个新的系数b
ij
,至此,就完成了一次路由的迭代过程。
[0078]bij
=b
ij
+w
ij
·
ui·
vj[0079]
其中,w
ij
是一个固定的共享权值矩阵。
[0080]
通常情况下,经过三次左右的路由迭代就能获取最佳性能的字符级胶囊网络,胶囊网络的最后一层是类别层,使用胶囊的长度表示每个类别存在的概率。
[0081]
数字胶囊层输出的长度表示某个类别存在的概率,系数a
ij
是通过路由算法更新,但整个网络的其它参数和共享权值矩阵w
ij
是需地根据损失函数进行更新,损失函数定义如下:
[0082]
lossk=ek·
max(0,m
+-||vc||)2+λ(1-ek)
·
max(0,||vc||-m-)2[0083]
其中,m
+
=0.9为上边界,m-=0.1为下边界,||vc||是输入样本判断为类别c的概率,||
·
||指的是l2范数距离,ek表示类别是否存在,如果类别存在,则ek=1,否则,ek=0。
[0084]
对于缺少类别的损失函数,λ的权重会下调,以降低所有数字胶囊的活动向量的长度,本实施例使用λ=0.5,总的损失是所有数字胶囊损失的总和。
[0085]
优选的,字符级胶囊网络模型中每个样本的输入由128个字符组成,包括26个英文字母,其中,字母是不区分大小写的,还包括10位数字和从1140个字符中挑选的92个特殊符号,常规的26个字母和10个数字是最常见的,它们都需要保留,因为它们都是重要字符;但另外有超过1140个字符,这些其它特殊符号包括一些数学符号、单位符号、箭头符号、希腊字母、俄语字母、中文字符、韩国符号以及货币符号等等;实际上,大量字符出现的频率很低,对分类的贡献不大,为此,本实施例仿照tf-idf算法,根据特殊符号权重进行排序,最后选取92个特殊符号,它们是从1140个特殊符号中按照权重降序选择得到。
[0086]
排序思想是:如果某个字符某一类文档中出现的频率很高,并且在其他类别的文档中很少出现,则认为此字符权重很高并具有很好的类别区分能力,适合用来分类;因此,针对每个特殊符号,不仅考虑它的出现频率,而且考虑逆文档频率,最后将频率和逆文档频率求乘积,得到这些特殊符号的权重,权重高的认为是需要保留的特殊符号,综合考虑这些特殊符号出现的频率以及它的逆文档频率得到一个综合权重w,它为频率和逆文档频率之积,如下:
[0087][0088]
其中,n是某个特殊符号在文档中出现的次数,n表示语料中文档类别总数,q表示包含该特殊符号的文档数+1,其中分母+1是为了避免分母为0。
[0089]
优选的是,根据上式求出每个特殊符号的综合权重,选择92个权值最高的特殊符号作为本实施例需要保留的特殊符号,再加上26个英文字母以及10个数字组成,所有的样本的字符总量不超过128个。
[0090]
s4:将空间层次关系信息导入数据集进行试验分类,输出得到分类结果。
[0091]
进一步优选的是,本发明通过字符级胶囊网络模型对字符级文本进行分类,通过充分的提取字符级文本特征,提高了数据提取的精度,同时,胶囊向量能够很好的获取文本特征的空间位置层次关系信息,并且本发明利用7层卷积层用于提取字符级文本特征,极大地提升了模型分类性能。
[0092]
实施例2
[0093]
参照图4和5,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于胶囊网络的字符级文本分类方法的实验,包括:
[0094]
在本实施例中,将本发明提出的模型(即上述实施例1提出的胶囊网络模型)应用到5个公开的大型基准数据集对本发明提出的方法进行评估。
[0095]
具体的,由于处理对象是字符,所以采用one-hot编码方式进行预处理,样本中的每个字符表示成为一个128维的向量表示。
[0096]
本次实验中,evaluation metrics使用accuracy来进行度量,在先前的研究表明,字符级文本分类模型通常在大型数据集中表现良好,因此,在本实施例中,采用了5个大型数据集对提出的方法进行验证。它们的介绍如下:
[0097]
ag news:数据集有4个类别,它是来自ag新闻文章语料库,每个类别的训练样本数量为30000,测试样本数量为1900。
[0098]
yelp review:数据集有5个类别,它是来自yelp评论,来自2015年的yelp数据集挑战赛,类别是根据评分作为类别,分别是1星到5星,每个类别中有130000个训练样本和10000个测试样本。
[0099]
dbpedia:数据集有多达14个类别,dbpedia是一个众包的社区,旨在从wikipedia中提取结构化信息,每个类别随机选择40000个训练样本和5000个测试样本。
[0100]
yahoo answers:数据集有具有10个类别,来自yahoo answers数据集,每个类别包含140000个训练样本和6000个测试样本。
[0101]
amazon review:数据集有有5个类别,来自amazon review。完整的数据集包含每个类别中的600000个训练样本和130000个测试样本。
[0102]
表1:数据集的汇总统计数据。
[0103]
datasetclassestypetraintestag_news4topic1200007600yahoo_answers10question140000060000dbpedia14topic56000070000yelp_review5sentiment65000050000amazon_review5sentiment3000000650000
[0104]
参照表1,给出5个数据集的统计信息,在表1中,第一列显示的是5个数据集的名称,第2列是每个数据集的类别数,第3列是训练样本数量,第4列是测试样本数量,本实施例使用上述5个大型数据集来测试模型的性能。
[0105]
在本次实验中,为了验证提出的算法的性能,选择了几个最新的基准算法进行比较,包括使用预训练的单词级模型和不使用预训练的字符级分类模型。介绍如下:
[0106]
charcnn:一个经典的卷积网络结构用于字符级文本分类,包含6个卷积层的9层神经网络,是第一个用于字符级文本分类任务的深度学习方法。
[0107]
word-based cnn:使用了预训练word2vec词向量工具作为外界知识的补充,嵌入大小为300,使用了6个卷积层提取文本特征。
[0108]
word-based lstm:一种循环神经网络的模型结构,使用300维的预训练word2vec词向量工具作为外界知识的补充。
[0109]
word-based capsule:使用一种基于单词的胶囊网络用于文本分类,使用300维的预训练word2vec词向量工具作为外界知识的补充,它的结构来自于base capsules。
[0110]
hierarchical:一种基于预训练模型的单词级分类模型,它从外部词典中获取知识,并将它们映射到词向量空间,减少模型参数。
[0111]
mixtext:一种基于预训练模型的单词级分类模型,通过在隐藏空间中插入文本来创建增强训练样本。
[0112]
hierarchical neuralattention:以主题类别分类法的形式使用外部知识,通过引入一个基于神经注意力的深层分类器来辅助分类。
[0113]
gp-dense:一种字符级文本分类模型,使用一种evolutionary deep learning techniques用于提升模型性能。
[0114]
实验配置如下:
[0115]
实验使用的gpu服务器配置:2xeon 4210cpu,128gb内存,2块nvidia gv100 gpu,具有32gb2=64g显存,提出的算法在是在ubuntu 16.04操作系统下使用python语言实现,算法是基于tensorflow1.9.0和keras2.0.9框架;对于训练,使用了onehot编码进行预处理,字符向量的维度为128维,相关超参数如表2所示。
[0116]
表2:大型数据集上的超参数。
[0117][0118][0119]
参照标2,给出实验过程中的超参数,其中,b:batch size;lr:learning rate;fn:number of filter;ks:kernel size;r:number of routing iterations,d:dropout regularization constant of the dropout layer,e:训练迭代次数。
[0120]
在实验中,使用128维来初始化字符嵌入向量,对ag news数据集进行大小为256的批量处理,对yahoo answers和dbpedia等数据集采用大小16的批量处理,而对yelp review和amazon review采用大小64的批量处理,利用adam优化器,初始学习率为0.0005用于训练dbpedia数据集的模型,其他数据集的初始学习率为0.0001;在胶囊层中,两个卷积层的卷
answers和dbpedia数据集上,最佳结果是使用了预训练模型的mixtext,而本发明方法在没有使用预训练模型的情况下取得了第二名的成绩;在yelp review数据集上,最佳结果是gp-dense,取得了61.05%的准确率,本发明提出的模型取得了第二名的成成绩,为60.9%;在amazon review这个数据集上,word-based lstm取得了最佳成绩,它使用的word2vec作为预训练,获取了单词的关联关系,提升了模型的性能,当然,这个数据集规模较大,有利于lstm提取具有上下文关系信息的文本特征,准确率高达59.43%。本发明提出的模型在amazon review数据集上取得了第二名的成绩,准确率也达到了58.9%。
[0128]
然后想在不使用预训练模型的情况下各个模型的表现,从表3最后三列可以看出,本发明提出的方法显示在不使用预训练的情况下,在5个数据集中的4个上都取得了最佳性能,而在yelp review也接近最优结果,准确率为60.9%,接近最佳准确率61.05%。这说明了本发明提出的方法有有效性,如果不使用预训练工具,那么,提出的方法在大部分数据集上都能提取具有强表达能力的文本特征,从而提升模型的性能。
[0129]
应说明的是,不同的字符数量对结果也有一定的影响,传统的基于卷积神经网络的字符级文本分类模型仅采用26个字符,10个数字,再加上固定的33个特殊符号共计69个字符作为模型的输入,其它字符忽略,为了分析不同的字符数量对分类结果的影响,本实施例设置了34、64、96、128、160、224、256等7种情况进行实验,总体的实验结果如图4所示。
[0130]
参照图4,在ag news、yahoo answers和yelp review等3个数据集上在128个字符选择达到最优,而在dbpedia数据集上,在160个达到最优,为98.9%;在dbpedia数据集上,字符数为128也接近最优值,为98.3%,可能的原因是dbpedia是一个非常庞大的数据集,它其中包含了如中文字符等许多特殊符号信息,所以160个字符相对128个字符能保留更多的信息,但太多的符号却没有必要,不能进一步提升准确率;而在amazon review在96个达到最优,达到58.9%,在128也接近最优值,为58.2%,可能的原因是amazon review是一个非常庞大的数据集,但该数据集却没有太多的特殊符号,大部分以字符是以26个英文字母为主。
[0131]
因此,选择多少个字符需要根据问题背景去决定,不同的背景所包含的信息不同,从而需要保留的字符数量也是不同的。
[0132]
本发明中没有使用池化层,和基于卷积神经网络有所不同,本发明使用relu作为激活函数,在前面使用了多达5层卷积层作为字符文本特征提取层,而在胶囊层又设置了2个卷积层进一步提取更高层次的文本特征,然后再对这些提取的高层次文本特征进行重构,得到胶囊向量表示。
[0133]
事实上不同的卷积层数量对模型的性能具有一定的影响,为了分析不同层数对提取字符级文本特征的影响,本实施例分别设置了1至7层进行实验分析,总体实验结果如图5所示。
[0134]
参照图5,5个卷积层能够较好的提取字符级文本特征,dbpedia数据集上,设置6个层次过到最优结果,为98.9%,而设置为5层结果为98.1%;而其它ag news、yahoo answers、yelp review和amazon review等4个数据集则都在设置为5个卷积层达到最优。
[0135]
因此,过多的卷积层可以会使特征变得过于复杂,而过少的卷积层则不能提取很好的字符级文本特征或者说文本特征提取不充分,这和其它基于单词级的模型不同,单词级的模型通常不需要如此多的卷积层,往往只需要2到3层就能提取很好的文本特征,但字
符作为处理对象则不同,它相当于首先使用2到3层提取一种类似于单词或者词跟词缀的文本特征,然后再使用2到3层进一步提取表达能力更强的文本特征,如这些单词或词跟词缀的一些组合,最后再使用2个卷积层加上特征重构用于提取具有空间层次关系信息的胶囊向量文本特征。
[0136]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

技术特征:
1.一种基于胶囊网络的字符级文本分类方法,其特征在于:包括,利用卷积层提取字符级的文本特征;通过对所述文本特征进行重新构建,得到胶囊向量;利用所述胶囊向量获取文档之间的空间层次关系信息;将所述空间层次关系信息导入数据集进行试验分类,输出得到分类结果。2.根据权利要求1所述的基于胶囊网络的字符级文本分类方法,其特征在于:提取所述文本特征之前还包括构建字符级胶囊网络模型,其包括:用于提取文本局部特征的5个卷积层,获取字符级文本特征;所述字符级文本特征为类似字符组合的抽象文本局部特征。3.根据权利要求2所述的基于胶囊网络的字符级文本分类方法,其特征在于:还包括用于学习特征之间的空间层次关系的2个卷积层;将提取的高层次字符级文本局部特征重构为胶囊向量表示,得到初始胶囊层;所述初始胶囊层是将相邻位置空间的16个字符级文本局部特征进行打包为一个整体,即一个16维的胶囊向量。4.根据权利要求3所述的基于胶囊网络的字符级文本分类方法,其特征在于:还包括将初始胶囊层和数字胶囊层进行通信;利用路由算法进行迭代训练,使胶囊向量获取空间层次关系信息;根据数字胶囊层的长度得到分类结果。5.根据权利要求1或4所述的基于胶囊网络的字符级文本分类方法,其特征在于:提取所述文本特征包括:定义一个原始字符级文档d={t1,t2,

,t
n
},其包括c个类别的文档;所述文档包括n个句子t
d
={i1,i2,

,i
l
},t
d
(1≤d≤n);所述句子t
d
={i1,i2,

,i
l
}包含l个字符,所述字符长度为l,所述字符i
l
∈r
m
用一个m维的词向量表示;利用卷积核w∈r
h
×
m
提取字符级文本特征,所述卷积核w的宽度为m,高度为h。6.根据权利要求5所述的基于胶囊网络的字符级文本分类方法,其特征在于:提取所述文本特征时需要进行输入输出运算,所述输入为一个原始文本句子t
d
∈r
l
×
m
,输入的特征长度为l,宽度为m;利用one-hot编码给每个字符设置一个长度为m的编码。7.根据权利要求4~6任一所述的基于胶囊网络的字符级文本分类方法,其特征在于:所述输出为通过函数得到的最终分类结果8.根据权利要求7所述的基于胶囊网络的字符级文本分类方法,其特征在于:所述原始文本句子的选取包括:利用字符选择算法,选取权重最高的128个字符;将所述字符组成长度为1024的m维嵌入;将每个样本数据转化为1024*m大小的矩阵传入到字符级胶囊网络模型。

技术总结
本发明公开了一种基于胶囊网络的字符级文本分类方法,包括利用卷积层提取字符级的文本特征;通过对所述文本特征进行重新构建,得到胶囊向量;利用所述胶囊向量获取文档之间的空间层次关系信息;将所述空间层次关系信息导入数据集进行试验分类,输出得到分类结果。本发明解决了文本分类模型缺乏利用特征之间的空间层次关系信息而限制了文本分类模型性能的进一步提升的问题。的进一步提升的问题。的进一步提升的问题。


技术研发人员:郭欣 吴玉佳 季萌 张璇 董雷 陈瑛
受保护的技术使用者:上海杉达学院
技术研发日:2021.12.08
技术公布日:2022/3/8

最新回复(0)