前言

最近在实践知识图谱的过程中,发现阿里目前在神马搜索构建知识图谱的过程使用了deepdive进行了关系抽取,另外就是利用深度学习PCNNs进行关系抽取。通过在对deepdive进行了解的过程中,deepdive非常适合信息抽取,是构建知识库的利器。能够基于词性标注、句法分析等通过各种文本规则实现实体之间关系的抽取,同时可面向异构、海量的数据。这里会重点介绍deepdive各个方面

涉及的原理和概念

工作机制:

具体过程: 首先对数据进行清洗,进行实体识别,之后进行实体关联,最终输出满足指定关系的集合。 对于官网实例,输入是一个文档集合和一个小的人工标注的实例集合,输出就是属于couple的pairs.

关于具体步骤如下: 1. 先对文章进行分句,将每一句存储到数据库中。 2. 分词并进行各种标注,对于的特征包括POS标签、语言标记。 3. 生成特征,组合各种特征。 4. 领域知识的集成。 5. 监督学习--distant supervision。在现有文本资料中人工找到具有正例的样本,并通过相关的关系生成反例样本。 6. 推理。使用因子图进行对特征、知识的推理。(推理机制使用了Gibbs Sampling)

关于deepdive,需要定义的内容如下: 1. 输入数据的样式,包括关系样式、中间数据格式与数据之间的映射关系——在app.ddlog中定义好 2. 用于进行distance supervise的规则——在app.ddlog中定义好 3. 推理参数——在app.ddlog中定义好 4. 原始数据处理方式——在udf中用python或者shell实现 5. 特征提取方式——在udf中用python或者shell实现

具体来看,可以分解为四个部分。 1. 特征抽取 2. 领域知识集成 3. 监督学习 4. 知识推理

涉及到四个概念: 1. 实体 2. 关系 3. 提及 mention 4. 关系提及 relation mention

安装

第一步,执行如下命令:
bash <(curl -fsSL git.io/getdeepdive)
结果报错,提示curl: (77) error,原因在于curl期望访问证书的路径不存在

解决方法:
sudo mkdir -p /etc/pki/tls/certs
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
解决上述问题后,接下来继续执行:

输入数字1,会在自己的目录下下载deepdive-v0.8-STABLE-Linux.tar.gz。

下载完毕会自动解压复制到local目录下

为了能使用使用deepdive命令能够直接使用,修改~/.bash_profile
export PATH=~/local/bin:"$PATH"
则deeplive就安装完毕!

第二步,安装数据库postgres
bash <(curl -fsSL git.io/getdeepdive) postgres
总是会报503或者502的错误,不断忽略,重复执行。 最后能够下载但同时报出如下错误:

为了解决这个问题,执行如下命令
sudo gedit /etc/apt/sources.list
将cdrom的那一行注释掉即可解决。
接下来继续执行,又会报出如下错误:
提示包含错误的元数据以及Problem executing scripts APT问题

解决方法:
sudo apt-get remove libappstream3

第三步,下载spouse_example例子
bash <(curl -fsSL git.io/getdeepdive) spouse_example
最终会得到如下的文件目录:

第四步,配置好postgresql 注意配置postgresql的url地址:
echo "postgresql://wangwei@localhost:5432/deepdive_spouse_wangwei" >db.url
注意到会提示deepdive_spouse_wangwei数据库不存在,解决方法如下:

  1. postgresql安装完成会生成一个名为postgres的用户帐户,首先先切换到此用户下 psql postgres
  2. 接下来去创建数据库: CREATE DATABASE deepdive_spouse_wangwei OWNER wangwei;

  1. 接着可以验证归属wangwei用户的数据库deepdive_spouse_wangwei是否创建成功:
    psql -U wangwei -d deepdive_spouse_wangwei -h 127.0.0.1 -p 5432

关于deepdive处理中文

由于deepdive默认是处理英文,因此需要做一些变动。 具体的做法: 1. 直接去https://nlp.stanford.edu/software/corenlp-backup-download.html 注意到最新的模型为stanford-chinese-corenlp-2018-02-27-models.jar,当前的version为3.9.1,注意高版本的后面编译加载之后会报错,还是建议选择低版本的模型stanford-chinese-corenlp-2016-01-19-models.jar。下载完成之后放入 /home/wangwei/spouse_example-0.8-STABLE/udf/bazaar/parser/lib 2. 执行如下命令对整个工程进行编译 sbt/sbt stage

3. 执行如下通过postman进行测试 ./run.sh -p 8080

未下载之前中文模型之前,无法对中文做任何分词和标注处理

放入中文模型之后,分词和标注的结果如下:

总结:本节就是关于deepdive的简单介绍和安装,后续将重点通过deepdive实践一个例子,欢迎大家关注我的知乎专栏和点赞。

参考:

