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

news2024/12/23 1:55:19

在这里插入图片描述

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自身的硬实力。

在这里插入图片描述

  1. 专栏订阅:项目大全提升自身的硬实力

  2. [专栏详细介绍:项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域)

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

项目码源见文章顶部或文末

https://download.csdn.net/download/sinat_39620217/87988980

  • 目录
    • 百度百科与互动百科的知识抽取

      • 半结构化数据
        • 百度百科爬虫
        • 互动百科爬虫
      • 非结构化数据
        • 微信公众号爬虫
        • 虎嗅网爬虫
    • 非结构化文本的知识抽取

      • 制作类似于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:斯坦福大学的开源知识抽取工具(三元组抽取)](http://www.openkg.cn/ dataset/cn-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的简单语义搜索

  • 示例

项目码源见文章顶部或文末

https://download.csdn.net/download/sinat_39620217/87988980

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为云“All in ”大模型:释放人工智能巨能!看低代码开发平台引领未来

前言 截至目前,全球已发布数百个大模型,我国年内已发布80多个大模型,面向消费者端的应用百花齐放。我们认为,大模型在行业里多作贡献,才是正确的道路。 当下发展现状 今年以来,人工智能的发展因ChatGPT进入…

MAC |如何在mac上阅读caj文件?

背景:工作群中老板突然发了一个caj的论文过来,让大家阅读学习。 于是就开启了解决:在mac上阅读caj文件之旅。 首先,尝试了这篇文章的方法: 教你如何在Mac上打开CAJ格式的文件_普通网友的博客-CSDN博客 以失败告终。…

【sql注入-报错注入1】extractvalue()函数 报错注入

目录 extractvalue()报错注入 一、语法介绍&#xff1a; 二、报错原因 网络安全小圈子 &#xff08;***注&#xff1a;注意看版本要求&#xff09; extractvalue()报错注入 一、语法介绍&#xff1a; 版本&#xff1a; MySQL<5.0.x 语法&#xff1a; EXTRACTVALUE(…

地址解析协议 (ARP)

地址解析协议&#xff08;ARP&#xff09;是互联网协议&#xff08;IP&#xff09;套件的关键第 2 层协议&#xff0c;可将 IP 地址转换为媒体访问控制&#xff08;MAC&#xff09;地址&#xff08;IP – MAC&#xff09;&#xff0c;ARP 在实现网络连接方面发挥着不可或缺的作…

赛效:如何一键生成印章

1&#xff1a;在电脑上打开标小智印章生成器&#xff0c;点击输入框&#xff0c;在输入框里输入印章内容。 2&#xff1a;文本内容输入后&#xff0c;点击右侧的“生成按钮”。 3&#xff1a;在生成的印章模板里&#xff0c;挑一个满意的&#xff0c;鼠标放上去就可以看到下载按…

安装Nodejs、NPM、Vue脚手架详细教程

一、安装Nodejs 查看自己电脑是否安装nodejs node --version我这里已经下载过了&#xff0c;没有下载过的会提示该命令不存在 可以到官网下载一下 https://nodejs.org/en/download/ 不要安装在中文路径下 二、安装NPM 如果你安装了nodejs–默认会安装NPM. npm --version…

国内好用的CRM框架推荐和介绍

一、如何选择CRM管理系统的方法 选择适合自己的CRM管理系统是企业客户关系管理的重要决策之一&#xff0c;需要根据自身的需求和实际情况进行选择。下面介绍几个选择比较好的CRM管理系统的方法&#xff1a; 1. 确定功能需求&#xff1a;企业需要根据自身的业务特点和管理需求…

OpenHarmony之小熊派Bearpi-hm_micro_small刷机问题避坑

目录 1.概述2.注意事项3.发现问题4.解决问题 1.概述 最近大家都知道&#xff0c;华为出了一个中国的手机操作系统HarmonyOS,本人很是激动&#xff0c;因为中国终于有了自己的手机操作系统&#xff0c;而且我去了解了下&#xff0c;发现完全不同于Android和IOS操作系统&#xf…

集合面试题--LinkedList数组

目录 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f; 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f;

Drools用户手册翻译——第三章 构建,部署,应用和运行(一)介绍与构建

这一章内容颇多&#xff0c;就是一个构建&#xff0c;就翻译了好久&#xff0c;虽然说之前用过drools&#xff0c;但是里面kie相关的很多类都比较混乱&#xff0c;翻译完这个用户手册&#xff0c;感觉清晰了许多&#xff0c;因为实在是太多了&#xff0c;如果你也有相同的情况&…

pytorch grid_sample易错点

pytorch grid_sample易错点 易错点是&#xff1a; grid_sample函数中, x对应w, y对应h !! grid_sample函数中, x对应w, y对应h !! grid_sample函数中, x对应w, y对应h !! 函数的作用 output的size和grid的size是一样的&#xff0c;所以output中某一位置(h, w)的值&#xff0c…

华为网络基础

目录 一、封装和解封装和一些通信基本概念 1、带宽&#xff1a; 2、延迟&#xff1a; 3,分层概念 4.单位换算 5.数据的封装 6.介质 二、数据链路和mac地址 1.基本概念 2.帧的内容和区别 2.1. e2帧格式 2.2. ieee802.3帧格式 3.网络层的数据链路层相关的一些概念 …

docker+robot framework+selenium并发web应用UI自动化测试实践

自己在日常测试中&#xff0c;会搭建UI自动化测试框架来进行web应用的回归测试&#xff0c;在这过程中遇到了许多问题&#xff0c;如测试脚本和执行机不分离&#xff0c;串行测试效率低下&#xff0c;环境搭建麻烦等问题。在这个过程中&#xff0c;自己也在网上看一些前辈的搭建…

短视频抖音seo矩阵系统源码:技术开发与实践(三)

一、 技术开发文档说明 1. 系统架构 短视频抖音seo矩阵源码部署功能架构包含&#xff1a;多模式视频剪辑&#xff0c;视频批量处理、文字转语音、视频批量发布、多平台账号管理、 智能在线客服、粉丝画像及数据统计分析、抖音seo排名优化采集等。 2. 抖音seo排名系统模块组成…

高数基础4

目录 求极限的方式&#xff1a; 利用洛必达法则求极限 n阶可导的理解 几个常用的泰勒公式 求极限的方式&#xff1a; 利用洛必达法则求极限 洛必达法则适用于分子分母的极限同为0或者同为无穷的形式。 我们洛必达法则相当于对分子分母同时求导&#xff0c;所以要要求再x0的…

宝塔 安装/使用/备份数据 Jenkins-图文小白教程

一、Jenkins包下载 大家可以从Jenkins官网&#xff08;https://www.jenkins.io/&#xff09;根据自己的需要下载最新的版本。 但Jenkins官网下载较慢&#xff0c;容易造成下载失败。可以去国内的开源镜像网站下载Jenkins最新版本。目前博主使用的是清华大学的开源镜像网站&…

为什么我要自己做一个周易软件

周易是中国数千年流传下来传统文化&#xff0c;在八字、六壬、六爻、奇门遁甲、梅花易数等预测占卜方面应用广泛。很多传统易学工作者或爱好者采用手工排盘的方式&#xff0c;进行相关的排盘。当然现代更多的易学人士采用各自习惯的排盘软件进行排盘&#xff0c;大大节省了排盘…

【广州华锐互动】VR虚拟产品可视化平台将消费者带入不同的场景体验

随着虚拟现实技术的不断发展&#xff0c;VR虚拟产品体验已经成为了各大展会和商场中不可或缺的一部分。VR虚拟产品体验可以为消费者提供多种沉浸式体验&#xff0c;从而吸引更多的消费者关注和购买。 模拟场景体验 VR虚拟产品体验可以通过虚拟现实技术&#xff0c;将消费者带入…

C语言面试经典问题

当准备面试C语言相关职位时&#xff0c;以下是一些常见的C语言面试问题&#xff0c;可以帮助你准备面试。 什么是C语言&#xff1f; C语言的特点是什么&#xff1f; 请解释C语言中的标识符和关键字。 什么是C语言中的数据类型&#xff1f;请列举一些常见的数据类型。 如何…

leetcode-27.移除元素

leetcode-27.移除元素 文章目录 leetcode-27.移除元素一.题目描述二.代码提交(快慢指针)三.运行 一.题目描述 二.代码提交(快慢指针) class Solution {public:int removeElement(vector<int> &nums, int val) {int slow 0;int fast 0;while (fast < nums.size()…