首页> 中国专利> 一种基于图书目录的专题自动生成方法

一种基于图书目录的专题自动生成方法

摘要

本发明公开了一种基于图书目录的专题自动生成方法。对每一本书,把目录中每个章节当作一个词语,提取出词语的特征,训练出一个分类器识别出书目录中的实体,对于书目录中每一对属于实体的上下级章节词抽取出符合上下位关系的章节对。根据上下位关系构建每个词的概念层次结构,对所有图书中相同的或相似的概念层次进行融合。对概念层次中的每一个概念词语,检索其在网页中和图书中的内容作为该词语的描述内容。最后,把概念层次及概念词内容组织成专题形式。本发明利用图书目录的结构化信息和机器学习相关算法实现了知识的抽取和重组,在编写专题时可以借鉴,可以大大减少相关工作的人力成本,具有较高的实用性。

著录项

  • 公开/公告号CN105893485A

    专利类型发明专利

  • 公开/公告日2016-08-24

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201610188009.9

  • 申请日2016-03-29

  • 分类号G06F17/30(20060101);G06K9/62(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人郑海峰

  • 地址 310027 浙江省杭州市西湖区浙大路38号

  • 入库时间 2023-06-19 00:19:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-12

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160329

    实质审查的生效

  • 2016-08-24

    公开

    公开

说明书

技术领域

本发明涉及自然语言处理和机器学习领域,尤其涉及基于图书目录的专题自动生成方法。

背景技术

随着计算机科学技术的快速发展,网络数据也随之呈爆炸式增长,这些网络数据具有来源广泛、无结构、无层次、成分复杂、多噪音等特点。如何从中抽取知识并按照一定方式组织应用成了自然语言处理、机器学习和信息检索等领域的一大热门方向。知识库为该问题提供了一种可行的解决方案,然而,大规模知识库的构建仍然是一个极具挑战的任务。WordNet,EurowordNet,Cyc都是由领域专家人工编撰的知识库。尽管它们具有高质量,但是在规模、知识覆盖度、更新周期等方面明显不足,另外通过人工编写,需要耗费大量的人力物力。在大数据的背景下,人工构建数据库显得更加无力。事实上,在人类发展的历史进程中,大量的知识都通过图书传承下来,图书里面蕴含着海量的知识等待着我们去挖掘利用。幸运的是,越来越多的图书被数字化存储在数字图书馆中,这些图书中存储着大量的结构化的知识片段。但是,这些知识片段都隐含在海量资源中,且只是按作者意图组织。显然,如果能从这些数字资源中抽取知识片段、关联、重组和融合,形成按照一定目标、主题组织的内容,将会产生更大的价值。

发明内容

本发明的目的是充分利用图书中的结构化的知识片段,从图书目录中抽取知识进行关联重组和融合,弥补从网页中抽取知识的不足。

本发明的目的是通过以下技术方案来实现的:

一种基于图书目录的专题自动生成方法,包括以下步骤:

1)数据预处理:利用光学字符识别技术将图书数字化,从数字化的图书中抽取出图书目录和正文,去除目录中章节序号,以及停用词,分别对目录章节和正文构建索引,另外利用word2vec训练出每个目录词的向量表示。具体步骤为:

1.1).去除目录中章节序号,统计章节,分析章节序号特点,使用正则表达式去除章节序号;

1.2).对去除目录章节号的词,统计每个词出现的次数,选出出现频率最高的 2000个,筛选出停用词;

1.3).对目录章节构建索引时,索引字段包括图书编号,类别,上级章节词,下级章节词;

1.4).对正文构建索引时,索引字段包括图书编号,正文内容,正文对应的章节名称;

1.5).word2vec训练语料的处理,输入语料每一行对应目录索引中一个分好词的章节和未分词的章节,输入开源的word2vec软件包中,训练完成后,把每个词的词向量写入索引中便于查询。

2).实体识别:分析实体的特征,对目录章节索引中的所有章节词,分析每个章节词是否满足实体特征,利用SVM分类器进行分类,修改原有目录章节索引,将目录章节中所有分类后不属于实体的词去掉形成新的索引Concept。

具体步骤为:

