首页 / 专利库 / 人工智能 / 机器学习 / 深度学习 / 一种基于多通道深度学习模型的文本分类方法及其装置

一种基于多通道深度学习模型的文本分类方法及其装置

阅读:1041发布:2020-06-22

专利汇可以提供一种基于多通道深度学习模型的文本分类方法及其装置专利检索,专利查询,专利分析的服务。并且基于多通道深度模型的 文本分类 方法,首先对输入的文本信息进行分词操作并分别建立基于该文本的字库与词库,然后由训练好的word2vec模型得到对应字向量与词向量,将其作为两个通道放入 卷积神经网络 进行卷积、 池化 以提取文本中的特征,然后通过全连接层将两个通道提取到的特征进行拼接,最后由softmax函数实现预测分类。本 发明 还包括实施基于多通道深度模型的文本分类方法的装置。本发明训练时间短:多通道提取特征,使得分类效果不过分依赖文本数据本身,即对于不同的文本数据都能有比较好且稳定的分类效果。,下面是一种基于多通道深度学习模型的文本分类方法及其装置专利的具体信息内容。

1.一种基于多通道深度模型的文本分类方法,包括以下步骤:
步骤1.根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
具体包括:先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量;
步骤2.根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
具体包括:建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量;
步骤3.文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征;
具体包括:使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长;假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b);因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1];
步骤4.卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
步骤5.池化后为全连接层,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
步骤6.之后再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有步骤7.经过softmax处理后通过损失函数来刻画实际输出(概率)与期望输出(概率)的距离;损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为
类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。
2.实施如权利要求1所述的基于多通道深度模型的文本分类方法的装置,包括依次连接的建立字库模、建立词库模块、卷积模块、池化模块、第一全连接模块、第二全连接模块、输出模块;
建立字库模块,根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
具体包括:先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量;
建立词库模块,根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
具体包括:建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量;
卷积模块,文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征;
具体包括:使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长;假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b);因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1];
池化模块,卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
第一全连接模块,池化后为全连接层,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
第二全连接模块,再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有输出模块,经过softmax处理后通过损失函数来刻画实际输出概率与期望输出概率的距离;损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为
类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。

说明书全文

一种基于多通道深度学习模型的文本分类方法及其装置

技术领域

[0001] 本发明涉及一种基于多通道深度学习模型的文本分类方法及其装置。

背景技术

[0002] 随着计算机技术高速发展、互联网产生大数据和神经网络训练方法改进,深度学习技术得到了快速发展。深度学习是一种特殊的机器学习,通过学习将世界使用嵌套的概念层次来表示并实现巨大的功能和灵活性,其中每个概念都定义为与简单概念相关联,而更为抽象的表示则以较不抽象的方式来计算。
[0003] 近年来自然语言处理(NLP)技术已经不断渗透并应用于互联网垂直领域,在诸如文本分类、实体识别、问答系统、翻译系统中扮演着重要色。深度学习处理自然语言任务可以避免传统算法对特征是重度依赖性,准确度也更高,近来颇受重视。作为深度学习领域两大阵营的CNN和RNN各具特色,一般来说CNN适用于空间任务(如图像),RNN适用于时序任务(如语音),自然语言处理任务一般以文本的形式出现,所以使用RNN较为自然,但经对比发现CNN在文本分类上表现良好,又因为RNN模型的训练时间普遍较长,所以使用CNN做文本分类是更明智的选择。
[0004] 卷积神经网络是一种前馈型神经网络,受生物自然视觉认知机制启发而来的。现在,CNN已经成为众多科学领域的研究热点之一。本文提供一种新的卷积神经网络模型,对文本数据分别基于字和词进行两次提取特征,从而提高分类效果。
[0005] 贾丹丹等人(参考文献1:文本分类方法及装置,申请号2017111200630)提出了一种文本分类方法,同样是基于卷积神经网络。该方法在分词的基础上以词向量确定句子向量,以句子向量确定每个句子的重要性评价参数,并以所述参数确定文本摘要信息,以实现分类。该方法过于依赖文本内容与摘要信息的相关性,对于相对不太规整的文本数据可能分类效果不太理想。而本方法中有一次特征提取是基于字的(参考文献2:Xiang Zhang,Junbo Zhao,et  al.Character-level Convolutional Networks for  Text Classification.arXiv:1509.01626v3[cs.LG]4 Apr 2016),对摘要信息的依赖性较弱,在大量数据集的训练下准确度较高;李钊等人(参考文献3:基于卷积循环神经网络的文本分类方法,申请号2019100251750)公开了一种基于卷积循环神经网络的文本分类方法,该方法先利用卷积神经网络提取文本特征,然后将提取到的特征放入长短期记忆网络处理序列信息,最后由全连接层处理得出分类结果。该方法虽然不是传统的循环神经网络(RNN),但还是未能避免RNN带来的模型训练时间较长的硬伤。

