字符数字唯一可译深度模型的文本分类方法及存储介质与流程

文档序号:16754684发布日期:2019-01-29 17:14阅读:201来源:国知局
字符数字唯一可译深度模型的文本分类方法及存储介质与流程

本发明实施方式涉及自然语言处理领域,尤其涉及一种字符数字唯一可译深度模型的文本分类方法及计算机可读存储介质。



背景技术:

文本分类是自然语言处理领域的一个重要的经典课题,在语音交互对话机器人中可以实现自然语言理解的意图识别功能,在语义分析与语义理解等方面有着广泛的应用。文本分类的实现方法可以分成词匹配法、知识工程、基于统计机器学习的方法和基于深度学习实现方法。

发明人发现现有技术中至少存在如下问题:

知识工程的方法借助语言学专家的帮助,为特定类别充分定义大量规则,如果待预测文本能够满足这些推理规则,则可以判定属于该类别,并与特定规则的匹配度作为文本分类特征。然而,该方法在系统中加入了大量人为产生的规则因素,准确度虽然比词匹配法显著提高,但是分类的质量好坏严重依赖于人工设定的规则,严重依赖于语言学专家本身的主观因素,因此通用性和泛化能力受限,并且人力成本极高令人难以承受,使得推广实用化严重受限。可见知识工程致命缺陷是很难具备可推广性,比如针对科技领域构建的分类系统,打算扩充到教育或军事等领域,则需要完全重新设计相关文本的分类规则,需要耗费大量人力物力。

统计机器学习的方法主要采用特征工程(包括文本预处理、特征提取与文本表示)和分类器的处理方法,其中分类器主要采用统计机器学习的方法,包括朴素贝叶斯分类算法、k最邻近分类算法、随机森林分类器、最大熵、决策树、线性最小平方拟合和神经网络等等方法。这些现有方法普遍存在如下缺陷:

1、算法的成立和能够有效工作,需要假设文本中每个词之间是互相统计独立的,一个词的出现与否不受另外其他词的是否出现的影响。然而,从语言学的常识可知,大量的词之间存在共现现象,并且共现词的统计分布也会随着不同主题类型的文本发生变化。所以,严格意义上的统计独立条件事实上是无法满足的。

2、支持向量机方法是建立在统计学习理论和结构风险最小原理基础上的,根据有限的样本信息在模型对特定训练样本的学习精度和无错误地识别任意样本的能力之间寻求最佳折衷,以期获得最好的泛化能力。支持向量机算法训练在本质上是解决目标函数为二次函数,约束条件为线性约束的最优化问题,得到的是全局最优解。支持向量机分类器使用核函数将原始非线性文本空间变换到高维空间,解决的是线性不可分问题。然而,其缺点是在核函数的选择问题上缺乏足够的理论基础与实践指导,比较难以对特定文本分类问题有针对性地选择最优核函数;此外,支持向量机训练速度极大地受到训练集规模的影响,计算开销也比较大。

3、基于深度学习的文本分类,主要采用长短时记忆模型和深度卷积神经网络对文本进行分类,可以采用基于词的矢量化输入模型,也可以采用基于字符级别的矢量化输入,在性能上对比分析,如果采用长短时记忆模型进行训练时,缺陷是由于模型采用串行输入和训练方式,所以使得训练时间太长,同样在推理阶段的耗时也比较长,从而严重限制了该方法的实际应用。



技术实现要素:

本发明实施方式的目的在于提供一种中文字符数字唯一可译深度模型的文本分类方法及计算机可读存储介质,使得中文字符的文本分类算法性能明显提升。

