从零开始的常识图谱生存,构建一个百科知识图谱,实现基于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的简略语义搜寻

  • 示例

我的项目码源见文末

码源:点击跳转

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