CN101430708A - 一种基于标签聚类的博客层次分类树构建方法 - Google Patents
一种基于标签聚类的博客层次分类树构建方法 Download PDFInfo
- Publication number
- CN101430708A CN101430708A CNA2008102176309A CN200810217630A CN101430708A CN 101430708 A CN101430708 A CN 101430708A CN A2008102176309 A CNA2008102176309 A CN A2008102176309A CN 200810217630 A CN200810217630 A CN 200810217630A CN 101430708 A CN101430708 A CN 101430708A
- Authority
- CN
- China
- Prior art keywords
- label
- tag
- blog
- theme
- classification tree
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于标签聚类的博客层次分类树构建方法。所述方法包括步骤:第一、初始化并输入预先定义的博客层次分类树和由标签关系数据构造的邻接矩阵;第二、调用标签聚类算法对标签关系数据进行聚类,由此生成数个标签簇;第三、运用主题泛化算法从各个标签簇中提取一个或多个关键标签词作为其主题;第四步:在标签簇还能进一步聚类时,递归调用第二步和第三步;第五步:每一次递归调用结束后都在博客层次分类树中构建新的层次以及增加新的主题节点;第六、递归终止条件完全满足后,输出构造好的博客层次分类树。本方法是针对博客数据的检索、挖掘和浏览等问题提出的,能够快速组织海量博客数据的主题层次关系,并具有较高的效率和准确率。
Description
技术领域
本发明涉及构建blog主题层次结构的技术,具体涉及一种基于tag聚类的blog层次分类树构建方法。
背景技术
Blog即博客,是一种流行的个人媒体。它承载了大量有价值的信息,并且在互联网中的地位越来越重要,已经成为人们日常生活和工作中不可或缺的一部分。然而由于blog与传统的网页的信息特点有很大的不同,如何对blog中的信息进行针对性的检索和更深层次的挖掘利用,已经成为当前互联网应用研究中的一个热点。
在解决针对blog的信息检索、挖掘和浏览等问题中,对日志内容进行主题提取,是其中重要的环节。blog日志包含的主题五花八门,需要对不同的主题加以区别,也需要为相似的主题建立联系。所以,引入了blog分类目录来组织blog主题的层次结构。blog主题分类目录往往是由人工设定和维护,它很难跟得上blog页面的增长。blog内容的不正规和随意性,也使确定一个blog的主题类别变得很困难。
Tag即标签,是blog空间一种特殊的信息组织方式,是blogger对自己写作内容主题的一种分类方式。它是blogger对日志主题从多个角度进行总结和概括的一个或多个词。虽然tag存在多义性、随意性等缺点,不容易直接利用,但这些tag毕竟蕴含了人的智慧,是web1.0时代的网页所不具备的独特优势。
虽然tag的定义有很大的随意性,其来源主要是blogger自由添加和blog系统自动推荐,但都是经过blogger确认的,因此通常tag与日志主题有较高的相关性,用若干个tag概括日志主题是可行的。与此同时,如果不同的日志使用了相同的tag,表明它们内容的相似程度较高,tag可以建立起不同blog之间的联系。
由于一些人使用不同的tag来标记相同的文档,造成了三种问题:受限的搜索、受限的订阅和受限的浏览。从而提出了利用tag共同出现的关系来对tag进行聚类。也就是说,可以将语义相同或相近的tag聚在一起,力求解决上面的一些问题。tag聚类之后形成若干个tag簇,同一个簇中的tag标识某一类文档。
传统的tag聚类方法,用于确定文本主题。但是,它存在如下两点缺陷:
首先,单纯的tag聚类不能建立起层次关系。tag作为元数据中重要的一种,属于大众分类的范畴。大众分类很重要的特点之一就是它所包含的条目都在一个平坦的命名空间上:也就是说,这些条目没有层次关系,没有明确指定的父子或兄弟关系。现有的方法只是将tag聚类,而没有建立起层次关系。blog分类目录往往是有层次的,用tag构建树形结构的blog层次分类树,就必须改良传统的tag聚类方法。
其次,tag不能具体确定日志的特定主题。tag能有效地用于日志归类,但是由于它的随意性和多义性,只能将日志归到大类,而不能很好地标识具有某个特定主题的日志分组。Blog层次分类目录中层次越高,范围越窄,主题越明确。这就需要研究如何从tag簇中提取关键tag词准确地表示主题。
发明内容
为了解决现有技术中存在的单纯的tag聚类不能建立起层次关系和tag不能具体确定日志的特定主题这些技术问题,本发明提供了一种基于tag聚类的blog层次分类树构建方法。
本发明解决现有技术问题所采用的技术方案为:提供了一种基于tag聚类的blog层次分类树构建方法,所述基于tag聚类的blog层次分类树构建方法包括步骤:第一步、初始化并输入预先定义的blog层次分类树和由tag关系数据构造的邻接矩阵;第二步、调用tag聚类算法对tag关系数据进行聚类,由此生成数个tag簇;第三步、运用主题泛化算法提取一个或多个关键tag词作为每个tag簇泛化后的主题;第四步:在tag簇还能进一步聚类时,重复调用第二步和第三步第五步:每一次递归调用结束后都在blog层次分类树中构建新的层次以及增加新的主题节点,第六、递归终止条件完全满足后,输出构造好的blog层次分类树。
根据本发明的一优选技术方案:所述第二步的tag聚类算法中使用的主要数据结构包括:模块性增量矩阵ΔQ、最大堆H、辅助向量a和种子标签集合SeedSet;其中,所述模块性增量矩阵ΔQ为稀疏矩阵,每一行存为一个平衡二叉树和一个最大堆;所述最大堆H包含所述模块性增量矩阵ΔQ中每一行的最大元素和该元素相应的两个cluster的编号是i和j所述种子标签集合SeedSet保存有每个种子tag的编号。
根据本发明的一优选技术方案:所述第二步包括子步骤:一步、初始化;二步、从所述最大堆H中选择最大的ΔQij,并得到集束(cluster)i和集束(cluster)j的分组号g1、g2;三步、重复所述步骤B2,直到网络中所有的节点都归到一个cluster内。
根据本发明的一优选技术方案:所述一步中的初始化包括:初始化图G为n个cluster,使每个tag为一个独立的cluster,初始化SeedSet,使每个cluster有一个全局唯一的编号;保存每个种子tag的编号,使初始的模块性Q=0;
根据本发明的一优选技术方案:所述二步包括子步骤:首先、当g1∈SeedSet且g2∈SeedSet时,设置ΔQij为一个无穷小负值;其次、杨g1∈SeedSet且 从所述图G中移除所述分组号g1,然后加入所述分组号g2;再次、合并相应的cluster i和cluster j,标记合并后的cluster的标号为j;最后、更新所述模块性增量矩阵ΔQ、所述最大堆H和所述辅助向量a:其中,所述模块性增量矩阵ΔQ的更新为:删除第i行和第i列的元素,更新第j行和第j列的元素:
所述最大堆H的更新:每一次更新ΔQij后,就要更新最大堆中相应的行和列的最大元素;所述辅助向量a的更新为:
同时,记录合并以后的模块性值Q=Q+ΔQij。
根据本发明的一优选技术方案:所述第三步包括预先设定一组tag词集合C,其中包含第i个tag词的频度fi和此标签词与其它标签之间的共现度di、当前递归的层次L、分类目录数据D、C中最大的词的频率值Maxf、C中最大的词的度Maxd和C中tag词的数量N,一个或多个主题词List。
根据本发明的一优选技术方案:所述第三步包括子步骤:
一、遍历所述tag词集合C,初始化Maxf和Maxd;
二、对于 如果所述tag词集合C满足fc>r×Maxf且dc>r×Maxd,插入新的列表C',其中;
三、对于 如果所述tag词集合C与所述分类目录数据D中层次小于所述当前递归的层次L的词能够前缀匹配,则将所述tag词集合C添加到List中;
四、将C'中的词按照公式di/ci降序排列,将其中广泛性值最大的20%的词添加到所述一个或多个主题词List中;
五、返回所述一个或多个主题词List。
根据本发明的一优选技术方案:所述第五步包括子步骤:
一、预先定义标签分类树PTree,标签关系数据构造的邻接矩阵M,簇M的主题Sm;
二、当满足递归终止条件M.size<5 or plex(M)<M.size/2,将邻接矩阵M中的每一个节点V添加为簇M的主题Sm的子节点;
三、当不满足递归终止条件,则判断主题Sm有没有子节点,如果Sm没有子节点,将Sm中包含的所有标签添加到list sub中;如果Sm有子节点,运用主题泛化算法从其子节点包含的标签中提取一个或多个主题词标签,将这些标签添加到list sub中,同时将主题词标签添加为Sm的子节点;
四、对邻接矩阵M进行标签聚类,得到一个或多个簇的集合Cset;
五、判断所述簇的集合CSet中的每一个标签簇是否含有与所述list sub相同的标签:如果有,则递归调用tree_builder(TCtree,c,m)算法;如果没有,将clusterc中的标签添加主题Sm的子节点。
本发明是一种基于tag聚类的blog层次分类树构建方法,是专门针对blog应用领域提出的,可有效解决针对blog数据的检索、挖掘和浏览等问题。它不仅结合了blog信息特点,改进了传统的tag聚类算法的不足,而且能够较为准确地生成blog层次分类目录。实验证明,本发明所述方法具有较高的效率和准确率,适合对海量blog数据进行快速的主题提取,因而可用于对日志的实时分类等技术领域,具有较强的实用性。
附图说明
图1.本发明一种基于tag聚类的blog层次分类树构建方法流程图;
图2.本发明一种基于tag聚类的blog层次分类树构建方法中各部分算法之间的调用关系示意图;
图3.未设定约束条件时的聚类结果示意图;
图4.设定约束条件后的聚类结果示意图;
图5.标签分类树片段1结构示意图;
图6.标签分类树片段2结构示意图;
图7.主题提取时间统计图;
图8.单个主题平均准确度示意图;
图9.前n个主题准确度示意图。
具体实施方式
以下结合附图对本发明进行说明:
请参阅图1本发明一种基于tag聚类的blog层次分类树构建方法流程图,并结合图2本发明一种基于tag聚类的blog层次分类树构建方法中各部分算法之间的调用关系示意图。如图中所示,Blog层次构建算法是一个递归调用的过程,此算法的第一步为:初始化并输入预先定义的blog层次分类树和由所有tag关系数据构造的邻接矩阵;第二步:将调用tag聚类算法对tag关系数据进行聚类,由此生成数个tag簇;第三步:运用主题泛化算法提取一个或多个关键tag词作为每个tag簇的主题;第四步:此时需要判断新的tag簇是否还可以进一步聚类,如果可以,将重复第二步和第三步的递归调用过程,如果满足了递归终止条件将返回,如此层层递归,直至终止条件均满足;第五步:每一次递归调用结束后都在blog层次分类树中增加新的主题节点;第六步:Blog层次构建算法的输出是构造好的blog层次分类树。
以下对基于tag聚类的blog层次分类树构建方法展开说明:
Tag聚类展开说明:
标签聚类(Tag-based Clustering,简称TC算法),是构造blog层次分类树中最重要的环节之一,它需要有三个必要的步骤:选取合理的tag关系数据、衡量tag之间的相似度和层次聚类。对标签的聚类,更准确地说,就是对tag共出现关系进行聚类。在聚类中,tag之间的相似度度量是基于概率的。度量tag之间相似度的有多种方法,本算法通过对不同流行度的tag进行实验比较,最终采用Matching计算公式。即:sim(A,B)=|A∩B|,其中|A∩B|表示标签A和标签B在同一篇日志中出现的概率。
本发明中tag聚类算法将tag之间的共出现关系以有权无向图G(V,E,W)的形式来表示。其中,V是顶点(即tag)的集合,E是边(即两个tag的共出现关系)的集合,W是权重的集合。本算法通过对该图进行图形分割来实现对tag的聚类。对有权图进行分割使用了CNM算法,它是一种采用堆的数据结构来计算和更新网络模块性的贪婪算法,时间复杂度为O(mlog2n),具有接近线性的时间复杂度。
在实际对blog中的tag进行聚类的过程中,往往会根据分类的要求,预先明确指明某些类别的tag不应该聚在一个类里面。比如“军事”和“生活”通常应该算作是两个类别,在聚类结果中,两者不应该聚在一个cluster中,但是若对聚类过程不加限制,那么两个类很可能会被聚在一个cluster中。为了使CNM算法满足这种需求,本算法在进行tag聚类时,在CNM算法中添加了对种子类别的处理。
tag聚类算法的输入之一是tag共出现关系网络,这个关系网络构成无向有权图G(V,E,W)。其中V是顶点的集合,E是边的集合,W是权重的集合。其中,每个顶点对应一个标签,每条边对应一个标签i和标签j的共处现关系,W是n×n对称矩阵,n是标签的个数。除了tag的共出现关系数据作为算法的输入,还有预先指定的种子类别集合S,其中每个元素都是一个类别名称(通常这个类别名称也是常用tag,指明在聚类时S中任何两个元素都不应该聚在一个cluster中。
此算法一共用到了4种数据结构:
一、模块性增量矩阵ΔQ。它与网络的邻接矩阵M一样,是一个稀疏矩阵。将它的每一行都存为一个平衡二叉树(这样就可以在O(logn)时间内找到需要的某个元素)以及一个最大堆(这样可以在最短的时间内找到每一行的最大元素)。
二、最大堆H。该堆中包含了模块性增量矩阵ΔQ中每一行的最大元素,同时包括该元素相应的两个cluster的编号i和j。
三、辅助向量a。
四、种子标签集合SeedSet。这是以哈希表实现的集合,保存每个种子tag的编号。
在这四种数据结构的基础上,该Tag聚类方法的流程如下:
1)初始化。初始化图G为n个cluster,即每个tag就是一个独立的cluster,每个cluster有一个全局唯一的编号;初始化SeedSet,即保存每个种子tag的编号。初始的模块性Q=0。初始的eij,ai满足
其中,wij是i和j之间边的权重,ki为与节点i相连的所有边权重之和,m为网络中所有边权重之和。这样,初始的模块性增量矩阵的元素满足:
得到了初始的模块性增量矩阵以后,就可以得到由它每一行的最大元素构成的最大堆H。
2)从最大堆H中选择最大的ΔQij,并得到cluster i和cluster j的分组号g1、g2。
当g1∈SeedSet且g2∈SeedSet时,设置ΔQij为一个无穷小负值,执行第2)步;
若g1∈SeedSet且 那么从G中移除g1,然后加入g2。
合并相应的cluster i和cluster j,标记合并后的cluster的标号为j。更新模块性增量矩阵ΔQ、最大堆H和辅助向量a:
(1)ΔQ的更新:删除第i行和第i列的元素,更新第j行和第j列的元素:
(2)最大堆H的更新:每一次更新ΔQij后,就要更新最大堆中相应的行和列的最大元素。
(3)辅助向量a的更新(所述辅助向量a的用途是计算模块性增量矩阵Q,它是一个中间计算变量):
同时,记录合并以后的模块性值Q=Q+ΔQij
3)重复步骤2),直到网络中所有的节点都归到一个cluster内。
在整个算法的过程中,Q仅有一个峰值(最大值)。因为当模块性增量矩阵ΔQ中最大的元素都小于零以后,Q的值就只可能一直下降了。所以,只要ΔQ中最大的元素由正变到负以后,就可以停止合并,并认为此时的cluster结构就是网络的cluster结构(因为此时的模块性Q有最大值)。
由于聚类的数据是tag的共出现关系,在这些关系构成的无向图中,不会出现孤立的点。并且在CNM算法中,对于图G(V,E,W),若eij∈E,di≥1且dj=1(其中di和dj分别表示i和j的度),那么点j的介度只与点i相关,j在最初就会被合并到i所在的簇中。因此,每个tag簇中至少包含两个tag。
Tag簇主题泛化算法:
tag聚类算法的结果是1个或多个簇,每个簇至少包含了一个主题,tag簇的主题泛化就是要从这个簇中提取出一个或多个能从概念上代表这个簇的主题的tag。单纯选择出现频度高的tag是不合理的,例如“股票”比“财金”的频度高,但概念的广泛性要小,不能作为簇的主题tag词。为解决这个问题,本算法提出一种针对tag的广泛性度量方法,即定义每个标签的广泛性为:
di/ci
其中ci表示第i个tag在不同的blog中出现的次数,di表示tagi在所有的标签共现关系图中的度数。di是tagi的流行度和概念的广泛性两种因素的综合反映,ci表现了tagi的流行度。上述公式能够去除流行性因素对每个tag词概念广泛性的影响,从而使得概念广泛的tag词凸显出来。
tag簇主题泛化算法中包含三部分数据:包含tag共出现关系的邻接矩阵M、单个tag统计数据S、以及分类目录数据D。
若一个cluster中的tag太少,就可认为这些tag没有包含完整的主题,这样也可以降低算法的复杂度。对于有足够数量tag的cluster(如10个以上标签),主题泛化算法描述如下:
算法输入:
一组tag词集合C,其中包含第i个tag词的频度fi和标签共现度di。
当前递归的层次L。
分类目录数据D。
算法输出:一个或多个主题词List。
定义如下符号:
Maxf:C中最大的词的频率值。
Maxd:C中最大的词的度。
N:C中tag词的数量。
详细步骤:
一、遍历所述tag词集合C,初始化Maxf和Maxd;
二、对于 如果所述tag词集合C满足fc>r×Maxf且dc>r×Maxd,插入新的列表C',其中:
三、对于 如果所述tag词集合C与所述分类目录数据D中层次小于所述当前递归的层次L的词能够前缀匹配,则将所述tag词集合C添加到List中;
四、将C'中的词按照公式di/ci降序排列,将其中广泛性值最大的20%的词添加到所述一个或多个主题词List(列表)中;
五、返回所述一个或多个主题词列表。
Blog层次构建算法:
tag聚类算法将语义或主题相关的tag聚成簇,并且每个簇都是独立的,它们之间并没有层次或包含关系;tag簇主题泛化算法为每个簇提取主题特征,但也不能决定簇和簇之间的层次关系。本方法结合二者,对tag簇递归地进行聚类和主题提取,构建出具有层次关系的blog层次分类树。
算法流程:
输入:tag关系数据构造的邻接矩阵M,簇M的主题Sm。
输出:构造好的blog层次分类树TCtree
1.procedure tree_builder(TCtree,M,Sm)
2. List sub;
3. ifM.size<5 or plex(M)<M.size/2:
4. for each vertex vin M:
5. TCtree.add(Sm,v);//在树中为节点Sm添加子节点v
6. return;
7. else:
8. if Smhas no child:
9. sub=TCtree.children(Sm);//Sm的所有子节点
10. else:
11. sub=subject(M.vertices(),Tctree.level(Sm));//tag簇主题泛
化算法
12. for each s in sub:
13. TCtree.add(Sm,s);
14. ClusterSet CSet=clustering(M,sub);//tag聚类算法
15. for each cluster c in CSet:
16. if c has member m in sub:
17. tree_builder(TCtree,c,m);
18. else:
19. for m in c:
TCtree.add(Sm,m);
上述算法的原理为:
输入:预先定义的标签分类树PTree,标签关系数据构造的邻接矩阵M,
簇M的主题Sm。
输出:构造好的标签分类树TCtree
1.如果满足递归终止条件M.size<5 or plex(M)<M.size/2,将邻接矩阵M中的每一个节点V添加为簇M的主题Sm的子节点,返回。
2.如果没有满足递归终止条件,则判断主题Sm有没有子节点:
(1)如果Sm没有子节点,将Sm中包含的所有tag添加到list sub中;
(2)如果Sm有子节点,则运用主题泛化算法从其子节点包含的tag中提取一个或多个主题词tag。将这些tag添加到list sub中,同时将主题词tag添加为Sm的子节点。
3.对邻接矩阵M进行Tag聚类,得到一个或多个簇的集合CSet。
4.判断CSet中的每一个cluster c是否含有与list sub相同的tag:
(1)如果有,递归调用tree_builder(TCtree,c,m)算法;
(2)如果没有,将cluster c中的tag添加主题Sm的子节点。
Blog层次分类树的构造是基于tag聚类和tag簇的主题泛化。为方便展示算法的有效性,我们在实验中选取共现频度超过100次的48个不同tag参与聚类,使用传统的CNM算法对无向有权图进行分割,结果如图3未设定约束条件时的聚类结果示意图所示。由图可见,在实际tag聚类结果中出现的大类交叉现象,例如“生活”和“文学”通常不应该当作一类,但实际的聚类结果却将二者混和在一起。这是因为文学来源于生活,两种类别的相似度极高。实验证明,传统CNM算法可以实现tag聚类,但效果不佳。所以本方法对CNM算法加以改进。
改进的CNM算法,在tag聚类过程加入约束条件,预先指定“娱乐”,“情感”,“生活”,“文学”,“历史”,“时政”为种子类别集合,不允许该集合中任意两个tag聚在一个簇中。结果如图4设定约束条件后的聚类结果示意图所示。由图可见,“生活”和“文学”作为种子,不再聚到同一个tag簇。实验结果表明,改进的CNM算法预先定义聚类约束条件,可将容易交叉混合的tag类别区分开来,更好地进行tag聚类。
为验证blog层次分类树构建算法的性能,实验考察了算法构建时间与tag共现关系图中边数之间的关系,结果如表1所示。可以看出,bl og层次分类树的构建时间基本满足多项式时间复杂度。
表1 标签分类树构建时间
实验抽取共现次数大于5次的7722条tag关系数据参与blog层次分类树的构建,其中包含1512个不同的tag,最终构建出的树中有724个tag(在构造blog层次分类树时,规模过小的tag簇会被丢弃),结果如图5和图6所示。
本发明对blog层次分类树的评测有两个指标:全局准确度和局部准确度。这两个指标分别从全局和局部两个方面衡量整棵树结构的合理性。其中全局准确度是为了衡量整棵树结构的合理性。局部准确度是为了衡量整棵树局部的合理性,通过将该值与全局准确度相比,可以发现树的结构可以优化的余地。
在评测时,先对每个tag进行标记:若父节点能够在主题/概念上概括该tag节点,那么就标记该节点为1,否则标记为0。
假设blog层次分类树中有n个tag,每个tagi在树中的层次为Li(树根”$”节点的层次为0)。
全局准确度的计算公式:
局部准确度的计算公式:
其中
对上述包含724个节点的blog层次分类树进行人工正确性判断,然后利用公式1、2分别计算全局准确度和局部准确度,结果如表2所示。通过对这两个指标的评测结果分析,发现当前构建的树已经达到较好的效果,并且还有较大的优化空间。
表2 blog层次分类树的准确度
Blog主题提取算法主要依赖于基于标签提取的日志特征词和基于层次聚类构建的标签分类树。包括特征词的主题标签词确定、主题标签词统计两个部分。本发明专利分别采用TF和TFIDF两种权重计算方法提取特征词,并比较实验结果。
为验证主题提取算法的性能,本发明专利对和讯博客的160万篇日志数据进行主题提取,每篇日志提取5个主题词,并考察日志篇数与运行时间的关系,实验结果如图7主题提取时间统计图所示,可以看出,主题提取算法基本满足线性时间复杂度。
由于缺少标准的语料库,本发明技术方案采取人工判定的方法来对实验结果进行评测。为了减少工作量,本发明技术方案从160万篇已提取主题的日志中,随机抽取100篇作为评测数据,采用5个人先独立评测结果,然后对结果取平均值的方法,以减少主观误差。评测结果如图8单个主题平均准确度示意图和图9前n个主题准确度示意图所示。
从结果可以看出,TFIDF实际评测结果要优于TF,且两种方法得到的前一个主题均比其后主题的准确度高,这是由于靠前的主题词概念也较广泛,主题匹配的可能性较大。从图9可以看出,前三个主题至少有一个正确的比例达到86.2%,前五个主题至少有一个正确的比例达到90.4%,这证明了该算法的有效性。
通过进一步分析发现,标签分类树中主题泛化的结果对最终实验结果影响很大,而主题泛化的好坏与标签簇中不同主题的标签分布有关。和讯博客是一个主题性很强的BSP站点,标签大多偏重财经主题,相比之下涉及其他主题的日志数量较少,因此很难形成足够大的标签簇。而在构造标签分类树时,规模过小的标签簇会被丢弃,通过统计发现:总共获取的不同标签约13万,能够形成共现关系有8.6万,但最终能在标签分类树中确定其类别的只有5.6万,也就是说在实际构建标签分类树的过程中,约有34.9%的标签被丢弃了。
本发明提出一种基于tag聚类的blog层次分类树构建方法,是专门针对blog应用领域提出的,可有效解决针对blog数据的检索、挖掘和浏览等问题。它不仅结合了blog信息特点,改进了传统的tag聚类算法的不足,而且能够较为准确地生成blog层次分类目录。通过实际数据的实验证明,本发明所述方法具有较高的效率和准确率,适合对海量blog数据进行快速的主题提取,因而可用于对日志的实时分类等应用中。具有较强的实用性。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种基于标签聚类的博客层次分类树构建方法,其特征在于:所述基于标签聚类的博客层次分类树构建方法包括以下步骤:
A:初始化并输入预先定义的博客层次分类树和由标签关系数据构造的邻接矩阵;
B:调用标签聚类算法对标签关系数据进行聚类,由此生成数个标签簇;
C:运用主题泛化算法提取一个或多个关键标签词作为每个标签簇的主题;
D:当标签簇还能进一步聚类时,重复步骤B和步骤C;
E:每一次递归调用后在博客层次分类树中构建新的层次以及增加新的主题节点;
F:递归调用条件满足后,输出构造好的博客层次分类树。
2.根据权利要求1所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤B的标签聚类算法中使用的主要数据结构包括:模块性增量矩阵ΔQ、最大堆H、辅助向量a和种子标签集合SeedSet;
其中,
所述模块性增量矩阵ΔQ为稀疏矩阵,每一行存为一个平衡二叉树和一个最大堆;
所述最大堆H包含所述模块性增量矩阵ΔQ中每一行的最大元素和该元素相应的两个集束的编号i和j;
所述种子标签集合SeedSet保存有每个种子标签的编号。
3.根据权利要求1或2所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤B包括子步骤:
B1:初始化;
B2:从所述最大堆H中选择最大的ΔQij,并得到集束i和集束j的分组号g1、g2;
B3:重复所述步骤B2,直到网络中所有的节点都归到一个集束内。
4.根据权利要求3所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤B1中的初始化包括:初始化图G为n个集束,使每个标签为一个独立的集束,初始化所述种子标签集合SeedSet,使每个集束有一个全局唯一的编号;保存每个种子标签的编号,使初始的模块性Q=0。
5.根据权利要求3所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤B2包括子步骤:
B21:当g1∈SeedSet且g2∈SeedSet时,设置ΔQij为一个无穷小负值;
B22:当g1∈SeedSet且g2∈SeedSet,从所述图G中移除所述分组号g1,然后加入所述分组号g2;
B23:合并相应的集束i和集束j,标记合并后的集束的标号为j;
B24:更新所述模块性增量矩阵ΔQ、所述最大堆H和所述辅助向量a:
其中所述模块性增量矩阵ΔQ的更新为:删除第i行和第i列的元素,更新第j行和第j列的元素:
所述最大堆H的更新:每一次更新ΔQij后,就要更新最大堆中相应的行和列的最大元素;
所述辅助向量a的更新为:
同时,记录合并以后的模块性值Q=Q+ΔQij。
6.根据权利要求1所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤C包括预先设定一组标签词集合C,其中包含每个标签词i的频度fi和此标签词与其它标签之间的共现度di、当前递归的层次L、分类目录数据D、C中最大的词的频率值Maxf、C中最大的词的度Maxd和C中标签词的数量N,一个或多个主题词列表。
7.根据权利要求1或6所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤C包括子步骤:
C1:遍历所述标签词集合C,初始化Maxf和Maxd;
C2:对于 如果所述标签词集合C满足fc>r×Maxf且dc>r×Maxd,插入新的列表C′,其中;
C3:对于 如果所述标签词集合C与所述分类目录数据D中层次小于所述当前递归的层次L的词能够前缀匹配,则将所述tag词集合C添加到列表中;
C4:将C′中的词按照公式di/ci降序排列,将其中广泛性值最大的20%的词添加到所述一个或多个主题词列表中;
C5:返回所述一个或多个主题词列表。
8.根据权利要求1所述基于标签聚类的博客层次分类树构建方法,其特征在于:所述步骤E包括子步骤:
E1:预先定义标签分类树PTree,标签关系数据构造的邻接矩阵M,簇M的主题Sm;
E2:当满足递归终止条件M.size<5 or plex(M)<M.size/2,将邻接矩阵M中的每一个节点V添加为簇M的主题Sm的子节点;
E3:当不满足递归终止条件,则判断主题Sm有没有子节点,如果Sm没有子节点,将Sm中包含的所有标签添加到list sub中;如果Sm有子节点,运用主题泛化算法从其子节点包含的标签中提取一个或多个主题词标签,将这些标签添加到list sub中,同时将主题词标签添加为Sm的子节点;
E4:对邻接矩阵M进行标签聚类,得到一个或多个簇的集合Cset;
E5:判断所述簇的集合CSet中的每一个标签簇是否含有与所述list sub相同的标签:如果有,则递归调用tree_builder(TCtree,c,m)算法;如果没有,将cluster c中的标签添加主题Sm的子节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102176309A CN101430708A (zh) | 2008-11-21 | 2008-11-21 | 一种基于标签聚类的博客层次分类树构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102176309A CN101430708A (zh) | 2008-11-21 | 2008-11-21 | 一种基于标签聚类的博客层次分类树构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101430708A true CN101430708A (zh) | 2009-05-13 |
Family
ID=40646102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102176309A Pending CN101430708A (zh) | 2008-11-21 | 2008-11-21 | 一种基于标签聚类的博客层次分类树构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101430708A (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799814A (zh) * | 2009-12-31 | 2010-08-11 | 茂名学院 | 自由分类标签类聚成网状分类结构的方法 |
CN102202012A (zh) * | 2011-05-30 | 2011-09-28 | 中国人民解放军总参谋部第五十四研究所 | 通信网络的社团划分方法与系统 |
CN102222098A (zh) * | 2011-06-20 | 2011-10-19 | 北京邮电大学 | 一种网页预取方法和系统 |
CN102314565A (zh) * | 2010-07-02 | 2012-01-11 | 日电(中国)有限公司 | 数据匿名化装置和方法 |
CN102572608A (zh) * | 2012-03-01 | 2012-07-11 | 盛乐信息技术(上海)有限公司 | 音视频聚类方法及系统 |
CN102624647A (zh) * | 2012-01-12 | 2012-08-01 | 百度在线网络技术(北京)有限公司 | 一种对移动终端的消息进行处理的方法及其装置 |
CN102882975A (zh) * | 2012-10-15 | 2013-01-16 | 东莞宇龙通信科技有限公司 | 微博信息的显示方法、移动终端以及移动通信系统 |
CN103699573A (zh) * | 2013-11-28 | 2014-04-02 | 微梦创科网络科技(中国)有限公司 | 社交平台的ugc标签聚类方法和装置 |
CN103927309A (zh) * | 2013-01-14 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种对业务对象标注信息标签的方法及装置 |
CN104102706A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于层次聚类的可疑纳税人检测方法 |
CN104376041A (zh) * | 2014-10-11 | 2015-02-25 | 北京中搜网络技术股份有限公司 | 一种基于微博分类的信息抽取方法 |
CN106407239A (zh) * | 2015-08-03 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 用于推荐及辅助推荐信息的方法及装置 |
CN106776714A (zh) * | 2016-11-21 | 2017-05-31 | 辽宁工程技术大学 | 检索方法、装置和系统 |
CN106777285A (zh) * | 2016-12-29 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 标签聚类的方法和装置 |
CN106919625A (zh) * | 2015-12-28 | 2017-07-04 | 中国移动通信集团公司 | 一种互联网用户属性识别方法和装置 |
CN107153677A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种查找价值用户的数据处理方法和系统 |
CN107305490A (zh) * | 2016-04-22 | 2017-10-31 | 中国移动通信集团湖南有限公司 | 一种元数据分组方法及装置 |
CN107391549A (zh) * | 2017-06-05 | 2017-11-24 | 北京百度网讯科技有限公司 | 基于人工智能的新闻召回方法、装置、设备及存储介质 |
CN107844408A (zh) * | 2016-09-18 | 2018-03-27 | 中国矿业大学 | 一种基于层次聚类的相似执行路径生成方法 |
CN109241256A (zh) * | 2018-08-20 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 对话处理方法、装置、计算机设备和可读存储介质 |
CN109428822A (zh) * | 2017-09-01 | 2019-03-05 | 华为技术有限公司 | 一种名字查找方法和网络设备 |
CN109543704A (zh) * | 2017-09-22 | 2019-03-29 | 比亚迪股份有限公司 | 汽车及车载雷达的多目标聚类方法、装置 |
CN110472082A (zh) * | 2019-08-02 | 2019-11-19 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN111126062A (zh) * | 2019-12-25 | 2020-05-08 | 北京中技华软科技服务有限公司 | 一种产业自动分类方法及系统 |
CN111694951A (zh) * | 2019-03-15 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | 兴趣主题生成方法、装置、设备及存储介质 |
CN112507170A (zh) * | 2020-12-01 | 2021-03-16 | 平安医疗健康管理股份有限公司 | 基于智能决策的数据资产目录构建方法、及其相关设备 |
CN113806524A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 一种文本内容的层级类目构建和层级结构调整方法及装置 |
CN114580380A (zh) * | 2022-03-07 | 2022-06-03 | 中国人民解放军国防科技大学 | 基于主题的社交媒体主题标签生成方法 |
-
2008
- 2008-11-21 CN CNA2008102176309A patent/CN101430708A/zh active Pending
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799814A (zh) * | 2009-12-31 | 2010-08-11 | 茂名学院 | 自由分类标签类聚成网状分类结构的方法 |
CN101799814B (zh) * | 2009-12-31 | 2013-02-20 | 茂名学院 | 自由分类标签类聚成网状分类结构的方法 |
CN102314565B (zh) * | 2010-07-02 | 2014-08-27 | 日电(中国)有限公司 | 数据匿名化装置和方法 |
CN102314565A (zh) * | 2010-07-02 | 2012-01-11 | 日电(中国)有限公司 | 数据匿名化装置和方法 |
CN102202012A (zh) * | 2011-05-30 | 2011-09-28 | 中国人民解放军总参谋部第五十四研究所 | 通信网络的社团划分方法与系统 |
CN102202012B (zh) * | 2011-05-30 | 2015-01-14 | 中国人民解放军总参谋部第五十四研究所 | 通信网络的社团划分方法与系统 |
CN102222098A (zh) * | 2011-06-20 | 2011-10-19 | 北京邮电大学 | 一种网页预取方法和系统 |
CN102624647A (zh) * | 2012-01-12 | 2012-08-01 | 百度在线网络技术(北京)有限公司 | 一种对移动终端的消息进行处理的方法及其装置 |
CN102572608A (zh) * | 2012-03-01 | 2012-07-11 | 盛乐信息技术(上海)有限公司 | 音视频聚类方法及系统 |
CN102882975A (zh) * | 2012-10-15 | 2013-01-16 | 东莞宇龙通信科技有限公司 | 微博信息的显示方法、移动终端以及移动通信系统 |
CN102882975B (zh) * | 2012-10-15 | 2016-05-04 | 东莞宇龙通信科技有限公司 | 微博信息的显示方法、移动终端以及移动通信系统 |
CN103927309B (zh) * | 2013-01-14 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种对业务对象标注信息标签的方法及装置 |
CN103927309A (zh) * | 2013-01-14 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种对业务对象标注信息标签的方法及装置 |
CN103699573A (zh) * | 2013-11-28 | 2014-04-02 | 微梦创科网络科技(中国)有限公司 | 社交平台的ugc标签聚类方法和装置 |
CN104102706A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于层次聚类的可疑纳税人检测方法 |
CN104376041A (zh) * | 2014-10-11 | 2015-02-25 | 北京中搜网络技术股份有限公司 | 一种基于微博分类的信息抽取方法 |
CN106407239A (zh) * | 2015-08-03 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 用于推荐及辅助推荐信息的方法及装置 |
CN106919625A (zh) * | 2015-12-28 | 2017-07-04 | 中国移动通信集团公司 | 一种互联网用户属性识别方法和装置 |
CN107305490A (zh) * | 2016-04-22 | 2017-10-31 | 中国移动通信集团湖南有限公司 | 一种元数据分组方法及装置 |
CN107844408B (zh) * | 2016-09-18 | 2021-02-12 | 中国矿业大学 | 一种基于层次聚类的相似执行路径生成方法 |
CN107844408A (zh) * | 2016-09-18 | 2018-03-27 | 中国矿业大学 | 一种基于层次聚类的相似执行路径生成方法 |
CN106776714A (zh) * | 2016-11-21 | 2017-05-31 | 辽宁工程技术大学 | 检索方法、装置和系统 |
CN106777285A (zh) * | 2016-12-29 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 标签聚类的方法和装置 |
CN106777285B (zh) * | 2016-12-29 | 2020-03-06 | 中国移动通信集团江苏有限公司 | 用户通信消费数据的标签聚类的方法和装置 |
CN107153677A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种查找价值用户的数据处理方法和系统 |
CN107153677B (zh) * | 2017-04-18 | 2020-11-24 | 北京思特奇信息技术股份有限公司 | 一种查找价值用户的数据处理方法和系统 |
US11238097B2 (en) | 2017-06-05 | 2022-02-01 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for recalling news based on artificial intelligence, device and storage medium |
CN107391549B (zh) * | 2017-06-05 | 2021-06-11 | 北京百度网讯科技有限公司 | 基于人工智能的新闻召回方法、装置、设备及存储介质 |
CN107391549A (zh) * | 2017-06-05 | 2017-11-24 | 北京百度网讯科技有限公司 | 基于人工智能的新闻召回方法、装置、设备及存储介质 |
CN109428822A (zh) * | 2017-09-01 | 2019-03-05 | 华为技术有限公司 | 一种名字查找方法和网络设备 |
CN109543704B (zh) * | 2017-09-22 | 2021-02-23 | 比亚迪股份有限公司 | 汽车及车载雷达的多目标聚类方法、装置 |
CN109543704A (zh) * | 2017-09-22 | 2019-03-29 | 比亚迪股份有限公司 | 汽车及车载雷达的多目标聚类方法、装置 |
CN109241256A (zh) * | 2018-08-20 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 对话处理方法、装置、计算机设备和可读存储介质 |
CN111694951A (zh) * | 2019-03-15 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | 兴趣主题生成方法、装置、设备及存储介质 |
CN111694951B (zh) * | 2019-03-15 | 2023-08-01 | 百度在线网络技术(北京)有限公司 | 兴趣主题生成方法、装置、设备及存储介质 |
CN110472082A (zh) * | 2019-08-02 | 2019-11-19 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN110472082B (zh) * | 2019-08-02 | 2022-04-01 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN111126062A (zh) * | 2019-12-25 | 2020-05-08 | 北京中技华软科技服务有限公司 | 一种产业自动分类方法及系统 |
CN113806524A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 一种文本内容的层级类目构建和层级结构调整方法及装置 |
CN113806524B (zh) * | 2020-06-16 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 一种文本内容的层级类目构建和层级结构调整方法及装置 |
CN112507170A (zh) * | 2020-12-01 | 2021-03-16 | 平安医疗健康管理股份有限公司 | 基于智能决策的数据资产目录构建方法、及其相关设备 |
CN114580380A (zh) * | 2022-03-07 | 2022-06-03 | 中国人民解放军国防科技大学 | 基于主题的社交媒体主题标签生成方法 |
CN114580380B (zh) * | 2022-03-07 | 2022-08-05 | 中国人民解放军国防科技大学 | 基于主题的社交媒体主题标签生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101430708A (zh) | 一种基于标签聚类的博客层次分类树构建方法 | |
CN104008106B (zh) | 一种获取热点话题的方法及装置 | |
CN103970729B (zh) | 一种基于语义类的多主题提取方法 | |
CN108763213A (zh) | 主题特征文本关键词提取方法 | |
CN110909164A (zh) | 一种基于卷积神经网络的文本增强语义分类方法及系统 | |
CN111708740A (zh) | 基于云平台的海量搜索查询日志计算分析系统 | |
CN105893609A (zh) | 一种基于加权混合的移动app推荐方法 | |
CN104778161A (zh) | 基于Word2Vec和Query log抽取关键词方法 | |
CN101576903B (zh) | 一种文档相似度衡量方法 | |
CN105468605A (zh) | 一种实体信息图谱生成方法及装置 | |
US20070088731A1 (en) | Method and apparatus for improved processing and analysis of complex hierarchic data | |
CN110059181A (zh) | 面向大规模分类体系的短文本标签方法、系统、装置 | |
CN109670039A (zh) | 基于三部图和聚类分析的半监督电商评论情感分析方法 | |
CN104699767B (zh) | 一种面向中文语言的大规模本体映射方法 | |
CN109376352A (zh) | 一种基于word2vec和语义相似度的专利文本建模方法 | |
CN110955776A (zh) | 一种政务文本分类模型的构建方法 | |
CN112417100A (zh) | 辽代历史文化领域知识图谱及其智能问答系统的构建方法 | |
CN110990676A (zh) | 一种社交媒体热点主题提取方法与系统 | |
CN106104524A (zh) | 复杂谓语模板收集装置以及用于其的计算机程序 | |
CN112950276A (zh) | 一种基于多阶特征组合的种子人群拓展方法 | |
CN103530316A (zh) | 一种基于多视图学习的科学主题提取方法 | |
CN109857952A (zh) | 一种具有分类显示的搜索引擎及快速检索方法 | |
CN101894129A (zh) | 基于在线视频分享网站结构及视频描述文本信息的视频主题发现的方法 | |
CN106980639B (zh) | 短文本数据聚合系统及方法 | |
CN108228787A (zh) | 按照多级类目处理信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090513 |