简介

DeepDive是一个可以通过机器学习技术利用特定领域知识,并且通过用户反馈提高分析质量的开源知识提取系统。

其目标为帮助用户从数据中提取实体和关系,并对事实经行推理。

DeepDive可以处理结构化/非结构化、干净/带噪声的数据,并将结果输出至数据库。

主要面向从互联网非结构化数据中抽取结构化信息,做一系列后处理,构建知识库并抽取关系等。

DeepDive的特点为:

  1. 意识到数据存在噪音(不精确性),通过为每个断言设置置信度予以校正
  2. 数据源多样性,如文档、网页、图表等
  3. 可以通过使用已有的领域知识指导推理,接受用户反馈,提高预测的质量
  4. 使用Distant supervision技术,只需少量/甚至不需要训练数据
  5. 是一个可拓展的高性能推理和学习引擎

要求

用户需要:

  1. 对SQL和Python熟悉,以便使用Deepdive或集成Deepdive的工具开发;
  2. 需要对DeepDive进行改进的用户还需了解知识库构建(Knowledge base construction)、关系提取(Relation extraction)、Distant supervision、概率推理(Probabilistic inference)、因子图(factor graphs)等基础背景知识。

数据模型

img

  • 实体:现实中存在的事物,如奥巴马
  • Mention:对实体的一个引用,如“奥巴马”三个字
  • 实体级关系:实体间的关系
  • Mention级关系:Mention间的关系
  • 实体级数据:实体级关系的集合,如Freebase(知识库)中的关系
  • Mention级数据:包含Mention的数据,如”Barack and Michelle are married”这个句子
  • 实体耦合:Mention与实体的映射

工作流程

这里以“提取文本中Mention级关系”为例,介绍DeepDive的工作流程。

  1. 数据预处理。将数据(如文本)载入数据库并解析,获得语句级的信息,包括POS tags, named entity tags等。
  2. 特征提取。通过开发者编写的提取器,将数据数据转化为关系表示,称为evidence
  3. 建立因子图。开发者类SQL语言,声明推理规则。
  4. 学习与统计推理。DeepDive自动进行,可以计算出某特定断言的可能性。

图2为相应流程的示意图

img

​ 图2 流程示意图

开发者

主持人:Christopher Ré (Stanford University)

团队成员:

  • Zifei Shan
  • Feiran Wang
  • Sen Wu
  • Jaeo Shin
  • Amir Abbas Sadeghian
  • Ce Zhang
  • Matteo Riondato.

相关链接



Questions & Discussion: ✉️ zjuvis@cad.zju.edu.cn