首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表格中提取信息三元组

从表格中提取信息三元组
EN

Stack Overflow用户
提问于 2012-12-31 14:11:54
回答 2查看 150关注 0票数 0

我有一个非常大的HTML表数据集(最初是从Wikipedia提取的)。我想从每个表中提取有意义的tripleSet (这与从维基百科信息框中提取三元组并不矛盾,因为这相对容易得多)。

对于人类来说,三元组必须是语义上有意义的,而不是像DBpedia那样将三元组提取为URI和其他格式。因此,我可以只提取表文本值。

请记住各种表格的方向和形状。我看到的主要任务是提取表记录的主要实体(例如,学校记录中的学生姓名),以便它可以用作三元组的“主题”。

示例

对于这样的表,我们应该知道主实体是"Server“,而其他实体只是对象,所以关系应该是:

代码语言:javascript
复制
<AOLserver> <Developed by> <NaviSoft>.
<AOLserver> <Open Source> <Yes>.
<AOLserver> <Software license> <Mozilla>.
<AOLserver> <Last stable version> <4.5.1>.
<AOLserver> <Release date> <2009-02-02>.

另外,请记住,并不是所有的主要实体都位于表的第一列中,甚至还有一些表根本不谈论同一个主题。

这是一个表,主实体是最后一列,而不是第一列:

此表应生成如下关系:

代码语言:javascript
复制
<Arsène Wenger> <Position> <Manager>.
<Steve Bould> <Position> <Assistant manager>

问题

我的第一个问题是,是否可以使用基于规则的方法,围绕示例构建一些规则,并试图进行归纳,以便能够检测到正确的实体?你能提出举例规则吗?

第二个问题是关于评估,我如何评价这样一个系统?我如何衡量我的表现,以便我可以提高它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-12 09:56:55

因此,我终于能够实现我的项目的目标,它需要大量的工作和测试,但它已经实现了。

这一想法主要体现在以下几个方面:

提取表并将其导入内存中的组件。

2-一个排除坏表的组件,这些是表标记中使用的东西,但它们实际上不是表(有时页面的作者想要组织数据外观,所以就把它们放到了表中)。

3-一个组件,用于去掉表的样式,还可以通过按span数重复数据来解析列/行的跨度。

4-基于机器学习的分类器,用于分类表的方向(水平/垂直)和表的标题行/列。

5-基于机器学习的分类器,用于对应该是关系的“主语”的行/列进行分类--三重< subject ><谓词>< object >

第一个分类器是支持向量机分类器,它具有字符计数、表/行单元格计数比、数字/文本比、capitalization..etc等特征。我们的查准率和召回率都达到了80%~85%。

第二个分类器是随机森林分类器,它的特征与一行/列内单元格的相关性更相关。我们在查准率和召回率方面也取得了85%的成绩。

在此过程中还涉及了其他一些精化组件和启发式方法,以使输出更加清晰,并与表的上下文更加相关。

通常,维基百科没有额外的数据来使这个工具更通用于网络上的任何html表格。但分类器的训练数据主要偏向维基百科的内容!

我将用源代码更新问题代码,一旦它完成。

票数 1
EN

Stack Overflow用户

发布于 2013-02-11 22:37:07

了不起的计划!!如果您让它开始工作,那么def尝试将它合并到dbpedias爬虫/提取器- http://wiki.dbpedia.org/Documentation中。

供参考- software

如果您查看HTML,列标题位于头元素中,而行都包含在tbody元素内的tr元素中,实体(/rdfs:label)的标题位于第四个元素中--这将大大有助于解决您的问题,而不会变得太过脏和不精确。

我认为,检查html结构以查看有多少行具有th元素是值得评估这种方法的。

在第二个例子(F.C.)中,它没有thead元素帮助这一事实。-允许我们假设这一页本身就是。阿森纳是表中数据的主题。

维基百科中也有一些微格式,如vcard散落,可能会阻止阐明这种关系。

我不知道它在维基百科的所有表格中有多普遍,但应该是一个好的开始。我可以想象,尽可能多地坚持html结构和微格式,而不是进入任何太棘手的问题,会有极大的优越性。

另外,每个链接都有一个dbpedia uri来识别它,在这些情况下非常有用。例如:http://example.com/resource/AOLserver http://example.com/property/Server http://dbpedia.org/resource/AOLserver.http://example.com/resource/AOLserver by http://dbpedia.org/resource/NaviSoft.by a rdf:属性。by rdfs:标签“由”@en开发

您看到- http://wifo5-03.informatik.uni-mannheim.de/bizer/silk/ -could值得生成映射吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14102595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档