基于集成神经网络的长短混合型文本分类优化方法技术

技术编号:24574598 阅读:28 留言:0更新日期:2020-06-21 00:11
一种基于集成神经网络的长短混合型文本分类优化方法,属于自然语言处理领域,包括初始化、预处理、构建长文本分类算法、构建短文本分类算法、构建集成分类算法与迭代中止六个步骤。该方法首先使用基于预测的预训练词向量与基于统计的预训练词向量构建文本数据的双通道表示;其次在双通道文本表示基础上,提出融合通道特征的卷积优化算法,提高了传统卷积算法在文本数据上的空间特征提取能力;然后基于优化后的卷积算法分别设计了适用于长文本分类与短文本分类的独立算法;最后使用集成策略对独立算法进行自动评估与加权融合,集成后的算法在混合文本数据分类场景中表现出优异的性能,相比于已有经典算法具有更高的分类准确率与分类稳定性。

An integrated neural network based method for long short hybrid text classification optimization

【技术实现步骤摘要】
基于集成神经网络的长短混合型文本分类优化方法
本专利技术属于自然语言处理及应用领域,具体涉及一种基于集成神经网络的长短混合型文本分类优化方法。
技术介绍
神经网络算法可以自动提取数据特征,在文本分类任务上使用广泛,取得了良好的分类性能。常用于文本分类的经典神经网络算法包括一维卷积神经网络(CNN)和循环神经网络(RNN)。基于CNN的算法擅长提取文本的局部空间特征,适用于特征稀疏、时序性弱的短文本分类问题。基于RNN的算法擅长提取文本的全局时序特征,适用于上下文信息丰富、时序性强的长文本分类问题。由于现实环境下长短文本往往混合存在,甚至长度差距极大,难以找到一种通用性的性能优异的文本分类算法应用于长短混合型文本分类场景中,导致现有的已有分类算法不能够在长短混合型文本分类任务中达到最佳性能,且现有的用于文本分类的算法往往为了达到高准确率需要耗费极大的人力调参成本。
技术实现思路
针对在长短混合型文本数据分类场景下缺乏通用的高准确率分类算法的问题,本专利技术提出一种基于集成神经网络的长短混合型文本分类优化方法。该方法首先使用基于预测的预训练词向量与基于统计的预训练词向量构建文本数据的双通道表示,增加文本表示的空间维度;其次,在双通道文本表示的基础上,本专利技术提出一种融合通道特征的卷积优化算法,提高了传统卷积算法在文本数据上的空间特征提取能力;然后,本专利技术基于优化后的卷积算法分别设计了适用于长文本分类与短文本分类的独立算法;最后,本专利技术使用集成策略对独立算法进行自动评估与加权融合,集成后的算法在混合文本数据分类场景中表现出优异的性能,相比于已有经典算法具有更高的分类准确率与分类稳定性,且集成算法大大降低了人力调参的成本,在多数分类场景下,使用默认的参数就可以达到良好的分类性能。基于集成神经网络的长短混合型文本分类优化方法,其特征在于,所述方法在计算机上依次按以下步骤实现的:步骤1:初始化初始化算法需要的参数,如下:Nv:词典表大小,取值区间为[1000,1000000],默认值10000,对于小于等于1024MB的数据集使用默认值,对于大于1024MB的数据集可调高参数;C:分类数,最小值为2,理论上不存在分类数上限,根据真实分类任务设定,参数不可缺省,无默认值;L:长短文本判定阈值,取值范围为[100,200],默认值100,字符数小于L为短文本,字符数大于等于L为长文本;r:文本多余特征进行截断的阈值,取值范围为[50,10000],默认值500;k:词嵌入维度,取值范围为[50,300],默认值300,建议使用默认值;P:最大迭代轮数,最小值1,默认值100,若算法达到最大迭代轮数没有取得预期效果,可将参数扩大;Es:算法性能不再提升时,几轮后停止训练,最小值0,表示不提前停止,默认值10,表示继续10轮后停止训练;Sb:批尺寸,取值为2的整数幂,最小值1,默认值64,若数据规模大于1024MB,以2的整数幂调高参数;Sc:卷积窗口尺寸集合,默认取值集合为{3,4,5};I:卷积窗口增量,最小增量为1,默认增量为2,最大增量不超过10;Nc:卷积核数目,默认值128,若算法没有达到预期效果,增加此值以扩充网络容量;Nr:循环层神经元数目,默认值64,若算法没有达到预期效果,增加此值以扩充网络容量;Nf:全连接层神经元数目,默认值64,若算法没有达到预期效果,增加此值以扩充网络容量;Dr:随机丢弃神经元的比例,取值范围为[0,0.5],默认值0;R:验证集划分比例,取值范围为[0,0.5],默认值0.2;ACC:预期分类准确率,取值范围为(0,1],参数不可缺省,无默认值;初始化算法需要的数据结构,如下:(1)构建文本数据集合D,D={di|1≤i≤n},di表示第i个文本,n表示文本总数,di表示为二元组(li,ci),li表示di的分类标签,ci表示di的词集合,D初始为空集。(2)构建词典集合V,V={vi|1≤i≤Nv},vi表示第i个单词,形式为二元组(wi,si),wi表示单词本身,si表示单词编号,从1开始每出现新的单词编号加1,重复出现的单词忽略,V初始为空集。(3)构建算法集合M,M={mi|1≤i≤N},N表示算法总数,mi表示第i个算法,形式为三元组(ni,pi,qi),ni表示算法mi的唯一编号,pi表示算法对短文本的分类准确率,qi表示算法对长文本的分类准确率,M初始为空集。步骤2:预处理步骤2.1:数据预处理遍历数据集中每一个文本,令di表示第i个文本,去除di的标点符号、特殊字符并进行分词,获取标签li与词语集合ci,将(li,ci)加入集合D:D←D∪{(li,ci)};判断ci中的每一个单词wi是否在集合V中出现,如果没有出现将单词wi进行编号,假定编号为si,然后加入集合V:V←V∪{(wi,si)};如果出现过,则不进行任何操作。步骤2.2:加载预训练词嵌入创建特征集合T,T={ti|1≤i≤n},n代表单词总数,ti表示为二元组(wi,vi);wi代表第i个单词,vi代表wi的预训练词向量;遍历基于预测方法构建的词嵌入文件,得到第i个单词wi与预训练词向量vi,加入集合T:T←T∪{(wi,vi)};同理,创建特征集合T',构建过程与T相同,区别是遍历基于统计方法构建的词嵌入文件。步骤2.3:将预训练词嵌入转化为特定任务词嵌入根据集合T创建特定任务下的特征集合U,U={ui|1≤i≤Nv},ui表示为二元组(si,vi),si为第i个单词的编号,vi为第i个单词的预训练词向量;遍历集合V中所有单词,对于第i个单词wi,若在T中出现,则将单词编号si与词向量vi组成二元组(si,vi),加入集合U:U←U∪{(si,vi)};同理,根据T'创建特定分类任务下的特征集合U',创建过程与U相同。步骤3:构建长文本分类算法读取一个批量的数据,对于批量中的每一个文本数据,执行以下步骤:步骤3.1:构建文本的双通道词嵌入矩阵步骤3.1.1:定义第一个通道的特征集合F,F={fj|1≤j≤ni},ni表示当前第i个文本的单词数,fj表示当前文本中第j个单词的词向量,对于文本中每一个单词,在集合V中获取单词编号,根据单词编号从集合U中获取单词的词向量,加入集合F;同理,定义第二个通道的特征集合F',从集合U'中获取单词的词向量,加入集合F'。步骤3.1.2:定义Ep表示基于预测的词嵌入矩阵,遍历集合F中的每一个向量作为Ep的每一行;定义Ec表示基于统计的词嵌入矩阵,遍历集合F'中的每一个向量作为Ec的每一行;若向量数目不足词嵌入矩阵的行数,则剩余行使用0填充;若向量数多于矩阵行数,则超过矩阵行数的向量直接丢弃。步骤3.2:构建融合通道特征的多粒度卷积层步骤3.2.1:定义卷积核Wc,Wc为h×k的二维矩阵,h为卷积窗口大小且h本文档来自技高网...

