前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始的知识图谱生活,构建一个百科知识图谱,完成基于Deepdive的知识抽取、基于ES的简单语义搜索、基于 REfO 的简单KBQA

从零开始的知识图谱生活,构建一个百科知识图谱,完成基于Deepdive的知识抽取、基于ES的简单语义搜索、基于 REfO 的简单KBQA

原创
作者头像
汀丶人工智能
发布2023-07-10 17:12:03
4991
发布2023-07-10 17:12:03
举报
文章被收录于专栏:NLP/KGNLP/KG

从零开始的知识图谱生活,构建一个百科知识图谱,完成基于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个。

项目码源见文末

码源:点击跳转

代码语言:txt
复制
* 知识存储    
    * [D2RQ 的使用](http://pelhans.com/2019/02/11/kg_from_0_note10/)    
    * [Jena 的使用](http://pelhans.com/2019/02/11/kg_from_0_note11/)    
* 知识融合    
    * [Silk 实战](http://pelhans.com/2019/02/12/kg_from_0_note12/)    
* KBQA    
    * [基于 REfO 的简单KBQA](http://pelhans.com/2018/09/03/kg_from_0_note3/)    
* 语义搜索
    * [基于elasticsearch 的简单语义搜索 支持实体检索、实体属性检索和条件检索](http://pelhans.com/2018/09/04/kg_from_0_note4/)

2.获取数据

2.1 半结构化数据

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

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的简单语义搜索

  • 示例

项目码源见文末

码源:点击跳转

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从零开始的知识图谱生活,构建一个百科知识图谱,完成基于Deepdive的知识抽取、基于ES的简单语义搜索、基于 REfO 的简单KBQA
  • 1.简介
  • 项目码源见文末
  • 2.获取数据
    • 2.1 半结构化数据
      • 2.2 非结构化数据
      • 3. 非结构化文本的知识抽取
        • 3.1 基于Deepdive的知识抽取
          • 3.2 神经网络关系抽取
          • 4.结构化数据到 RDF
          • 5.知识存储
            • 5.1 将数据存入 Neo4j
            • 6.KBQA
              • 6.1 基于 REfO 的简单KBQA
              • 语义搜索
                • 基于elasticsearch 的简单语义搜索
                • 项目码源见文末
                相关产品与服务
                灰盒安全测试
                腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com