一种基于张量分解的文本增量降维方法与流程

文档序号:18619367发布日期:2019-09-06 22:20阅读:239来源:国知局
一种基于张量分解的文本增量降维方法与流程

本发明涉及机器学习与自然语言信息处理领域,尤其是涉及一种基于张量分解的文本增量降维方法。



背景技术:

随着互联网、物联网、云计算等信息技术的发展,网络空间中的数据资源正以前所未有的速度不断地增长和积累,世界已经进入了网络化的大数据时代。大数据除在数据量上具有海量化特性以外,在数据属性上还具有离散化、多元化、非结构化等复杂特性,这导致数据“维度灾难”呈爆发趋势,其结果将严重影响数据分析和决策支持的准确性和效率。为了对数据进行更好的利用,需要对数据进行降维处理。数据降维是将数据从高维空间映射到低维空间,去除无关或冗余的数据,保留反映原数据本质的数据。利用降维后的数据进行数据搜索、数据处理、数据挖掘等任务,可以提高效率和准确率。

在互联网时代,文本数据是非常重要和广泛使用的一种数据形式之一,且具有维数高、数据量大、语义丰富等特点。现有的各种数据降维方法,如主成分分析法、线性判别分析、潜在语义分析等大都以统计理论为基础,在结构化数据降维方面效果颇佳,但是忽略了数据中蕴含的语义,往往导致降维结果偏差严重、准确率低下。不研究降维中语义保持问题,将导致语义丢失的降维结果,这对大数据应用将是致命的打击。因此,如何在拓展原有理论和方法的基础上,研究适用于大数据特征的新型数据降维理论与方法成为大数据时代的挑战。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于张量分解的文本增量降维方法。

本发明的目的可以通过以下技术方案来实现:

一种基于张量分解的文本增量降维方法,包括以下步骤:

1)将输入文本数据划分为多个子集,对每个子集进行文本特征图簇的构建,并将每个特征图簇表示为特征词-特征词的二阶张量形式;

2)在二阶张量的基础上增加一个特征维度,构成特征词-特征词-特征的三阶张量形式;

3)采用交替最小二乘法对三阶张量进行tucker分解降维,获取用以表示各个维度上主成分之间关系的核心张量以及三个因子矩阵;

4)通过特征词维度、特征维度与降维后的关系矩阵获取降维后的文本特征,从而划分出文本特征中的特征词和特征词关系,实现文本增量降维。

所述的步骤1)中,将每个特征图簇表示为特征词-特征词的二阶张量形式具体为:

将文本特征图簇中的特征图按照特征图内的特征词之间的关系表示为|v|行|v|列的方阵形式,则将该|v|行|v|列的方阵作为一个二阶张量,其中,第一阶和第二阶均为唯一化后的特征词,二阶张量中的分量用以表示特征词之间的关系权值。

所述的步骤2)中,构成特征词-特征词-特征的三阶张量形式具体包括:

将多个时间点的文本特征图簇中的特征图形成的二阶张量一起合并为三阶张量;

或将新的文本特征图簇形成的三阶张量与上一个基于张量分解降维的文本特征图簇重构后得到的三阶张量合并为新的三阶张量。

所述的步骤3)中,三阶张量χ∈ri×j×k的tucker分解为:

其中,α∈ri×p、β∈rj×q、c∈rk×s分别为张量χ∈ri×j×k在三个模上的主成分矩阵,即因子矩阵,p、q、s为三个模上主成分的个数,为核心张量,×n为模-n乘运算,表示外积运算,gpqs为三阶张量和矩阵a,b,c模-n乘运算中的系数,ap、bq、cs分别为矩阵a、b、c中相应位置的元素。

所述的步骤3)中,交替最小二乘法的求解目标为:

所述的步骤4)具体包括以下步骤:

41)根据因子矩阵中的特征词-主成分矩阵β∈rm×q和特征-主成分矩阵c∈rk×s对特征图簇进行重构;

42)根据每个特征词tm与各个主成分的关系权值,即矩阵b中的元素bmq的值,获取与之关系最大的主成分,并将属于同一主成分的特征词合并;

