本发明涉及信息处理技术领域,特别涉及一种多文本分类方法和装置。
背景技术:
近年来,随着评论、留言、自媒体文章等文本数据迅速增长,文本分类作为自然语言处理中重要任务,得到了快速的发展。根据使用方法可以分为如下两类:
1)基于传统机器学习方法。基于传统机器学习方法的文本分类忽略了文本的语意特征,对于较长或语意更为复杂的文本有很大局限性。
2)是基于词向量结合深度学习的提取文本特征并分类。基于词向量和深度学习技术的文本分类能获得较好的效果,但只是将文本作为数据进行分类而忽略了文本的语境信息。例如在用户评论场景中,评论表达的信息是正面还是负面,与商品的价格和用户给出的评价星级等条件有强相关性。
上述文本分类技术都针对单个文本进行分类,然而在一些重要的应用场景中,某些文本之间存在强关系,需要对某些系列文本进行分类。例如电商网站的用户评论,同一个用户的评论风格有强相关性,将同一个用户的评论作为一个系列文本进行分类非常有必要,可以用于判断用户的偏好等属性。又如,论坛留言、内容推荐网站中的针对某个作品的所有评价文本也具有强相关性,可以作为一个系列文本进行分类。
技术实现要素:
有鉴于此,本发明的目的在于提供一种多文本分类方法和装置,能够根据多文本之间的相关性实现对多文本的分类。
为了达到上述目的,本发明提供了如下技术方案:
一种多文本分类方法,包括:
获取具有相关性的多个文本,以及每个文本的条件特征和时间特征;
基于多个文本中每个文本的条件特征,利用循环神经网络和注意力机制提取该文本的文本特征;
基于多个文本中每个文本的时间特征和文本特征,利用循环神经网络提取多个文本的特征;
根据多个文本的特征,使用预先设定的分类模型确定多个文本的分类。
一种多文本分类装置,包括:
获取单元,用于获取具有相关性的多个文本,以及每个文本的条件特征和时间特征;
第一特征提取单元,用于基于多个文本中每个文本的条件特征,利用循环神经网络和注意力机制提取该文本的文本特征;
第二特征提取单元,用于基于多个文本中每个文本的时间特征和文本特征,利用循环神经网络提取多个文本的特征;
分类单元,用于根据多个文本的特征,使用预先设定的分类模型确定多个文本的分类。
一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;所述至少一个处理器执行所述一个或多个计算机程序时实现上述多文本分类方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现上述多文本分类方法。
由上面的技术方案可知,本发明中,获取具有相关性的多个文本以及每个文本的条件特征和时间特征之后,先基于每个文本的条件特征提取该文本的文本特征,再基于每个文本的时间特征和文本特征提取多个文本的特征,最后根据多个文本的特征确定多个文本的分类。可以看出,本发明是从文本条件特征和时间特征上考虑多个文本的相关性,从而根据多个文本的相关性实现对多文本的分类。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
图1是本发明实施例多文本分类方法流程图;
图2是本发明实施例词向量与条件特征组合成为输入变量的示意图;
图3是本发明实施例多文本特征提取阶段的特征提取过程示意图;
图4是本发明实施例本发明实施例多文本分类过程示例图;
图5本发明实施例多文本分类装置的结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
本发明中,对于具有相关性的多个文本,例如同一用户的多个评论文本,针对同一作品、商品的多个评论文本,针对同一话题的多个回复文本等,根据多个文本的相关性进行分类。
本发明实施例中,对多文本的分类过程主要包括信息获取、特征提取、分类三个部分,其中特征提取分为单个文本的特征提取和多个文本的特征提取两个阶段。以下结合图1进行详细说明:
参见图1,图1是本发明实施例多文本分类方法流程图,如图1所示,该方法主要包括以下步骤:
步骤101:获取具有相关性的多个文本,以及每个文本的条件特征和时间特征。
本发明中,具有相关性的多个文本,是指针对同一目标的文本,例如:同一用户的多个文本,其针对的目标是该用户;针对同一话题的回复文本,针对的目标是该话题;针对同一物品的评论文本,针对的目标时该物品;针对同一作品的评论文本,针对的目标是该作品。
本发明中,文本的条件特征是一种能够表达文本的语境的变量,例如对于一个评论文本来说,可以使用评论等级作为该评论文本的条件特征,用以表达出该评论文本的语境,评论等级的具体取值可以是好评、中评、差评等,而根据评论文本的评论等级的具体取值,可以确定评论者对评论对象的评论态度,即该评论文本的语境。在提取文本的文本特征时,将文本的条件特征考虑在内,则可以更准确地提取出文本的语意特征。
本发明中,文本的时间特征表明文本的发布时间,可以根据多个文本中每个文本的时间特征在时序上确定多个文本之间的相关性。
本发明实施例中,文本的条件特征和时间特征都作为与多个文本的相关性的信息存在,可以指导多文本的特征提取和分类。
步骤102、基于多个文本中每个文本的条件特征,利用循环神经网络和注意力机制提取该文本的文本特征。
本步骤102实现的是第一阶段的特征提取,即单个文本的特征提取。在实际实现中,文本的真实含义和其语境有强相关性,这种相关性不仅在全局上有体现而且在局部的语意上同样有影响,本发明中利用文本的条件特征提高对单个文本的语意特征提取的准确性。
本步骤102可以采用以下方法实现:
对多个文本中的每个文本进行预处理,得到该文本的词向量表示;
根据多个文本中每个文本的词向量表示和条件特征,利用循环神经网络和注意力机制提取该文本的文本特征。
本步骤102的实现方法中,对多个文本中的每个文本进行预处理,得到该文本的词向量表示主要包括数据清洗和词到词向量的转换两部分,以下分别进行介绍:
1)数据清洗
数据清洗的目的是去除文本中的停用词,并将文本处理成包括相同词量的等长文本,具体地,可以先对该文本进行切词处理,然后去除切词处理结果中的停用词,最后对文本作等长处理。对文本做等长处理的一种可能的实现方法为:判断去除了停用词的切词处理结果中包含的词的数量是否超过预设数量(表示需要保留的文本长度),如果是,则根据词的超出数量删除切词处理结果中位置最靠前的词,否则,根据词的缺少数量在切词处理结果的最靠前位置添加预设词。
上述停用词是预先设定的,例如“的”。上述预设词是不会对提取文本的文本特征产生影响的词,例如将“0”作为预设词。
以文本“少年儿童是祖国的花朵”为例,数据清洗过程为:对文本作切词处理,切词处理结果为:少年/儿童/是/祖国/的/花朵,去除停用词后变为:少年/儿童/是/祖国/花朵,假设上述预设数量的取值是4,则根据词的超出数量(超出数量为5-4=1)删除排序靠前的词,结果为:儿童/是/祖国/花朵,假设上述预设数量的取值6,则根据词的缺少数量(6-5=1)在切词处理结果的最靠前位置添加预设词,结果为:0/少年/儿童/是/祖国/花朵。
2)词到词向量的转换
在将对文本的切词处理结果进行等长处理之后,保留下来的一组词用于后续对该文本的特征提取。
在实际应用中,在对文本进行文本特征提取时,单个词与词向量相比,词向量更利于提取出文本的语意特征,因此,对于每个文本经过切词处理、去除停用词、以及等长处理后保留下来的一组词,可以将该组词中的每一个词都转换为一个词向量,本发明中,将该组词转换后得到的一组词向量称为(作为)该文本的词向量表示。
本发明中,从词到词向量的转换可以使用word2vec模型实现,也可以使用其它转换方法,本发明对此不做限制。
本步骤102的实现方法中,根据多个文本中每个文本的词向量表示和条件特征,利用循环神经网络和attention机制提取该文本的文本特征的一种实现方法如下:
将该文本的词向量表示中的每个词向量与该文本的条件特征组成一输入变量;
将所有输入变量输入到循环神经网络中并结合attention机制提取该文本的文本特征。
图2是本发明实施例词向量与条件特征组合成为输入变量的示意图,图2中包括文本的词向量表示和条件特征,文本的词向量表示中包括用圆表示的五个词向量,文本的条件特征用方框表示,将文本的词向量表示中的每个词向量与文本的条件特征组合起来,成为一个输入变量。
本发明实施例中,将一个文本的词向量表示中各词向量与该文本的条件特征结合而成的多个输入变量输入到循环神经网络中,并结合attention机制即可提取得到该文本的文本特征。
本发明实施例中,循环神经网络可以是长短期记忆网络(longshort-termmemory,lstm)。采用lstm+attention机制的结构可以根据文本内容提取文本中重要的特征,缓解长时依赖问题。
步骤103、基于多个文本中每个文本的时间特征和文本特征,利用循环神经网络提取多个文本的特征。
本步骤103实现的是第二阶段的特征提取,即多个文本的特征提取,利用多个文本的时间特征确定多个文本的时序关系,基于多个文本的时序关系和相邻文本之间的时间间隔提高对多个文本的语意特征提取的准确性。
本步骤103可以采用以下方法实现:
根据每个文本的时间特征对多个文本按照时间先后排序;
计算排序结果中相邻文本之间的时间间隔,根据排序结果中相邻文本之间的时间间隔确定相邻文本之间的衰减系数;
将排序结果中相邻文本之间的衰减系数作为循环神经网络中隐层(即隐藏层)之间传递的衰减系数,将排序结果中每个文本的文本特征按排序顺序输入到循环神经网络,得到多个文本的特征(也称为相关性特征)。
在实际应用中,文本之间相差的时间往往是不同的,例如,用户的多次评论之间相差的时间不同,相近的相差一两天,距离远的则可能会相差几个月。本发明中,将文本间相隔的时间作为文本间时序相关性关联起来,时间相隔越近的文本间相关性越强,时间相隔越远的文本间相关性越弱。
本发明实施例中,引入u作为相关性衰减速度,u∈(0,1),若两个文本相隔时间是d,则其相关性衰减系数为
因此,本步骤103的实现方法中,根据排序结果中相邻文本之间的时间间隔确定相邻文本之间的衰减系数的方法为:如果排序结果中的第t-1个文本和第t个文本之间的时间间隔为dt-1,则确定排序结果中第t-1个文本和第t个文本之间的衰减系数为
本发明中,将排序结果中相邻文本之间的衰减系数作为循环神经网络中隐层之间传递的衰减系数,通过隐层之间的连接,提取文本间的时序相关性特征。
本发明实施例中,将排序结果中相邻文本之间的衰减系数作为循环神经网络中隐层之间传递的衰减系数,将排序结果中每个文本的文本特征按排序顺序输入到循环神经网络,得到多个文本的特征的方法为:
根据以下6个公式,计算将排序结果中的第t个文本的文本特征输入到循环神经网络中得到的隐层的输出结果ht:
it=σ(wixxt+wihht-1+bi)公式一;
ft=σ(wfxxt+wfhht-1+bf)公式二;
ot=σ(woxxt+wohht-1+bo)公式三;
将排序结果中最后1个文本的文本特征输入到循环神经网络中得到的隐层的输出结果确定为多个文本的特征。
上述6个公式中,σ是sigmoid函数,
需要说明的是,上述公式中,i、f、o、g分别表示输入门、遗忘门、输出门、更新项。循环神经网络的输入参数是指x1、x2、......、xn,其中,n是多个文本的文本总数。上述wix、wfx、wox、wgx、wih、wfh、woh、wgh这8个权重矩阵是预先设定的权重矩阵,在整个多个文本的特征提取过程中不会发生变化;bi、bf、bo、bg这4个偏执向量是预先设定的向量,在整个多个文本的特征提取过程中不会发生变化。
假设有按照具体时间先后顺序排列的n个文本:文本1、文本2、.....、文本n,根据步骤102提取的文本1、文本2、.....、文本n的的文本特征分别为x1、x2、......、xn,相邻文本之间的间隔时间为d1、d2、......、dn-1,相邻文本之间的衰减系数为:
步骤104、根据多个文本的特征,使用预先设定的分类模型确定多个文本的分类。
本发明中,可以预先设定分类模型,得到多个文本的相关性特征之后,可以根据多个文本的特征,使用预先设定的分类模型确定多个文本的分类。这里,分类模型可以根据具体使用场景选择确定,本发明对此不作限制。
图4是本发明实施例多文本分类过程的一个示例,该示例中已经获取了包括按照时间先后顺序排序的n个文本:文本1、文本2、......、文本n。文本1是“商品真好用”,条件特征取值为“好评”,时间特征未示出;文本2是“真是没有什么话可说”,条件特征取值为“差评”,时间特征未示出;......;文本n是“一分钱一分货”,条件特征取值为“中评”,时间特征未示出。按照图1所示的多文本分类过程,获取上述信息后,经过步骤102的单个文本特征提取和步骤103的多文本特征提取,最终在步骤104使用预先设定的分类模型确定多文本的分类。
以上对本发明实施例多文本分类方法进行了详细说明,本发明实施例还提供了一种多文本分类装置,以下结合图5进行详细说明。
参见图5,图5是本发明实施例多文本分类装置的结构示意图,如图5所示,该装置包括:
获取单元501,用于获取具有相关性的多个文本,以及每个文本的条件特征和时间特征;
第一特征提取单元502,用于基于多个文本中每个文本的条件特征,利用循环神经网络和注意力机制提取该文本的文本特征;
第二特征提取单元503,用于基于多个文本中每个文本的时间特征和文本特征,利用循环神经网络提取多个文本的特征;
分类单元504,用于根据多个文本的特征,使用预先设定的分类模型确定多个文本的分类。
图5所示装置中,
所述第一特征提取单元502,基于多个文本中每个文本的条件特征,利用循环神经网络和attention机制提取该文本的文本特征,包括:
对多个文本中的每个文本进行预处理,得到该文本的词向量表示;
根据多个文本中每个文本的词向量表示和条件特征,利用循环神经网络和注意力机制提取该文本的文本特征。
图5所示装置中,
所述第一特征提取单元502,对多个文本中的每个文本进行预处理,得到该文本的词向量表示时,用于:
对该文本进行切词处理,去除切词处理结果中的停用词;
判断去除了停用词的切词处理结果中包含的词的数量是否超过预设数量,如果是,则根据词的超出数量删除切词处理结果中位置最靠前的词,否则,根据词的缺少数量在切词处理结果的最靠前位置添加预设词;
将切词处理结果中包括预设数量的词均转换为词向量,将该组词向量作为该文本的词向量表示。
图5所示装置中,
所述第一特征提取单元502,根据多个文本中每个文本的词向量表示和条件特征,利用循环神经网络和attention机制提取该文本的文本特征时,用于:
将该文本的词向量表示中的每个词向量与该文本的条件特征组成一输入变量;
将所有输入变量输入到循环神经网络中并结合attention机制提取该文本的文本特征。
图5所示装置中,
所述第二特征提取单元503,基于多个文本中每个文本的时间特征和文本特征,利用循环神经网络提取多个文本的特征,包括:
根据每个文本的时间特征对多个文本按照时间先后排序;
计算排序结果中相邻文本之间的时间间隔,根据排序结果中相邻文本之间的时间间隔确定相邻文本之间的衰减系数;
将排序结果中相邻文本之间的衰减系数作为循环神经网络中隐层之间传递的衰减系数,将排序结果中每个文本的文本特征按排序顺序输入到循环神经网络,得到多个文本的特征。
图5所示装置中,
所述第二特征提取单元503,根据排序结果中相邻文本之间的时间间隔确定相邻文本之间的衰减系数时,用于:如果排序结果中的第t-1个文本和第t个文本之间的时间间隔为dt-1,则确定排序结果中第t-1个文本和第t个文本之间的衰减系数为
图5所示装置中,
所述第二特征提取单元503,将排序结果中相邻文本之间的衰减系数作为循环神经网络中隐层之间传递的衰减系数,将排序结果中每个文本的文本特征按排序顺序输入到循环神经网络,得到多个文本的特征时,用于:
根据以下6个公式,计算将排序结果中的第t个文本的文本特征输入到循环神经网络中得到的隐层的输出结果,排序结果中最后1个文本的文本特征输入到循环神经网络中得到的隐层的输出结果即为多个文本的特征:
it=σ(wixxt+wihht-1+bi)公式一;
ft=σ(wfxxt+wfhht-1+bf)公式二;
ot=σ(woxxt+wohht-1+bo)公式三;
将排序结果中最后1个文本的文本特征输入到循环神经网络中得到的隐层的输出结果确定为多个文本的特征;
其中,σ是sigmoid函数,
图5所示装置中,
所述循环神经网络为长短期记忆网络lstm。
本发明实施例还提供了一种电子设备,如图6所示,电子设备600包括:至少一个处理器601,以及与所述至少一个处理器601通过总线相连的存储器602;所述存储器602存储有可被所述至少一个处理器601执行的一个或多个计算机程序;所述至少一个处理器601执行所述一个或多个计算机程序时实现上述图1所示的多文本分类方法中的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现上述图1所示的多文本分类方法。
由以上的技术方案可以看出,本发明采用了双层循环神经网络实现多个文本的分类,通过将文本的条件特征输入循环神经网络,使提取的语意特征更加准确。同时,本发明还针对现有技术中循环神经网络的隐层之间等价传递对多文本特征提取的不合理性,依据多文本之间的时间衰减原则构造了一种差时循环神经网络(即用多文本中时间相邻的文本之间的时间衰减确定循环神经网络的隐层传递的衰减系数),充分考虑了文本之间的时序关系,可以有效提高对多文本的分类性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。