为解决上述技术问题,本发明的实施方式提供了一种中文字符数字唯一可译深度模型的智能文本分类方法,包括以下步骤:以常用中文字符为基础,构造矩阵,采用每个常用中文字符对应的行数拼接列数的数字字符表示该常用中文字符,使每个常用中文字符对应数字唯一可译标量,将常用中文字符的数字唯一可译标量进行矢量化,得到中文字符的数字唯一矢量化表示;将中文字符的的数字唯一矢量化表示的文本序列输入到第一层卷积神经网络,第一层卷积神经网络对输入的文本序列进行卷积,提取文本序列的特征并得到第一卷积结果和第二卷积结果,将第一卷积的结果通过激活函数进行处理,并将经过激活函数处理的第一卷积处理结果与第二卷积结果进行按位相乘,直到得到的结果矩阵形态与第一卷积结果和第二卷积结果的数据形态相同,输出作为下一层卷积神经网络的输入,下一层卷积神经网络对输入的文本序列重复进行输入、卷积、位乘和输出,直到到达顶端并从输出提取的文本特征信息,构建深度模型;对深度模型进行训练数据的学习,以提供中文字符的智能文本分类。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的中文字符数字唯一可译深度模型的智能文本分类方法。

本发明实施方式相对于现有技术而言,在中文文本分类方法中,相比基于词的向量化表示,采用了中文字符矢量化表示作为深度网络模型的输入,取得了更好的文本分类性能。在中文文本分类方法中,原始文本的输入形态非常重要,不同的输入形态会显著影响算法性能,本发明首先把每个常用中文字符对应数字唯一可译标量,将3500个常用中文字符压减为十个数字字符,进一步提升输入数据的统计特性。此外,基于高维空间映射算法,采用数字序列方式表示中文字符,数字长度相同,都是4位标准长度,输入数据的统计特性进一步得到显著提升,文本分类算法性能明显提升。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明提供的中文字符数字唯一可译深度模型的智能文本分类方法的流程示意图;

图2是本发明提供的中文字符的数字唯一矢量化表示的流程示意图;

图3是本发明提供的常用中文字符矩阵排列的示意图;

图4是本发明提供的数字0到9的二维连续空间单位矢量表示法的示意图;

图5是本发明提供的基于中文字符的数字唯一矢量化表示的文本序列输入到卷积神经网络进行智能深度模型的文本分类方法的的流程示意图。

图6是本发明提供的输入文本序列到第一层卷积神经网络的结构的示意图。

图7是本发明提供的卷积神经网络中采用的激活函数结构的示意图

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明涉及中文字符的智能文本分类方法,中文字符也就是中文汉字,目前汉字的总数已经超过了8万,而常用的只有3500汉字。据1994年出版的《中华字海》收入了87019个汉字,日常书面语常用的不同汉字数量一般都控制在三四千个。

中文字符的矢量化就是中文汉字的矢量化,在中文文本分类方法中,把每个中文字符映射为拼音,结合拼音声调联合表示,进一步把输入字符数缩减,从而能够由数千个字符数压减为26个字母加1、2、3和4,共计30个字符表示,比如:

“中”表示为[['zho1ng','zho4ng']]

“华”表示为[['hua2','hua4']]

“人”表示为[['re2n']]

“民”表示为[['mi2n']]

“共”表示为[['go4ng','go1ng','go3ng','ho2ng']]

“和”表示为[['he2','he4','huo4','huo2','hu2']]

“国”表示为[['guo2']]

采用这种表示方法,可以把3000到4000个常用汉字字符数缩减为只需要30个字符表示,编码效率显著提升,但发明人认为该方法有如下不足:一方面是大量单个字符存在多个读音,因此,这些类型的汉字采用拼音表示方法不唯一,即同一个汉字有多个不同的拼音表示;另一方面是同音字问题,即存在不同的汉字,它们的拼音表示是完全相同的,这样在输入深度网络模型中会产生歧义,对文本分类算法的性能产生非常消极的影响。

针对现有的中文字符矢量化的不足,发明人提出了一种全新的中文字符表示方法。

本发明的第一实施方式涉及一种字符数字唯一可译深度模型的智能文本分类方法,具体流程如图1所示。

步骤1:以常用中文字符为基础,构造矩阵,依次采用每个常用中文字符对应的行数拼接列数的数字字符表示该常用中文字符,使每个常用中文字符对应数字唯一可译标量,将常用中文字符的数字唯一可译标量进行矢量化,得到中文字符的数字唯一矢量化表示。