43)根据每个特征fn与各个主成分的关系权值,即矩阵c中的元素cns的值,获取与之关系最大的主成分,并将属于同一主成分的特征合并,实现文本特征的增量降维。

与现有技术相比,本发明具有以下优点:

1、高效降维:本发明创新性的提出利用tucker分解的方法对数据量较大的文本数据或数据流进行增量文本降维方法,在保证数据进行高效降维的同时,还能维持数据中的语义信息。

2、简单精确:本发明将每一个文本特征图表示为二阶张量,将两个或多个文本集的所有文本特征图合并为三阶张量,通过张量tucker分解得到新的特征与文本特征图中结点的关系,从而重构文本特征图簇,此方法简单高效,复杂度低,精确率高。

3、适用于大量数据:本发明提出的方法具有很好的扩展性,对大量和增量数据具有很好的效果。

附图说明

图1是基于张量分解的增量降维方法流程示意图。

图2是二阶张量合并三阶张量示意图。

图3是三阶张量的tucker分解示意图。

图4是三阶张量的模-n展开示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

如图1所示,本实施例提供了一种基于张量分解的文本增量降维方法,具体包含以下步骤:

s1:将输入文本数据划分为多个子集,对每一个子集进行文本特征图簇的构建;

s2:在得到多个文本特征图簇后,将每个特征图簇表示成“特征词-特征词”的二阶张量;

s3:随着代表特征的特征图的增多,将二阶张量增加一个特征维度,组成“特征词-特征词-特征”的三阶张量;

s4:采用交替最小二乘法对此三阶张量进行tucker分解,得到一个较小的核心张量,表示了各个维度上的主成分之间的关系,同时得到三个维度与降维后的主成分的关系矩阵;

s5:通过特征词维度、特征维度与降维后的关系矩阵可以得到降维后的文本特征是由哪些特征词及特征词关系组成,从而实现文本增量降维。

具体的,步骤s1包括需要将输入文本数据划分为多个子集,对每一个子集进行文本特征图簇的构建:对于较大数量的文本数据集,可以将文本集按照固定的数量n进行分割,n个文本为一个子集;对于在线数据,可以按照时间片对文本数据集进行分割,一个固定时间段内的文本数据为一个子集。基于文本特征图簇的增量降维方法就是对每一个子集先进行文本特征图簇的构建,以文本特征图为特征单位,得到每个子集的文本特征。将文本特征用特征图簇的形式表示,特征图簇的构建过程可看作是一个文本降维的过程。把特征图当作是文本特征的单位,文本数据的特征集合就形成了特征图簇。但是文本特征图簇的原始数据来源于文本数据,我们需要首先对其进行关系抽取,才能形成特征图簇。

具体的,步骤s2包括需要将多个文本子集的文本特征图簇表示成“特征词-特征词”的二阶张量。此方法中的基于张量的增量降维方法是一种无监督的降维方法,将文本特征图簇中的特征图按照特征图内的特征词之间的关系表示成|v|行|v|列的方阵的形式。此时,|v|行|v|列的方阵可以看作是一个二阶张量。随着时间的推移,每一个时间点得到的文本特征图簇中的所有特征图都可以表示为二阶张量,其中第一阶和第二阶均为唯一化后的特征词,二阶张量中的分量就表示了特征词之间的关系权值。

具体的,步骤s3包括将二阶张量增加一个特征维度,组成“特征词-特征词-特征”的三阶张量。可以将多个时间点的文本特征图簇中的特征图形成的二阶张量一起合并为三阶张量,也可以将新的文本特征图簇形成的三阶张量与上一个基于张量分解降维的文本特征图簇重构后得到的三阶张量合并为新的三阶张量。

进一步的,合并好的三阶张量就表示了这些时间段内的文本特征图簇,其中,每一个二阶张量为合并好的三阶张量在特征方向上的正面切片。但是由于每个特征图唯一化后的特征词集合元素和个数一般是不相同的,也就是说此时每个二阶张量的行列数是不同的,所以需要对这些二阶张量进行扩展,使得合并后的三阶张量具有相同的特征词。在一个二阶张量对应的矩阵中,对于原本没有的特征词对应的行和列的元素值为0。这样,就将|vk|行|vk|列的k个二阶张量都扩展为|v|行|v|列的二阶张量,其中,k=1,2,…,k,k为特征图的个数,也就是要合并的文本特征图的个数。

