一种基于通用百科网站的领域百科构建系统的制作方法

文档序号:6637029阅读:332来源:国知局
一种基于通用百科网站的领域百科构建系统的制作方法
【专利摘要】本发明属于开放知识抽取【技术领域】,具体为一种基于通用百科网站的领域百科构建系统。该系统分为以下几个模块:百科数据爬取模块,百科数据预处理模块,相关实体搜索及排序模块和实体聚类模块。本发明的有益效果在于:领域百科的构建目前大多为手工构建,费时费力,且人工不可能发现所有相关实体,因此覆盖率低;而以本发明找出的领域相关实体为基础建立领域百科,能极大地减少领域百科的构建的人力,并大幅提升覆盖率。同时,利用本发明系统所构建出的领域百科,将极大地方便用户获取特定领域的知识,省去了繁琐地搜索及筛选过程,把“用户被动地搜索信息”变成了“系统主动地提供信息”。
【专利说明】-种基于通用百科网站的领域百科构建系统

【技术领域】
[0001] 本发明涉及一种基于通用百科网站的领域百科构建系统,属于开放知识抽取技术 领域。

【背景技术】
[0002] 如今,很多在线百科类网站,如百度百科、Wikipedia等近年来不断出现,它们极大 地方便了用户获得信息。用户可以在上面通过内置的搜索引擎搜索所需要的信息。通常 来说,当一个用户查询一个实体时,他常常对与该实体相关的实体感兴趣,或者搜索的目的 就直接是与一个实体相关的所有实体,例如希望搜索到和复旦大学相关的所有人物。而现 在的百科类网站中,并不能实现这一目的,例如搜索和复旦大学相关的所有人物,只能在复 旦大学对应的网页中,自己查找其中出现的人物,并自己判断是否是与复旦大学相关,并浏 览,或者直接查找含有"复旦大学"标签的实体,并筛选出其中是人物的实体。这些方法都 不能快速且完整地找出所需实体,因此迫切需要一个领域百科来供查询一个领域下的所有 实体,即与领域实体相关的所有实体。
[0003] 当前存在一些人工构建的领域百科,不仅费时费力,而且数据正在呈爆炸式的增 长,人工构建的速度将无法追赶上数据增长的速度,因为急需一种机器自动构建的方法。


【发明内容】

