发明内容
本发明提供的技术方案如下:
本发明提供了一种文本模式识别方法,包括以下步骤:
S1、根据二分法算法,将文本文件的一预设位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置;
S2、根据记录的关键词在所述文本文件中出现的次数和位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离;
S3、根据二分法算法,将所述星形有向加权图化为简化星形有向加权图;
S4、根据所述简化星形有向加权图的属性和记录的关键词出现次数,将所述文本文件映射为文本特征向量。
优选地,步骤S1具体包括:
计算所述文本文件的长度;
根据所述所述文本文件的长度,将文本文件的二分之一的位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置。
优选地,步骤S2具体包括:
所述星形有向加权图中,若一关键词在所述文本文件中出现的次数大于1,那么所述关键词对应所述星形有向加权图中的多个节点。
优选地,步骤S2具体还包括:
若所述文本文件的关键词集为K=[k1,k2,……,kn],
用F=[f1,f2,……,fn]表示所有关键词出现的次数,其中,n大于等于1,且小于所述文本文件的长度,
用Wi=[wi1,wi2,…,win]表示每个关键词到所述文本文件基点的距离的权值集合,其中,n=fi,
所述星形有向加权图中的每个节点代表一个关键词ki,若所述关键词ki在所述文本文件中相对于所述基点的位置pi出现,则在所述星形有向加权图中加一条有向边wi1,所述有向边wi1的权值为所述位置pi相对于所述基点的距离,若关键词ki在所述文本文件中多次出现,则在所述星形有向加权图中用同样的法则将这些在所述文本文件中不同位置出现的关键词ki,映射为多条有向边win,所述有向边win对应为所述不同位置pi相对于所述基点的距离。
优选地,步骤S2具体还包括:
若所述关键词ki在所述文本文件的基点的前面出现,则所述关键词的位置pi到所述基点的距离权值win为负值,且在所述星形有向加权图中加一条由各节点指向所述中心节点的有向边;
若所述关键词ki在所述文本文件的基点的后面出现,则所述关键词的位置pi到所述基点的距离权值win为正值,且在所述星形有向加权图中加一条由所述中心节点指向各节点的有向边。
优选地,所述步骤S3具体包括:
获取所述星形有向加权图中的相同节点对应的各有向边的权值,并将各有向边的权值按照从小到大的顺序排列,得到所述相同节点对应的关键词在所述星形有向加权图中各有向边的权值集合;
获取所述权值集合中权值大小处于中间位置的中间权值,并将所述权值集合中的最大权值和该中间权值相加后再除以2得到第一新权值,将所述权值集合中的最小权值和该中间权值相加后再除以2得到第二新权值,然后将所述第一新权值、第二新权值以及所述权值集合中剩余的其它权值进行从小到大的顺序排列,得到一新的权值集合,根据相同的法则对新的权值集合进行计算,依次类推,直至获取到所述关键词对应唯一的权值,所述权值为所述关键词对应的节点在简化的星形有向加权图的有向边权值,获取到简化星形有向加权图。
优选地,映射所述文本文件的文本特征向量R(D)为,
R(D)=[size,in-degree,in-weight,out-degree,out-weight,f],
其中,
size表示所述简化星形有向加权图中所有关键词的个数;
in-degree表示所述简化星形有向加权图中基点的入度节点;
in-weight表示所述简化星形有向加权图中基点的入度节点对应的各权值;
out-degree表示所述简化星形有向加权图中基点的出度节点;
out-weight表示所述简化星形有向加权图中基点的出度节点对应的各权值;
f表示所述简化星形有向加权图中的各节点出现的次数。
优选地,所述入度节点表示所述简化星形有向加权图中的有向边方向由各节点指向中心节点的有向边的条数;
所述出度节点表示所述简化星形有向加权图中的有向边方向由中心节点指向各节点的有向边的条数。
优选地,若有文本文件D1,D2…Dn,得到相应的文本特征向量R(D1),…,R(Dn),
所述文本模式识别方法还包括:
利用如下的公式计算两个文本文件Dx,Dy之间的相似性,
其中,x、y大于等于1小于n。
本发明通过了一种文本模式识别系统,所述系统包括:
记录模块,用于根据二分法算法,将文本文件的一预设位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置;
处理模块,用于根据记录的关键词在所述文本文件中出现的次数和位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离;
简化模块,用于根据二分法算法,将所述星形有向加权图化为简化星形有向加权图;
文本特征向量模块,用于根据所述简化星形有向加权图的属性和记录的关键词出现次数,将所述文本文件映射为文本特征向量。
与现有技术相比,本发明提供的文本模式识别方法及系统,具有以下有益效果:
1)、通过二分法机制将文本文件建立一个基点,并将文本文件抽象成星形有向加权网络模型,能够更多更有效的保存了文本文件的特征信息,使得在后续的文本分类以及文本相似性计算时能够获得更好的结果。
2)、根据二分法机制将所述星形有向加权网络模型进行简化,将所述星形有向加权网络模型的多次出现的同一个关键词抽象成一个节点,使所述星形有向加权网络模型更简洁,整个运算过程简单,并且运算速度快,从而便于快速地进行分析。
3)、根据简化的星形有向加权网络模型,将文本文件应设为文本特征向量,比如,所述文本特征向量包括关键词的个数、出现的频率、星形有向加权网络模型基点的入度以及入度各节点的权值、星形有向加权网络模型基点的出度以及出度各节点的权值等,过程简单快速,并且能够更多更有效的保存了原始文本文件的特征信息。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
如图1所示,根据本发明的一个实施例,一种文本模式识别方法,所述方法的步骤包括:
S1、根据二分法算法,将文本文件的一预设位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置;
S2、根据记录的关键词在所述文本文件中出现的次数和位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离;
S3、根据二分法算法,将所述星形有向加权图化为简化星形有向加权图;
S4、根据所述简化星形有向加权图的属性和记录的关键词出现次数,将所述文本文件映射为文本特征向量。
优选地,所述步骤S1具体包括:
计算所述文本文件的长度;
根据所述所述文本文件的长度,将文本文件的二分之一的位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置。
在具体实施过程中,当获取文本文件后,计算文本文件的长度,并根据所述文本文件的长度,根据二分法机制,将文本文件的二分之一的位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置。若某一关键词在所述文本文件中出现多次,则每次出现的相对于所述基点的位置都要记录下来,同时记录每个关键词出现的次数。
在具体实施过程中,根据记录的关键词在所述文本文件中出现的次数和相对于所述基点的位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离。所述星形有向加权图中,相同节点出现的次数代表相同关键词在所述文本文件中出现的次数。如果一个关键词在所述文本文件中出现的次数大于1,那么其将对应所述星形有向加权图中的多个节点。
本发明的一具体实施例,若所述文本文件的关键词为K=[k1,k2,……,kn],
F=[f1,f2,……,fn],表示所有关键词出现的次数,其中,n大于等于1,且小于所述文本文件的长度,
Wi=[wi1,wi2,…,win],表示每个关键词到所述文本文件基点的距离的权值集合,其中,n=fi,所述星形有向加权图中的每个节点代表一个关键词ki,若所述关键词ki在所述文本文件中相对于所述基点的位置pi出现,则在所述星形有向加权图中加一条有向边wi1,所述有向边wi1的权值为所述位置pi相对于所述基点的距离,若关键词ki在所述文本文件中多次出现,则在所述星形有向加权图中用同样的法则将这些在所述文本文件中不同位置出现的关键词ki,映射为多条有向边win,所述有向边win对应为所述不同位置pi相对于所述基点的距离。
本发明的一具体实施例,在所述星形有向加权图中,若所述关键词ki在所述文本文件的基点的前面出现,则所述关键词的位置pi到所述基点的距离权值win为负值,且在所述星形有向加权图中加一条由各节点指向所述中心节点的有向边;若所述关键词ki在所述文本文件的基点的后面出现,则所述关键词的位置pi到所述基点的距离权值win为正值,且在所述星形有向加权图中加一条由所述中心节点指向各节点的有向边。
本发明的又一具体实施例,如图2所示的星形有向加权图的示意图。图中的中心节点base表示基点,比如,以所述文本文件的长度的二分之一位置处为中心节点。所述星形有向加权图中每个节点代表一个关键词kn,如图2中的k1,k2,……,kn,用以表示所述文本文件中出现的关键词集。关键词k1在所述文本文件中出现的次数为3次,那么关键词k1将对应所述星形有向加权图2中的对应3个节点,关键词k2在所述文本文件中出现的次数为2次,那么关键词k2将对应所述星形有向加权图2中的2个节点。关键词k3在所述文本文件中相对于所述基点的位置pi出现,且所述关键词k3在所述文本文件的基点的前面出现,则在所述星形有向加权图中加一条k3节点指向中心节点的有向边w31,有向边w31的权值为负值,所述权值代表k3的位置pi与所述基点的距离;关键词k6在所述文本文件中相对于所述基点的位置pj出现,且所述关键词在所述文本文件的基点的后面出现,则在所述星形有向加权图中加一条由中心节点指向节点k6的有向边w61,有向边w61的权值为正值,所述权值代表k6的位置pj与所述基点的距离。关键词k1在所述文本文件中出现3次,则在所述星形有向加权图设置3个节点,根据关键词k1在所述文本文件中出现的位置,在所述星形有向加权图中设置3条有向边w11、w12、w13,3条有向边w11、w12、w13的权值分别对应于所述关键词k1在所述文本文件中出现的位置相对于所述基点的距离。
通过该技术方案,通过二分法将文本文件建立一个基点,将文本文件抽象成星形有向加权网络模型,能够更多更有效的保存了文本文件的特征信息,使得在后续的文本分类以及文本相似性计算时能够得到更好的结果。
根据步骤S2获取星形有向加权图,通过二分法机制,将所述星形有向加权图中的相同关键词对应的节点简化为一个节点,得到一个简化的星形有向加权图。
具体地,获取所述星形有向加权图中的相同节点对应的各有向边的权值,并将各有向边的权值按照从小到大的顺序排列,得到所述相同节点对应的关键词在所述星形有向加权图中各有向边的权值集合;
获取所述权值集合中权值大小处于中间位置的中间权值,并将所述权值集合中的最大权值和该中间权值相加后再除以2得到第一新权值,将所述权值集合中的最小权值和该中间权值相加后再除以2得到第二新权值,然后将所述第一新权值、第二新权值以及所述权值集合中剩余的其它权值进行从小到大的顺序排列,得到一新的权值集合,根据相同的法则对新的权值集合进行计算,依次类推,直至获取到所述关键词对应唯一的权值,所述权值为所述关键词对应的节点在简化的星形有向加权图的有向边权值,获取到简化星形有向加权图。将所述星形有向加权图的所有相同的节点按照上述方法进行简化,从而得到简化后的星形有向加权图,如图3所示的简化星形有向加权图的示意图。
本发明以一具体实施例来说明根据二分法机制获取简化的星形有向加权图。假设在星形有向加权图中,关键词k1在所述文本文件中出现5次,即在所述星形有向加权图中关键词k1有5个节点,且根据关键词k1在所述文本文件中出现的位置和相对于所述基点的距离,根据所述星形有向加权图中的各有向边的权值按照从小到大的顺序排列,得到关键词k1在所述星形有向加权图中各有向边的权值集合,
W1=[-12,-6,6,8,12],
下面介绍根据二分法机制,如何获取将关键词k1对应的5各节点简化为一个节点后,在简化的星形有向加权图中有向边W1的权值。
第一步,在W1中获取权值大小在中间的有向边权值为6,以权值6为基准,将权值最小的-12和中间权值6相加后再除以2得到一权值-3,权值最大的12和中间权值6相加后再除以2得到另一权值9,
计算(12+6)/2=9,
(-12+6)/2=-3,
并且将各权值再次按照从小到大的顺序排列,获得
W1=[-6,-3,8,9],
第二步,继续依照步骤一的原则,计算
(-6-3)/2=-4.5,
(-3+9)/2=3,
并且将各权值再次按照从小到大的顺序排列,获得
W1=[-4.5,3,8],
第三步,继续依照步骤一的原则,计算
(-4.5+3)/2=-0.75,
(3+8)/2=5.5,
并且将各权值再次按照从小到大的顺序排列,获得
W1=[-0.75,5.5],
第四步,继续依照步骤一的原则,计算
(-0.75+5.5)/2=2.4,
最终获得W1=[2.4],从而获得关键词k1的在简化的星形有向加权图中有向边的权值为2.4。
通过该技术方案,根据二分法机制,将所述星形有向加权网络模型进行简化,通过二分法将所述星形有向加权网络模型的多次出现的同一个关键词抽象成一个节点,使所述星形有向加权网络模型更简洁,整个运算过程简单,并且运算速度快,从而便于快速地进行分析。
根据步骤S3获取的所述简化星形有向加权图的属性和记录的关键词出现次数,将所述文本映射为文本特征向量。本发明的一具体实施例,将所述文本文件映射为文本特征向量R(D)=[size,in-degree,in-weight,out-degree,out-weight,f],其中,size表示所述简化星形有向加权图中所有关键词的个数;in-degree表示所述简化星形有向加权图中基点的入度节点,即表示简化星形有向加权图中的有向边方向由各节点指向中心节点的有向边的条数;in-weight表示所述简化星形有向加权图中基点的入度节点对应的各权值,也就是简化星形有向加权图中的有向边的方向由各节点指向中心节点的各有向边对应的权值;out-degree表示所述简化星形有向加权图中基点的出度节点,即表示简化星形有向加权图中的有向边方向由中心节点指向各节点的有向边的条数;out-weight表示所述简化星形有向加权图中基点的出度节点对应的各权值,也就是简化星形有向加权图中的有向边的方向由中心节点指向各节点的各有向边对应的权值;f表示所述简化星形有向加权图中的各节点出现的次数,该值可从所述星形有向加权图中相同关键词对应的节点数,即对应地表示各关键词在所述文本文件中出现的次数。
本发明的一具体实施例,以图3所示的简化星形有向加权图为例,将kn节点忽略,所述简化星形有向加权图中关键词个数为6个,其中,入度节点为3个,分别为关键词k1、k3、k4,这三个节点对应有向边的权值分别为w1、w3、w4,出度节点为3个,分别为关键词k2、k5、k6,这三个节点对应有向边的权值分别为w2、w5、w6。从图2中可以看出,关键词k1、k2、k3、k4、k5、k6对应的节点个数分别为3、2、1、1、1、1,则所述文本特征向量R(D)=[6,3,w1,w3,w4,3,w2,w5,w6,3,2,1,1,1,1]。
根据该技术方案,通过简化的星形有向加权网络模型,将文本文件映设为文本特征向量,比如,所述文本特征向量包括关键词的个数、出现的频率、星形有向加权网络模型基点的入度以及入度各节点的权值、星形有向加权网络模型基点的出度以及出度各节点的权值等,能够更多更有效的保存了文本文件的特征信息。
本发明的一实施例,若有文本文件D1,D2…Dn,得到相应的文本特征向量R(D1),…,R(Dn),
利用如下的公式计算两个文本文件Dx,Dy之间的相似性,
其中,x、y大于等于1小于n。
通过该发明中的技术方案获取文本文件映射对应的文本特征向量,根据文本相似度计算公式,获取文本文件的相似度,进一步有效提高文本文件的分析。
如图4所示,根据本发明的一个实施例,一种文本模式识别系统,所述系统包括:
记录模块40,用于根据二分法算法,将文本文件的一预设位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置;
处理模块41,用于根据记录的关键词在所述文本文件中出现的次数和位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离;
简化模块42,用于根据二分法算法,将所述星形有向加权图化为简化星形有向加权图;
文本特征向量模块43,用于根据所述简化星形有向加权图的属性和记录的关键词出现次数,将所述文本文件映射为文本特征向量。
在具体实施过程中,当获取文本文件后,通过记录模块40计算文本文件的长度,并根据所述文本文件的长度和二分法机制,将文本文件的二分之一的位置作为基点,记录每个关键词在所述文本文件中出现的次数和相对于所述基点的位置。
在处理模块41中,根据记录的关键词在所述文本文件中出现的次数和相对于所述基点的位置,将所述文本文件映射为星形有向加权图,其中,所述星形有向加权图的中心节点为所述基点,图中的每个节点代表一个关键词,图中每个节点至中心节点的有向边的权值表示对应的关键词的位置至所述基点的距离。如果一个关键词在所述文本文件中出现的次数大于1,那么其将对应所述星形有向加权图中的多个节点。
本发明的一具体实施例,若所述文本文件的关键词为K=[k1,k2,……,kn],
F=[f1,f2,……,fn],表示所有关键词出现的次数,其中,n大于等于1,且小于所述文本文件的长度,
Wi=[wi1,wi2,…,win],表示每个关键词到所述文本文件基点的距离的权值集合,其中,n=fi,所述星形有向加权图中的每个节点代表一个关键词ki,若所述关键词ki在所述文本文件中相对于所述基点的位置pi出现,则在所述星形有向加权图中加一条有向边wi1,所述有向边wi1的权值为所述位置pi相对于所述基点的距离,若关键词ki在所述文本文件中多次出现,则在所述星形有向加权图中用同样的法则将这些在所述文本文件中不同位置出现的关键词ki,映射为多条有向边win,所述有向边win对应为所述不同位置pi相对于所述基点的距离。
本发明的一具体实施例,在所述星形有向加权图中,若所述关键词ki在所述文本文件的基点的前面出现,则所述关键词的位置pi到所述基点的距离权值win为负值,且在所述星形有向加权图中加一条由各节点指向所述中心节点的有向边;若所述关键词ki在所述文本文件的基点的后面出现,则所述关键词的位置pi到所述基点的距离权值win为正值,且在所述星形有向加权图中加一条由所述中心节点指向各节点的有向边。
根据处理模块41中获取星形有向加权图,通过简化模块42,根据二分法机制,将所述星形有向加权图中的相同关键词对应的节点简化为一个节点,得到一个简化的星形有向加权图。具体地,获取所述星形有向加权图中的相同节点对应的各有向边的权值,并将各有向边的权值按照从小到大的顺序排列,得到所述相同节点对应的关键词在所述星形有向加权图中各有向边的权值集合;获取所述权值集合中权值大小处于中间位置的中间权值,并将所述权值集合中的最大权值和该中间权值相加后再除以2得到第一新权值,将所述权值集合中的最小权值和该中间权值相加后再除以2得到第二新权值,然后将所述第一新权值、第二新权值以及所述权值集合中剩余的其它权值进行从小到大的顺序排列,得到一新的权值集合,根据相同的法则对新的权值集合进行计算,依次类推,直至获取到所述关键词对应唯一的权值,所述权值为所述关键词对应的节点在简化的星形有向加权图的有向边权值,获取到简化星形有向加权图。将所述星形有向加权图的所有相同的节点按照上述方法进行简化,从而得到简化后的星形有向加权图。
根据简化模块42获取的所述简化星形有向加权图的属性和记录的关键词出现次数,在文本特征向量模块43中将所述文本映射为文本特征向量。本发明的一具体实施例,将所述文本文件映射为文本特征向量R(D)=[size,in-degree,in-weight,out-degree,out-weight,f],其中,size表示所述简化星形有向加权图中所有关键词的个数;in-degree表示所述简化星形有向加权图中基点的入度节点,即表示简化星形有向加权图中的有向边方向由各节点指向中心节点的有向边的条数;in-weight表示所述简化星形有向加权图中基点的入度节点对应的各权值,也就是简化星形有向加权图中的有向边的方向由各节点指向中心节点的各有向边对应的权值;out-degree表示所述简化星形有向加权图中基点的出度节点,即表示简化星形有向加权图中的有向边方向由中心节点指向各节点的有向边的条数;out-weight表示所述简化星形有向加权图中基点的出度节点对应的各权值,也就是简化星形有向加权图中的有向边的方向由中心节点指向各节点的各有向边对应的权值;f表示所述简化星形有向加权图中的各节点出现的次数,该值可从所述星形有向加权图中相同关键词对应的节点数,即对应地表示各关键词在所述文本文件中出现的次数。
根据该技术方案,将文本文件抽象成星形有向加权网络模型,并进行简化,能够更多更有效的保存了文本文件的特征信息,整个计算过程简单有效,能够快速的对文本文件进行分析。
综上所述,本发明二分制机制,将文本文件抽象成星形有向加权网络模型并进行简化,整个运算过程简单,并且速度快,能够快速的对文本文件进行分析,并且能够更多更有效的保存了文本文件的特征信息。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。