2.1).提取每个词的特征,实体的特征具体包括3类:单词特征、词性特征、目录语义特征,单词特征包括词语长度、词的词性组成以及该词是否被百度百科收录;词的词性组成是指利用自然语言处理工具对词语进行分词之后词组的词性组成;目录语义特征是指目录中每个章节与上下文章节之间的关系、利用word2vec训练出的词向量分别计算该词与上下文词之间的相似度和上下文章节词是否被百度百科中收录;word2vec是谷歌公司在2013年开发的一款用于训练词向量的软件工具,经过训练可以把词表达称向量的形式。

2.2)根据上一步提取的实体的特征,标记一部分实体章节词和非实体章节词作为训练集,利用weka中SVM分类器进行分类,修改原有目录章节索引,将目录章节中所有分类后不属于实体的词去掉形成新的索引Concept。

3).上下位词抽取:分析上下位词的特征,对上一步构建的索引中的每一对上下级章节词,分析其是否满足上下位词的特征,利用Adaboost分类器进行分类,将所有分类后满足上下位关系的词对写入新的索引中,新索引中根据不同的字段来区分上位词、下位词和图书;具体步骤为:

3.1).对索引Concept中的每一对上级章节实体词x和下级实体词y,抽取分类特征,上下位词的分类特征包括3类:上下位模式特征,语义特征,目录结构特征。上下位模式特征有x和y是否共享前缀或后缀;语义特征有归一化谷歌距离NGD,归一化编辑距离NED,分类相似度,word2vec距离。目录结构特征有归一化目录距离NCD和每个词所出现的不同的上级章节数。

NGD是一种利用词在谷歌索引的网页语料库中共现关系来计算两词之间相关关系的衡量方式。谷歌距离NGD的计算方式为:

NGD(x,y)=max{logN(x),logN(y)}-logN(x,y)logM-min{logN(x),logN(y)}

NGD(x,y)表示利用归一化谷歌距离计算出来的x,y的相关关系,

N(x)表示利用谷歌搜索“x”搜索出来的结果条数;

N(y)表示利用谷歌搜索“y”搜索出来的结果条数;

N(x,y)表示利用谷歌搜索“x y”搜索出来的结果条数;

M为谷歌索引的所有文档总数;

NED是指两个字符串之间,相互转换所需要的最少编辑操作次数。允许的编辑操作包括:将一个字符替换成另一个字符,插入一个字符或者删除一个字符,NED表示两词之间一个相对的编辑距离,NED计算方式为:

NED(x,y)=ED(x,y)max(len(x),len(y))

其中len(x)表示字符串x的长度,len(y)表示字符串y的长度。ED(x,y)表示x,y之间的最小编辑距离。NED越小,表示两词之间差距越小,关系越密切,反之关系越疏远。

分类相似度:利用词在百科中的分类标签来作为词条的分类,计算x的分类和y的分类是否存在交集

word2vec距离:利用word2vec进行训练后,最终每个章节词都被表示成一个k维向量,利用向量的余弦距离计算上级章节和下级章节之间的距离

利用归一化目录距离的公式计算x,y的距离,

NCD(x,y)=max{logN(x),logN(y)}-logN(x,y)logM-min{logN(x),logN(y)}

N(x,y)表示以x作为上级章节词,y作为下级章节词,两者同时出现在同一目录上下级章节中的次数,N(x)表示x单独出现在目录章节中的次数,N(y)表示y单独出现在目录章节中的次数。M表示所有图书包含的目录条数。

该词作为下级章节的不同的上级章节数:对Concept索引中每个词直接利用hash表统计其上级章节词出现的个数.

3.2)根据上一步提取的特征,标记一部分上下位目录章节词和非上下位目录章节词作为训练集,利用开源的分类算法包weka中Adaboost分类器进行分类,分类完成后,整理每个词及其所有下位词,最后对其构建索引Hypernymy,索引字段为图书编号,上位目录章节词,上位目录章节词的所有下位目录章节词,下位目录章节词之间通过特殊符号分割。

