一种融合文本解释特征的文本分类方法

文档序号:27203005发布日期:2021-11-03 13:54阅读:205来源:国知局
一种融合文本解释特征的文本分类方法

1.本发明涉及自然语言处理技术领域,特别涉及一种融合文本解释特征的文本分类方法, 是用一种基于随机扰动采样的线性拟合方法解释训练好的基于神经网络的文本分类模型获得 每个句子预测结果的解释特征,通过融合其中的关键解释特征重新训练文本分类模型的方法, 可以应用于垃圾邮件识别、文本主题分类、情感分析等具体领域。


背景技术:

2.文本分类是自然语言处理领域的一个重要的研究方向,文本分类任务就是使用一定的方 法将一个文本映射到预定义的某个类别。文本分类方法有基于规则的方法和基于机器学习的 方法。
3.使用基于规则的方法进行文本分类时,需要针对不同文本设定不同的规则,不仅费时费 力,而且覆盖范围和准确率都无法得到保证。随着机器学习的兴起,将机器学习方法用于文 本分类任务并取得了较好的效果。但是很多机器学习模型都是一种黑盒模型,我们只能得到 模型给出的预测结果,却无法知道模型为什么会给出这个结果,只能从模型的准确率等一些 评判指标判断模型的可靠性,但是在医疗等领域,我们不仅需要知道模型的预测结果和准确 率,更需要知道模型给出预测结果的依据,才能为模型使用者提供更准确的决策依据,同时 根据模型给出预测结果的依据干预模型训练过程,提升模型分类效果。
4.综上,由于深度学习模型的不可解释性,导致模型使用者难以判断模型给出预测结果的 依据,也无法根据模型的预测结果做出正确的决策


技术实现要素:

5.本发明的主要目的在于克服现有技术的不足,提供一种融合文本解释特征的文本分类方 法,使用基于随机扰动采样的线性拟合方法解释基于神经网络的文本分类模型的预测结果, 根据线性拟合过程中用到的分类特征获取每个句子的解释特征,根据这些特征的频率和权重 获取关键解释特征与原数据相融合,重新训练文本分类模型,从而使文本分类结果更加准确。
6.为实现上述目的,本发明采用以下技术方案:
7.一种融合文本解释特征的文本分类方法,包括以下操作步骤:
8.步骤1、训练基于神经网络的文本分类模型用于预测句子所属类别;
9.步骤2、使用基于局部随机扰动采样的线性拟合方法,获取在所述步骤1中句子预测结 果的解释特征;
10.步骤3、根据在所述步骤2中获取的解释特征的频率和权重,选择对分类效果有利的关 键解释特征;
11.步骤4、将在所述步骤3中获取的关键解释特征和原数据相融合,重新训练文本分类模 型。
12.优选地,在所述步骤1中的训练基于神经网络的文本分类模型用于预测句子所属
类别, 具体步骤包括:
13.(1

1)输入层:文本分类模型的输入是带有类别标签的句子s=(s1,s2,s3......,s
n
),其 中s
i
表示数据集中的第i个句子,n表示句子数量,表示数据集中的第i个句子,n表示句子数量,表示第i 个句子中的第j个单词,k表示第i个句子中的单词数量;
14.(1

2)句子向量化:使用glove训练词向量,将词表v=(w1,w2,w
3,
......,w
m
)中的每个 单词都转化为64维的向量,生成一个向量化的词表v

=(v1,v2,v3,......,v
m
),v

的维度为 其中w
i
表示词表中的单词,v
i
表示单词w
i
的向量化表示,m表示数据集中出现 的所有单词的数量;查找词表v

将句子中的单词转化为对应的向量表示,则句子s
i
表示为 15.(1

3)线性层:将向量化后的句子输入线性层预测句子的类别标签,线性层公式如下:
[0016][0017]
其中,y
l
为预测结果,是一个包含num_class个数字的数组,num_class表示预定义的类 别数量,其中每个数字代表预测为当前位置表示的类别的可能性大小,l表示线性变换方程,w
t
和b分别为线性层的参数;
[0018]
(1

4)softmax层:使用softmax函数将预测结果y
l
中每个值的取值范围都映射到[0,1], softmax函数的公式如下:
[0019][0020]
其中,表示预测结果y
l
中的第j个值,y
l
中的每个值都经过softmax函数变换之后, 这num_class个值的和为1;
[0021]
(1

5)loss方程:模型最终输出的是预测结果中最大的值对应的类别标签y
pre
,采用公 式loss(y
i
,y
pre
)=

