关于challenge:从零开始的知识图谱生活构建一个百科知识图谱基于ES的简单语义搜索

45次阅读

共计 3794 个字符,预计需要花费 10 分钟才能阅读完成。

从零开始的常识图谱生存,构建一个百科知识图谱,实现基于 Deepdive 的常识抽取、基于 ES 的简略语义搜寻、基于 REfO 的简略 KBQA

集体入门常识图谱过程中的学习笔记,算是半教程类的,指引初学者对常识图谱的各个工作有一个初步的意识。目前暂无新增打算。

1. 简介

指标是蕴含百度百科、互动百科、中文 wiki 百科的常识,千万级实体数量和亿级别的关系数目。目前已实现百度百科和互动百科局部,其中百度百科词条 4,190,390 条,互动百科词条 4,382,575 条。转换为 RDF 格局失去三元组 128,596,018 个。存入 neo4j 中失去节点 16,498,370 个,关系 56,371,456 个,属性 61,967,517 个。

我的项目码源见文末

码源:点击跳转

  • 目录

    • 百度百科与互动百科的常识抽取

      • 半结构化数据

        • 百度百科爬虫
        • 互动百科爬虫
      • 非结构化数据

        • 微信公众号爬虫
        • 虎嗅网爬虫
    • 非结构化文本的常识抽取

      • 制作相似于 NYT 的近程监督学习语料 –baidu_6w
      • 神经网络关系抽取
    • 常识存储

      • D2RQ 的应用
      • Jena 的应用
    • 常识交融

      • Silk 实战
    • KBQA

      • 基于 REfO 的简略 KBQA
    • 语义搜寻

      • 基于 elasticsearch 的简略语义搜寻 反对实体检索、实体属性检索和条件检索

2. 获取数据

2.1 半结构化数据

半结构化数据从百度百科和互动百科获取,采纳 scrapy 框架,目前电影畛域和通用畛域两类。

  • 通用畛域百科数据:百度百科词条 4,190,390 条,互动百科词条 3,677,150 条。爬取细节请见从零开始构建常识图谱(七)百科知识图谱构建(一)百度百科的常识抽取
  • 电影畛域: 百度百科蕴含电影 22219 部,演员 13967 人,互动百科蕴含电影 13866 部,演员 5931 人。我的项目具体介绍请见从零开始构建常识图谱(一)半结构化数据的获取

2.2 非结构化数据

非结构化数据次要起源为微信公众号、虎嗅网新闻和百科内的非结构化文本。

微信公众号爬虫获取公众号公布文章的题目、公布工夫、公众号名字、文章内容、文章援用起源,对应 ie/craw/weixin_spider。虎嗅网爬虫 获取虎嗅网新闻的题目、简述、作者、公布工夫、新闻内容,对应 ie/craw/news_spider。

3. 非结构化文本的常识抽取

3.1 基于 Deepdive 的常识抽取

Deepdive 是由斯坦福大学 InfoLab 实验室开发的一个开源常识抽取零碎。它通过弱监督学习,从非结构化的文本中抽取结构化的关系数
据。本次实战基于 OpenKG 上的反对中文的 deepdive:斯坦福大学的开源常识抽取工具(三元组抽取),咱们基于此,抽取电影畛域的演员 - 电影关系。

具体介绍请见从零开始构建常识图谱(五)Deepdive 抽取演员 - 电影间关系

3.2 神经网络关系抽取

利用本人的百科类图谱,构建近程监督数据集,并在 OpenNRE 上运行。最终生成的数据集蕴含关系事实 18226,无关系 (NA) 实体对 336 693,总计实体对 354 919,用到了 462 个关系(蕴含 NA)。

具体介绍请见从零开始构建常识图谱(九)百科知识图谱构建(三)神经网络关系抽取的数据集构建与实际

4. 结构化数据到 RDF

结构化数据到 RDF 由两种次要形式,一个是通过 direct mapping,另一个通过 R2RML 语言这种,基于 R2RML 语言的形式更为灵便,定制性强。对于 R2RML 有一些好用的工具,此处咱们应用 d2rq 工具,它基于 R2RML-KIT。

具体介绍请见从零开始构建常识图谱(二)数据库到 RDF 及 Jena 的拜访

5. 常识存储

5.1 将数据存入 Neo4j

图数据库是基于图论实现的一种新型 NoSQL 数据库。它的数据数据存储构造和数据的查问形式都是以图论为根底的。图论中图的节本元素为节点和边,对应于图数据库中的节点和关系。咱们将下面取得的数据存到 Neo4j 中。

百科类图谱请见:从零开始构建常识图谱(八)百科知识图谱构建(二)将数据存进 neo4j

电影畛域的请见从零开始构建常识图谱(六)将数据存进 Neo4j

6.KBQA

6.1 基于 REfO 的简略 KBQA

基于浙江大学在 openKG 上提供的 基于 REfO 的 KBQA 实现及示例, 在本人的常识图谱上实现简略的常识问答零碎。

具体介绍请见从零开始构建常识图谱(三)基于 REfO 的简略常识问答

  • 示例

语义搜寻

基于 elasticsearch 的简略语义搜寻

本我的项目是对浙大的 基于 elasticsearch 的 KBQA 实现及示例 的简化版本,并在本人的数据库上做了实现。

具体介绍请见从零开始构建常识图谱 (四) 基于 ES 的简略语义搜寻

  • 示例

我的项目码源见文末

码源:点击跳转