4).概念层次融合:利用上一步生成的Hypernymy索引,对每一本书,把上位词和其所有下位词作为一组,对所有的图书中相同的上位词,根据下位词计算上位词之间的相似度,把相似度大于特定阈值的进行融合。具体为:通过3.2)可以知道对于某本书中的一个实体X,可以获得它的所有的下级实体y1,y2,…yn,n表示x的下级词的个数。1.在某本图书a中抽取的上下位关系为{Xa,[y1,y2,…yn]},其中Xa表示图书a中的一个实体X,y1,y2,…yn表示在图书a中的实体X的下位目录章节词,在另一本图书中抽取的上下位关系为{Xb,[u1,u2,…um]},其中Xb表示图书b中的一个实体X,u1,u2,…um表示在图书b中的实体X的下位目录章节词,如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Xb融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{X,[y1,y2,…yl]},l为融合之后X的下位章节词的个数,其中wvd(yi,uj)表示yi和uj用word2vec计算的向量距离;2.在某本图书中抽取的上下位关系为{Xa,[Y,y1,y2,…yn]},在另一本书中抽取的上下位关系为{Y,[u1,u2,…um]},如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Y融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{Xa,[Y,y1,y2,…yl]},此时Xa的下位词包括融合之前本身的下位词以及属于Y但不属于Xa的下位词。

5).专题生成:专题生成包括专题目录生成和专题内容生成,专题内容分为图书内容和网页内容。具体步骤为:

5.1)专题目录生成:根据4)的结果,给定一个词,可以获取其上位词和下位词,所以给定一个专题词t,可以按照以下算法生成专题目录:

第一步,查找t的所有的下位词,若不存在,返回null,否则转第二步;

第二步,记录好t和t的下位词之间的关系{t,[y1,y2,…,yn]},对于t的每一个下位词yi执行第一步,其中1≤i≤n,

整个过程中每个词及其下位词之间形成了一个树形的层次关系,这与常见的专题目录的逻辑结构是一致的;

5.2)专题内容生成:对专题中的每一个词语利用图书正文索引检索最相关的前几条记录,作为词的专题图书内容,另外,利用百度百科检索该词语,检索到的结果作为词的网页内容。

本发明与现有技术相比具有的有益效果:

1.数据来源是结构化的图书目录,知识抽取结果更加准确

2.全过程结合机器学习相关算法,过程具有自动性,可重复执行,避免了人工参与。

3.实体识别和上下位抽取都是基于图书目录的,充分利用了图书的结构化信息,使得识别和抽取更加准确。

4.专题是由多本图书融合而成,使得最终生成的专题更加全面和有深度。

附图说明

图1为一种基于图书目录的专题自动生成方法的整体框架图;

图2为《高等数学》一书部分图书目录内容;

图3为图书1变压器一章目录;

图4为图书2变压器一章目录;

图5为最终形成的专题举例。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。

如图1所示,一种基于图书目录的专题自动生成的方法,包括以下步骤:

1)数据预处理:利用光学字符识别技术将大量图书数字化,从数字化的图书中抽取出图书目录和正文,去除目录中章节序号,以及一些停用词,分别对目录章节和正文构建索引。具体步骤为:

1.1).去除目录中章节序号,统计大量章节,分析章节序号特点,发现目录章节的序号大部分都是“第*章”,“第*节”,“1.1”,“1.2”之类的形式,从图2中可以很清楚的看到这些章节序号。使用“^(\d+[\.\-]){0,9}\d+”,“试题|实验|答案[1-9]”,“[1-9]}[节|章|篇|部分|单元|章节|上篇|下篇|课]”等正则表达式去除章节序号。

1.2).很多图书的目录中都会包含诸如“答案”,“概述”,“绪论”等无意义的词,在预处理过程中需要额外去除这些词,由于没有这种停用词词典,这里,采用的方法是对去除目录章节号的词,统计每个词出现的次数,选出出现频率最高的2000个,筛选出停用词。

1.3).对目录章节构建索引时,索引字段包括图书编号,类别,上级章节词, 下级章节词以及上级章节词在目录结构中所处的层次。通过这种方式,可以为每一本书恢复其原有的目录结构。

1.4).对正文构建索引时,索引字段包括图书编号,正文内容,正文对应的章节名称。正文索引的作用是为了能够根据章节名称找到对应的图书正文。

1.5).word2vec训练语料的处理,输入语料每一行对应目录索引中一个分好词的章节和未分词的章节,输入开源的word2vec软件包中,训练完成后,把每个词的词向量写入索引中便于查询。