y
pre
log(softmax(y
i
))确定损失函数,其中loss(y
i
,y
pre
)表示损失函数, y
i
为输入句子s
i
的标注标签;
[0022]
(1

6)参数优化:以最小化所述损失函数为目标对文本分类模型的参数进行优化,得到 训练好的文本分类模型。
[0023]
优选地,在所述步骤2中所述使用基于局部随机扰动采样的线性拟合方法获取步骤1中 句子预测结果的解释特征;具体步骤包括:
[0024]
(2

1)选定要解释的句子s
i
,并在s
i
附近通过随机扰动进行采样:s
i
为原数据集中包含k 个单词的句子对句子s
i
进行随机扰动,获取采样样本,生成包含 多个采样样本的数据集,并对采样样本使用0和1进行向量化表示;随机扰动过程为:
[0025]
随机删除句子s
i
中的部分单词,删除单词的数量大于0小于k,得到新的句子 即s
i
的一个随机扰动样本,其中为句子s
i
第t次随机扰动 样本中的第j个单词,c为随机扰动之后剩余的单词数量;初始化一个1
×
k的向量,将删
除 单词的位置设为0,其他位置设为1,得到的向量化表示其 中的每个元素进行4999次随机扰动,得到包含5000个句子的新数据集 其中为原句子s
i
,s
i
的向量化表示为包含k个1的向量;新数据 集x的向量矩阵表示为
[0026]
(2

2)给新生成的数据打标签:
[0027]
将数据集x中的每个数据都输入到训练好的文本分类模型中进行预测,得到对应的预测 结果;将训练好的文本分类模型表示为f,经过步骤(1

1)至步骤(1

4)之后得到每个样本的预测 结果为包含num_class个数字的数组,其中的每个值表 示预测为对应类别的概率;
[0028]
(2

3)计算新数据集z中所有扰动数据和原数据的距离作为扰动数据权重:
[0029]
新生成的扰动数据和原数据的距离越近越能够解释预测数据,则赋予更高的权重,利用 指数核函数定义新生成数据的权重,计算公式为:
[0030][0031]
其中,是定义在cosine距离上的指数内核,表示样本间的距离权重,距离越近, 的值越大,σ是核宽度;
[0032]
(2

4)使用线性模型拟合新数据集z:将线性模型用g表示,线性模型公式表达如下:
[0033][0034]
其中,为数据集z中的一个向量,w
g
为线性模型的权重系数;
[0035]
(2

5)确定线性模型的系数:训练线性分类模型确定权重系数,将loss方程设置如下:
[0036][0037]
使l(f,g,π
z
)最小,获得最优的线性模型权重w
g
,w
g
的维度为其中为第t个扰动数据,为的向量形式;
[0038]
(2

6)获取解释特征并去噪:线性模型训练完成后,fea
i
=w
g
×
s
i
即为不同类别的解释 特征及权重,将第m个类别的特征按照权重绝对值从大到小排序,去 除助词、连接词、标点符号等信息后选取前t个作为句子s
i
预测为第m个类别的解释特征 [0039][0040]
其中,表示通过模型解释方法获得的将第i个句子预测为第m个类别的特征
和每个 特征对应权重的集合,m是不同类别对应的标签,1≤m≤num_class,是句子s
i
的第j个 特征,是特征对应的权重;其中权重为正值的特征表示模型认为该特征支持第i个样本 被分到第m个类别,我们将这类特征称为正向特征或正特征,权重为负值的特征表示模型认 为该特征不支持第i个样本被分到第m个类别,称其为负向特征或负特征。
[0041]
优选地,在所述步骤3中,所述根据获取的解释特征的频率和权重选择关键特征集合, 具体步骤包括:
[0042]
(3

1)获取数据s
i
所有的解释特征:表示通过步骤(3

6)获得的将句子s
i
预测为任意 类别对应的特征的集合:
[0043][0044]
(3

2)计算每个特征的频率和权重:由于同一个特征可能出现在不同类别中,因此同一 个特征在中可能出现多次,将中所有相同正向特征的权重求和,并按照权重从大 到小排序取前c1个特征得到以同样的方法计算中所有负向特征的权重,并按 照权重绝对值从大到小排序,取前c2个特征得到同时计算中每个负向特征出 现的频率,并按照频率从大到小排序,取前c3个特征得到
[0045][0046][0047][0048]
(3

3)获取句子s
i
的关键解释特征:最终获得句子s
i
的关键解释特征集合是步骤 (3

2)获取的三个集合的交集,共包含p个关键解释特征:
[0049][0050]
优选地,在所述步骤4中所述将步骤3获取的关键解释特征和原数据相融合,重新训练 文本分类模型,具体步骤包括:
[0051]
(4

1)获取融合关键解释特征的数据:将获取的句子s
i
的关键解释特征和句子s
i
共同作 为文本分类模型的输入,融合关键解释特征的句子表示为s
i