步骤2:中文字符的的数字唯一矢量化表示的文本序列输入到第一层卷积神经网络,第一层卷积神经网络对输入的文本序列进行卷积,提取文本序列的特征并得到第一卷积结果和第二卷积结果,将第一卷积的结果通过激活函数进行处理,并将经过激活函数处理的第一卷积处理结果与第二卷积结果进行按位相乘,直到得到的结果矩阵形态与第一卷积结果和第二卷积结果的数据形态相同,输出作为下一层卷积神经网络的输入,下一层卷积神经网络对输入的文本序列重复进行输入、卷积、位乘和输出,直到到达顶端并从输出提取的文本特征信息,构建深度模型。

步骤3:对深度模型进行训练数据的学习,以提供中文字符的智能文本分类。

本发明的第二实施方式详述了步骤1中的中文字符表示,具体流程如图2所示。

步骤21:以常用中文字符为基础,构造矩阵,依次采用每个常用中文字符对应的行数拼接列数的数字字符表示该常用中文字符。

在本步骤中,以国家语言文字工作委员会制定的常用字表排最前的3500常用汉字为标准作为常用中文字符,构造n×m矩阵,其中n为行数,m为列数,设定n和m为两位数字,例如n=43和m=83,则形成43行×83列的矩阵。常用中文字符按照图3所示排列为43行83列,其中行数的表示从01、02、03、04……从上到下一直升序到43;同样,列数的表示从01、02、03、04……从左到右一直升序到83。依次采用每个常用中文字符的行数拼接列数,共计4位数字表示该常用中文字符,比如常用汉字“乙”位于第01行、第02列,那么,“乙”的数字唯一可译标量表示为‘0102’,以此进行类推。所以,每个常用中文字符都有唯一的四位数字来进行唯一可译标量化表示,最终采用的字符数降低为10个数字字符,即:

0、1、2、3、4、5、6、7、8、9。

此外,对于未被收录到3500个常用汉字的非常用汉字,统一采用预先设定的数字字符表示,例如四位数字‘0000’或其他四位数字字符。

步骤22:每个中文字符之间添加预先设定的数字字符以区分中文字符之间的空格。

在本步骤中,对于多个中文字符,在输入深度模型之前,每个中文字符之间添加预先设定的数字字符以区分中文字符之间的空格,例如四位数字‘0000’或其他四位数字字符。

步骤23:选取二维连续空间的特定单位矢量分别表示数字字符。

在本步骤中,将常用中文字符的数字唯一可译标量进行矢量化表示的表示规则,具体为把单位圆周上点按照360度进行10等分,对应点取余弦值为横坐标,正弦值为纵坐标,如图4所示的数字字符0到9的二维连续空间单位矢量表示法。

步骤24:将常用中文字符的数字唯一可译标量经过二维连续空间特定单位矢量被映射为矩阵,得到每个常用中文字符的数字唯一矢量化表示。

在本步骤中,每个中文字符可以用一个4组二维向量(2×4矩阵)唯一表示,比如:“中”位于02行22列,对应四位数字唯一可译标量就是“0222”,进一步对应的矩阵表示为:

再如,“中国”对应四位数字唯一可译标量就是“0222|0000|1167”,其中“中”对应“0222”,“国”对应“1167”,字符之间用“0000”间隔。进一步对应的矩阵表示为:

从而,通过上述的步骤21~24,完成了中文字符的数字唯一矢量化表示。

本发明的第三实施方式详述了步骤2中的基于中文字符的数字唯一矢量化表示的文本序列输入到卷积神经网络进行智能深度模型的文本分类方法,其中卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈神经网络,由一个或多个卷积层和顶端的全连通层组成,这一结构使得卷积神经网络能够利用输入数据的二维结构。在本实施例中,具体流程如图5所示。

步骤51,中文字符的数字唯一可译标量经过二维连续空间单位矢量被映射为矩阵的文本序列后,将矩阵形态的文本序列输入到深度模型的第一层卷积神经网络。