2).实体识别:命名实体识别已经有研究比较成熟的技术了,其中分类算法是比较常见方法。根据分类的要求,首先需要分析实体具有哪些特征特征,对索引中的所有章节词,分析每个章节词是否满足实体特征,通过比较各类分类器,最终采用了支持向量机作为最终的分类器。相比较其他分类器,支持向量机对复杂非线性边界具有较强的建模能力,不容易过拟合。利用开源工具包weka中的libSVM分类器进行分类,分类前分析实体的特征,对目录章节索引中的所有章节词,分析每个章节词是否满足实体特征,然后利用SVM分类器进行分类,修改原有目录章节索引,将目录章节中所有分类后不属于实体的词去掉形成新的索引。具体步骤为:

2.1).提取每个词的特征,实体的特征具体包括3类,单词特征、词性特征、目录语义特征。

单词特征主要包括词语长度和词的词性组成以及百度百科是否收录。

词长度:通过观察发现长度较长的目录名通常不是一个概念,例如“涡轮发动机的工作原理”,“计算机网络的基本功能”等。因此,把目录名的长度当做一个特征,根据其长度是否大于9分成两类,长度小于9作为候选词,长度大于9的删掉。

词的词性组成是指利用自然语言语言处理工具对词语进行分词,分词之后词组的词性组成。一般而言,实体应该是一个名词短语,这些短语包括的词性类别可以包括NN(名词),CC(连接词),JJ(形容词),IN(介词)等,比如实体“革兰氏阴性小杆菌”的词性为“革兰氏/NN阴性/NN小/JJ杆菌/NN”。而包含动词的短语往往不是名词,比如“收缩段长度”的词性为“动词+量词+名词”词性特征在识别命名实体能够提供更有帮助的信息,本研究中采用了FudanNLP对文本语料进行词性标注。

百科中是否收录:百度百科是由人手工编写出来得,里面大部分词是实体,可以利用这个特征

2.2).目录语义特征是指目录中每个章节与上下文章节之间的关系,包括目录 相似度和目录上下文特征

目录相似度:如果一个章节下面有很多章节词都是实体,对于一个未知的章节词而言,如果它与其他实体词之间很相似,那么该词也应该是一个实体词。比如《小儿肿瘤病理学》中“常见肿瘤”章节下有有"尤文氏肉瘤","骨肉瘤","纤维肉瘤","透明细胞肉瘤",我判定了前三个都是实体,通过计算"透明细胞肉瘤"与其他三个目录的平均word2vec距离:

averageSim=Σi=1nsim(x,yi)n

其中x表示待识别的实体,yi表示所有的同级目录,n是同级目录数。如果averageSim值比较大表明该词与同级目录下的其他词很相似,反之表明该词与同级目录下其他词不相似。通过计算,在上面的例子中“透明细胞肉瘤”与其他三个目录的平均word2vec距离为0.81,显然几个目录词是非常相似的。他们都应该为实体或非实体。

目录上下文特征:图书目录是专家编写的,同一个目录下的章节具有高度的相关性和内聚性。如果一个章节的上下位章节都是实体概念,根据目录的组织特点,该章节有很大可能性也是实体概念,这里我分别利用了单词前后各俩个词的特征。包括该词上下文的词性特征,上下文的是否是百科词条特征。比如“自动变速器”的目录结构[自动变速器—>(液压控制系统,行星齿轮变速器,液力耦合器)],其中“行星齿轮变速器”可能在词典或百度百科中都没有,但是它的上下文“液压控制系统”和“液力耦合器”都可以明确判定是实体概念。

2.3)最后将提取的特征向量化,如果待分类词满足第i个特征,则向量的第i位为1,否则为0。然后手工标记一部分实体章节词和非实体章节词作为训练集,利用开源的分类算法包weka中SVM分类器进行分类,修改原有目录章节索引,将目录章节中所有分类后不属于实体的词去掉形成新的索引。

3).上下位词抽取:图书目录内容本身是一个组织结构良好,层次清晰,按时间顺序排列知识单元,其上级目录和下级目录在很多时候本身就存在一定的主题和子主题的关系。因此,图书目录本身就是用来作为上下位抽取的高质量的语料库。在图2所显示的目录中,(无穷级数,泰勒技术),(无穷级数,正项级数)等都满足上下位关系。上下位词不论在语义上还是词形都具有一定的特点,分析上下位词的特征,对上一步构建的索引中的每一对上下级章节词,计算其是否满足上下位特征,利用Adaboost分类器进行分类,将所有分类后满足上下位关系的词对写入新的索引中,新索引中根据不同的字段来区分上位词、 下位词和图书。具体步骤为:

