wikipedia - 如何通过建立从维基百科文章实体到维基数据实体的一对一映射来构建远程监督关系提取数据集?
问题描述
我正在按照本文(1)第 3 节构建一个新的远程监督关系提取数据集。
我现在正在做的是使用 XML 格式的维基百科转储:
- enwiki-20210401-pages-articles-multistream-index.txt.bz2
- enwiki-20210401-pages-articles-multistream.xml.bz2
访问维基百科中的文章文本。例如,我可以得到句子(纯文本格式):
1983年从[[哥伦比亚大学]]毕业后,在[[芝加哥]]担任社区组织者
目标是找到唯一的 Wikidata ID:
哥伦比亚大学 --> Q49088
芝加哥 --> Q1297
一种方法是搜索 Wikidata 数据集,查找 Wikidata 项目的标签与 [[Chicago]] 的匹配项,以获取 Wikidata_id。但是,有两个 Wikidata 项目被命名为“芝加哥”:(1)城市(2)摇滚乐队。
但是,原始论文提到:
从一篇完整文章的每个句子中,我们提取链接注释并检索与链接文章相对应的 Wikidata 实体 ID。维基数据实体和维基百科文章之间存在明确的一对一映射。
谁能告诉我,我错过了什么吗?如何“提取链接注释”?如何找到“明确的一对一映射”?是否有其他维基百科转储文件包含此信息?
可能的方向
如果有一个完整的 Wikipedia 转储 HTML 离线版本,那么问题将更容易解决。
- 在每篇 Wikipedia 文章中,左侧边栏都有超链接“Wikidata Item”,其中包含 Wikidata 唯一 ID。
- 对于 Wikipedia 文章中的每个句子,每个实体都有指向其 Wikipedia 页面的超链接,我们可以前往该页面获取 Wikidata ID。
但是,据我所知,最近没有完整的 Wikipedia HTML 转储可供使用。
(1)索罗金、丹尼尔和艾琳娜·古列维奇。“知识库关系提取的上下文感知表示。” 在 2017 年自然语言处理经验方法会议论文集中,第 1784-1789 页。2017 年。
解决方案
推荐阅读
- amazon-web-services - lambda 和 fargate 错误/超时
- spring-batch - Spring Batch 使用 JDBCCursorItemReader:不提取指定块大小的所有记录
- javascript - 使用 vanilla Javascript 制作下拉菜单
- python - discord bot on_member_join 发送消息不起作用
- javascript - 用户不能一直向下滚动
- java - 从 Java 中的 json 对象(一个 json 文件)中删除 JSON 节点
- nginx - 在 Ubuntu 上运行 ASP .NET Core 网站时的 Nginx 配置问题
- javascript - javascript中删除的时间复杂度是多少
- google-apps-script - Apps 脚本:如何在工作表 api 进行更改后捕获单元格的 oldValue?
- r - 从 ui 和 server 以外的其他文件调用输入