[0004] 本发明针对现在有百科数据知识零散,而人工构建领域百科代价过高,不能大量 构建的缺点,提出了一种基于通用百科网站的领域百科构建系统。。利用本发明的系统进行 领域百科网站构建时,其首先利用分布式网络爬虫将互联网上的开放百科网站数据爬取到 本地,然后对所爬取的数据进行预处理,使数据能够更好地被利用,之后再针对特定领域, 搜索与之相关的实体词条,并进行相关度排序、聚类。
[0005] 本发明提供的一种基于通用百科网站的领域百科构建系统,由四大模块组成:百 科数据爬取模块、百科数据预处理模块、相关实体搜索及排序模块、实体聚类模块;其中:
[0006] 百科数据爬取模块,利用分布式网络爬虫将海量在线百科数据爬取到本地;
[0007] 百科数据预处理模块,对网络爬虫所爬取到的页面预处理;所述预处理依次包括 去噪、文字区域提取、分词及词频处理统计和构建索引这几个步骤;
[0008] 相关实体搜索及排序模块,在预处理后的页面中搜索和一个领域相关的实体并按 相关度排序;
[0009] 实体聚类模块,根据相关实体搜索及排序模块结果,聚类同一个领域下的相似实 体。
[0010] 本发明的技术方案具体介绍如下。
[0011] 一、百科数据爬取模块
[0012] 1. 1利用分布式网络爬虫爬取在线百科数据
[0013] 网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。利用 网络爬虫,可以自动爬取指定网站的数据。由于本发明需要用到海量地在线百科数据以构 建出高质量的领域百科,因此利用分布式地爬虫来高效地爬取海量的在线百科数据。
[0014] 二、百科数据预处理模块
[0015] 2.1去噪子模块
[0016] 利用网络爬虫所爬取到的页面,往往是页面的源文件,里面有很多的噪声,如各种 html标签,标点符号,乱码等。这些噪声将严重地影响数据的有效利用,因此需要将数据中 的噪声去除,用预先定义好的一些正则表达式匹配噪声数据,并将它们删除。经过去噪处理 的数据,质量比没有经过去噪处理的数据有显著的提高。
[0017] 2. 2文字区域提取子模块
[0018] 本发明充分利用百科页面中各个文字区域的特点,将文字按区域提取。所谓文字 区域是指一个百科页面中的标题、摘要、属性框(infobox)、正文和分类信息等。这些文字区 域各有其特点,不能一概而论,要区别对待,例如对一个领域实体"复旦大学",那些实体页 面的标题中包含"复旦大学"的实体将与"复旦大学"密切相关,如"复旦大学计算机科学技 术学院"。又例如,如果一个实体的摘要中包含了"复旦大学",那么该实体将比那些仅在正 文中包含"复旦大学"的实体与"复旦大学"的关系更为紧密。因此,不同的文字区域的重要 性是不一样的,这正是符合用户写实体词条页面的习惯,例如通常来说会把重要的信息写 在摘要中,如果现代战争实体词条页面的摘要中出现了领域实体,则该实体与领域实体很 有可能是密切相关的。为了充分利用不通文字区域的重要性不同,本发明在数据预处理后, 对每个实体词条页面按标题、摘要、infobox、正文、分类信息这些区域提取出其中的文本数 据。
[0019] 每一个实体词条页面对应着百科数据中的一个词条,对每一个实体词条页面进行 实体提取,以获取百科数据中的所有实体集合,构成一个词典,为后面利用实体进行分词 做好准备,同时也为后面通过实体名称或者其id找到其对应的页面文件提供了便利。在 一个实体词条页面中,一般来说标题就是该实体的名字或者包含该实体的名字,例如在百 度百科中,实体词条页面的标题是如下的形式〈title〉实体名称_百度百科〈/title〉,如 〈title〉复旦大学_百度百科〈/title〉。由于在同一个百科数据集中,每一个实体词条的 标题都符合同一格式,因此可以用正则表达式提取出实体名称,对一个百科数据集中所有 页面都提取出实体名称,这就构建出了一个百科实体集合,也即是要用来分词的词典。
[0020] 实体的分类信息是指描述一个实体属于哪个类别的信息,例如对于实体"复旦大 学",其在百度百科中的分类信息是教育、学校、上海、大学、机构等,分集信息对实体聚类有 着重要作用,因为它描述实体的类别,有利于聚类算法将相似类别的实体聚到一类中,因 此分类信息的提取也是至关重要一步。与实体名称类似,实体的分类信息在实体词条页 面中的格式也是比较固定的,例如在百度百科中,实体的分类信息是如下的形式:〈ahref =Vfenlei/ % E6 % 95 % 99 % E8 % 82 % B2"target = 〃_blank"class = 〃open-tag nsl〇g:7336〃>教育</a>,用正则表达式可以方便地提取出每个实体所对应的分类信息。
[0021] 2. 3分词及词频统计子模块
[0022] 由于实体词条页面中的文本都是纯文本,因此要对其进行分词,分解出其中所包 含的实体。目前主要有两种比较常用的处理方法,一种是直接在实体词条页面中提取被链 接的实体,例如在"复旦大学"这个实体词条页面中,"211工程"是一个被链接的实体(即点 击"211工程"时,会跳转到"211工程"所对应的实体词条页面),"211工程"即被当作"复 旦大学"这个实体词条页面中所包含的实体提取出来。还有一种方法是用分词工具对实体 词条页面中的文本进行分词,这时分词的结果就取决于所采用的分词工具。第一种方法完 全依赖于用户在编写词条的时候给实体添加的超链接,而用户不可能对一个页面中所有的 实体都添加超链接,所以采用第一种方法对实体词条页面进行分词会造成很多遗漏。而第 二种方法由于分词工具独立于百科数据集,因此分词工具不能很好地判断分词的位置,以 至于会把那些比较长的实体分割,例如对于"复旦大学计算机学院"这个实体,分词工具很 可能会将其分割成"复旦大学、计算机、学院"三个实体,从而不能发现名称较长的实体。
[0023] 本发明所采用的分词方法避免了以上两个问题,本发明以从百科数据集中抽取出 的实体名称作为词库,对实体词条页面上出现的所有实体进行识别,保证了不遗漏实体。同 时,采用逆向最大匹配的方法进行分词,例如对于"复旦大学计算机学院"这个实体,由于 "复旦大学计算机学院"是一个百科中的实体,因此存在于词库中,虽然"复旦大学、计算机、 学院"分别也是实体,同样也在词库中,但是由于匹配字数不及"复旦大学计算机学院",因 此不会把它分割成为"复旦大学、计算机、学院",大大提高了实体词条页面的分词准确性。
[0024] 在计算实体相关性的算法中,要用到一个实体在一个实体词条页面中所出现的次 数,为了高效地利用这些信息,先要预先对每个页面统计词频。前面提到,一个页面是由若 干个区域组成的,如标题、摘要、属性框(infobox)等,这些不同的区域的权重是不一样的, 因此在对一个实体词条页面统计词频时,也是各种区域分别统计。
[0025] 2. 4索引构建子模块
[0026] 本系统中要多次查询某个实体在哪些页面中出现及页面中出现次数等等,为了有 效地支持这些类似的查询,本系统中采用Iucene开源搜索引擎来对分词后的整个百科数 据集建立索引,索引单位为每个文档的每个词,该索引可以实现快速查询一个实体在多少 文档中出现、在哪些文档中出现、多个实体的共现次数等等功能。
[0027] 三、相关实体搜索排序模块
[0028] 3. 1候选实体搜索子模块
[0029] 为了找到和一个领域实体相关的其他实体,首先找到页面中包含领域实体或者领 域实体的同义实体的页面,例如对于领域实体"复旦大学",则与它相关的候选实体为实体 页面中包含"复旦大学"或者"复旦"的页面,将这些页面对应的实体称作候选实体,本发明 中将不包含领域实体的页面对应的实体看作是和领域实体不相关的实体。
[0030] 3. 2相关性度量子模块
[0031] 本模块用一个相关性度量函数衡量一个实体与查询实体的相关性,相关的实体对 之间有些某些特征可以表明它们是有关系的,本发明中采用了下列特征:
[0032]