3.1).对索引Concept中的每一对上级章节实体词x和下级实体词y,抽取分类特征,上下位词的分类特征包括3类:上下位模式特征,语义特征,目录结构特征。

上下位模式特征:x和y是否共享前缀或后缀,两个词满足前后缀关系一般情况下都满足上下位关系,而且一般对(x,y)而言,如果x,y共享后缀,并且y词长于x,y一般都会是x的下位词。比如(排序,冒泡排序),(植物,被子植物)等等。

语义特征:包括归一化谷歌距离NGD,归一化编辑距离NED,分类相似度,word2vec距离。

NGD是一种利用词在谷歌索引的网页语料库中共现关系来计算两词之间相关关系的衡量方式。谷歌距离NGD的计算方式为:

NGD(x,y)=max{logN(x),logN(y)}-logN(x,y)logM-min{logN(x),logN(y)}

NGD(x,y)表示利用归一化谷歌距离计算出来的x,y的相关关系,

N(x)表示利用谷歌搜索“x”搜索出来的结果条数;

N(y)表示利用谷歌搜索“y”搜索出来的结果条数;

N(x,y)表示利用谷歌搜索“x y”搜索出来的结果条数;

M为谷歌索引的所有文档总数;NGD(x,y)越小,表明x,y之间的关系越紧密,越大越接近1,表明x,y之间关系越疏远。NGD=0,表明两者非常相似,一般为同义词或者同一个词比如利用上述API可得:N(熟练)=3090000,N(效果法则)=168,N(熟练,效果法则)=1,N(滴定分析)=2170,N(沉淀滴定法)=1810,N(滴定分析法,沉淀滴定法)=415。NGD(熟练,效果法则)=0.6639553788941499,NGD(滴定分析法,沉淀滴定法)=0.08217630103044252。显然,NGD(熟练,效果法则)很大接近1,表明两者关系疏远。而NGD(滴定分析法,沉淀滴定法)很小接近0,表明两者关系紧密,这与我们的常识是一致的。

NED是指两个字符串之间,相互转换所需要的最少编辑操作次数。允许的编辑操作包括:将一个字符替换成另一个字符,插入一个字符或者删除一个字符,NED表示两词之间一个相对的编辑距离,NED计算方式为:

NED(x,y)=ED(x,y)max(len(x),len(y))

其中len(x)表示字符串x的长度,len(y)表示字符串y的长度。ED(x,y)表示x,y之间的最小编辑距离。NED越小,表示两词之间差距越小,关系越密切,反之关系越疏远。NED越小,表示两词之间差距越小,关系越密切,反之关系越疏远。比如NED(经济,工业)=1.0;NED(换热器,预热器)=0.33;

分类相似度:一般来说,如果(x,y)满足上下位,x的分类应该和y的分类一致,或者下位词的分类应该属于上位词的分类利用词在百科中的分类标签来作为词条的分类,计算x的分类和y的分类是否存在交集。

word2vec距离:利用word2vec进行训练后,最终每个章节词都被表示成一个k维向量w<x1,x2,…,xk>.利用向量的余弦距离计算上级章节和下级章节之间的距离,两次之间的word2vec距离越大,两者关系越密切,距离越小,关系越疏远。比如(排序,冒泡排序)=的word2vec距离为0.8525064780061814。

目录结构特征:包括归一化目录距离NCD和每个词所出现的不同的上级章节数。

利用归一化目录距离的公式计算x,y的目录距离,

NCD(x,y)=max{logN(x),logN(y)}-logN(x,y)logM-min{logN(x),logN(y)}

N(x,y)表示以x作为上级章节词,y作为下级章节词,两者同时出现在同一目录上下级章节中的次数,N(x)表示x单独出现在目录章节中的次数,N(y)表示y单独出现在目录章节中的次数。M表示所有图书包含的目录条数。