1.DeepDive官方文档
2.How do I deal with certificates using cURL while trying to access an HTTPS url?
3.apt-cdrom带来的问题
4.错误的元数据以及Problem executing scripts APT问题
5.命令行方式登录PostgreSQL、创建用户和数据库并赋权
6.Deepdive 教程--数据准备
7.【DeepDive】使用教程

8.Deepdive学习笔记

9.专题科普:DeepDive

10.Deepdive: Declarative Knowledge Base Construction

11.DeepDive_Chinese

12.deepdive-corenlp-server-url

https://zhuanlan.zhihu.com/p/43143014

知识图谱 -- deepdive介绍与安装相关推荐

  1. 使用neo4j_知识图谱Task00:Neo4j安装配置

    知识图谱开源内容: https://github.com/datawhalechina/team-learning-nlp/tree/master/KnowledgeGraph_Basic 19 学习 ...

  2. 常用知识图谱详细介绍

    常见知识图谱详细介绍 **# 因为任务的需要,所以最近总结了一下目前常见的几个知识图谱,比较详细,例如:Freebase.wikiData.Schema.org.DBPEDIA.YAGO.Wordne ...

  3. 知识图谱构建-Neo4j的安装与环境配置

    目录 一.知识图谱 二.Neo4j简介 三.Neo4j安装及配置 1.安装Java JDK 2.下载安装Neo4j 3.创建系统环境变量 4.Neo4j的启动 四.Neo4j的CQL操作 五.参考资料 ...

  4. DBPedia知识图谱详细介绍

    DBPedia 原始数据采用了中文通用百科知识图谱(CN-DBPedia)公开的部分数据,包含900万+的百科实体以及6000万+的三元组关系,其中摘要信息400万+,标签信息1980万+,infob ...

  5. 从零学习知识图谱——01(知识图谱技术介绍)

    今年研一,导师给的大范围是知识图谱.从零开始学习知识图谱相关知识,内容大多为笔记和心得,仅供参考.欢迎各位大牛来指导. 知识图谱 (Knowledge Graph,KG) 以结构化的形式描述客观世界中 ...

  6. 知识图谱学习笔记02-经典的知识图谱项目介绍

    CYC Cyc是一个知识库系统,由Douglas Lenat于1984年开始创建.其最初目标是建立人类最大的常识知识库,其中包含了典型的常识知识,例如"每棵树都是一种植物"和&qu ...

  7. Blog1 TCMKG——中医药知识图谱项目介绍

    一.项目背景 知识图谱以结构化的形式描述客观世界中概念.实体及其之间的关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织.管理和理解互联网海量,的能力.知识图谱给互联网语义搜索带 ...

  8. Probase知识图谱详细介绍

    (一):CN-Probase知识图谱 CN-Probase是由复旦大学知识工厂实验室研发并维护的大规模中文概念图谱,包含约1700万实体,27万概念和3300万isa关系,其中isa关系的准确率在95 ...

  9. [知识图谱]-Neo4j图数据库安装及药材图谱实现

    参考:https://blog.csdn.net/Eastmount/article/details/83268410 (一)Neo4j图数据库安装 可以从官方网站下载Neo4j对应的版本,包括网页版 ...

最新文章

  1. iOS架构设计-URL缓存(上)
  2. HTML样式offset[Direction] 和 style.[direction]的区别
  3. 最新最全大数据图谱,请拿走不谢!
  4. 知乎热议:计算机专业钱景究竟如何?
  5. php onmouse,html在鼠标按钮在元素上按下时触发的事件属性onmousedown
  6. Python之os.walk()与os.path.walk()
  7. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第6章-参数不确定的高阶非线性多智能体系统一致性控制
  8. Java基础之重写与重载深入解析
  9. Android调试秘钥证书指纹获取方式
  10. ES6-ES11新特性_ECMAScript_简单介绍---JavaScript_ECMAScript工作笔记001
  11. 中外合作有开计算机课吗,探究中外合作办学计算机应用课程建设.doc
  12. 机器学习基础-概率和统计基本概念
  13. Android 使用Vector XML文件创建矢量图片资源
  14. 三角形内切圆 / 外接圆半径计算公式及证明总结 ~
  15. spring cloud alibaba全家桶集合
  16. Jenkins的介绍及使用
  17. 部署kubernetes官网博客
  18. 浙大计算机学院博士毕业论文要求,浙江大学博士论文编写规则.doc
  19. HBase(5):HBase进阶
  20. 域名系统几类服务器,域名系统

热门文章

  1. 31省市自治区人力资本结构高级化指数
  2. Android课程表 仿超级课程表
  3. 这货把360安全路由P1、极路由3、全新小米路由器都干翻了
  4. 左神算法笔记(一)时间复杂度
  5. html5 video播放调研,全屏,伪全屏
  6. NOIP模拟 Minimum(最小生成树)
  7. java计算机毕业设计外贸服装订单管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  8. Python的初步认知与安装步骤 (小白必备)
  9. 读书笔记_008 《魔鬼经济学》
  10. 深圳海运到加拿大要多久才能到呢?国外海关关税多少钱?