基于近邻传播模型从图书目录中学习层次结构的方法
【技术领域】
[0001] 本发明涉及层次结构的生成方法,尤其涉及一种基于图书目录的层次结构生成方 法。
【背景技术】
[0002] 目录是一本书的导航也是人们在学习知识的大纲,而不同的书描述知识的侧重点 会有所不同,如何得到一个多层次的大众目录就成为了该小节的主要研宄内容。为了将两 个相似的目录项进行合并,需要一个衡量相似度的方法。可以用最简单的方法,即如果两个 目录完全相同,那么对它们进行合并。这样做就会产生很多问题,比如"冠心病的定义"和 "什么是冠心病"讲的是非常类似的东西,可以进行目录合并,但是由于他们不是完全相同, 就不会进行合并。类似这样的问题还有很多:
[0003] 首先是同义词,比如SVM和支持向量机,他们描述的是一个事物,希望他们能够进 行合并。可以去爬去同义词词典,再通过同义词词典进行过滤。但是如果问题变得稍稍复 杂一点,例如"SVM模型"和"支持向量机",这个办法就解决不了。
[0004] 其次还有一个词有两个或两个以上的父节点。例如"二叉树"的父节点就有"数据 结构"以及"树"等。这种同样的事物,但是因为描述的力度不同,就可能让他们处在不同的 层级中。
【发明内容】
[0005] 本发明的目的是为了克服原有发明的不足,给出了一种基于图书目录的层次结构 生成方法。
[0006] 本发明解决其技术问题采用的技术方案如下:
[0007] -种基于近邻传播模型从图书目录中学习层次结构的方法包括以下步骤:
[0008] 1)目录结构抽取与数据预处理:选择一本书,将其目录页进行光学字符识别实现 数字化,并在数字化的目录结构上,去除目录前缀,最后将目录进行拆分为上下级的二元 项;
[0009] 2)目录相似度工具构建:首先用分词工具对下载的维基百科的正文进行分词, 然后在分词的维基百科上建立倒排索引,最后对二元项中不同类型的节点计算目录之间的 总相似度,目录之间的总相似度由结构相似度StructSim和局部相似度IocalSim两部分构 成;
[0010] 3)层次结构生成方法:在得到了目录项之间的总相似度后,将结构化信息约束加 入到层次结构生成算法中,通过多次迭代来求解最后的层次结构。
[0011] 所述的去除目录无用的前缀,最后将目录进行拆分为上下级的二元项,具体为:
[0012] 2. 1对目录项进行预处理,使用正则表达式删除目录的前缀,正则表达式如下所 示:
[0013] (\8*\第.*(\章 |\节 |\篇 IU果 |\部\分)\s*) I (\s*\(? [\ - \二\三\四 \五\六\七\八\九\十]\8*(\、|\))\8*)
[0014] 2. 2对预处理后的目录,进行分解,分解为碎片结构,每个碎片结构包含一个根节 点与若干根节点的子节点,根节点表示上级目录,根节点的子节点表示上级目录对应的下 级目录。
[0015] 所述的局部相似度计算过程为:
[0016] 在Wikipedia上构建了倒排索引,输入的文本将被作为概念的加权向量,向量中 的内容表示用Wiki概念来表示文本的相关性,每个Wiki概念都会表示成一篇Wikipedia 的文档,向量的每一项用TFIDF来度量,表示了 Wiki概念与词之间的关联度,对于一个给定 的短文本,首先对其进行分词后得到长度为m的向量T = (W1,…,wj,对于向量T中的每个 元素~都计算该元素在Wikipedia的TFIDF,这样w i= {d η,…,din},η为Wikipedia中总 的概念数,那么文本就转化为在Wiki概念上的分布R= W1, ···,(!"}:
【主权项】
1. 一种基于近邻传播模型从图书目录中学习层次结构的方法,其特征在于包括以下步 骤: 1) 目录结构抽取与数据预处理:选择一本书,将其目录页进行光学字符识别实现数字 化,并在数字化的目录结构上,去除目录前缀,最后将目录进行拆分为上下级的二元项; 2) 目录相似度工具构建:首先用分词工具对下载的维基百科的正文进行分词,然后在 分词的维基百科上建立倒排索引,最后对二元项中不同类型的节点计算目录之间的总相似 度,目录之间的总相似度由结构相似度structSim和局部相似度localSim两部分构成; 3) 层次结构生成方法:在得到了目录项之间的总相似度后,将结构化信息约束加入到 层次结构生成算法中,通过多次迭代来求解最后的层次结构。
2. 根据权利要求1中所述的基于近邻传播模型从图书目录中学习层次结构的方法,其 特征在于所述的去除目录无用的前缀,最后将目录进行拆分为上下级的二元项,具体为: 2. 1对目录项进行预处理,使用正则表达式删除目录的前缀,正则表达式如下所示: (\8*\第.*(\章 |\节 |\篇 |U果 |\部\分)\s*)|(\s*\(? [\ - \二\三\四\五 \ 六 \ 七 \ 八 \ 九 \ 十]\s* (\、| \)) \s*) 2. 2对预处理后的目录,进行分解,分解为碎片结构,每个碎片结构包含一个根节点与 若干根节点的子节点,根节点表示上级目录,根节点的子节点表示上级目录对应的下级目 录。
3. 根据权利要求1中所述的基于近邻传播模型从图书目录中学习层次结构的方法,其 特征在于所述的局部相似度计算过程为: 在Wikipedia上构建了倒排索引,输入的文本将被作为概念的加权向量,向量中的内 容表示用Wiki概念来表示文本的相关性,每个Wiki概念都会表示成一篇Wikipedia的文 档,向量的每一项用TFIDF来度量,表示了Wiki概念与词之间的关联度,对于一个给定的短 文本,首先对其进行分词后得到长度为m的向量T= {Wl,…,wj,对于向量T中的每个元素 计算该元素在Wikipedia的TFIDF,这样wi={dn,…,din},n为Wikipedia中总的概 念数,那么文本就转化为在Wiki概念上的分布R= {屯,…,dn}:
其中叫表示词h在短文本中出现的次数,|D|表示wiki的文档综述,dj表示Wikipedia的第j篇文档,mik表示词t1在Wikipedia的第k篇文档出现的次数,这样就得到了用归一 化的Wiki概念表示的相似度文本,接着,用余弦相似度来度量向量之间的局部相似度;
其中向量A= (XpXaXv-'XnhB:(ynyayv…,yn)。
4. 根据权利要求1中所述的基于近邻传播模型从图书目录中学习层次结构的方法, 其特征在于所述的结构相似度计算过程为:结构相似度由根节点与根节点之间的结构相似 度,叶节点与叶节点之间的结构相似度,叶节点与根节点之间的结构相似度三部分构成,其 中: 1) 根节点与根节点之间的结构相似度:
其中如果s(,)的两个参数完全相同,则S(,)= 1,否则,5(,)=0, 返回节 点A的一个叶节点0的名字,Z是一个常量,Z=min(|lx|,|1Y|),|lx|表示节点x的子节 点的数量; 2) 叶节点与叶节点之间的结构相似度:
其中如果S(,)的两个参数完全相同,则S(,)= 1,否则,返回节点 A的一个叶节点Zf的名字,Z是一个常量,Z=min(|lx |,11Y |),|lx |表示节点x的子节点的 数量; 3) 叶节点与根节点之间的结构相似度: structSimLL(1A,rB) =localSim(rA,rB) 〇
5. 根据权利要求1中所述的基于近邻传播模型从图书目录中学习层次结构的方法,其 特征在于所述的总相似度的计算为: nodeSim(i,j) = (1-a)XlocalSim(i,j) +aXstructSim(i,j) 其中a是调整localSim和structSim贡献度的参数,取值范围为[0, 1]。
6. 根据权利要求1中所述的基于近邻传播模型从图书目录中学习层次结构的方法,其 特征在于所述的步骤3)为: 6. 1对碎片结构用近邻传播模型聚类 用二进制变量的矩阵来表示近邻的传播,cu表示节点j是否是节点i的一个聚类中心,Cij为一个二值变量,取值只能为0或1,N是节点的数量,所以矩阵的大小应为NXN, 6. 2三个条件来约束聚类结果的一致性 第一个条件为:在第i行施加的Ii表示在每一个数据集合中,节点i只能属于一个聚 类中心,即E1 ; 第二个条件为:在第j列施加的&表示如果一个节点选择了j作为聚类中心,那么节 点j一定是自己的聚类中心,即Cjj= 1 ; 第三个条件为:合并操作不应该创建从超过一个父节点聚类中心到另一个聚类中心的 边,即F约束,F约束相当于全局最优函数的惩罚项,阻止了合并中不同父节点的问题; 除了这三个约束条件,还有一个相似度函数S(.)表示了一个特定节点属于某个聚类 中心的可能性,如果(^_= 1,则S(cy表示节点i和节点j之间的相似度,如果(^_= 0, S(Cj为自相似度表示节点j作为聚类中心的可能性,自相似度越高,该点成为聚类中心的 可能性也就越大,此外,一开始给所有节点赋上了相同的自相似度,表明所有节点都有均等 的概率成为聚类中心,最后得到一个全局目标函数: S (Cll,…,CNN) - E i,jsi j (ci j) + E i li (cil,...,CiN) + E jEj (Ci j,...,C1N) + jFj (C1:j,...,C1N); 6. 3全局最优函数求解 为了求解该全局目标函数,需要传递两种信息P,0以及两种附加信息0,T;p,0 和〇的更新函数如下所示: Pij = + dLj + tL! 0ij=S(i,j) +ajj+ t jjoLJ =S(i,j)+aLj + dij 为了推导消息传递中的参数T,需要考虑两种情况:i=j和i辛j,为了简化,假定所 有叶节点的下标都小于根节点,因此,叶节点的下标从1到L,当i=j时,考虑T更新的两 种情况:Cjj= 1和cjj= 0,当cjj= 1时,
其中S{j}表示共享同一个父节点的叶节点集合,所以TM的度量方式可以简化为:
对于i辛j的情况,也要考虑这两种情况,当C"= 1时:
开始时,指定所有需要传递的参数都为〇,然后通过不断地迭代来更新所有的传递参数 直到收敛,算法收敛后,聚类的结果即为最后的层次结构。
【专利摘要】本发明公开了一种基于近邻传播模型从图书目录中学习层次结构的方法。学习结构化数据已经成为了很多领域中非常重要的问题,例如文档及web数据挖掘,生物信息学,图书分析等。学习这种复杂结构的一种方法是将其分解为小的、不完全的而且带有噪声的结构化碎片。本发明从图书的目录出发,首先对图书目录进行预处理,接着通过增加结构和语义相似度来对学习得到的层次结构进行约束,并利用结构化信息拓展了近邻传播模型,使其能够将一组原有的碎片信息整合成一致的,更大的层次主题。本发明利用图书目录这种高可靠性,低噪声的数据构建出来的层次结构比现有的方法有着更高的准确度和更低的冲突性。
【IPC分类】G06F17-27, G06F17-30
【公开号】CN104699666
【申请号】CN201510050439
【发明人】鲁伟明, 李戈, 吴江琴, 庄越挺
【申请人】浙江大学
【公开日】2015年6月10日
【申请日】2015年1月30日