在本步骤中,中文字符的数字唯一矢量化表示,即中文字符经过二维连续空间单位矢量被映射为矩阵的文本序列,每个中文字符对应一个4×2矩阵的文本序列。当要表达多个中文字符时,每个字符之间用特定的数字字符‘0000’间隔。此外,为了便于输入,可以将矩阵变成竖式的文本序列。如图6所示,以“我爱人工智能与自然语言”为例,对应一个96×2矩阵的文本序列。

将中文字符的的数字唯一矢量化表示的文本序列输入到第一层卷积神经网络,其中,因为采用了上述二维单位矢量表示,所以选取输入的通道数为2,从而可以整体读取每个中文字符对应的二维矢量。

步骤52,第一层卷积神经网络对输入的文本序列进行卷积,提取文本序列的特征并得到第一卷积结果和第二卷积结果,将第一卷积的结果通过激活函数进行处理。

在本步骤中,采用1d卷积网络的结构对输入的文本序列进行卷积,来提取文本序列的特征。其中,选取一维卷积核宽度,例如为3,因为在文本序列数据处理中,卷积核宽度为3时综合性能最优,这样可以提取该位置数字的前一位数字和相邻后一位数字的信息,有效的提取中文字符之间语义相关性信息,从而更好的地提取文本序列的上下文结构特征。设定输出通道数为4,这样可以做到同时提取特定位置文本序列上下文的多种差异性特征。

上述的1d卷积用于处理时间序列数据,区别于2d卷积之于图像数据,依时间序列方向对文本序列提取特征。具体地,当前时刻输入的文本序列结合上一个时刻与下一个时刻输入的文本序列进行线性加权求和并且添加偏置,得到第一卷积结果和第二卷积结果,如图7所示,假设左边的为第一卷积结果,右边的为第二卷积结果,分别表示为x×w+b和x×v+c,其中x表示输入的经过矢量化之后的文本序列数据,w和v分别表示加权矩阵,形态为3×4矩阵,其中矩阵w和v的参数不相同,b和c分别表示偏置,数值也是不相同的。然后,将第一卷积的结果通过relu激活函数进一步做非线性处理,该relu激活函数对小于等于0的输入值输出为0,对大于0的输入值,输出值等于输入值。

步骤53,将经过激活函数处理的第一卷积处理结果与第二卷积结果进行按位相乘,使得按位相乘后得到的结果矩阵形态与卷积阶段的第一卷积结果和第二卷积结果的数据形态相同。

步骤54,将按位相乘后得到的结果经过复合激活处理的多通道序列,输出作为下一层卷积神经网络的输入。

步骤55,下一层卷积神经网络对输入的文本序列重复进行输入、卷积、位乘和输出,直到到达顶端并从顶层输出提取的文本特征信息。

在本步骤中,通过上述的输入、卷积、位乘和输出的操作,第一层卷积神经网络的运算结果就作为下一层卷积神经网络的输入,按照上述流程进行第二层的卷积运算,并以此类推,叠加共进行九层的深度模型的运算,从而有效提取文本的特征信息,最后的输出端可以采用全连接经过柔性最大化实现分类,其中柔性最大化(softmax)实现分类用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,来进行多分类。

本发明的第四实施方式详述了步骤3中通过训练数据的学习,使深度模型提供智能文本分类的详细描述。

首先将样本数据分为三组,分别为训练集、验证集和测试集,数据规模预先设定,例如比例为8:1:1;接着,基于训练集上,通过不断优化模型超参数使得系统的准确率尽可能提升,准确率主要看在验证集上的表现,一般情况下,模型在训练集上的损失函数值会随着训练的进行越来越小,其准确率会越来越高,同时,模型在验证集上的准确率也会伴随着越来越高,随着训练轮数的增加,到了一定阶段,训练集上的准确率一直增加,可是验证集上的准确率渐渐开始降低,那么,此时表示模型开始出现过拟合,所以训练结束;最后,模型在测试集上表现的准确率就是训练好的结果,模型完成了学习,从而使深度模型可以提供智能文本分类功能。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1