下级目录的不同上级目录数,通常来说,对于一个特定的下级目录而言,在整个语料库中,其上级目录不应该非常多或者上级目录不应该有很多不同的主题。比如说“计算机”这个词其上级目录可以是“计算机学”,“电器”和“自然学科”。而“答案”这个词却有可能出现在任何目录的下级目录中。可以对索引Concept中每个词直接利用hash表统计其上位词出现的个数来进行分析。

3.2)最后将提取的特征向量化,如果待分类词满足第i个特征,则向量的第i位为1,否则为0。根据提取的特征,手工标记一部分上下位目录章节词和非上下位目录章节词作为训练集,利用开源的分类算法包weka中Adaboost分类器进行分类,分类完成后,整理每个词及其所有下位词,最后对其构建索引Hypernymy,索引字段为图书编号,上位目录章节词,上位目录章节词的所有下位目录章节词,下位目录章节词之间通过特殊符号分割。

4).概念层次融合:利用上一步生成的索引,对每一本书,把上位词和其所有下位词作为一组,对所有的图书中相同的上位词,根据下位词计算上位词之间 的相似度,把相似度大于特定阈值的进行融合。具体为:通过3.2)可以知道对于某本书中的一个实体X,可以获得它的所有的下级实体y1,y2,…yn,n表示x的下级词的个数。融合可能存在两种情况:1.在某本图书a中抽取的上下位关系为{Xa,[y1,y2,…yn]},其中Xa表示图书a中的一个实体X,y1,y2,…yn表示在图书a中的实体X的下位目录章节词,在另一本图书中抽取的上下位关系为{Xb,[u1,u2,…um]},其中Xb表示图书b中的一个实体X,u1,u2,…um表示在图书b中的实体X的下位目录章节词,如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Xb融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{X,[y1,y2,…yl]},l为融合之后X的下位章节词的个数,其中wvd(yi,uj)表示yi和uj用word2vec计算的向量距离;2.在某本图书中抽取的上下位关系为{Xa,[Y,y1,y2,…yn]},在另一本书中抽取的上下位关系为{Y,[u1,u2,…um]},如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Y融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{Xa,[Y,y1,y2,…yl]},此时Xa的下位词包括融合之前本身的下位词以及属于Y但不属于Xa的下位词。

5).专题生成:专题生成包括专题目录生成和专题内容生成,专题内容分为图书内容和网页内容。具体步骤为:

5.1)专题目录生成:根据4)的结果,给定一个词,可以获取其上位词和下位词,所以给定一个专题词t,可以按照以下算法生成专题目录:

第一步,查找t的所有的下位词,若不存在,返回null,否则转第二步

第二步,记录好t和t的下位词之间的关系,{t,[y1,y2,…,yn]},对于t的每一个下位词yi,1<=i<=n,都去执行第一步

第三步,整个过程中每个词及其下位词之间形成了一个树形的层次关系,这与常见的专题目录的逻辑结构是一致的。

5.2)专题内容生成:对专题中的每一个词语利用图书正文索引检索最相关的前几条记录,作为词的专题图书内容,另外,利用百度百科检索该词语,检索 到的结果作为词的网页内容。

实施例

下面结合本发明的方法详细说明本实例实施的具体步骤:

1).从CADAL数字图书馆扫描的250余万的电子图书中选择了11个类别114768本图书,共5719462个目录章节进行实验,类别涉及自然科学总论、数理化、生物科学、医药卫生、农业科学、工业技术、交通运输、航空航天、环境科学和安全科学、综合性图书、天文地球共11个类别。

2).这里以两本图书的目录为例子说明图1的所有过程。图书1和图书2目录部分章节分别如附图3和附图4所示。首先利用正则表达式过滤掉目录中的序号,对过滤后的目录统计选出频率最高的2000个词语,选择出诸如“答案”,“概述”,“绪论”等无意义的词,这一步可以过滤掉图书1的“复习纲要”和“练习题”,图书2的“小结”和“纲要”。然后对目录章节和正文构建索引,目录章节索引字段包括图书编号,类别,上级章节词,下级章节词以及上级章节词在目录结构中所处的层次,正文索引字段包括图书编号,正文内容,正文对应的章节名称。

