一种文本分类方法和装置
技术领域
本申请涉及文本处理技术领域,尤其涉及一种文本分类方法和装置。
背景技术
随着文本信息的快速增长,特别是互联网中在线文本信息的激增,文本分类已经成为处理大量文档数据的关键技术,并广泛应用于各个领域。例如,在风险监控的场景中,可以对用户举报的文本进行分类,确定用户的举报是否为恶意举报或错误举报等。
现有技术在进行文本分类时,通常可以采用机器学习算法对不同类型的文本的关键词进行学习训练,基于训练得到的模型进行文本分类。然而,在实际应用中,这种文本分类方法通常无法准确地识别文本想要表达的真实含义,导致文本分类结果的准确度较低。
发明内容
本申请实施例提供一种文本分类方法和装置,用于解决在采用机器学习算法基于关键词对文本进行分类时,分类结果的准确度较低的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种文本分类方法,包括:
获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
第二方面,提出一种文本分类装置,包括:
第一获取单元,获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
第二获取单元,获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
分类单元,根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,在进行模型训练时,由于可以将文本的字音和字形中的至少一种作为样本特征,并使用卷积神经网络对样本特征进行模型训练得到分类模型,因此,在进行文本分类时,可以利用蕴藏在文本内部更深层的特征以及文本的上下文关系,准确得到文本的类型。此外,基于卷积神经网络对文本的字音和字形中的至少一种特征进行模型训练,得到的分类模型的适用范围较广,具有很好的鲁棒性,不会由于文本内容的轻微变化(例如错别字)造成识别结果的偏移。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例文本分类方法的流程示意图;
图2是本申请的一个实施例获取字音词向量对应的文本特征的示意图;
图3是本申请的一个实施例获取字形词向量对应的文本特征的示意图;
图4是本申请的一个实施例获取字义词向量对应的文本特征的示意图;
图5是本申请的一个实施例卷积神经网络模型的示意图;
图6是本申请的一个实施例卷积神经网络模型的示意图;
图7是本申请的一个实施例文本分类方法的流程示意图;
图8是本申请的一个实施例电子设备的结构示意图;
图9是本申请的一个实施例文本分类装置的结构示意图。
具体实施方式
现有的文本分类方法中,通常可以采用机器学习算法训练得到分类模型,基于分类模型实现文本分类。具体地,首先,可以获取训练样本,该训练样本可以是已知类型的多个不同文本;其次,提取训练样本中的关键词,该关键词可以理解为用于进行模型训练的样本特征;再次,采用机器学习算法对提取的关键词进行学习训练,并得到分类模型;最后,应用分类模型对待分类文本进行分类,得到待分类样本的类型。
然而,在实际应用中,上述文本分类方法在进行模型训练时,由于是对样本的关键词进行学习训练,没有利用文本的上下文关系,因此,在基于训练得到的分类模型进行文本分类时,通常无法识别文本真正想要表达的含义,导致分类结果的准确度较低,特别是在文本包含错别字的情况下,由于无法准确识别错别字,导致分类结果的准确度较低。
由此可见,现有的文本分类方法在基于关键词进行文本分类时,分类结果的准确度较低。
此外,现有的文本分类方法在进行模型训练之前,需要从训练样本中提取关键词(即样本特征),由于训练样本的数量通常比较多,因此,需要花费大量的时间,不便于快速训练得到分类模型。
为了解决上述技术问题,本申请实施例提供一种文本分类方法和装置,该方法包括:获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同训练文本的文本特征和所述不同训练文本的类型进行训练得到;根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
本申请实施例提供的技术方案,在进行模型训练时,由于可以将文本的字音和字形中的至少一种作为样本特征,并使用卷积神经网络对样本特征进行模型训练得到分类模型,因此,在进行文本分类时,可以利用蕴藏在文本内部更深层的特征以及文本的上下文关系,准确得到文本的类型。此外,基于卷积神经网络对文本的字音和字形中的至少一种特征进行模型训练,得到的分类模型的适用范围较广,具有很好的鲁棒性,不会由于文本内容的轻微变化(例如错别字)造成识别结果的偏移。
本申请实施例相较于现有的文本分类方法而言,由于无需花费大量的时间进行关键字的提取,因此,可以节省整个模型训练过程所需的时间;由于可以基于文本的字音和字形中的至少一种进行模型训练,因此,当待分类文本中包含错别字时,可以结合待分类文本的字音和字形中的至少一种准确识别错别字,进而得到较为准确的分类结果。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的技术方案,可以应用于风险监控的应用场景中。具体地,在风险监控的应用场景中,用户可以采用上传文本的方式举报安全风险,监控系统在接收到用户上传的文本后,可以对文本进行分类,确定用户的举报是否为恶意举报或错误举报,如果用户的举报为正常举报,还可以确定用户举报的文本属于刷单还是冒充亲友等。
此外,本申请实施例提供的技术方案还可以应用于其他需要进行文本分类的应用场景中,例如,在阅读软件中,可以对某一本书的所有评论进行分类,确定这些评论中哪些属于好评、哪些属于中评或差评等,这里不再对其他应用场景一一举例说明。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例文本分类方法的流程示意图。所述方法如下所述。
S102:获取待分类文本的文本特征。
在S102中,在对待分类文本进行分类时,可以获取待分类文本的文本特征。
本申请实施例中,待分类文本的文本特征可以包括待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种。所述字音词向量对应的文本特征可以理解为,对待分类文本的字音词向量进行处理得到的文本特征,所述字形词向量对应的文本特征可以理解为,对待分类文本的字形词向量进行处理后得到的文本特征。
需要说明的是,上述记载的对字音词向量/字形词向量的处理可以理解为,将字音词向量/字形词向量的维度转化为设定维度,以便输入后续记载的分类模型中,实现对待分类文本的分类。
在一种实现方式中,当所述待分类文本的文本特征中包括字音词向量对应的文本特征时,获取待分类文本的文本特征,可以包括:
将所述待分类文本转化为拼音;
对所述拼音中的多个字母进行分组,得到多组拼音;
根据所述多组拼音以及预先训练得到的字音词向量模型,得到与所述多组拼音对应的多个字音词向量,所述字音词向量模型基于word2vector算法对不同文本的拼音进行训练得到;
对所述多个字音词向量进行截断或填充处理,得到所述待分类文本的字音词向量对应的文本特征。
这里为了便于说明,可以以待分类文本为“学好中文很重要”为例,具体实现方式请参见图2。
图2中,在获取“学好中文很有用”的字音词向量对应的文本特征时,可以将“学好中文很有用”转化为汉语拼音,即转化为“xue hao zhong wen hen you yong”。
在得到拼音“xue hao zhong wen hen you yong”后,可以对该拼音进行分组,得到多组拼音。
本申请实施例在对拼音进行分组时,为了结合文本的上下文关系,可以采用汉语语言模型N-Gram方法进行分组,即以N个字母作为滑动窗口,以一个字母为步长,依次向右滑动,直到拼音中最后一个字母为止。其中,在滑动的过程中,可以将每次滑动时滑动窗口中的N个字母作为一组拼音,最终得到多组拼音。
所述N可以是大于等于3的整数,优选地,所述N可以是3、4或5。
以N为3为例,在采用3-Gram方法对拼音“xue hao zhong wen hen you yong”进行分组后,可以得到以下多组拼音:“xue”、“ueh”、“eha”、“hao”、“aoz”、“ozh”、“zho”、“hon”、“ong”、“ngw”、“gwe”、“wen”、“enh”、“nhe”、“hen”、“eny”、“nyo”、“you”、“ouy”、“uyo”、“yon”、“ong”。
在得到多组拼音后,可以将多组拼音依次输入预先训练得到的字音词向量模型中,得到与多组拼音对应的多个字音词向量,其中,一组拼音可以对应一个字音词向量。
所述字音词向量模型可以基于word2vector算法(以下简称word2vec算法)对不同文本的拼音进行训练得到。具体地,首先,可以获取大量不同的文本,这里为了保证文本能够满足后续的模型训练需求,可以从汉语字典中获取不同的文本;其次,将获取的文本转化为拼音;最后,基于word2vec算法对不同文本的拼音进行学习训练,最终可以得到所述字音词向量模型。
上述训练字音词向量模型的每个步骤的具体实现方式,可以参见现有技术中记载的相关内容,这里不再赘述。
在训练得到字音词向量模型后,针对待分类文本“学好中文很有用”的多组拼音,基于所述字音词向量模型可以得到多个字音词向量,多个字音词向量可以表示为:词向量(xue)、词向量(ueh)、词向量(eha)、词向量(hao)、词向量(aoz)、词向量(ozh)、词向量(zho)、词向量(hon)、词向量(ong)、词向量(ngw)、词向量(gwe)、词向量(wen)、词向量(enh)、词向量(nhe)、词向量(hen)、词向量(eny)、词向量(nyo)、词向量(you)、词向量(ouy)、词向量(uyo)、词向量(yon)、词向量(ong)。
在得到多个字音词向量后,可以对多个字音词向量进行处理得到字音词向量对应的文本特征。这里的对多个字音词向量的处理可以是截断处理,也可以是填充处理。
具体地,可以预先设置一设定维度M,在对多个字音词向量进行处理时,可以判断字音词向量的个数与M的大小关系,当字音词向量的个数大于M时,可以从前往后对多个字音词向量进行截断处理,得到M个字音词向量;当字音词向量的个数小于M时,可以在多个字音词向量中填充若干个词向量,以得到M个字音词向量,其中,填充的词向量可以表示为“0”,填充的位置可以在多个字音词向量之前,也可以在多个字音词向量之后;当字音词向量的个数等于M时,可以无需对多个字音词向量进行处理,并将多个字音词向量作为字音词向量对应的文本特征。
需要说明的是,在实际应用中,所述设定维度M可以根据实际情况确定,这里不做具体限定。
图2中,假设设定维度M为10,则可以得到“学好中文很有用”的字音词向量对应的文本特征为“词向量(xue)、词向量(ueh)、词向量(eha)、词向量(hao)、词向量(aoz)、词向量(ozh)、词向量(zho)、词向量(hon)、词向量(ong)、词向量(ngw)”。
在一种实现方式中,当待分类文本的文本特征中包括字形词向量对应的文本特征时,获取所述待分类文本的文本特征,可以包括:
确定所述待分类文本对应的多个笔画;
对所述多个笔画进行分组,得到多组笔画;
根据所述多组笔画以及预先训练得到的字形词向量模型,得到与所述多组笔画对应的多个字形词向量,所述字形词向量模型基于word2vector算法对不同文本的笔画进行训练得到;
对所述多个字形词向量进行截断或填充处理,得到所述待分类文本的字形词向量对应的文本特征。
这里为了便于说明,可以以待分类文本为“大家好”为例,具体实现方式请参见图3。
图3中,在获取“大家好”的字形词向量对应的文本特征时,可以将“大家好”转化为多个笔画,本实施例可以将“大家好”转化多个笔画:“横、撇、捺、点、点、横钩、横、撇、弯钩、撇、撇、撇、捺、撇点、撇、横、横钩、竖钩、横”。
在得到多个笔画“横、撇、捺、点、点、横钩、横、撇、弯钩、撇、撇、撇、捺、撇点、撇、横、横钩、竖钩、横”后,可以对该多个笔画进行分组,得到多组笔画。
本申请实施例在对多个笔画进行分组时,为了结合文本的上下文关系,也可以采用汉语语言模型N-Gram方法进行分组,即以N个笔画作为滑动窗口,以一个笔画为步长,依次向右滑动,直到多个笔画中最后一个笔画为止。其中,在滑动的过程中,可以将每次滑动时滑动窗口中的N个笔画作为一组笔画,最终得到多组笔画。
所述N可以是大于等于3的整数,优选地,所述N可以是3、4或5。
以N为3为例,在采用3-Gram方法对多个笔画“横、撇、捺、点、点、横钩、横、撇、弯钩、撇、撇、撇、捺、撇点、撇、横、横钩、竖钩、横”进行分组后,可以得到以下多组笔画:“横撇捺”、“撇捺点”、“捺点点”、“点点横钩”、“点横钩横”、“横钩横撇”、“横撇弯钩”、“撇弯钩撇”、“弯钩撇撇”、“撇撇撇”、“撇撇捺”、“撇捺撇点”、“捺撇点撇”、“撇点撇横”、“撇横横钩”、“横横钩竖构”、“横钩竖钩横”。
在得到多组笔画后,可以将多组笔画依次输入预先训练得到的字形词向量模型中,得到与多组笔画对应的多个字形词向量,其中,一组笔画可以对应一个字形词向量。
所述字形词向量模型可以基于word2vec算法对不同文本的笔画进行训练得到。具体地,首先,可以获取大量不同的文本,这里为了保证文本能够满足后续的模型训练需求,也可以从汉语字典中获取不同的文本;其次,将获取的文本按照上述记载的方法转化为笔画;最后,基于word2vec算法对不同文本的笔画进行学习训练,最终可以得到所述字形词向量模型。
上述训练字形词向量模型的每个步骤的具体实现方式,可以参见现有技术中记载的相关内容,这里不再赘述。
在训练得到字形词向量模型后,针对待分类文本“大家好”的多组笔画,基于所述字形词向量模型可以得到多个字形词向量,多个字形词向量可以表示为:词向量(横撇捺)、词向量(撇捺点)、词向量(捺点点)、词向量(点点横钩)、词向量(点横钩横)、词向量(横钩横撇)、词向量(横撇弯钩)、词向量(撇弯钩撇)、词向量(弯钩撇撇)、词向量(撇撇撇)、词向量(撇撇捺)、词向量(撇捺撇点)、词向量(捺撇点撇)、词向量(撇点撇横)、词向量(撇横横钩)、词向量(横横钩竖构)、词向量(横钩竖钩横)。
在得到多个字形词向量后,可以对多个字形词向量进行处理得到字形词向量对应的文本特征。这里的对多个字形词向量的处理可以是截断处理,也可以是填充处理。
具体地,可以预先设置一设定维度P,在对多个字形词向量进行处理时,可以判断字形词向量的个数与P的大小关系,当字形词向量的个数大于P时,可以从前往后对多个字形词向量进行截断处理,得到P个字形词向量;当字形词向量的个数小于P时,可以在多个字形词向量中填充若干个词向量,以得到P个字形词向量,其中,填充的词向量可以表示为“0”,填充的位置可以在多个字形词向量之前,也可以在多个字形词向量之后;当字形词向量的个数等于P时,可以无需对多个字形词向量进行处理,并将多个字形词向量作为字形词向量对应的文本特征。
需要说明的是,在实际应用中,所述设定维度P可以根据实际情况确定,这里不做具体限定。
图3中,假设设定维度P为8,则可以得到“大家好”的字形词向量对应的文本特征为:词向量(横撇捺)、词向量(撇捺点)、词向量(捺点点)、词向量(点点横钩)、词向量(点横钩横)、词向量(横钩横撇)、词向量(横撇弯钩)、词向量(撇弯钩撇)。
在本申请的另一个实施例中,所述待分类文本的文本特征还可以包括字义词向量对应的文本特征,当所述待分类文本的文本特征包括字义词向量对应的文本特征时,获取所述待分类文本的文本特征,可以包括:
对所述待分类文本进行分词处理,得到多组分词;
根据所述多组文本以及预先训练得到的字义词向量模型,得到与所述多组分词对应的多个字义词向量,所述字义词向量模型基于word2vector算法对不同文本的分词进行训练得到;
对所述多个字义词向量进行截断或填充处理,得到所述待分类文本的字义词向量对应的文本特征。
这里为了便于说明,可以仍以待分类文本为“学好中文很有用”为例,具体实现方式请参见图4。
图4中,在获取“学好中文很有用”的字义词向量对应的文本特征时,可以对“学好中文很有用”进行分词处理,得到多个分词。
在对待分类文本进行分词处理时,可以按照常规的分词方法进行分词,即将待分类文本中相邻的属于词组的多个汉字划分为一组,将相邻的不属于词组的一个或多个汉字分别划份为一组。
在对“学好中文很重要”进行分词处理后,可以得到多组分词:“学”、“好”、“中文”、“很”、“有用”。
在得到多组分词“学”、“好”、“中文”、“很”、“有用”后,可以将多组分词依次输入预先训练得到的字义词向量模型中,得到与多组分词对应的多个字义词向量,其中,一组分词可以对应一个字义词向量。
所述字义词向量模型可以基于word2vec算法对不同分词进行训练得到。具体地,首先,可以获取大量不同的分词,这里为了保证文本能够满足后续的模型训练需求,可以从词库中获取不同的分词,所述词库中可以包括单个汉字,也可以包括多个汉字构成的词语;其次,基于word2vec算法对不同的分词进行学习训练,最终可以得到所述字义词向量模型。
上述训练字义词向量模型的每个步骤的具体实现方式,可以参见现有技术中记载的相关内容,这里不再赘述。
在训练得到字义词向量模型后,针对待分类文本“学好中文很有用”的多组分词,基于所述字义词向量模型可以得到多个字义词向量,多个字义词向量可以表示为:词向量(学)、词向量(好)、词向量(中文)、词向量(很)、词向量(有用)。
在得到多个字义词向量后,可以对多个字义词向量进行处理得到字义词向量对应的文本特征。这里的对多个字义词向量的处理可以是截断处理,也可以是填充处理。
具体地,可以预先设置一设定维度Q,在对多个字义词向量进行处理时,可以判断字义词向量的个数与Q的大小关系,当字义词向量的个数大于Q时,可以从前往后对多个字义词向量进行截断处理,得到Q个字义词向量;当字义词向量的个数小于Q时,可以在多个字义词向量中填充若干个词向量,以得到Q个字义词向量,其中,填充的词向量可以表示为“0”,填充的位置可以在多个字义词向量之前,也可以在多个字义词向量之后;当字义词向量的个数等于Q时,可以无需对多个字义词向量进行处理,并将多个字义词向量作为字义词向量对应的文本特征。
需要说明的是,在实际应用中,所述设定维度Q可以根据实际情况确定,这里不做具体限定。
图4中,假设设定维度Q为6,则可以得到“学好中文很有用”的字义词向量对应的文本特征为“词向量(学)、词向量(好)、词向量(中文)、词向量(很)、词向量(有用)、0”。
需要说明的是,针对上述记载的字音词向量对应的文本特征、字形词向量对应的文本特征以及字义词向量对应的文本特征这三种文本特征,本申请实施例获取的待分类文本的文本特征需要包括字音词向量对应的文本特征以及字形词向量对应的文本特征中的至少一种,在此基础上,可以选择包括字义词向量对应的文本特征。
作为一种优选地方式,为了尽可能地提高分类结果的准确度,获取的待分类文本的文本特征可以包括字音词向量对应的文本特征、字形词向量对应的文本特征以及字义词向量对应的文本特征这三种文本特征。
S104:获取预先训练得到的分类模型。
在S104中,在获取到待分类文本的文本特征后,可以获取预先训练得到的分类模型。所述分类模型可以预先基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到。
在本申请的一个实施例中,所述分类模型可以通过以下方式训练得到:
获取不同类型的训练文本;
确定所述训练文本的文本特征,所述训练文本的文本特征包括所述训练文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
构建卷积神经网络模型;
将所述训练文本的文本特征输入所述卷积神经网络模型中,训练得到所述分类模型。
所述训练文本的类型可以通过人工标注。以风险监控的场景为例,在获取不用类型的训练文本时,首先,可以收集用户举报的大量的历史文本;其次,人工设定不同的文本类型,例如:恶意举报、刷单、冒充亲友等;最后,基于设定的文本类型对获取的历史文本进行人工标注,确定历史文本的文本类型,并将不同类型的历史文本作为训练文本。
在其他应用场景中,也可以基于上述记载的方法获取历史文本,并人工设定与应用场景对应的文本类型,得到与应用场景对应的训练文本。例如,在阅读软件中,可以获取用户的历史评论,人工设定评论的文本类型,如好评、中评、差评等,通过人工标注的方式得到不同历史评论的类型,最终得到针对阅读软件这一应用场景的训练文本。
在获取到不同类型的训练文本后,可以进一步确定不同类型的训练文本的文本特征。其中,训练文本的文本特征可以包括训练文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种,在此基础上,训练文本的文本特征还可以包括训练文本的字义词向量对应的文本特征。
本申请实施例中,当训练文本的文本特征包括字音词向量对应的文本特征时,确定训练文本的文本特征可以参见上述S102中记载的获取待分类文本的字音词向量对应的文本特征的方法,这里不再重复说明。
当训练文本的文本特征包括字形词向量对应的文本特征时,确定训练文本的文本特征可以参见上述S102中记载的获取待分类文本的字形词向量对应的文本特征的方法,这里不再重复说明。
当训练文本的文本特征还包括字义词向量对应的文本特征时,确定训练文本的文本特征可以参见上述S102中记载的获取待分类文本的字义词向量对应的文本特征的方法,这里也不再重复说明。
需要说明的是,本申请实施例中训练文本的文本特征需要与待分类文本的文本特征保持一致,例如,当待分类文本的文本特征为字音词向量对应的文本特征时,训练文本的文本特征也为字音词向量对应的文本特征;当待分类文本的文本特征为字形词向量对应的文本特征时,训练文本的文本特征也为字形词向量对应的文本特征。
在确定不同类型的训练文本的文本特征后,可以构建卷积神经网络模型。本申请实施例中,所述卷积神经网络模型可以包括输入层、卷积层、池化层、全连接层以及输出层。
所述输入层用于表征文本的文本特征;所述卷积层可以用于对所述输入层的文本特征进行卷积处理,得到卷积层特征;所述池化层用于对所述卷积层特征进行池化处理,得到池化层特征,所述池化层可以起到对卷积层降维的作用,以简化训练的特征数据。所述池化层特征可以通过所述全连接层映射到所述输出层,所述输出层用于表征文本的类型。其中,所述卷积层、所述池化层以及所述全连接层可以视为卷积神经网络的隐藏层。
需要说明的是,所述卷积神经网络模型中卷积层、池化层和全连接层的个数可以均为一个,也可以是所述卷积层、池化层和全连接层中至少一种的个数为多个。例如,卷积神经网络模型中,卷积层、池化层和全连接层的个数均为2个。为了便于理解,以下可以以卷积神经网络模型中卷积层、池化层和全连接层的个数均为一个为例进行说明。
在本申请的一个实施例中,当训练文本的文本特征包含字音词向量对应的文本特征或字形词向量对应的文本特征时,构建的卷积神经网络模型可以如图5所示。
图5中,卷积神经网模型可以包含输入层、卷积层、池化层、全连接层以及输出层,其中,输入层中的x1、x2、x3(实际应用中不止3个)代表训练文本的文本特征,输出层可以代表训练文本的类型。
卷积层、池化层以及全连接层各一个。其中,卷积层中的a11、a21、a31都可以看作一个滤波器,池化层中的a12和a22可以看作池化处理的参数,从图5可以看出,池化层降低了卷积层的维度,全连接层中的g1和g2可以看作全连接层的参数。
在本申请的另一个实施例中,当训练文本的文本特征包含字音词向量对应的文本特征以及字形词向量对应的文本特征中的至少一种(或者在此基础上还包括字义词向量对应的文本特征)时,构建的卷积神经网络模型可以如图6所示。
图6中,训练文本的文本特征可以包括字音词向量对应的文本特征、字形词向量对应的文本特征以及字义词向量对应的文本特征共三种文本特征,其中,输入层中的x1、x2、x3可以代表训练文本的字音词向量对应的文本特征,m1、m2、m3可以代表训练文本的字形词向量对应的文本特征,n1、n2、n3可以代表训练文本的字义词向量对应的文本特征,输出层可以代表训练文本的类型
在构建卷积神经网络模型时,每种文本特征可以分别对应各自的卷积层和池化层,针对全连接层,可以将三种文本特征对应的池化层特征进行拼接,并基于三种文本特征对应的池化层特征构建全连接层,使得三种文本特征的池化层特征可以通过全连接层映射到输出层。
当训练文本的文本特征包含两种或更多种时,构建的卷积神经网络模型的结构可以与图6所示的卷积神经网络模型类似,这里不再一一举例说明。
在构建得到卷积神经网络模型后,可以将不同类型的训练文本的文本特征输入卷积神经网络模型的输入层,并训练得到分类模型。
在本申请的一个实施例中,当训练文本的文本特征包含字音词向量对应的文本特征或字形词向量对应的文本特征时,将所述训练文本的文本特征输入所述卷积神经网络模型中,训练得到所述分类模型,可以包括:
以所述训练文本的文本特征作为所述输入层,并对所述训练文本的文本特征进行卷积处理,得到卷积层特征;
对所述卷积层特征进行池化处理,得到池化层特征;
将所述池化层特征通过所述全连接层映射到所述输出层,训练得到所述分类模型。
本实施例可以基于上述图5所示的卷积神经网络模型进行模型训练。
具体地,在对训练文本的文本特征进行卷积处理时,可以使用不同的“滤波器”进行多次卷积处理,最终可以得到训练文本对应的卷积层特征。其中,卷积处理的具体实现方式可以参见现有技术中卷积处理的相关的内容,这里不再重复说明。
在得到卷积层特征后,可以对卷积层特征进行池化处理,以降低卷积层的维度,提高模型训练的速度。在进行池化处理后,可以得到训练文本对应的池化层特征。
在得到池化层特征后,可以将池化层特征通过一个全连接层映射到卷积神经网络模型的输出层,最终可以训练得到用于对文本分类的分类模型。
在本申请的另一个实施例中,当训练文本的文本特征包含多种时(该多种文本特征需要包含字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种),可以基于上述图6所示的卷积神经网络模型进行模型训练。
具体地,可以采用上述记载的方法,将多种文本特征作为卷积神经网络模型的输入层,针对每种文本特征而言,可以分别按照上述记载的方法进行卷积处理和池化处理,得到多种文本特征各自对应的池化层特征。
在得到多种文本特征各自对应的池化层特征后,可以将多种文本特征各自对应的池化层特征拼接,将拼接得到的池化层特征通过所述全连接层映射到卷积神经网络模型的输出层,最终训练得到所述分类模型。
在基于上述记载的方法训练得到分类模型后,在对待分类文本进行分类时,可以获取训练得到的分类模型,并执行S106。
S106:根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
在S106中,可以将S102中记载的待分类分文的文本特征输入S104中训练得到的分类模型中,得到分类模型的输出结果,该输出结果可以表征待分类文本的类型。
本申请实施例中,待分类文本的文本特征的种类与训练分类模型时训练文本的文本特征种类相同,且,针对其中一种文本特征,待分类文本的文本特征的维度也与训练文本的文本特征的维度相同,这样,可以基于分类模型实现对待分类文本的分类。
本申请实施例提供的技术方案,在进行模型训练时,由于可以将文本的字音和字形中的至少一种作为样本特征,并使用卷积神经网络对样本特征进行模型训练得到分类模型,因此,在进行文本分类时,可以利用蕴藏在文本内部更深层的特征以及文本的上下文关系,准确得到文本的类型。此外,基于卷积神经网络对文本的字音和字形中的至少一种特征进行模型训练,得到的分类模型的适用范围较广,具有很好的鲁棒性,不会由于文本内容的轻微变化(例如错别字)造成识别结果的偏移。
相较于现有的文本分类方法而言,由于无需花费大量的时间进行关键字的提取,因此,可以节省整个模型训练过程所需的时间;由于可以基于文本的字音和字形中的至少一种进行模型训练,因此,当待分类文本中包含错别字时,可以结合待分类文本的字音和字形中的至少一种准确识别错别字,进而得到较为准确的分类结果。
为了便于理解整个技术方案,请参见图7。图7为本申请的一个实施例文本分类方法的流程示意图。本实施例以待分类文本的文本特征包括字音词向量对应的文本特征、字形词向量对应的文本特征、字形词向量对应的文本特征三种文本特征为例进行说明。
S701:获取不同类型的训练文本。
在S701中,在训练分类模型时,可以获取不同的历史文本,并采用人工标注的方法确定不同历史文本的类型,根据对历史文本的标注结果可以得到不同类型的训练文本。
S702:确定所述训练文本的字音词向量对应的文本特征、字形词向量对应的文本特征和字义词向量对应的文本特征。
在S702中,可以基于上述图1所示实施例中记载的方法,确定训练文本的字音词向量对应的文本特征、字形词向量对应的文本特征和字义词向量对应的文本特征,这里不再重复说明。
S703:构建卷积神经网络模型。
所述卷积神经网络模型中可以包括输入层、卷积层、池化层、全连接层以及输出层,其中,所述输入层用于表征文本的文本特征;所述卷积层用于对训练文本的文本特征进行卷积处理,并得到卷积层特征;所述池化层用于对卷积层特征进行池化处理,以降低卷积层的维度,并得到池化层特征;所述池化层特征可以通过所述全连接层映射到所述输出层,所述输出层用于表征文本的类型。
本申请实施例构建的卷积神经网络模型的结构与上述图6所示的卷积神经网络模型的结构类似,这里不再重复描述。
S704:将所述训练文本的文本特征输入所述卷积神经网络模型中,训练得到所述分类模型。
在S704中,针对上述三种文本特征,可以基于图1所示实施例中记载的方法分别得到各自对应的池化层特征。
在得到三种文本特征各自对应的池化层特征后,可以将所有的池化层特征拼接,通过全连接层映射到输出层,通过学习训练,最终可以训练得到所述分类模型。
S705:获取待分类文本的字音词向量对应的文本特征、字形词向量对应的文本特征和字义词向量对应的文本特征。
在S705中,在对待分类文本进行分类时,可以基于上述图1所示实施例中记载的方法,确定待分类文本的字音词向量对应的文本特征、字形词向量对应的文本特征和字义词向量对应的文本特征。
获取得到的待分类文本的各文本特征的维度需要与S702中训练文本的各文本特征的维度一一对应。
S706:根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
在S706中,可以将待分类文本的字音词向量对应的文本特征、字形词向量对应的文本特征和字义词向量对应的文本特征,输入S704中训练得到分类模型中,从而可以得到待分类文本的类型。
本申请实施例提供的技术方案,在进行模型训练时,由于可以将文本的字音、字形和字义作为样本特征,并使用卷积神经网络对样本特征进行模型训练得到分类模型,因此,在进行文本分类时,可以利用蕴藏在文本内部更深层的特征以及文本的上下文关系,准确得到文本的类型。此外,基于卷积神经网络对文本的字音、字形和字义三种特征进行模型训练,得到的分类模型的适用范围较广,具有很好的鲁棒性,不会由于文本内容的轻微变化(例如错别字)造成识别结果的偏移。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图8是本申请的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成文本分类装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
上述如本申请图8所示实施例揭示的文本分类装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图7的方法,并实现文本分类装置在图1和图7所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图7所示实施例的方法,并具体用于执行以下操作:
获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
图9是本申请的一个实施例文本分类装置90的结构示意图。请参考图9,在一种软件实施方式中,所述文本分类装置90可包括:第一获取单元91、第二获取单元92和分类单元93,其中:
第一获取单元91,获取待分类文本的文本特征,所述文本特征包括所述待分类文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
第二获取单元92,获取预先训练得到的分类模型,所述分类模型基于卷积神经网络对不同类型的训练文本的文本特征进行训练得到;
分类单元93,根据所述待分类文本的文本特征以及所述分类模型,确定所述待分类文本的类型。
可选地,当所述待分类文本的文本特征中包括字音词向量对应的文本特征时,所述第一获取单元91获取待分类文本的文本特征,包括:
将所述待分类文本转化为拼音;
对所述拼音中的多个字母进行分组,得到多组拼音;
根据所述多组拼音以及预先训练得到的字音词向量模型,得到与所述多组拼音对应的多个字音词向量,所述字音词向量模型基于word2vector算法对不同文本的拼音进行训练得到;
对所述多个字音词向量进行截断或填充处理,得到所述待分类文本的字音词向量对应的文本特征。
可选地,所述第一获取单元91,对所述拼音中的多个字母进行分组,得到多组拼音,包括:
采用汉语语言模型N-Gram方法对所述拼音中的多个字母进行分组,得到多组拼音,其中,所述N为大于等于3的整数。
可选地,当所述待分类文本的文本特征中包括字形词向量对应的文本特征时,所述第一获取单元91获取所述待分类文本的文本特征,包括:
确定所述待分类文本对应的多个笔画;
对所述多个笔画进行分组,得到多组笔画;
根据所述多组笔画以及预先训练得到的字形词向量模型,得到与所述多组笔画对应的多个字形词向量,所述字形词向量模型基于word2vector算法对不同文本的笔画进行训练得到;
对所述多个字形词向量进行截断或填充处理,得到所述待分类文本的字形词向量对应的文本特征。
可选地,所述第一获取单元91,对所述多个笔画进行分组,得到多组笔画,包括:
采用N-Gram方法对所述多个笔画进行分组,得到多组笔画,其中,所述N为大于等于3的整数。
可选地,所述第二获取单元92,通过以下方式训练得到所述分类模型:
获取不同类型的训练文本;
确定所述训练文本的文本特征,所述训练文本的文本特征包括所述训练文本的字音词向量对应的文本特征和字形词向量对应的文本特征中的至少一种;
构建卷积神经网络模型;
将所述训练文本的文本特征输入所述卷积神经网络模型中,训练得到所述分类模型。
可选地,所述卷积神经网络模型中包括输入层、卷积层、池化层、全连接层以及输出层,其中,所述输入层用于表征文本的文本特征,所述输出层用于表征文本的类型。
可选地,所述第二获取单元92,将所述训练文本的文本特征输入所述卷积神经网络模型中,训练得到所述分类模型,包括:
以所述训练文本的文本特征作为所述输入层,并对所述训练文本的文本特征进行卷积处理,得到卷积层特征;
对所述卷积层特征进行池化处理,得到池化层特征;
将所述池化层特征通过所述全连接层映射到所述输出层,训练得到所述分类模型。
可选地,所述第二获取单元92,将所述池化层特征通过所述全连接层映射到所述输出层,训练得到所述分类模型,包括:
当所述训练文本的文本特征包含多种时,将所述多种文本特征各自对应的池化层特征拼接;
将拼接得到的池化层特征通过所述全连接层映射到所述输出层,训练得到所述分类模型。
可选地,所述第一获取单元91获取的所述待分类文本的文本特征还包括字义词向量对应的文本特征;
其中,所述第一获取单元91获取待分类文本的文本特征,包括:
对所述待分类文本进行分词处理,得到多组分词;
根据所述多组文本以及预先训练得到的字义词向量模型,得到与所述多组分词对应的多个字义词向量,所述字义词向量模型基于word2vector算法对不同文本的分词进行训练得到;
对所述多个字义词向量进行截断或填充处理,得到所述待分类文本的字义词向量对应的文本特征。
本申请实施例提供的文本分类装置90还可执行图1和图7的方法,并实现文本分类装置在图1和图7所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。