发明内容

[0006] 本发明要解决现有技术的上述缺点,提供一种基于多通道深度模型的文本分类方法及其装置。
[0007] 本发明首先对输入的文本信息进行分词操作并分别建立基于该文本的字库与词库,然后由训练好的word2vec模型得到对应字向量与词向量,将其作为两个通道放入卷积神经网络进行卷积、池化以提取文本中的特征,然后通过全连接层将两个通道提取到的特征进行拼接,最后由softmax函数实现预测分类。
[0008] 本发明解决其技术问题所采用的技术方案是:
[0009] 一种基于多通道深度模型的文本分类方法,包括以下步骤:
[0010] 1)根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
[0011] 具体包括:先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量。
[0012] 2)根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
[0013] 具体包括:建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量。
[0014] 3)文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征。
[0015] 具体包括:使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长。假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b)。因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1]。
[0016] 4)卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
[0017] 5)池化后为全连接层,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
[0018] 6)之后再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有
[0019] 7)经过softmax处理后通过损失函数来刻画实际输出(概率)与期望输出(概率)的距离,也就是损失函数的值越小,两个概率分布就越接近。损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。
[0020] 实施如基于多通道深度模型的文本分类方法的装置,包括依次连接的建立字库模、建立词库模块、卷积模块、池化模块、第一全连接模块、第二全连接模块、输出模块;
[0021] 建立字库模块,根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
[0022] 具体包括:先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量;
[0023] 建立词库模块,根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
[0024] 具体包括:建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量;
[0025] 卷积模块,文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征;
[0026] 具体包括:使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长;假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b);因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1];
[0027] 池化模块,卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
[0028] 第一全连接模块,池化后为全连接层,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
[0029] 第二全连接模块,再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有[0030] 输出模块,经过softmax处理后通过损失函数来刻画实际输出概率与期望输出概率的距离;损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。
[0031] 本发明的优点是:完全基于卷积神经网络模型(CNN),训练时间短:多通道提取特征,使得分类效果不过分依赖文本数据本身,即对于不同的文本数据都能有比较好且稳定的分类效果。附图说明
[0032] 图1是本发明的多通道深度模型结构示意图。
[0033] 图2是本发明的word2vec模型结构示意图。

具体实施方式