[0052][0053]
其中,为句子s
i
中的k个单词,为获取的句子s
i
的p个关 键解释特征;
[0054]
(4

2)重新训练文本分类模型:对所有的训练样本和测试样本都按照(2

1)至(4

1)所述的 步骤融合关键解释特征得到新的数据集s

=(s1′
,s2′
,s3′
,...,s
n

),然后按照权利要求2所述 过程在数据集s

上重新训练文本分类模型,得到的文本分类结果更加准确。
[0055]
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著的技术进
步:
[0056]
1.本发明方法使用了基于局部随机扰动采样的线性拟合方法解释哪些关键特征对文本分 类模型的预测结果贡献最大,将这些特征和原始标注样本融合,突出原始样本的关键特征, 从而提升分类效果;
[0057]
2.本发明方法能高效重新训练文本分类模型,从而使文本分类结果更加准确。
附图说明
[0058]
图1为本发明为融合文本解释特征的文本分类方法流程图。
[0059]
图2为本发明基于神经网络的文本分类模型示意图。
[0060]
图3为本发明使用模型解释方法获取解释特征流程图。
具体实施方式
[0061]
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合具体实施例,并参照附 图附表,对本发明实施例中的技术方案进行清晰、完整的描述。
[0062]
本发明的目的是提供一种融合文本解释特征的文本分类方法,以通过模型解释方法获取 文本分类模型给出预测结果的关键特征,并将这些关键特征和原始文本共同作为文本分类模 型的输入重新训练模型,从而提升文本分类模型的效果。
[0063]
本发明提供了一种融合文本解释特征的文本分类方法,使用基于局部随机扰动采样的线 性拟合方法解释基于神经网络的文本分类模型的预测结果,获取解释特征,根据这些特征的 频率和权重获取关键解释特征与原数据相融合,重新训练文本分类模型,从而使文本分类结 果更加准确。本发明的基本特征主要包括以下几个方面:
[0064]
一、使用基于局部随机扰动采样的线性拟合方法解释训练好的文本分类模型的预测结果, 获取解释特征;
[0065]
二、根据解释特征的权重和频率选择对文本分类有利的关键解释特征;
[0066]
三、将原始数据融合关键解释特征重新训练文本分类模型。
[0067]
实施例一:
[0068]
参见图1,一种融合文本解释特征的文本分类方法,包括以下操作步骤:
[0069]
步骤1、训练基于神经网络的文本分类模型用于预测句子所属类别;
[0070]
步骤2、使用基于局部随机扰动采样的线性拟合方法,获取在所述步骤1中句子预测结 果的解释特征;
[0071]
步骤3、根据在所述步骤2中获取的解释特征的频率和权重,选择对分类效果有利的关 键解释特征;
[0072]
步骤4、将在所述步骤3中获取的关键解释特征和原数据相融合,重新训练文本分类模 型。
[0073]
本实施例方法能高效重新训练文本分类模型,从而使文本分类结果更加准确。
[0074]
实施例二:
[0075]
在上述实施例中,参见图1融合文本解释特征的文本分类方法流程图,
[0076]
一种融合文本解释特征的文本分类方法,该过程的具体实施步骤包括以下4步:
[0077]
步骤s1:训练基于神经网络的文本分类模型用于预测句子所属类别,文本分类模
型图参 见附图2,模型参数设置参见表1;具体过程为:
[0078]
(1

1)输入层:获取ag

news数据集,ag

news是用于文本分类的标准英文数据集, 包含四个类别,共127600条数据;考虑到文本分类模型训练和获取每个数据解释特征的时间 问题,从ag

