树人论文网一个专业的学术咨询网站!!!
树人论文网
扫码关注公众号

用于知识库扩充的在线百科表格知识获取与融合

来源: 树人论文网 发表时间:2019-11-20
简要:摘 要:互联网中的HTML表格蕴含着丰富的结构化或半结构化知识,是知识库构建与扩充的重要数据资源。然而如何对HTML表格进行正确解析并获得三元组知识用于扩充知识库,则是一个很

  摘 要:互联网中的HTML表格蕴含着丰富的结构化或半结构化知识,是知识库构建与扩充的重要数据资源。然而如何对HTML表格进行正确解析并获得三元组知识用于扩充知识库,则是一个很有挑战的问题。首先,HTML表格的结构各有不同。其次,表格与知识库中的实体和属性的表示不同,需要统一,即实体链接与属性对齐。本文首先提出了一个基于知识库的在线百科表格解析与知识融合框架,该框架可针对不同类别的表格进行知识抽取;并提出了基于知识库的表格实体链接和属性对齐方法,用以将表格中的知识与知识库进行匹配与融合。实验使用了126万在线百科表格数据为CN-DBpedia扩充约1000万三元组。

  关键词:HTML表格;知识抽取;知识融合

软件导刊

  《软件导刊·教育技术》是湖北省电教馆与由湖北省信息学会联合主办的教育技术类全国公开刊物。作为业内直接面向全国中小学信息技术教育的媒体。

  1 引言(Introduction)

  迄今为止,所有基于在线百科构建的通用知识图谱[1-4]并未提出一种完全自动化的方法从在线百科的表格中挖掘知识,扩充知识库。现有的工作,如CN-DBpedia[4],加入了端到端的深度学习模型从百科文本中挖掘知识,但是它并未挖掘百科表格知识。还有很多工作[5-9]致力于从整个互联网的表格中挖掘知识进行知识库的扩充,但是,他们仅仅使用单一类型的表格数据集[10,11]。比如这两个数据集ACSDb[10]和WDC Web Tables corpus[11]分别是英文和跨语言数据集,它们只含有关系表。关系表包含了多个实体(以行为单位),一个实体有多个属性(以列为单位)。现有的表格数据集在类型不上并不完备,并且其中蕴含的知识可信度低。对此,我们研究了如何充分地使用在线百科表格扩充知识库。

  2 问题分析(Framework overview)

  使用百科表格扩充知识库面临的第一个挑战是表格类型的多样性问题。现有的工作[12]将互联网表格分成了10种类型,包括八种类型的知识表和两种类型的非知识表。而我们发现百科表格主要含有一种类型的非知识表和三种类型的知识表。其中,知识表如图1—图3所示,分为关系表、键值对表和枚举列表。目前最有效的表格分类方法[12,13],选取表格特征信息和样本集来训练分类(识别)器。虽然它们能够精准地区别知识表和用于布局或导航的非知识表,但是在区分知识表的具体类型时,表现并不理想。

  为了精准地识别知识表的具体类型,需要构造相应表格的特征。我们发现百科表格中的属性与infobox的属性相似,属性集合与由知识库中属性构成的模式库有交集。因此,可以利用這个性质构造模式特征。与此同时,我们利用表格属性扩充模式库,更新特征值,这是一个迭代的过程。进而,我们提出了一种迭代扩充模式库、在线更新特征的表格识别器训练算法。

  使用百科表格扩充知识库面临的第二个挑战是如何将表格中抽取的知识与知识库中的知识融合的挑战。从键值对表中抽取知识时,每个三元组(即)的主语(s)即所在百科页面的标题,通常一对一映射到知识库实体名称,不需要实体链接。谓语(p)和宾语(o),对应表中每一行的键值对。比如图2中抽取的三元组<华为Mate 20,运行内存,6GB>。对于枚举列表,百科页面的标题作为主语,同样不需要实体链接。然而,关系表则需要进行实体链接和属性对齐。现有的将关系表与知识库匹配的算法框架TableToKnowledge,简称T2K[11],采用迭代的方式进行实体链接与属性对齐。

  然而,它有两个不足:第一,T2K算法框架中并未考虑将表格内容整合[14,15],它仅仅将单独的关系表与知识库进行匹配。然而,由于单一的表格实体数量少,属性稀疏,并且属性值常有缺失,这些表格不能直接与知识库匹配。于是,我们在T2K框架的基础上加入了整合表格内容的过程,提出了一个基于概念(本体)树的表格聚类算法。第二,T2K算法框架未采用有效方法生成实体链接候选集。它选择每个实体的候选实体集所属频率最高的概念,过滤不属于这些概念的候选实体。由此带来的后果是,长尾概念下的实体不能有效地进行实体链接,而这些实体对应的三元组往往是知识库所需要扩充的知识。于是,我们提出了基于“公共上位概念”的实体链接候此外,本文针对在线百科表格数据集提出了一个知识融合策略。现有的互联网表格数据集体量大,热点知识出现次数多并形成偏态分布,通常以知识的交叠数量为特征训练知识融合模型。因此,同一条知识被抽取的次数越多,它的可信度越高。而百科表格中的知识分布均匀,有交叠的知识数量少,不能将交叠数作为特征。于是,我们提出了一种基于表格识别和实体链接准确率的融合策略。

  综上,本文的主要贡献有:

  我们提出了一种面向知识库扩充的在线百科表格知识获取与融合框架,可以一站式处理各类百科表格,抽取相关知识并融入知识库中。

  为了对各种类型的表格进行对应的解析与处理,我们提出了一种表格识别算法。该算法可基于特征在线更新的表格识别器进行训练。

  我们在T2K[11]算法框架的基础上增加了表格内容整合的过程,并利用“公共上位概念”生成实体链接候选集。

  在本文的实验中,我们首先整合了百度百科和互动百科中126万个HTML表格,并将这些表格最终融入CN-DBpedia知识库中,实验表明本文的方法能够扩充约1000万三元组知识。

  3 框架概述(Key techniques analysis)

  如图4所式,我们提出了一种用于知识库扩充的在线百科表格知识获取与融合框架,主要分为:

  (1)网络爬虫:爬取不提供转储文件的在线百科,获取每个百科实体页面中的表格。由于百科表格的格式规范,以标记的表格对象为主,因而百科表格数据集未考虑非标记的表格对象。

  (2)非知识表过滤:以标记的表格对象分为带有知识的表格,和用于页面布局或导航的非知识表格,互联网中88%的HTML表不含有知识。借鉴互联网表格分类工作中的方法[12,13],我们使用梯度提升树模型GBDT,作为非知识表过滤器。

  (3)表格解析:将HTML格式的表格解析为csv格式,在内存中以二维数组的形式表示。同时在另外的数组中存储了单元格中的属性,如span和href。我们把带span属性,跨行跨列的单元格拆分。对于带href属性的单元格,我们使用其所指页面的标题作为链接实体。

  (4)知识表类型识别:关系表和键值对的识别,采用了我们提出的基于模式特征在线更新的识别器训练算法,在识别的过程中,在线更新特征值,重新训练识别器。枚举列表的识别采取基于概念(分类)树辅助的启发式方法。

  (5)关系表与知识库匹配:我们使用T2K[11]算法对关系表进行实体链接和属性对齐。此外,加入了我们提出的表格聚类算法,以及使用我们提出的“公共上位概念”进行候选集生成。

  (6)三元组抽取:根据表1给出的三种表格的定义,按照相应的规则抽取知识。对于键值对表,所在百科页面的标题就是每个三元组的主语,表中每一行的键值对就是三元组的谓语和宾语。对于关系表,表格实体以行为单位,所链接的实体是每个三元组的主语,除主键所在列外每一列对齐到的属性是谓语,属性值是宾语。对于枚举列表,百科页面的标题就是每个三元组的主体,而表格中的每个实体名称则是每个关系三元组的宾语(尾实体),尾实体链接采用与关系表实体链接相同的方法。谓语通过每个实体对在知识库中存在謂语的数量投票决定。

  (7)融合模型:采用我们提出的针对百科表格数据集的融合策略。

  4 关键技术分析(Key technical analysis)

  在这一节,我们介绍了框架中三个关键技术的细节,它们是(1)知识表类型识别;(2)关系表与知识库匹配;(3)融合模型。

  4.1 知识表类型识别

  这一节中我们提出了识别三种表格类型的方法。表格中有两种类型的信息,属性信息和属性值信息。如果已知一些表格属性,那么我们可以利用它来识别表格的结构,从而能够帮助我们把属性对应到正确的属性值单元。由于表格是半结构化的数据,它的属性通常连续地出现在一整行或一整列。定位表格的属性会帮助我们识别表格正确的结构。对于键值对表和关系表,我们发现,表格属性与知识库中的属性有相同处,并且表格属性集合与由知识库属性构成的模式库存在交集。对此,我们将表格属性属于模式库的比例和个数作为模式得分特征,为键值对表和关系表分别训练了一个单层决策树,作为初始的表格识别器。在使用表格识别器识别表格后,将会含有一些不属于模式库的属性出现在表格中,但这些属性可能是其他表格的属性。于是,我们使用这些属性扩充模式库。模式库扩充后,训练集中表格的模式得分特征可能发生变化,需要更新,进而分类器模型又需要重新训练。如此往复,这是一个迭代的过程。如算法1所示,我们提出了基于特征在线更新的表格识别器训练算法。

  算法1基于模式特征在线更新的识别器训练

  输入:模式库predictkg,知识表模式集合Predicttable,单层决策树DStump

  输出:单层决策树DStump,扩充后的模式库predictkg

  1.next_iteration=False

  2.for predicttable in Predicttable? do

  3. computer Scoretable

  4. if DStump(Scoretable) is True then

  5. if then

  6.

  7. next_iteration=True

  8. end if

  9. end if

  10.end for选集生成方法。利用“公共上位概念”,我们不仅能够过滤无关概念下的实体,还能不遗漏长尾概念下的实体。

  11.if next_iteration is True then

  12. update training set with new Scoretable and resume the training

  13. if DStump performs better in testing set then

  14. repeat 1 to 10

  15 end if

  16.else return DStump and predictkg

  17.end if

  在算法1的输入中,模式库初始化为知识库中属性的集合;每个知识表的模式按行或按列获得(以属性表为例,它的模式由第一列中的每个属性构成);识别器采用单层决策树模型,使用初始的得分特征进行训练。算法1的第3行计算了表格的两个模式得分,一个是属性属于模式库的比例,即,另一个是属性属于模式库的个数。算法的第2行到第10行,计算每个未识别知识表的模式得分,如果有新的表被识别,则扩充模式库。每经过一轮迭代,都会重新训练一次识别器,原来的假负例在模式得分提高后会被识别为真正例,识别器的召回率会得到提升。当经过若干轮迭代后,模式库属性数量不再增加或识别器F1值不再提高时,我们将识别器和模式库返回。另外,可以在使用算法1完成弱学习器的训练后引入剩下的表格特征(如布局特征和内容特征),通过boosting的方式训练一个更强的识别器。考虑到需要多次重复训练,于是我们选择单层决策树这样一个弱学习器作为识别模型,并且不引入其他特征。

  在剩下未识别的知识表中,我们使用强规则识别枚举列表。我们把表格中每个单元格的内容假设为实体名称,通过知识库查找该实体名称对应的实体(实体和实体别称满足多对多的关系),若每个实体别称都能映射到至少一个实体,则启发性地认为该表格为枚举列表。

  4.2 关系表与知识库匹配

  这一节,在T2K算法框架[11]中加入我们提出的基于概念(本体)树的表格聚类和基于公共上位概念的候选集生成方法。

  4.2.1 T2K匹配框架

  T2K算法框架将每个关系表视为一个小型关系型数据库,将关系表中的实体、属性和概念与知识库匹配。图5描述了T2K算法框架的主要步骤。它首先从知识库中获得候选实体,通过基于属性值的匹配得到候选实体的实体链接得分。然后以列为单位,选择属性值相似度的和最高的属性作为属性相似度,并计算这个属性对应的每个概念的得分,用得分最高的概念过滤候选实体。在过滤掉一些实体后,属性相似度发生了变化,需要重新选择,这是一个迭代的过程。T2K算法的先进之处在于,不同于传统数据库模式匹配,它在匹配过程中加入了概念(本体)的匹配,而概念(本体)是实体和属性的迭代匹配的桥梁。