CN103838783A - 一种适合于中文网页文档的后缀树聚类方法 - Google Patents
一种适合于中文网页文档的后缀树聚类方法 Download PDFInfo
- Publication number
- CN103838783A CN103838783A CN201210490899.0A CN201210490899A CN103838783A CN 103838783 A CN103838783 A CN 103838783A CN 201210490899 A CN201210490899 A CN 201210490899A CN 103838783 A CN103838783 A CN 103838783A
- Authority
- CN
- China
- Prior art keywords
- phrase
- document
- class
- phrase class
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种适合于中文网页文档的后缀树聚类方法。后缀树聚类算法的提出是建立在英文网页聚类的基础上的,研究的对象是网页中的英文单词,而中文最大的特点是词与词之间没有分隔符。为满足中文网页的聚类需求,本发明针对中文网页文档的特点,对后缀树聚类算法进行了改进,使之适于中文Web信息搜索结果的聚类。文档预处理按照句子边界将每一篇文档转化为词的序列,同时过滤掉非词标记及停用词。后缀树构建由预处理得到的词序列生成后缀树。短语类识别通过后缀树识别短语类并对其打分。短语类合并通过基于二进制的及语义层面短语类间的相似性计算方法,合并相似度值高的短语类,并选取分值较高的短语类作为最终聚类结果。
Description
技术领域
本发明涉及后缀树聚类方法,特别是一种处理中文网页文档的方法。
背景技术
后缀树是一种能够有效地处理字符串匹配和查询的数据结构,它已经被广泛地应用于字符串的处理中,如发现最长重复子串、相似字符串匹配、字符串比较和文本压缩错误!未找到引用源。等,其优势包括处理速度快、节省空间等。一棵包含m个词(word)的字符串S的后缀树是一棵有且仅有m个叶子的树。对于每一个不是根的中间节点,至少有两个子节点,且每一条边都被标上非空的S的子串。从一个节点发出的两条边不能包含以相同词开始的子串。后缀树的最重要的特征就是对于任何一个叶子i,从根到该叶子的整个路径上的边串联起来的内容就是S从位置i起的后缀子串,即S[i,m]。
后缀树聚类(STC)算法是一种直观的文本聚类算法,它将文档聚类为一组的依据是文档含有共同的短语,并且用短语来对聚类进行直观的描述。基于后缀树聚类的主要思想是将文档看作是词的序列,而不是简单地当作一组词进行处理,因此在聚类过程中可以充分地利用词与词之间的语义信息,在寻找文档共同短语的过程中使用了后缀树数据结构。
STC作为一种新颖的、增量式的线性时间复杂度算法,生成的数据结构紧凑,节约了大量的存储空间,因此可以在很短时间内实现对大量文档的在线聚类,这一优势非常适合搜索结果集中网页数量很多而且不固定的情况。与传统的文档聚类算法相比,STC不需要预先指定类别的数目,而是由算法动态生成。此外,STC采用重叠聚类,因此可避免将一篇文档只归于一个类的现象出现。由于STC是利用文档中的短语而不是一组无序的词进行聚类,所以词间的关联语义信息可被充分考虑,使生成的类描述更加准确,便于用户了解类的内容并判断是否符合自身的查询需求。
发明内容
STC算法的提出是建立在英文网页聚类的基础上的,为满足中文网页的聚类需求,针对中文网页文档的特点,对STC算法进行了改进,使之适于中文Web信息搜索结果的聚类。
为了实现上述目的,本发明的技术方案如下:一种适合于中文网页文档的后缀树聚类方法,包括以下步骤:
A、文档预处理
搜索引擎返回的结果列表包含文档的URL、标题和摘要信息,其中URL是用来定位文档的,因此将文档的标题和摘要作为聚类算法的输入。数据预处理阶段主要分为两个部分,HTML标签及特殊符号的过滤和停用词的去除。
A1、过滤HTML标签及特殊符号
HTML标签以及特殊符号的过滤是预处理的第一个步骤,主要负责将文档中没有用的或者干扰文档信息的非汉语元素去除掉,包括HTML标签(如<br>、<p>、<td>等)、特殊字符(如、#、%等)、标点符号(去除包括“,”、“?”、“!”、“;”等符号)、数字等字符。
A2、去除停用词
消除停用词需要定义并维护一个中文停用词表,使在后缀树构建过程中出现在停用词表中的词语全部被剔除,用以改善聚类结果的质量。
B、后缀树构建
假设为长度为m的字符串S生成一棵后缀树,首先要为树添加一条表示后缀S[1,m]的边,然后连续递归地为树添加表示后缀S[i,m]的边,其中i从2到m。
设Ni为中间后缀树,对S[i,m]进行后缀树表示。树N1包含有一条单一的边和一个叶子结点,叶子结点用1标识,边用S[1,m]标识。树Ni+1的构造基于树Ni:
在Ni中,找到从根结点开始的、并且标识能够匹配S[i+1,m]的前缀的最长路经。这条路径的查找方法如下:不断的将S[i+1,m]与从根结点开始的路径上的标识比较和匹配,直到没有更多的匹配时就得到了最长的路径;
如果没有找到与S[i+1,m]的前缀相匹配的路径,则创建一条从根节点到新叶节点i+1的边,用来标识后缀S[i+1,m];
否则,当找到最长的路径时,存在两种状态:有可能匹配的位置在一个结点上,设为x,也可能匹配的位置在一条边的中间,设这条边为(u,v);
如果是在一条边的中间,此时需要先将边(u,v)折为两段,在折断位置插入新的结点x,折断的位置就是和S[i+1,m]的前缀比较时,匹配的最后一个词的下一个位置;
在两种状态下,都需要创建一条新边(x,i+1),其中结点i+1是一个新的标识为i+1的叶子,并且用S[i+1,m]的不匹配部分来表示这条边。
C、短语类识别
为每个短语类分配一个分值,然后选择分值高的作进一步分析。包含短语Bp的短语类B的分值Score(B)可以由下面的公式得到:
Score(B)=|B|f(|Bp|)∑TF-IDF(wi)
其中,|B|是短语类B中的文档数目,|Bp|是Bp的长度。当短语中的字数小于7时f函数是线性的,而大于7时则是个常数,wi是Bp中的词,TF-IDF(wi)是Bp中每个词的权值。TF-IDF是IR领域一个常用的为词赋权重的方法,其基本原理是:在一篇文档中出现频率越高的词越能代表这篇文档的主题,而出现频率越低的词越能区分不同的文档,其计算公式如下:
其中,TF(wi)表示短语类代表的文档子集中词wi的出现次数,N是文档子集中的文档数目,DF(wi)是出现词wi的文档数目。
D、短语类合并
文档集中有可能包含一个以上的相同短语,因此,不同短语类代表的文档集合可能大部分重叠甚至完全相同,需要从文档集重合度方面进行短语类合并。另外,还从短语类本身的语义层面考虑合并具有相同语义的短语类,目的是避免在最后的聚类结果中出现语义相同的类别,提高聚类结果的质量。
D1、考虑文档集重叠度
使用二进制的方法计算两个短语类之间的相似度,按分值由高到低的顺序,依次计算每个短语类和其它所有短语类之间的相似度。计算方法如下:给定两个短语类Am和An,如果|Am∩An|/|Am|>k并且|Am∩An|/|An|>k,则Am和An的相似度为1,否则为0,其中k是一个在0和1之间的常数,通常取0.5,|Am∩An|表示Am和An所代表的文档集中的相同文档数,|Am|表示Am所代表的文档集中的文档数。然后,将相似度值为1的短语类合并。合并后的类包含所有短语类对应的文档集合,合并类的分值等于其所包含的短语类的分值总和。计算出短语类的相似度后,对于值为1的短语类还应判断它们之间是否存在依附关系,然后再决定合并与否。
D2、考虑短语类语义
借助《同义词词林》词典对同义短语进行判断,计算两个短语类Am和An语义相似度的公式如下:
其中,kn(.)表示对应的短语类的字数,KN(Am,An)表示短语类Am和An中相同词的长度,SN(Am,An)表示Am和An中同义词的长度。同样需要为相似度值定义一个阈值k,计算结果大于k的两个短语类被认为是具有相同语义的短语类,将被合并成一个类别。
与现有技术相比,本发明具有以下有益效果:
1、文档经预处理后,由于词序列中处理的字符数减少,在某种程度上提高了后缀树构建的时间和空间效率;
2、本发明解决了中文Web信息搜索结果的聚类的问题,扩大了搜索结果聚类的范围。
附图说明
本发明共有附图2张,其中:
图1是本发明的聚类算法的精确度对比图;
图2是本发明的聚类算法的时间效率对比图。
具体实施方式
如图1至图2所示为了检验基于后缀树聚类算法的可行性和有效性,对提出的STC算法和常用的有代表性的文档聚类算法如K-Means,GAHC进行了对比测试。试验在P4-3.06,512M内存的计算机上进行,试验数据来自Google中文搜索引擎的搜索结果。
对于算法精确度的评价,采用信息检索领域的精确度指标,公式如下:
其中,r表示结果中相关的文档数量,l表示不相关的文档数量。试验中,采用不同的关键词在Google搜索引擎上进行了10次检索,每次利用返回结果的前300条文档摘要进行聚类,最后通过计算平均值得到算法的平均精确度,试验结果如图1所示。从图中可以看出,STC算法的平均精确度要高于传统的K-Means和GAHC算法,这主要依赖于STC算法利用文档中含有的相同短语进行聚类以及对短语类的有效合并处理。
算法的执行时间是衡量其效率的重要指标之一,它对于Web搜索结果的在线自动聚类尤为重要。通过选取搜索结果中的前100到700个文档摘要进行聚类,测试算法的时间效率,结果如图2所示。从图中可以看出,STC算法是一种线性时间复杂度的算法,随着文档数量的增多,聚类时间线性增长,并且STC聚类算法的时间效率明显高于K-Means和GAHC算法,因此适合于Web搜索结果的大规模网页在线聚类。
Claims (1)
1.一种适合于中文网页文档的后缀树聚类方法,其特征在于:包括以下步骤:
A、文档预处理
搜索引擎返回的结果列表包含文档的URL、标题和摘要信息,其中URL是用来定位文档的,因此将文档的标题和摘要作为聚类算法的输入;数据预处理阶段主要分为两个部分,HTML标签及特殊符号的过滤和停用词的去除;
A1、过滤HTML标签及特殊符号
HTML标签以及特殊符号的过滤是预处理的第一个步骤,主要负责将文档中没有用的或者干扰文档信息的非汉语元素去除掉,包括HTML标签,如<br>、<p>、<td>等、特殊字符,如、#、%等、标点符号,去除包括“,”、“?”、“!”、“;”等符号、数字等字符;
A2、去除停用词
消除停用词需要定义并维护一个中文停用词表,使在后缀树构建过程中出现在停用词表中的词语全部被剔除,用以改善聚类结果的质量;
B、后缀树构建
假设为长度为m的字符串S生成一棵后缀树,首先要为树添加一条表示后缀S[1,m]的边,然后连续递归地为树添加表示后缀S[i,m]的边,其中i从2到m;
设Ni为中间后缀树,对S[i,m]进行后缀树表示;树N1包含有一条单一的边和一个叶子结点,叶子结点用1标识,边用S[1,m]标识;树Ni+1的构造基于树Ni:
在Ni中,找到从根结点开始的、并且标识能够匹配S[i+1,m]的前缀的最长路经;这条路径的查找方法如下:不断的将S[i+1,m]与从根结点开始的路径上的标识比较和匹配,直到没有更多的匹配时就得到了最长的路径;
如果没有找到与S[i+1,m]的前缀相匹配的路径,则创建一条从根节点到新叶节点i+1的边,用来标识后缀S[i+1,m];
否则,当找到最长的路径时,存在两种状态:有可能匹配的位置在一个结点上,设为x,也可能匹配的位置在一条边的中间,设这条边为(u,v);
如果是在一条边的中间,此时需要先将边(u,v)折为两段,在折断位置插入新的结点x,折断的位置就是和S[i+1,m]的前缀比较时,匹配的最后一个词的下一个位置;
在两种状态下,都需要创建一条新边(x,i+1),其中结点i+1是一个新的标识为i+1的叶子,并且用S[i+1,m]的不匹配部分来表示这条边;
C、短语类识别
为每个短语类分配一个分值,然后选择分值高的作进一步分析;包含短语Bp的短语类B的分值Score(B)可以由下面的公式得到:
Score(B)=|B|f(|Bp|)∑TF-IDF(wi)
其中,|B|是短语类B中的文档数目,|Bp|是Bp的长度;当短语中的字数小于7时f函数是线性的,而大于7时则是个常数,wi是Bp中的词,TF-IDF(wi)是Bp中每个词的权值;TF-IDF是IR领域一个常用的为词赋权重的方法,其基本原理是:在一篇文档中出现频率越高的词越能代表这篇文档的主题,而出现频率越低的词越能区分不同的文档,其计算公式如下:
其中,TF(wi)表示短语类代表的文档子集中词wi的出现次数,N是文档子集中的文档数目,DF(wi)是出现词wi的文档数目;
D、短语类合并
文档集中有可能包含一个以上的相同短语,因此,不同短语类代表的文档集合可能大部分重叠甚至完全相同,需要从文档集重合度方面进行短语类合并;另外,还从短语类本身的语义层面考虑合并具有相同语义的短语类,目的是避免在最后的聚类结果中出现语义相同的类别,提高聚类结果的质量;
D1、考虑文档集重叠度
使用二进制的方法计算两个短语类之间的相似度,按分值由高到低的顺序,依次计算每个短语类和其它所有短语类之间的相似度;计算方法如下:给定两个短语类Am和An,如果|Am∩An|/|Am|>k并且|Am∩An|/|An|>k,则Am和An的相似度为1,否则为0,其中k是一个在0和1之间的常数,通常取0.5,|Am∩An|表示Am和An所代表的文档集中的相同文档数,|Am|表示Am所代表的文档集中的文档数;然后,将相似度值为1的短语类合并;合并后的类包含所有短语类对应的文档集合,合并类的分值等于其所包含的短语类的分值总和;计算出短语类的相似度后,对于值为1的短语类还应判断它们之间是否存在依附关系,然后再决定合并与否;
D2、考虑短语类语义
借助词典对同义短语进行判断,计算两个短语类Am和An语义相似度的公式如下:
其中,kn(.)表示对应的短语类的字数,KN(Am,An)表示短语类Am和An中相同词的长度,SN(Am,An)表示Am和An中同义词的长度;同样需要为相似度值定义一个阈值k,计算结果大于k的两个短语类被认为是具有相同语义的短语类,将被合并成一个类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210490899.0A CN103838783A (zh) | 2012-11-27 | 2012-11-27 | 一种适合于中文网页文档的后缀树聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210490899.0A CN103838783A (zh) | 2012-11-27 | 2012-11-27 | 一种适合于中文网页文档的后缀树聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103838783A true CN103838783A (zh) | 2014-06-04 |
Family
ID=50802292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210490899.0A Pending CN103838783A (zh) | 2012-11-27 | 2012-11-27 | 一种适合于中文网页文档的后缀树聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838783A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846016A (zh) * | 2018-05-05 | 2018-11-20 | 复旦大学 | 一种面向中文分词的搜索算法 |
CN109710758A (zh) * | 2018-12-11 | 2019-05-03 | 浙江工业大学 | 一种基于Labeled-LDA模型的用户音乐偏好分类方法 |
CN110134876A (zh) * | 2019-01-29 | 2019-08-16 | 国家计算机网络与信息安全管理中心 | 一种基于群智传感器的网络空间群体性事件感知与检测方法 |
CN112955961A (zh) * | 2018-08-28 | 2021-06-11 | 皇家飞利浦有限公司 | 医学文本中对基因名称的标准化的方法和系统 |
CN112966505A (zh) * | 2021-01-21 | 2021-06-15 | 哈尔滨工业大学 | 一种从文本语料中提取持续性热点短语的方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307213A1 (en) * | 2008-05-07 | 2009-12-10 | Xiaotie Deng | Suffix Tree Similarity Measure for Document Clustering |
US20110179030A1 (en) * | 2010-01-19 | 2011-07-21 | Electronics And Telecommunications Research Institute | Method and apparatus for indexing suffix tree in social network |
-
2012
- 2012-11-27 CN CN201210490899.0A patent/CN103838783A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307213A1 (en) * | 2008-05-07 | 2009-12-10 | Xiaotie Deng | Suffix Tree Similarity Measure for Document Clustering |
US20110179030A1 (en) * | 2010-01-19 | 2011-07-21 | Electronics And Telecommunications Research Institute | Method and apparatus for indexing suffix tree in social network |
Non-Patent Citations (2)
Title |
---|
吴江宁 等: ""一种基于后缀树的Web搜索结果聚类方法"", 《情报学报》 * |
王治江: ""面向领域的垂直搜索系统研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846016A (zh) * | 2018-05-05 | 2018-11-20 | 复旦大学 | 一种面向中文分词的搜索算法 |
CN108846016B (zh) * | 2018-05-05 | 2021-08-20 | 复旦大学 | 一种面向中文分词的搜索算法 |
CN112955961A (zh) * | 2018-08-28 | 2021-06-11 | 皇家飞利浦有限公司 | 医学文本中对基因名称的标准化的方法和系统 |
CN112955961B (zh) * | 2018-08-28 | 2024-06-11 | 皇家飞利浦有限公司 | 医学文本中对基因名称的标准化的方法和系统 |
CN109710758A (zh) * | 2018-12-11 | 2019-05-03 | 浙江工业大学 | 一种基于Labeled-LDA模型的用户音乐偏好分类方法 |
CN110134876A (zh) * | 2019-01-29 | 2019-08-16 | 国家计算机网络与信息安全管理中心 | 一种基于群智传感器的网络空间群体性事件感知与检测方法 |
CN110134876B (zh) * | 2019-01-29 | 2021-10-26 | 国家计算机网络与信息安全管理中心 | 一种基于群智传感器的网络空间群体性事件感知与检测方法 |
CN112966505A (zh) * | 2021-01-21 | 2021-06-15 | 哈尔滨工业大学 | 一种从文本语料中提取持续性热点短语的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8751218B2 (en) | Indexing content at semantic level | |
Hachey et al. | Evaluating entity linking with wikipedia | |
Moreno et al. | Combining word and entity embeddings for entity linking | |
Waitelonis et al. | Linked data enabled generalized vector space model to improve document retrieval | |
Varma et al. | IIIT Hyderabad at TAC 2009. | |
Packer et al. | Extracting person names from diverse and noisy OCR text | |
Fan et al. | Using syntactic and semantic relation analysis in question answering | |
Sun et al. | The keyword extraction of Chinese medical web page based on WF-TF-IDF algorithm | |
CN101702167A (zh) | 一种基于互联网的模板抽取属性和评论词的方法 | |
US20220180317A1 (en) | Linguistic analysis of seed documents and peer groups | |
CN103838783A (zh) | 一种适合于中文网页文档的后缀树聚类方法 | |
Srinivas et al. | A weighted tag similarity measure based on a collaborative weight model | |
Alpizar-Chacon et al. | Expanding the web of knowledge: one textbook at a time | |
Li et al. | National University of Singapore at the TREC-13 question answering main task | |
Kalender et al. | Unipedia: A unified ontological knowledge platform for semantic content tagging and search | |
TW202022635A (zh) | 自適應性調整關連搜尋詞的系統及其方法 | |
Islam et al. | Applications of corpus-based semantic similarity and word segmentation to database schema matching | |
Zhang | Start small, build complete: Effective and efficient semantic table interpretation using tableminer | |
Glöckner | University of Hagen at CLEF 2007: Answer Validation Exercise. | |
Pourvali | A new graph based text segmentation using Wikipedia for automatic text summarization | |
Wang et al. | Scalable semantic querying of text | |
Mendes et al. | Just. Ask—A multi-pronged approach to question answering | |
Tufiş et al. | RACAI’s Question Answering system at QA@ CLEF2007 | |
Zheng et al. | Research on domain term extraction based on conditional random fields | |
Sarkar | Automatic keyphrase extraction from bengali documents: A preliminary study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140604 |
|
RJ01 | Rejection of invention patent application after publication |