news数据集中对每个类别的数据均匀随机采样,选取16000条数据用于实验, 其中训练集包含12800条数据,验证集和测试集分别包含1600条数据;文本分类模型的输入 是带有类别标签的句子s=(s1,s2,s3......,s
n
),其中s
i
表示数据集中的第i个句子,n表示 句子数量,取值为16000,句子数量,取值为16000,表示第i个句子的第j个单词,k表 示第i个句子中的单词数量,由于句子长度不同,因此k的取值不固定;
[0079]
表1.文本分类模型参数设置
[0080][0081]
(1

2)句子向量化:使用glove训练词向量,将词表v=(w1,w2,w3,......,w
m
)中的每个 单词都转化为64维的向量表示,生成一个向量化的词表v

=(v1,v2,v3,......,v
m
),其中w
i
表 示词表中的单词,v
i
表示单词w
i
的向量化表示,m表示数据集中出现的所有单词的数量,m 取值为161067,v

的维度为查找词表v

将句子中的单词转化为对应的向量 表示,则句子s
i
表示为
[0082]
(1

3)线性层:将向量化后的句子输入线性层预测句子的类别标签,线性层公式如下:
[0083][0084]
其中,
yl
为预测结果,是一个包含4个数值的数组,其中每个数值代表预测为当前位置 表示的类别的可能性大小,l表示线性变换方程,w
t
和b分别为线性层的参数,随机初始化参 数的取值范围为(

0.3,0.3)。
[0085]
(1

4)softmax层:使用softmax函数将预测结果y
l
中的每个值的取值范围都映射到[0,1], sofimax函数的公式如下:
[0086][0087]
其中,表示预测结果y
l
中的第j个值,y
l
中的每个值都经过softmax函数变换之 后,这4个数值的和为1。
[0088]
(1

5)loss方程:模型最终输出的是预测结果中最大的值对应的类别标签y
pre
,使用公 式loss(y
i
,y
pre
)=