更多优质内容请关注公号 & 知乎:汀丶人工智能;会提供一些相干的资源和优质文章,收费获取浏览。

从零开始的常识图谱生存,构建一个百科知识图谱,实现基于 Deepdive 的常识抽取、基于 ES 的简略语义搜寻、基于 REfO 的简略 KBQA

集体入门常识图谱过程中的学习笔记,算是半教程类的,指引初学者对常识图谱的各个工作有一个初步的意识。目前暂无新增打算。

1. 简介

指标是蕴含百度百科、互动百科、中文 wiki 百科的常识,千万级实体数量和亿级别的关系数目。目前已实现百度百科和互动百科局部,其中百度百科词条 4,190,390 条,互动百科词条 4,382,575 条。转换为 RDF 格局失去三元组 128,596,018 个。存入 neo4j 中失去节点 16,498,370 个,关系 56,371,456 个,属性 61,967,517 个。

我的项目码源见文末

码源:点击跳转

  • 目录

    • 百度百科与互动百科的常识抽取

      • 半结构化数据

        • 百度百科爬虫
        • 互动百科爬虫
      • 非结构化数据

        • 微信公众号爬虫
        • 虎嗅网爬虫
    • 非结构化文本的常识抽取

      • 制作相似于 NYT 的近程监督学习语料 –baidu_6w
      • 神经网络关系抽取
    • 常识存储

      • D2RQ 的应用
      • Jena 的应用
    • 常识交融

      • Silk 实战
    • KBQA

      • 基于 REfO 的简略 KBQA
    • 语义搜寻

      • 基于 elasticsearch 的简略语义搜寻 反对实体检索、实体属性检索和条件检索

2. 获取数据

2.1 半结构化数据

半结构化数据从百度百科和互动百科获取,采纳 scrapy 框架,目前电影畛域和通用畛域两类。

  • 通用畛域百科数据:百度百科词条 4,190,390 条,互动百科词条 3,677,150 条。爬取细节请见从零开始构建常识图谱(七)百科知识图谱构建(一)百度百科的常识抽取
  • 电影畛域: 百度百科蕴含电影 22219 部,演员 13967 人,互动百科蕴含电影 13866 部,演员 5931 人。我的项目具体介绍请见从零开始构建常识图谱(一)半结构化数据的获取

2.2 非结构化数据

非结构化数据次要起源为微信公众号、虎嗅网新闻和百科内的非结构化文本。

微信公众号爬虫获取公众号公布文章的题目、公布工夫、公众号名字、文章内容、文章援用起源,对应 ie/craw/weixin_spider。虎嗅网爬虫 获取虎嗅网新闻的题目、简述、作者、公布工夫、新闻内容,对应 ie/craw/news_spider。

3. 非结构化文本的常识抽取

3.1 基于 Deepdive 的常识抽取

Deepdive 是由斯坦福大学 InfoLab 实验室开发的一个开源常识抽取零碎。它通过弱监督学习,从非结构化的文本中抽取结构化的关系数
据。本次实战基于 OpenKG 上的反对中文的 deepdive:斯坦福大学的开源常识抽取工具(三元组抽取),咱们基于此,抽取电影畛域的演员 - 电影关系。

具体介绍请见从零开始构建常识图谱(五)Deepdive 抽取演员 - 电影间关系

3.2 神经网络关系抽取

利用本人的百科类图谱,构建近程监督数据集,并在 OpenNRE 上运行。最终生成的数据集蕴含关系事实 18226,无关系 (NA) 实体对 336 693,总计实体对 354 919,用到了 462 个关系(蕴含 NA)。

具体介绍请见从零开始构建常识图谱(九)百科知识图谱构建(三)神经网络关系抽取的数据集构建与实际

4. 结构化数据到 RDF

结构化数据到 RDF 由两种次要形式,一个是通过 direct mapping,另一个通过 R2RML 语言这种,基于 R2RML 语言的形式更为灵便,定制性强。对于 R2RML 有一些好用的工具,此处咱们应用 d2rq 工具,它基于 R2RML-KIT。

具体介绍请见从零开始构建常识图谱(二)数据库到 RDF 及 Jena 的拜访

5. 常识存储

5.1 将数据存入 Neo4j

图数据库是基于图论实现的一种新型 NoSQL 数据库。它的数据数据存储构造和数据的查问形式都是以图论为根底的。图论中图的节本元素为节点和边,对应于图数据库中的节点和关系。咱们将下面取得的数据存到 Neo4j 中。

百科类图谱请见:从零开始构建常识图谱(八)百科知识图谱构建(二)将数据存进 neo4j

电影畛域的请见从零开始构建常识图谱(六)将数据存进 Neo4j

6.KBQA

6.1 基于 REfO 的简略 KBQA

基于浙江大学在 openKG 上提供的 基于 REfO 的 KBQA 实现及示例, 在本人的常识图谱上实现简略的常识问答零碎。

具体介绍请见从零开始构建常识图谱(三)基于 REfO 的简略常识问答

  • 示例

语义搜寻

基于 elasticsearch 的简略语义搜寻

本我的项目是对浙大的 基于 elasticsearch 的 KBQA 实现及示例 的简化版本,并在本人的数据库上做了实现。

具体介绍请见从零开始构建常识图谱 (四) 基于 ES 的简略语义搜寻

  • 示例

我的项目码源见文末

码源:点击跳转

更多优质内容请关注公号 & 知乎:汀丶人工智能;会提供一些相干的资源和优质文章,收费获取浏览。

正文完
 0