【技术保护点】
1.基于集成神经网络的长短混合型文本分类优化方法,其特征在于,按以下步骤实现的:/n步骤1:初始化/n初始化算法需要的参数,如下:/nN

【技术特征摘要】
1.基于集成神经网络的长短混合型文本分类优化方法,其特征在于,按以下步骤实现的:
步骤1:初始化
初始化算法需要的参数,如下:
Nv:词典表大小,取值区间为[1000,1000000],默认值10000,对于小于等于1024MB的数据集使用默认值,对于大于1024MB的数据集可调高参数;
C:分类数,最小值为2,理论上不存在分类数上限,根据真实分类任务设定,参数不可缺省,无默认值;
L:长短文本判定阈值,取值范围为[100,200],默认值100,字符数小于L为短文本,字符数大于等于L为长文本;
r:文本多余特征进行截断的阈值,取值范围为[50,10000],默认值500;
k:词嵌入维度,取值范围为[50,300],默认值300,建议使用默认值;
P:最大迭代轮数,最小值1,默认值100,若算法达到最大迭代轮数没有取得预期效果,可将参数扩大;
Es:算法性能不再提升时,几轮后停止训练,最小值0,表示不提前停止,默认值10,表示继续10轮后停止训练;
Sb:批尺寸,取值为2的整数幂,最小值1,默认值64,若数据规模大于1024MB,以2的整数幂调高参数;
Sc:卷积窗口尺寸集合,默认取值集合为{3,4,5};
I:卷积窗口增量,最小增量为1,默认增量为2,最大增量不超过10;
Nc:卷积核数目,默认值128,若算法没有达到预期效果,增加此值以扩充网络容量;
Nr:循环层神经元数目,默认值64,若算法没有达到预期效果,增加此值以扩充网络容量;
Nf:全连接层神经元数目,默认值64,若算法没有达到预期效果,增加此值以扩充网络容量;
Dr:随机丢弃神经元的比例,取值范围为[0,0.5],默认值0;
R:验证集划分比例,取值范围为[0,0.5],默认值0.2;
ACC:预期分类准确率,取值范围为(0,1],参数不可缺省,无默认值;
初始化算法需要的数据结构,如下:
(1)构建文本数据集合D,D={di|1≤i≤n},di表示第i个文本,n表示文本总数,di表示为二元组(li,ci),li表示di的分类标签,ci表示di的词集合,D初始为空集;
(2)构建词典集合V,V={vi|1≤i≤Nv},vi表示第i个单词,形式为二元组(wi,si),wi表示单词本身,si表示单词编号,从1开始每出现新的单词编号加1,重复出现的单词忽略,V初始为空集;
(3)构建算法集合M,M={mi|1≤i≤N},N表示算法总数,mi表示第i个算法,形式为三元组(ni,pi,qi),ni表示算法mi的唯一编号,pi表示算法对短文本的分类准确率,qi表示算法对长文本的分类准确率,M初始为空集;
步骤2:预处理
步骤2.1:数据预处理
遍历数据集中每一个文本,令di表示第i个文本,去除di的标点符号、特殊字符并进行分词,获取标签li与词语集合ci,将(li,ci)加入集合D:D←D∪{(li,ci)};判断ci中的每一个单词wi是否在集合V中出现,如果没有出现将单词wi进行编号,假定编号为si,然后加入集合V:V←V∪{(wi,si)};如果出现过,则不进行任何操作;
步骤2.2:加载预训练词嵌入
创建特征集合T,T={ti|1≤i≤n},n代表单词总数,ti表示为二元组(wi,vi);wi代表第i个单词,vi代表wi的预训练词向量;遍历基于预测方法构建的词嵌入文件,得到第i个单词wi与预训练词向量vi,加入集合T:T←T∪{(wi,vi)};同理,创建特征集合T',构建过程与T相同,区别是遍历基于统计方法构建的词嵌入文件;
步骤2.3:将预训练词嵌入转化为特定任务词嵌入
根据集合T创建特定任务下的特征集合U,U={ui|1≤i≤Nv},ui表示为二元组(si,vi),si为第i个单词的编号,vi为第i个单词的预训练词向量;遍历集合V中所有单词,对于第i个单词wi,若在T中出现,则将单词编号si与词向量vi组成二元组(si,vi),加入集合U:U←U∪{(si,vi)};同理,根据T'创建特定分类任务下的特征集合U',创建过程与U相同;
步骤3:构建长文本分类算法
读取一个批量的数据,对于批量中的每一个文本数据,执行以下步骤:
步骤3.1:构建文本的双通道词嵌入矩阵
步骤3.1.1:定义第一个通道的特征集合F,F={fj|1≤j≤ni},ni表示当前第i个文本的单词数,fj表示当前文本中第j个单词的词向量,对于文本中每一个单词,在集合V中获取单词编号,根据单词编号从集合U中获取单词的词向量,加入集合F;同理,定义第二个通道的特征集合F',从集合U'中获取单词的词向量,加入集合F';
步骤3.1.2:定义Ep表示基于预测的词嵌入矩阵,遍历集合F中的每一个向量作为Ep的每一行;定义Ec表示基于统计的词嵌入矩阵,遍历集合F'中的每一个向量作为Ec的每一行;若向量数目不足词嵌入矩阵的行数,则剩余行使用0填充;若向量数多于矩阵行数,则超过矩阵行数的向量直接丢弃;
步骤3.2:构建融合通道特征的多粒度卷积层
步骤3.2.1:定义卷积核Wc,Wc为h×k的二维矩阵,h为卷积窗口大小且h∈Sc,k为词嵌入维度,令i表示第i个位置,ci表示第i个位置的特征,f代表ReLU激活函数,bc代表初始化为0的偏置项,E代表词嵌入矩阵,则Wc在E上执行卷积形成特征图C的计算公式如(1)(2)所示,公式(3)为ReLU激活函数;
ci=f(Wc·Ei:i+h-1+bc)(1)
C=[c1,c2,...,cn-h+1](2)
f(x)=max(x,0)(3)
将矩阵Ep代入公式(1)(2),得到特征图C1,将矩阵Ec代入公式(1)(2),得到特征图C2;...

【专利技术属性】
技术研发人员:韩永鹏苏航陈彩梁毅孙志冉
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1