【权利要求】
1. 一种基于通用百科网站的领域百科构建系统,其特征在于由四大模块组成:百科数 据爬取模块、百科数据预处理模块、相关实体搜索及排序模块、实体聚类模块;其中: 百科数据爬取模块,利用分布式网络爬虫将海量在线百科数据爬取到本地; 百科数据预处理模块,对网络爬虫所爬取到的页面预处理;所述预处理依次包括去噪、 文字区域提取、分词及词频处理统计和构建索引这几个步骤; 相关实体搜索及排序模块,在预处理后的页面中搜索和一个领域相关的实体并按相关 度排序; 实体聚类模块,根据相关实体搜索及排序模块结果,聚类同一个领域下的相似实体。
2. 根据权利要求1所述的系统,其特征在于,所述百科数据预处理模块由去噪子模块、 文字区域提取子模块、分词及词频统计子模块和索引构建子模块构成;其中: 所述去噪子模块,利用正则表达式匹配爬取到的百科原始页面中的噪声,并将噪声去 除;所述噪声包括各种html标签,标点符号和乱码; 所述文字区域提取子模块,利用正则表达式将百科原始页面中的各个区域文字分开提 取;页面中的各个区域包括标题、摘要、属性框、正文和分类信息; 所述分词及词频统计子模块,依次进行如下工作: a) 利用文字区域提取子模块中提取到的百科实体集合作为分词时的词典,采用逆向最 大匹配算法对提取出的纯文本进行分词; b) 对一个页面的分词完成后,对各区域进行词频统计; 所述索引构建子模块,利用分词结果对百科页面构建倒排索引。
3. 根据权利要求1所述的系统,其特征在于所述相关实体搜索及排序模块包含以下四 个子模块: (1) 搜索候选实体子模块,该子模块搜索包含领域实体或者领域实体的同义实体的页 面; (2) 相关性度量子模块,该模块综合了来度量两个实体的相关性的特征,为每个候选实 体计算特征值,然后用logistic形式的函数整合特征值得到候选实体与查询实体的相关 性; (3) 参数训练子模块,该子模块依次进行如下工作: a) 通过网络爬虫在互联网搜索引擎中爬取一个查询实体与其候选实体的共现情况,通 过计算PMI值确定相关性,以此来作为训练相关性度量函数中参数的训练集; b) 将(a)中所涉及到的候选实体提取特征,供训练时计算使用; c) 读取训练数据,通过基于学习排序的方法训练出参数,即通过一些已有的实体之间 相关性的数据,去学习出如何给别的实体进行相关度排序; (4) 实体相关度排序子模块,该模块根据上面参数训练子模块中训练出的相关度函数 的参数,确定候选实体与查询实体的相关性,并按相关性从大到小排序。
4. 根据权利要求1所述的基于通用百科网站的领域百科构建系统,其特征在于所述实 体聚类模块包含相似性度量子模块、实体相似性约束构建子模块以及半监督聚类子模块组 成;其中: 所述相似性度量子模块,依次进行如下工作: a)将从实体页面中提取到的分类信息进行分解,使得一些原来不能被精确匹配的分类 信息被近似匹配,而不是完全无法匹配,充分利用了实体分类信息; b) 在原始页面中抽取对应实体的IsA模式,将抽取到的模式中描述实体类别的关键 字用于扩充实体原有的分类信息,使得实体的分类信息尽可能的详细,有助于提高分类效 果; c) 将上述的分类信息按关键字出现频率构成一个向量,通过计算该向量的余弦相似度 来度量两实体之间的相似性; 所述实体相似性约束构建子模块,依次进行如下工作: a) 利用Washall算法从人工给出的约束中计算传递闭包,得到所有must-link的实体 对; b) 从人工给出的约束中计算所有cannot-link实体对; 所述半监督聚类子模块,以最小化违背约束的代价为原则,将实体聚类;该子模块按参 数训练子模块中所得到的实体相关度排序结果,按相关度从高到低将实体聚类,有利于形 成初始的高质量簇;该子模块依次进行如下工作: a) 从约束集中读取约束,并根据约束形成初始的类簇; b) 根据实体相关度排序结果,按相关度从高到低将读入实体,将实体聚类,将实体聚到 这样一个类中,使得聚到该类后,比聚到其它类的代价要小; c) 重新把实体聚类,即将一个实体先从当前的类中排除,然后将它归到当前情况下,所 造成代价最小的那个类中; d) 重复c) 一定次数得到最终聚类结果。
【文档编号】G06F17/30GK104408148SQ201410723613
【公开日】2015年3月11日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】覃华峥, 肖仰华, 汪卫 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1