如何从维基百科中提取语义事实 [封闭式]。

问题描述 投票:-6回答:1

我想写一个程序,它可以通过维基百科的网页,提取出形式为("主题"、"关系"、"对象")的语义事实。事实的例子可能是("Age Of Empire","develop by","Ensemble Studios")。怎样才能做到这样的事情呢?

web-crawler
1个回答
3
投票

这是一个 积极研究的问题。 一个良好的开端,就是要加快步伐。弗莱堡大学的西兰花引擎。. 他们必须准确地解决这个问题,另外还必须使产生的数据集可用。有不少有趣的 出版物 特别是关于 通过上下文句子分解进行开放式信息提取 (PDF) 会对您的问题感兴趣。您可能也会对他们的 后续研究.

如果你 只需要数据 的东西,有更简单的方法来获得它--至少是好的部分。有一个公开的大的事实数据库叫做 自由基 被谷歌收购,随后停用,改用了 维基数据. 不幸的是,他们有 问题 统一数据集。幸运的是 整个自由基数据集 仍可下载。


1
投票

我不知道你的动机是什么,但我建议你从以下方面入手 下载维基百科的数据库 它已经有了很好的结构,并提供了关系(激流版).

请看一下数据库的模式 此处 可能会帮助你掌握事情的架构。

您可以通过以下方式访问数据库的选定位。Kiwix包 然后对它进行一些处理,用 ZIM工具.

当然不要忘了,维基百科是由Mediawiki提供的,它是开源的,因此其 代码免费提供.

你可以想象,你不是第一个对数据挖掘维基百科有兴趣的人,我建议你阅读 本文 在那里,一个研究团队解释了他们是如何把一个。维基百科矿工工具包 基于一些AI(NLP)。虽然有点老,但还是很感兴趣。

根据你的计划,为了更简单的使用,你可以使用 维基百科的API.


1
投票

与其在维基百科上搜刮,你可能会更好地看一下 维基数据 它们都是由维基媒体基金会管理的)。维基数据作为维基媒体姐妹项目(包括维基百科)的结构化数据的中央存储。

这里是《帝国时代II》的维基数据链接。https:/www.wikidata.orgwikiQ34852

或者,您也可以刮开底层的 信息框模板字段元数据 或直接从原始wikitext模板中提取)。

维基百科和维基数据都可以通过API或离线版本获得。


0
投票

这里有一些想法。

  • 你可以利用机器学习,特别是NLP或(自然语言处理)来解析网页,并根据解析后的内容来生成事实,或完整的句子,甚至回答问题,比如(你的例子)"谁是帝国时代的开发者?"
  • 另一种方式你可以做到这一点,当然是用网络爬虫,但是,一旦你收集到任何信息(这将是简单的部分),你需要以某种方式减少这些数据,对其进行分类,并创建一个逻辑,使其有意义,这再次让我(个人)想到了机器学习泛化。
© www.soinside.com 2019 - 2024. All rights reserved.