3).提取2)中构建的索引中的每个词的特征,将提取的特征向量化,如果待分类词满足第i个特征,则向量的第i位为1,否则为0。然后手工标记一部分实体章节词和非实体章节词作为训练集,利用开源的分类算法包weka中SVM分类器进行分类,将所有分类后属于实体的词写入新的索引Concept,新索引字段包括图书编号,上级章节实体词和下级实体词。经过这一步,图书1变成{变压器-->[单相变压器,三相变压器,电力变压器,磁路]},图书2变成{变压器->[单向变压器,三项变压器,特殊变压器]},{特殊变压器->[互感器,自耦变压器],尽管在实体识别时“铁心”和“绕组”都被识别为实体,但由于上级目录并不是实体,下级目录也无需保留。

4).对索引Concept中的每一对上级章节实体词x和下级实体词y,抽取分类特征,将提取的特征向量化,如果待分类词满足第i个特征,则向量的第i位为1,否则为0。根据提取的特征,手工标记一部分上下位目录章节词和非上下位目录章节词作为训练集,利用开源的分类算法包weka中Adaboost分类器进行分类,分类完成后,整理每个词及其所有下位词,最后对其构建索引Hypernymy,索引字段为图书编号,上位目录章节词,上位目录章节词的所有下位目录章节词,下位目录章节词之间通过特殊符号分割。这里,由于图书1(变压器,磁路)不满足上下位关系,被过滤掉,图书2目录在经过实体识别之后的上下级目录都满足上下位关系,所以,经过上下位抽取之后,目录保持不变。

5).概念层次融合:利用上一步生成的索引,对每一本书,把上位词和其所有下位词作为一组,对所有的图书中相同的上位词,根据下位词计算上位词之间的相似度,把相似度大于特定阈值的进行融合。具体为:通过3.2)可以知道对于某本书中的一个实体X,可以获得它的所有的下级实体y1,y2,…yn,n表示x的下级词的个数。融合可能存在两种情况:1.在某本图书a中抽取的上下位关系为{Xa,[y1,y2,…yn]},其中Xa表示图书a中的一个实体X,y1,y2,…yn表示在图书a中的实体X的下位目录章节词,在另一本图书中抽取的上下位关系为{Xb,[u1,u2,…um]},其中Xb表示图书b中的一个实体X,u1,u2,…um表示在图书b中的实体X的下位目录章节词,如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Xb融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{X,[y1,y2,…yl]},l为融合之后X的下位章节词的个数,其中wvd(yi,uj)表示yi和uj用word2vec计算的向量距离;2.在某本图书中抽取的上下位关系为{Xa,[Y,y1,y2,…yn]},在另一本书中抽取的上下位关系为{Y,[u1,u2,…um]},如果y1,y2,…yn与u1,u2,…um之间通过相似度函数计算的相似度大于特定阈值,则将Xa与Y融合,

相似度函数为:

Σi=1nΣj=1mwvd(yi,uj)m*n

融合结果为{Xa,[Y,y1,y2,…yl]},此时Xa的下位词包括融合之前本身的下位词以及属于Y但不属于Xa的下位词。

图书1和图书2的属于上述融合的第一种情况,经过计算[单相变压器,三相变压器,电力变压器]与[单向变压器,三项变压器,特殊变压器]相似度很高,可以融合,最终融合成{变压器->[单向变压器,三项变压器,电力变压器,特殊变压器]},{特殊变压器->[互感器,自耦变压器]。

5).专题生成:专题生成包括专题目录生成和专题内容生成,专题内容分为图书内容和网页内容。具体步骤为:

5.1)专题目录生成:根据4)的结果,给定一个词,可以获取其上位词和下位词,所以给定一个专题词t,可以按照以下算法生成专题目录:

第一步,查找t的所有的下位词,若不存在,返回null,否则转第二步

第二步,记录好t和t的下位词之间的关系,{t,[y1,y2,…,yn]},对于t的每一个下位词yi,1<=i<=n,都去执行第一步

第三步,整个过程中每个词及其下位词之间形成了一个树形的层次关系,这与常见的专题目录的逻辑结构是一致的。经过这步,图书1和图书2的目录最终形成图5所示的专题目录。

5.2)专题内容生成:对专题中的每一个词语利用图书正文索引检索最相关的前几条记录,作为词的专题图书内容,另外,利用百度百科检索该词语,检索到的结果作为词的网页内容。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号