基于双聚类的微博用户标签自动生成算法_2

文档序号:8282406阅读:来源:国知局
价的语义本体e,则词bw即为词e ;
[0039]3.3)如果词bw在语义本体e的等价本体列表中,贝U用词e替换词bw ;
[0040]3.4)如果词bw在语义本体e的相关本体列表中,则词bw是多义词,需要利用语义本体矩阵结合微博内容语境词进行消歧处理;
[0041]3.5)将消歧后词bw对应语义本体名称加入词袋模型BW⑶中;
[0042]3.6)如果没有找到相对应的本体,说明该词在维基百科中是语义不明显的条目,将词bw删除;
[0043]3.7)判断词频词典中是否所有词语都处理完毕,如是,则结束遍历;如否,重复步骤 3.2) -3.6),得到词集合 E (D) = [e1; e2,...,em],m 彡 η。
[0044]前述的一种基于双聚类的微博用户标签自动生成算法,其特征是:所述步骤4),将消歧后的词集合映射到维基百科中相应的类别节点上,构造类别子树,包括如下步骤:
[0045]4.1)对步骤3)得到的词集合E(D) = Iie1, e2,...,em],m彡η的每一个词,在词语义本体中找到词所对应的类别ID,此为第一层类别集合,标记为Cat1⑶,再从Cat1⑶里所有类别成员的页面中找到分别所属的类别,此为第二层类别集合,标记为Cat2 (D),依次类推;设定类别子树最大层数为L,根据给定的层次深度L,不断延伸类别层次至高层;
[0046]4.2)对于词每一个层次类别ID,在语义本体里找到对应本体名称并过滤;
[0047]4.3)将过滤后的每个类别名称加到对应的CatJD),并在语义本体中找到高一层的类别ID ;
[0048]4.4)若层次深度没有达到要求,则转4.2),直到满足深度要求;
[0049]4.5)判断词集合E (D) = Le1, e2,...,em],m彡η中的所有词是否处理完毕,如否,则执行步骤4.1) -4.4),从而构造类别子树。
[0050]前述的一种基于双聚类的微博用户标签自动生成算法,其特征是:所述步骤5),针对用户微博内容收集用户标签,对于一条微博D,步骤包括:
[0051]5.1)针对步骤4)得到的L个类别集Cat1(DhCat2(D)M-^CatJD),输入层次类别权重系数b (b>l),创建标签词典T,键为词,值为权重,初始值为空;
[0052]5.2)遍历步骤3)得到的词集合E (D),对于e e E (D),如果以e为名称的标签不存在于标签词典T中,则将e作为键存入标签词典T,初始值为1,即T[e] = 1,否则T[e]=T[e]+1 ;
[0053]5.3)初始化当前所在的类别层1 = 1;
[0054]5.4)遍历各层次类别集Cat1(D),对于类别c e Cat1 (D),如果以类别c为名称的标签不存在于标签词典T里,则加入标签字典T,权重初始值为T [c] = 1/b1 (b>l),否则修改原有权重值,T[c] = T[c]+l/b1;
[0055]5.5)如果1〈L,L为类别子树的最大层数,令I = 1+1,转至步骤5.4),若达到类别子树的最大层数L,则结束;经过上述步骤,输出的标签词典T即为通过一条微博发现的用户标签及其权重;
[0056]5.6)将标签词典T作为用户下一条微博的初始值,重复步骤2)-5)操作进行标签收集,直到最终为用户的所有微博都进行了标签收集。
[0057]前述的一种基于双聚类的微博用户标签自动生成算法,其特征是:所述6)采用投票策略,最终生成用户标签,包括如下步骤:
[0058]6.1)在确定最终的用户标签时,不能选用人物角色和类别相关的词作为用户标签,选择上一层解释的词作为标签;
[0059]6.2)取标签词典T中值排名前2N位的标签进行处理,删除人物角色并对相关类别的标签进行合并处理,N为要给用户显示的标签数量;
[0060]6.3)取标签词典T中前N个标签作为微博用户的标签
[0061]本发明所达到的有益效果:本发明以维基百科为基础,采用双聚类算法构建语义本体,定位微博中文本词语的对应条目,对有歧义条目进行消歧处理,为条目准确对应类另U,为用户生成高准确率的标签。
【附图说明】
[0062]图1基于双聚类的微博用户标签自动生成算法流程图;
[0063]图2利用维基百科文件构建语义本体流程图;
[0064]图3用户微博信息预处理流程图;
[0065]图4提取词并对有歧义词进行消歧处理流程图;
[0066]图5生成词类别子树流程图;
[0067]图6用户微博标签收集流程图。
【具体实施方式】
[0068]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0069]如图1所示,基于双聚类的微博用户标签自动生成算法,以维基百科为基础,采用双聚类算法构建语义本体,定位微博中文本词语的对应词,对有歧义词进行消歧处理,为词准确对应类别,为用户生成高准确率的标签。
[0070]本发明主要包括以下步骤:
[0071]I)以维基百科为基础,采用双聚类算法构建语义本体;
[0072]2)获取微博用户的微博信息并进行预处理,得到词袋模型;
[0073]3)利用语义本体从词袋模型中提取词,并对有歧义词进行消歧处理;
[0074]4)将消歧后的词映射到维基百科中相应的类别节点上,构造类别子树;
[0075]5)针对用户微博内容收集用户标签;
[0076]6)采用投票策略,最终生成用户标签。
[0077]步骤I),以维基百科为基础,采用双聚类算法构建语义本体:如图2所示,具体包括如下步骤:
[0078]1.1)下载维基百科数据库转储文件;
[0079]1.2)对转储文件条目的解释进行分词,采用最大正向匹配方法进行分词;
[0080]1.3)定义语义本体矩阵M,共有η行η列,η为条目的数量,本体矩阵的行向量为Wi= (P !, P2,..., Pn),含义为词Wi由词P P2,...,P1^的若干词解释;列向量为P J =(W1, W2, , Wn),含义为词Pj能解释词W1, W2,...,Wn中的若干词;利用列向量P j求出能解释若干词Wi的词P j的集合,也可求得被若干词P j共同解释过的词W i的集合;
[0081]1.4)计算Pj对Wi的重要度M U,给矩阵M赋值,计算规则为:当Pj不能用来解释Wi时,则Mi,」=O ;当P」可以用来解释w财,则M i;」不为O,此时M i; j的取值为P^wi的整个解释空间的重要度,利用公式My= TF(j) Xln(n/OF(j))来计算,其中,TF(j)表示词频,指在词Wi的解释中词P斤现的次数,OF(J)为解释词w用到的词P郝数量,In为以e为底的对数;词频即词出现的次数,条目是唯一的,但是在解释条目时,有可能某个词会出现多次。
[0082]1.5)根据本体矩阵M,构造一个相对应的标记矩阵M’,在矩阵M中值为O的位置矩阵M’也为0,矩阵M中值不为O的位置矩阵M’设置为I ;
[0083]1.6)在标记矩阵M’上构造候选矩阵集合:利用列向量Pj求得被不同词Pj共同解释过的词Wi的集合;利用被2个不同的词P j军释过的词w i的分类集合,求出被3个或4个不同的词Pj军释过的词w ,的分类集合;再以此为基础,求得被5个至8个不同词P j军释过的词Wi的分类集合;不失一般性,一个词会被2个以上的词来解释,选择16个作为上限;通过以上步骤,求得候选集合词h个数从2到16的集合,设这样的集合中w(行)的个数是I,P(列)的个数是J,那么IXJ的子矩阵就是候选矩阵,得到用于双聚类的子矩阵IXJ;
[0084]1.7)在语义本体矩阵M中找到对应的子矩阵,运行双聚类算法对候选集合中的子矩阵进行行向量集合的聚类,得到K个双聚类,构建语义本体;其中包含有重叠结构的双聚类;双聚类重叠表示对不同本体的解释有重叠,从本质上讲就是这些本体相似或相关;针对有重叠的双聚类结果采用重用技术,即重叠的双聚类结果中包含的元素同时属于不同的本体;本发明双聚类构建语义本体的算法采用【背景技术】中文献公开的方法。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1