y
pre
log(softmax(y
i
))确定损失函数,其中loss(y
i
,y
pre
)表示损失函数,y
i
为输入句子的标注标签。
[0089]
(1

6)参数优化:以最小化所述损失函数为目标对文本分类模型的参数进行优化。如表1 所示,batch size设置为16,即每次向文本分类模型中输入16个句子。模型训练过程中的学 习率为2.0,学习率调整倍数为0.8,调整间隔为1个epoch,即每经过一个epoch,学
习率调 整为上一个epoch的0.8倍,模型最终迭代35次完成训练。
[0090]
步骤s2:使用基于局部随机扰动采样的线性拟合方法获取步骤s1中句子预测结果的解 释特征。具体流程见附图3:
[0091]
(2

1)选定要解释的句子s
i
并在s
i
附近通过随机扰动进行采样:s
i
为原数据集中包含k 个单词的句子对句子s
i
进行随机扰动,获取采样样本,生成包含 多个采样样本的数据集,并对采样样本使用0和1进行向量化表示。随机扰动过程为:
[0092]
随机删除句子s
i
中的部分单词,删除单词的数量大于0小于k,得到新的句子 即s
i
的一个随机扰动样本,其中为句子s
i
第t次随机扰动 采样样本中的第j个单词,c为随机扰动之后剩余的单词数量。初始化一个1
×
k的向量,将 删除单词的位置设为0,其他位置设为1,得到的向量化表示其中的每个元素进行4999次随机扰动,得到包含5000个句子的新数据集 其中为原句子s
i
,s
i
的向量化表示为包含k个1的向量。新数据 集x的向量矩阵表示为
[0093]
(2

2)给新生成的数据打标签:将数据集x中的每个数据都输入到训练好的文本分类模 型中进行预测,得到对应的预测结果。将训练好的文本分类模型表示为f,经过步骤(1

1)至步 骤(1

4)之后得到每个样本的预测结果为包含4个数字的 数组,4是数据类别数量,其中的每个值表示预测为对应类别的概率。
[0094]
(2

3)计算新数据集z中所有扰动数据和原数据的距离作为扰动数据权重:新生成的扰 动数据和原数据的距离越近越能够解释预测数据,则赋予更高的权重,利用指数核函数定义 新生成数据的权重,计算公式为:
[0095][0096]
其中,是定义在cosine距离上的指数内核,表示样本间的距离权重,距离越近, 的值越大,σ是核宽度。
[0097]
(2

4)使用线性模型拟合新数据集z:将线性模型用g表示,线性模型公式表达如下:
[0098][0099]
其中,为数据集z中的一个向量,w
g
为线性模型的权重系数。
[0100]
(2

5)确定线性模型的系数:将loss方程设置如下:
[0101][0102]
使l(f,g,π
z
)最小,获得最优的线性模型权重w
g
,w
g
的维度为其中为第t 个扰动数据,为的向量形式。
[0103]
(2

6)获取解释特征并去噪:线性模型训练完成后,fea
i
=w
g
×
x即为不同类别的解释 特征及权重,将第m个类别的特征按照权重绝对值从大到小排序,去除助词、 连接词、标点符号等信息后选取前t个作为句子x预测为第m个类别的解释特征
[0104][0105]
其中,表示模型解释方法输出的第i个句子预测为第m个类别的特征和每个特征对 应权重的集合,m是不同类别对应的标签,1≤m≤4,是句子s
i
的第j个特征,是特 征对应的权重。其中权重为正值的特征表示模型认为该特征支持第i个样本被分到第m个 类别,我们将这类特征称为正向特征或正特征,权重为负值的特征表示模型认为该特征不支 持第i个样本被分到第m个类别,称其为负向特征或负特征。
[0106]
步骤s3:根据获取的解释特征的频率和权重选择对分类效果有利的关键解释特征,具体 过程如下:
[0107]
(3

1)获取数据s
i
所有的解释特征:表示通过步骤(2

6)获得的将句子s
i
预测为任意 类别对应的特征的集合:
[0108][0109]
(3

2)计算每个特征的频率和权重:
[0110]
由于同一个特征可能出现在不同类别中,因此在可能出现多次,将中所有相 同正向特征的权重求和,并按照权重从大到小排序取前c1个特征得到以同样的方法计 算中所有负向特征的权重,并按照权重绝对值从大到小排序,取前c2个特征得到同时计算中每个负向特征出现的频率,并按照频率从大到小排序,取前c3个特征得到 [0111][0112][0113][0114]
(3

3)获取句子s
i
的关键解释特征:最终获得句子s
i
的关键解释特征集合是步骤(4

2)获取的三个集合的交集,共包含p个关键解释特征:
[0115][0116]
步骤s4:将步骤s3获取的关键解释特征和原数据相融合,重新训练文本分类模型,具 体包括:
[0117]
(4

1)获取融合关键解释特征的数据:将获取的句子s
i
的关键解释特征和句子s
i
共同作 为文本分类模型的输入,融合关键解释特征的句子表示为s
i


[0118][0119]
其中,为句子s
i
中的k个单词,为获取的句子s
i
的p个关 键解释特征。
[0120]
(4

2)重新训练文本分类模型:对所有的训练样本和测试样本都按照(2

1)至(4

1)所述的 步骤融合关键解释特征得到新的数据集s

=(s1′
,s2′
,s3′
,...,s
n

),然后按照权利要求2所述 过程在数据集s,上重新训练文本分类模型,得到的文本分类结果更加准确。
[0121]
实验说明及结果:实验数据集为步骤(1

1)所述的ag

news数据集中的部分数据,从中对 每个类别的数据随机均匀采样获取16000条数据用于实验,其中训练集包括12800条数据, 验证集和测试集分别包含1600条数据。表2显示了使用融合关键解释特征的数据训练文本分 类模型和使用原始数据训练文本分类模型的实验对比结果。其中,train_acc为训练集的准确 率,test_acc为测试集的准确率,test_ma_r为测试集的宏观召回率,test_ma_f1为测试集 的宏观f1值,test_mi_f1为测试集的微观f1值。可以看出,本发明提出的方法在各项指标上 均有所提升,其中测试集的准确率提升了2.39个百分点,说明本发明提出的方法可以提升文 本分类模型的效果。
[0122]
表2.实验结果
[0123][0124][0125]
本实施例方法使用了基于局部随机扰动采样的线性拟合方法解释哪些关键特征对文本分 类模型的预测结果贡献最大,将这些特征和原始标注样本融合,突出原始样本的关键特征, 从而提升分类效果;本实施例方法能高效重新训练文本分类模型,从而使文本分类结果更加 准确。
[0126]
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明 的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本 发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或 变型方式都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1