一种适合于中文网页文档的后缀树聚类方法
【专利摘要】本发明提出一种适合于中文网页文档的后缀树聚类方法。后缀树聚类算法的提出是建立在英文网页聚类的基础上的,研究的对象是网页中的英文单词,而中文最大的特点是词与词之间没有分隔符。为满足中文网页的聚类需求,本发明针对中文网页文档的特点,对后缀树聚类算法进行了改进,使之适于中文Web信息搜索结果的聚类。文档预处理按照句子边界将每一篇文档转化为词的序列,同时过滤掉非词标记及停用词。后缀树构建由预处理得到的词序列生成后缀树。短语类识别通过后缀树识别短语类并对其打分。短语类合并通过基于二进制的及语义层面短语类间的相似性计算方法,合并相似度值高的短语类,并选取分值较高的短语类作为最终聚类结果。
【专利说明】一种适合于中文网页文档的后缀树聚类方法
【技术领域】
[0001 ] 本发明涉及后缀树聚类方法,特别是一种处理中文网页文档的方法。
【背景技术】
[0002]后缀树是一种能够有效地处理字符串匹配和查询的数据结构,它已经被广泛地应用于字符串的处理中,如发现最长重复子串、相似字符串匹配、字符串比较和文本压缩错误!未找到引用源。等,其优势包括处理速度快、节省空间等。一棵包含m个词(word)的字符串S的后缀树是一棵有且仅有m个叶子的树。对于每一个不是根的中间节点,至少有两个子节点,且每一条边都被标上非空的S的子串。从一个节点发出的两条边不能包含以相同词开始的子串。后缀树的最重要的特征就是对于任何一个叶子i,从根到该叶子的整个路径上的边串联起来的内容就是S从位置i起的后缀子串,即S[i,m]。
[0003]后缀树聚类(STC)算法是一种直观的文本聚类算法,它将文档聚类为一组的依据是文档含有共同的短语,并且用短语来对聚类进行直观的描述。基于后缀树聚类的主要思想是将文档看作是词的序列,而不是简单地当作一组词进行处理,因此在聚类过程中可以充分地利用词与词之间的语义信息,在寻找文档共同短语的过程中使用了后缀树数据结构。
[0004]STC作为一种新颖的、增量式的线性时间复杂度算法,生成的数据结构紧凑,节约了大量的存储空间,因此可以在很短时间内实现对大量文档的在线聚类,这一优势非常适合搜索结果集中网页数量很多而且不固定的情况。与传统的文档聚类算法相比,STC不需要预先指定类别的数目,而是由算法动态生成。此外,STC采用重叠聚类,因此可避免将一篇文档只归于一个类的现象出现。由于STC是利用文档中的短语而不是一组无序的词进行聚类,所以词间的关联语义信息可被充分考虑,使生成的类描述更加准确,便于用户了解类的内容并判断是否符合自身的查询需求。
【发明内容】
[0005]STC算法的提出是建立在英文网页聚类的基础上的,为满足中文网页的聚类需求,针对中文网页文档的特点,对STC算法进行了改进,使之适于中文Web信息搜索结果的聚类。
[0006]为了实现上述目的,本发明的技术方案如下:一种适合于中文网页文档的后缀树聚类方法,包括以下步骤:
[0007]A、文档预处理
[0008]搜索引擎返回的结果列表包含文档的URL、标题和摘要信息,其中URL是用来定位文档的,因此将文档的标题和摘要作为聚类算法的输入。数据预处理阶段主要分为两个部分,HTML标签及特殊符号的过滤和停用词的去除。
[0009]Al、过滤HTML标签及特殊符号
[0010]HTML标签以及特殊符号的过滤是预处理的第一个步骤,主要负责将文档中没有用的或者干扰文档信息的非汉语元素去除掉,包括HTML标签(如<br>、
、<td>等)、特殊字符(如@、#、%等)、标点符号(去除包括“,”、“? ”、“ !”、“ ; ”等符号)、数字等字符。
[0011]A2、去除停用词
[0012]消除停用词需要定义并维护一个中文停用词表,使在后缀树构建过程中出现在停用词表中的词语全部被剔除,用以改善聚类结果的质量。
[0013]B、后缀树构建
[0014]假设为长度为m的字符串S生成一棵后缀树,首先要为树添加一条表示后缀S[l,m]的边,然后连续递归地为树添加表示后缀S[i,m]的边,其中i从2到m。
[0015]设Ni为中间后缀树,对S[i,m]进行后缀树表不。树NI包含有一条单一的边和一个叶子结点,叶子结点用I标识,边用S[l,m]标识。树Ni+Ι的构造基于树Ni:
[0016]在Ni中,找到从根结点开始的、并且标识能够匹配S[i+l,m]的前缀的最长路经。这条路径的查找方法如下:不断的将S[i+l,m]与从根结点开始的路径上的标识比较和匹配,直到没有更多的匹配时就得到了最长的路径;
[0017]如果没有找到与S[i+l,m]的前缀相匹配的路径,则创建一条从根节点到新叶节点i+Ι的边,用来标识后缀S[i+l,m];
[0018]否则,当找到最长的路径时,存在两种状态:有可能匹配的位置在一个结点上,设为X,也可能匹配的位置在一条边的中间,设这条边为(U,V);
[0019]如果是在一条边的中间,此时需要先将边(U,V)折为两段,在折断位置插入新的结点X,折断的位置就是和S[i+l,m]的前缀比较时,匹配的最后一个词的下一个位置;
[0020]在两种状态下,都需要创建一条新边(X,i+Ι),其中结点i+Ι是一个新的标识为i+Ι的叶子,并且用S[i+l,m]的不匹配部分来表示这条边。
[0021]C、短语类识别
[0022]为每个短语类分配一个分值,然后选择分值高的作进一步分析。包含短语Bp的短语类B的分值Score (B)可以由下面的公式得到:
[0023]Score ⑶=IB | f (| Bp |) Σ TF-1DF (Wi)
[0024]其中,|Β I是短语类B中的文档数目,IBp I是Bp的长度。当短语中的字数小于7时f函数是线性的,而大于7时则是个常数,Wi是Bp中的词,TF-1DF(Wi)是Bp中每个词的权值。TF-1DF是IR领域一个常用的为词赋权重的方法,其基本原理是:在一篇文档中出现频率越高的词越能代表这篇文档的主题,而出现频率越低的词越能区分不同的文档,其计算公式如下:
【权利要求】
1.一种适合于中文网页文档的后缀树聚类方法,其特征在于:包括以下步骤: A、文档预处理 搜索引擎返回的结果列表包含文档的URL、标题和摘要信息,其中URL是用来定位文档的,因此将文档的标题和摘要作为聚类算法的输入;数据预处理阶段主要分为两个部分,HTML标签及特殊符号的过滤和停用词的去除; Al、过滤HTML标签及特殊符号 HTML标签以及特殊符号的过滤是预处理的第一个步骤,主要负责将文档中没有用的或者干扰文档信息的非汉语元素去除掉,包括HTML标签,如〈br>、〈p>、〈td>等、特殊字符,如O、#、%等、标点符号,去除包括“,”、“?”、“! ”、“ ; ”等符号、数字等字符; A2、去除停用词 消除停用词需要定义并维护一个中文停用词表,使在后缀树构建过程中出现在停用词表中的词语全部被剔除,用以改善聚类结果的质量; B、后缀树构建 假设为长度为m的字符串S生成一棵后缀树,首先要为树添加一条表示后缀S[1,m]的边,然后连续递归地为树添加表示后缀S [i,m]的边,其中i从2到m; 设Ni为中间后缀树,对S[i,m]进行后缀树表示;树附包含有一条单一的边和一个叶子结点,叶子结点用I标识,边用S[l,m]标识;树附+1的构造基于树Ni: 在Ni中,找到从根结点开始的、并且标识能够匹配S[i+l,m]的前缀的最长路经;这条路径的查找方法如下:不断的将S[i+l,m]与从根结点开始的路径上的标识比较和匹配,直到没有更多的匹配时就得到了最长的路径; 如果没有找到与S[i+l,m]的前缀相匹配的路径,则创建一条从根节点到新叶节点i+1的边,用来标识后缀S[i+l,m]; 否则,当找到最长的路径时,存在两种状态:有可能匹配的位置在一个结点上,设为X,也可能匹配的位置在一条边的中间,设这条边为(U,V); 如果是在一条边的中间,此时需要先将边(U,V)折为两段,在折断位置插入新的结点X,折断的位置就是和S[i+l,m]的前缀比较时,匹配的最后一个词的下一个位置; 在两种状态下,都需要创建一条新边(X,i+Ι),其中结点i+Ι是一个新的标识为i+Ι的叶子,并且用S[i+l,m]的不匹配部分来表示这条边; C、短语类识别 为每个短语类分配一个分值,然后选择分值高的作进一步分析;包含短语Bp的短语类B的分值Score (B)可以由下面的公式得到:
Score ⑶=IB I f (| Bp |) Σ TF-1DF (Wi) 其中,IB I是短语类B中的文档数目,I Bp I是Bp的长度;当短语中的字数小于7时f函数是线性的,而大于7时则是个常数,Wi是8?中的词,TF-1DF(Wi)是Bp中每个词的权值;TF-1DF是IR领域一个常用的为词赋权重的方法,其基本原理是:在一篇文档中出现频率越高的词越能代表这篇文档的主题,而出现频率越低的词越能区分不同的文档,其计算公式如下:
TF-1DF(W) = (I + losi(TF(w))).1og( I+—^~)
‘ DF (?)其中,TF(Wi)表示短语类代表的文档子集中词Wi的出现次数,N是文档子集中的文档数目,DF(Wi)是出现词Wi的文档数目; D、短语类合并 文档集中有可能包含一个以上的相同短语,因此,不同短语类代表的文档集合可能大部分重叠甚至完全相同,需要从文档集重合度方面进行短语类合并;另外,还从短语类本身的语义层面考虑合并具有相同语义的短语类,目的是避免在最后的聚类结果中出现语义相同的类别,提高聚类结果的质量; Dl、考虑文档集重叠度 使用二进制的方法计算两个短语类之间的相似度,按分值由高到低的顺序,依次计算每个短语类和其它所有短语类之间的相似度;计算方法如下:给定两个短语类Am和An,如果I Am Π An I / I Am I >k并且Am Π An | / | An | >k,贝丨J Am和An的相似度为I,否则为O,其中k是一个在O和I之间的常数,通常取0.5,I Am Π An |表示Am和An所代表的文档集中的相同文档数,I Am I表示Am所代表的文档集中的文档数;然后,将相似度值为I的短语类合并;合并后的类包含所有短语类对应的文档集合,合并类的分值等于其所包含的短语类的分值总和;计算出短语类的相似度后,对于值为I的短语类还应判断它们之间是否存在依附关系,然后再决定合并与否; D2、考虑短语类语义 借助词典对同义短语进行判断,计算两个短语类Am和An语义相似度的公式如下:
【文档编号】G06F17/30GK103838783SQ201210490899
【公开日】2014年6月4日 申请日期:2012年11月27日 优先权日:2012年11月27日
【发明者】汲业 申请人:大连灵动科技发展有限公司