[0034] 下面结合附图和具体实施例对本发明作进一步描述。
[0035] 实施例1
[0036] 本实施例公开一种基于多通道深度模型的文本分类方法,本方法基于卷积神经网络模型,如图1所示,该模型包含embedding层(通过word2vec实现)、卷积层、最大池化层、全连接层、全连接层以及softmax。由文本数据中提出来的字向量与词向量首先分别作为两个通道通过卷积层和池化层得到文本特征,再由全连接层以及softmax函数得到分类结果。
[0037] 一种基于多通道深度模型的文本分类方法,包括以下步骤:
[0038] 1)根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
[0039] 本实施例中,先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量。
[0040] 2)根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
[0041] 本实施例中,建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量。
[0042] 3)文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征。
[0043] 本实施例中,采用训练好的word2vec获得相应的字向量与词向量。word2vec是一个仅有3层的浅层神经网络,输入层输出层都可以看做词汇表的one-hot表示,通过语料的训练,可以获得词汇的向量表示。在将文本送入word2vec之前需要预先建立文本的字库与词库,并基于字库词库分别获得每个字和词的one-hot表示,然后再放入训练好的word2vec模型得到相应的字向量和词向量。
[0044] 由于数据集中每个样本的长度不一致,因此在词嵌入前需要将样本处理成统一的长度,样本长度根据实际情况而定。若将样本长度记为L,词向量维度记为M,则每个样本可表示为L*M的词向量矩阵,并以此作为卷积层的输入(字向量同理)。
[0045] 本实施例中,使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长。假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b)。因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1]。
[0046] 4)卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
[0047] 5)池化后为全连接层,本实施例中,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
[0048] 6)之后再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有
[0049] 7)经过softmax处理后通过损失函数来刻画实际输出(概率)与期望输出(概率)的距离,也就是损失函数的值越小,两个概率分布就越接近。损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。
[0050] 实施例2
[0051] 1.数据集:使用运营商提供的数据进行训练与测试,数据集分为原因类数据和现象类数据,其中原因类数据共308类,现象类数据403类,类标分别为0~307和0~402,每个类的样本分别存在独立的TXT文件中,并以类标命名文件(n.txt)。
[0052] 每个类的样本数量不一,数据集的80%划为训练集,10%验证集,10%测试集。
[0053] 2.参数配置
[0054]
[0055] 3.训练与验证
[0056] Training and evaluating...
[0057] .
[0058] .
[0059] Epoch:9
[0060] Iter:  22000,Train Loss:   1.5,Train Acc:  54.69%,Val Loss:   3.1,Val Acc:  38.22%,Time:0:31:36
[0061] Iter:  22100,Train Loss:   1.3,Train Acc:  65.62%,Val Loss:   3.1,Val Acc:  38.11%,Time:0:31:45
[0062] Iter:  22200,Train Loss:   1.4,Train Acc:  67.19%,Val Loss:   3.2,Val Acc:  38.04%,Time:0:31:56
[0063] Iter:  22300,Train Loss:   1.4,Train Acc:  56.25%,Val Loss:   2.9,Val Acc:  39.54%,Time:0:32:05
[0064] Iter:  22400,Train Loss:  0.94,Train Acc:  70.31%,Val Loss:   3.0,Val Acc:  38.63%,Time:0:32:14
[0065] Iter:  22500,Train Loss:   1.5,Train Acc:  53.12%,Val Loss:   3.0,Val Acc:  38.74%,Time:0:32:22
[0066] Iter:  22600,Train Loss:   1.6,Train Acc:  59.38%,Val Loss:   2.9,Val Acc:  39.15%,Time:0:32:31
[0067] Iter:  22700,Train Loss:   1.8,Train Acc:  50.00%,Val Loss:   2.9,Val Acc:  39.60%,Time:0:32:40
[0068] Iter:  22800,Train Loss:   1.6,Train Acc:  53.12%,Val Loss:   3.0,Val Acc:  39.05%,Time:0:32:50
[0069] Iter:  22900,Train Loss:   1.3,Train Acc:  60.94%,Val Loss:   3.0,Val Acc:  38.91%,Time:0:32:58
[0070] Iter:  23000,Train Loss:   1.3,Train Acc:  60.94%,Val Loss:   3.0,Val Acc:  39.36%,Time:0:33:08
[0071] Iter:  23100,Train Loss:   1.6,Train Acc:  56.25%,Val Loss:   2.9,Val Acc:  40.06%,Time:0:33:17
[0072] Iter:  23200,Train Loss:   1.5,Train Acc:  57.81%,Val Loss:   3.0,Val Acc:  39.42%,Time:0:33:27
[0073] Iter:  23300,Train Loss:   1.5,Train Acc:  62.50%,Val Loss:   3.0,Val Acc:  39.41%,Time:0:33:37
[0074] Iter:  23400,Train Loss:   1.5,Train Acc:  53.12%,Val Loss:   3.0,Val Acc:  39.39%,Time:0:33:46
[0075] Iter:  23500,Train Loss:   1.4,Train Acc:  57.81%,Val Loss:   3.0,Val Acc:  38.67%,Time:0:33:55
[0076] No optimization for a long time,auto-stopping...
[0077] 在验证集上的最佳效果为40.55%,经过了9轮迭代停止。
[0078] ②测试结果
[0079] Testing...
[0080] Test Loss:2.5,Test Acc:41.87%
[0081] Confusion Matrix...
[0082] [[0 0 0 ... 0 0 0]
[0083] [0 0 0 ... 0 0 0]
[0084] [0 0 8 ... 0 0 0]
[0085] ...
[0086] [0 0 0 ... 0 0 0]
[0087] [0 0 0 ... 1 4 1]
[0088] [0 0 0 ... 0 0 0]]
[0089] Time usage:0:00:30
[0090] 在测试集上的准确率为41.87%。
[0091] 以上为原因类数据的实验结果,现象类在测试集上的准确率为58.66%。
[0092] 实施例3
[0093] 实施实施例1的基于多通道深度模型的文本分类方法的装置,包括依次连接的建立字库模块、建立词库模块、卷积模块、池化模块、第一全连接模块、第二全连接模块、输出模块;
[0094] 建立字库模块,根据数据集中划分出来的训练集建立字库,该字库包含训练集中出现的所有的字;
[0095] 具体包括:先根据所建立字库获取每个字的one-hot编码,然后再通过训练好的word2vec模型获取对应字向量;
[0096] 建立词库模块,根据数据集中划分出来的训练集建立词库,该词库包含训练集中出现的所有的词;
[0097] 具体包括:建立词库前应对数据集进行分词操作,分词工具采用jieba分词并根据分词结果建立词库,并根据所建立的词库获取每个词的one-hot编码,然后通过训练好的word2vec模型获取对应词向量;
[0098] 卷积模块,文本数据通过上述建立字库的和词库分别获得该文本的字向量和词向量,并将其视作两个通道放入卷积神经网络进行卷积获取特征;
[0099] 具体包括:使用一维卷积对输入进行卷积操作,卷积核高度取3,卷积核数目为256,卷积后特征图的高度计算公式为 其中W为原始输入的高度,H为卷积核的高度,S表示步长;假设Xi:i+j表示Xi到Xi+j个词,使用一个宽度为d,高度为h的卷积核W与Xi:i+j(h个词)进行卷积操作得到特征Ci,Ci=f(w*xi:i+h-1+b);因此经过卷积操作后可以得到一个n-h+1维的向量c=[c1,c2,...,cn-h+1];
[0100] 池化模块,卷积后通过池化层,在保留显著特征的同时降低输出结果的维度,池化层采用最大池化;
[0101] 第一全连接模块,池化后为全连接层,本层全连接层神经元个数设置为350个,并后接dropout以及relu激活,以防止过拟合及去线性化;
[0102] 第二全连接模块,再接一层全连接层,本层全连接层神经元个数为训练集中的类别数目,并通过softmax函数实现预测类别,对每个样本,它属于类别i的概率为yi,有[0103] 输出模块,经过softmax处理后通过损失函数来刻画实际输出概率与期望输出概率的距离;损失函数采用交叉熵,对于多分类问题,交叉熵损失函数 其中M为类别数;yc为指示变量(0或1),如果该类别与样本类别相同就是1,否则0;pc为观测样本属于类别c的预测概率。
[0104] 本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