需要说明的是,即使打乱特征图或者特征词的顺序,三阶张量内的元素值是不变的,只是位置有变,特征词与特征图、特征词之间的关系也并没有改变,因此不会影响降维效果。多个特征图的二阶张量合并为三阶张量的示意图见图2。

具体的,步骤s4包括采用交替最小二乘法对这个三阶张量进行tucker分解。张量分解后,原张量被降维成一个比较小的核心张量,表示了各个维度上的主成分之间的关系。同时还会得到三个矩阵,分别是三个维度与降维后的主成分的关系矩阵。

进一步的,三阶张量χ∈ri×j×k的tucker分解为:

其中,×n称为“模-n乘”,三阶张量和矩阵α∈ri×p,β∈rj×q,c∈rk×s的模-n乘定义为:

其中,α∈ri×p,β∈rj×q,c∈rk×s可以看作是张量χ∈ri×j×k在三个模上的主成分,p、q、s是三个模上主成分的个数。为核心张量,表示了不同成分之间的关系,也就是说,三阶张量χ通过tucker分解降维成了一个比较小的三阶张量因此,一个三阶张量就表示成一个核心张量分别模乘三个因子矩阵a、b、c。

需要说明的是,表示外积,即对于张量有:

xijk=aibjck

模-n乘计算就是运用了向量的外积。因此,三阶张量χ的元素值可以表示为

其中,i=1,…,i,j=1,…,j,k=1,…,k。三阶张量的tucker分解如图3所示。

进一步的,使用交替最小二乘法求解矩阵a、b、c之前,同样先要把三阶张量矩阵化,也就是三阶张量的模-n展开:

三阶张量的模-n展开示意图见图4。其中,表示kronecker积:

求解目标等于max||χ×1at×2bt×3ct||,即也就是最大化g(n)。

当矩阵a、b、c分别为的前p、q和s个奇异向量时,便完成了目标的求解,p、q和s为x(1)、x(2)、x(3)的列秩时,是最优分解,p、q和s小于x(1)、x(2)、x(3)的列秩时,就不是最优分解,可以使用交替最小二乘法求解。因此,首先,矩阵a、b、c分别被初始化为x(1)tx(1)、x(2)tx(2)和x(3)tx(3)的前p、q和s个特征向量。然后使用交替最小二乘法重新求解矩阵a、b、c,先求出y(n),

然后求解新的矩阵a、b、c为y(1)ty(1)、y(2)ty(2)和y(3)ty(3)的前p、q和s个特征向量。重复以上过程,直到收敛。最终,张量被分解为a,b,c,其中

具体地,步骤s5包括通过特征词维度、特征维度与降维后的关系矩阵可以得到降维后的文本特征是由哪些特征词及特征词关系组成,从而实现文本增量降维。

进一步的,对文本特征图簇形成的三阶张量χ∈r|v|×m×k做tucker分解后得到的因子矩阵中,本发明利用“特征词-主成分”矩阵β∈rm×q和“特征-主成分”矩阵c∈rk×s来做特征图簇的重构,q、s为张量在模-2、模-3上的主成分个数,即特征词和特征降维后的个数。根据每个特征词tm与各个主成分的关系权值,也就是矩阵b中的元素bmq的值,找到与之关系最大的主成分,将属于同一主成分的特征词合并,根据每个特征fn与各个主成分的关系权值,也就是矩阵c中的元素cns的值,找到与之关系最大的主成分,将属于同一主成分的特征合并,实现文本特征的增量降维。

具体过程如下:

本发明实施例提供的基于张量分解的文本增量降维方法,在按时间片或按固定数目定期增量得到多个文本特征图簇之后,将每一个特征图表示成“特征词-特征词”的二阶张量。当代表特征的特征图越来越多时,该方法增加一个特征维度,将两个或多个这样的二阶张量加上特征维度,组成“特征词-特征词-特征”的三阶张量,再对整个三阶张量进行分解从而实现降维。该方法具有精度高、效率高、对大数据集有效、简单方便等优点。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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