acm-headergydF4y2Ba
登录gydF4y2Ba

ACM通信gydF4y2Ba

研究突出了gydF4y2Ba

陈述性知识库的构建gydF4y2Ba


DeepDive、插图gydF4y2Ba

来源:iStockPhoto.comgydF4y2Ba

暗数据提取或知识库构建(KBC)问题是用来自非结构化数据源(如电子邮件、网页和pdf)的信息填充关系数据库。KBC是工业和研究中一个长期存在的问题,包括数据提取、清理和集成问题。我们描述了DeepDive,一个结合了数据库和机器学习思想来帮助开发KBC系统的系统。DeepDive的关键思想是将传统的提取-转换-加载(ETL)风格的数据管理问题框架化为一个由用户声明性定义的单个大型统计推断任务。DeepDive利用了统计推理和机器学习的有效性和效率来处理困难的提取任务,而不需要用户直接编写任何概率推理算法。相反,领域专家通过定义该领域的特征或规则与DeepDive进行交互。DeepDive已经成功应用于药物基因组学、古生物学和反人口贩运执法等领域,在机器级别的规模上实现了人类级别的质量。我们介绍了DeepDive中用于加速构建这种暗数据提取系统的应用程序、抽象和技术。gydF4y2Ba

回到顶部gydF4y2Ba

1.简介gydF4y2Ba

知识库构建(KBC)的目标是从非结构化输入源(如文本文档、pdf和图表)填充结构化关系数据库。随着可用的非结构化信息数量的激增,该任务已经成为支持广泛的新分析任务的关键组件。例如,蛋白质-蛋白质相互作用的生物学、临床和药理应用分析gydF4y2Ba29gydF4y2Ba;为执法部门支持网上人口贩运活动;以及宏观气候研究的古生物事实gydF4y2Ba36gydF4y2Ba都基于利用来自大量文本文档的数据。但是,为了使用这些数据,必须以结构化的格式收集这些数据,在大多数情况下,手工进行这种提取是站不住脚的,特别是在需要领域专业知识的情况下。因此,构建自动化的KBC系统通常是启用这些分析管道的关键开发步骤。gydF4y2Ba

从非结构化源填充结构化关系数据库的过程也重新引起了数据库界的兴趣,这主要是通过一些知名的初创公司,如IBM的Watson,gydF4y2Ba5gydF4y2Ba,gydF4y2Ba15gydF4y2Ba还有各种各样的研究工作。gydF4y2Ba9gydF4y2Ba,gydF4y2Ba26gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba41gydF4y2Ba,gydF4y2Ba46gydF4y2Ba与此同时,自然语言处理和机器学习社区也在解决类似的问题。gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba12gydF4y2Ba,gydF4y2Ba22gydF4y2Ba尽管不同的社区对提取、清洗和集成阶段的重视程度不同,但似乎都趋向于一套共同的技术,其中包括数据处理、机器学习和工程师在环的混合。gydF4y2Ba一个gydF4y2Ba

在这里,我们讨论DeepDive,我们的开源引擎在机器规模下构建具有人类质量的知识库(gydF4y2Ba图1gydF4y2Ba).DeepDive的观点是,在信息提取中,提取、清理和集成的问题并不是互不关联的算法问题,尽管数据库社区几十年来一直这样对待它们。相反,可以将这些问题联合起来更有效地解决,并将其视为一个单一的统计推断问题,该问题考虑了所有可用信息,以产生可能的最佳最终结果。我们发现传统管道方法最有害的低效之一是开发人员难以理解对分离的提取、清理或集成模块的更改如何提高整体系统质量,导致他们错误地分配开发工作。例如,开发人员可能决定投入大量的时间来改进他们管道的某些上游组件的质量,结果发现它对终端系统性能的影响基本上可以忽略不计,这就违反了质量的Amdahl定律。相比之下,通过将任务定义为单个概率推理问题,DeepDive允许开发人员有效地分析他或她的应用程序的端到端质量。我们认为我们的方法可以在更短的时间内实现更高质量的端到端模型,这是所有信息提取系统的最终目标。gydF4y2Ba

与其他KBC系统一样,DeepDive使用高级声明性语言使用户能够描述应用程序的输入、输出和模型结构。gydF4y2Ba9gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba33gydF4y2BaDeepDive的语言基于SQL,但也继承了马尔可夫逻辑网络的形式化语义,使用户能够声明性地将他们的KBC任务描述为一种称为a的概率图形模型gydF4y2Ba因子图。gydF4y2Ba11gydF4y2Ba,gydF4y2Ba33gydF4y2Ba

DeepDive使用标准的执行模型gydF4y2Ba9gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba33gydF4y2Ba在这个过程中,程序要经过两个主要阶段:基础和推断。在gydF4y2Ba接地gydF4y2Ba阶段,DeepDive计算一个SQL查询序列,生成一个gydF4y2Ba因子图gydF4y2Ba它描述了一组随机变量以及它们之间的相关性。本质上,数据库中表示a的每个元组gydF4y2Ba候选人gydF4y2Ba可能包含在输出知识库中的提取作为随机变量(节点)包含在这个因子图中。在gydF4y2Ba推理gydF4y2Ba阶段,DeepDive然后从接地相位提取因子图,并使用标准技术(例如吉布斯抽样)进行统计推断。gydF4y2Ba47gydF4y2Ba,gydF4y2Ba50gydF4y2Ba推理的输出是输出知识库中每个元组的边际概率。就像谷歌的知识库一样gydF4y2Ba12gydF4y2Ba和其他人,gydF4y2Ba34gydF4y2BaDeepDive还得出了边际概率gydF4y2Ba校准gydF4y2Ba:如果一个人以0.9的概率检查所有的事实,我们可以期望大约90%的事实是正确的。为了校准这些概率,DeepDive从数据中估计(即学习)统计模型的参数。推理是学习过程的子程序,是关键的循环。推理和学习需要大量的计算(在1TB RAM/48核机器上需要数小时)。gydF4y2Ba

根据我们的经验,我们发现DeepDive可以可靠地在一系列KBC任务中获得极高的质量。在过去的几年里,DeepDive已经被一些技术公司、一些通过DARPA的MEMEX项目的执法机构以及古生物学、药物再利用和基因组学等领域的科学家们用来建造几十个高质量的KBC系统。最近,我们将DeepDive系统的提取质量与人类志愿者在过去10年为古生物数据库提供的提取质量进行了比较,发现DeepDive系统在许多实体和关系上具有更高的质量(准确性和召回率)。此外,在所有提取的实体和关系上,DeepDive的质量没有更差。gydF4y2Ba36gydF4y2Ba此外,2014年TACKBC比赛的获奖作品是建立在DeepDive上的。gydF4y2Ba1gydF4y2Ba

一个重要的经验教训是,在所有情况下,使开发人员能够快速迭代是实现如此高质量的关键。更广泛地说,我们已经看到,为实际应用程序开发KBC系统的过程基本上是迭代的:质量要求发生变化,新的数据源到来,应用程序中需要新的概念。因此,DeepDive的体系结构是围绕一组技术设计的,这些技术不仅使统计推断和学习的执行更有效,而且使整个管道在面对数据和声明性规范的变化时增量。gydF4y2Ba

本文旨在对DeepDive进行一个全面的概述。本文的其余部分组织如下。第2节描述了DeepDive的一些应用实例,并概述了核心技术挑战。第3节介绍了DeepDive内部KBC系统建模的系统设计和语言。我们将在第4节中讨论不同的技术,并为对每种技术感兴趣的读者提供指导。gydF4y2Ba

回到顶部gydF4y2Ba

2.应用程序和挑战gydF4y2Ba

KBC在许多分析任务中起着关键作用,无论是科学的还是工业的,而且经常是gydF4y2Ba的gydF4y2Ba回答新的和有影响的宏观问题的瓶颈。例如,在许多科学分析中,人们首先需要收集大量高质量的事实知识库(通常来自文献),以便了解宏观趋势和模式,例如,关于地球大气中碳含量的整个时间gydF4y2Ba36gydF4y2Ba或者所有与特定基因相互作用的药物,gydF4y2Ba29gydF4y2Ba一些科学学科为此进行了长达十年的收集工作,例如,gydF4y2BaPaleoDB.orggydF4y2Ba而且gydF4y2BaPharmaGKB.orggydF4y2Ba.gydF4y2Ba

与此同时,KBC也引起了工业界的兴趣gydF4y2Ba15gydF4y2Ba,gydF4y2Ba52gydF4y2Ba以及计算机科学以外的许多学术领域。gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba6gydF4y2Ba,gydF4y2Ba14gydF4y2Ba,gydF4y2Ba23gydF4y2Ba,gydF4y2Ba25gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba34gydF4y2Ba,gydF4y2Ba37gydF4y2Ba,gydF4y2Ba41gydF4y2Ba,gydF4y2Ba43gydF4y2Ba,gydF4y2Ba48gydF4y2Ba为了了解KBC系统的共同模式,我们正积极与来自不同领域的科学家合作,包括地质学、gydF4y2Ba49gydF4y2Ba古生物学、gydF4y2Ba36gydF4y2Ba药物再利用的药理学,以及其他。我们首先描述一个我们构建的KBC应用程序,称为古潜(古潜),然后简要描述其他基于类似目的构建的应用程序,最后讨论构建此类系统的固有挑战。gydF4y2Ba

*gydF4y2Ba2.1.PaleoDB和PaleoDeepDivegydF4y2Ba

古生物学是建立在对化石的描述和生物分类的基础上的,在过去的四个世纪里,有成百上千的科学出版物记录了这一事业。古生物学家长期以来关注的一项中心任务是从科学出版物中建立一个关于化石的知识库。现有的由人类志愿者编译的知识库,例如,paleodb已经极大地扩展了古生物学的知识范围,并导致了对宏观进化过程和生物对全球环境变化反应的本质的许多基本的新见解。然而,目前使用人类志愿者的过程通常是昂贵和耗时的。例如,在过去的20年里,300多名专业古生物学家和11年的人类时间建立了一个最大的这样的知识库,导致gydF4y2BaPaleoDB.orggydF4y2Ba.为了了解这个数据库对这个领域的影响,在撰写本文时,这个数据集已经贡献了205个出版物,其中17个发表在gydF4y2Ba自然gydF4y2Ba或gydF4y2Ba科学。gydF4y2Ba

自动化这个劳动密集型提取任务的潜在影响和任务本身的难度为我们的KBC研究提供了理想的测试平台。特别地,我们构建了一个名为“古深度潜水”的原型gydF4y2Ba36gydF4y2Ba它可以接收PDF文档并提取一组古生物实体和关系(参见gydF4y2Ba图2gydF4y2Ba).该原型解决了光学字符识别、自然语言处理、信息提取和集成方面的挑战。该过程的一些统计数据显示在gydF4y2Ba图3gydF4y2Ba.作为该系统验证的一部分,我们进行了双盲实验,以评估古deepdive与古odb的质量。我们发现,古deepdive的准确性与古odb相当,有时甚至更好gydF4y2Ba图3gydF4y2Ba).gydF4y2Ba36gydF4y2Ba此外,古潜能够处理大约10倍的文档数量,每个文档的回忆率大约是人类注释员的2.5倍。gydF4y2Ba

*gydF4y2Ba2.2.在古生物学gydF4y2Ba

古deepdive的成功激励了一系列其他KBC在不同领域的应用,包括自然科学和社会科学。尽管这些应用程序关注的是非常不同类型的KBs,但它们的构建方式通常与古deepdive类似。应用程序之间的这种相似性促使我们将DeepDive构建为一个统一的框架,以支持这些不同的应用程序。gydF4y2Ba

人口贩卖。gydF4y2Ba人口贩卖是一种可恶的犯罪行为,它使用身体、经济或其他胁迫手段从人类身上获取劳动力,这些人通常被用于性或工厂工作。使用传统手段的执法人员很难确定人口贩运的受害者;然而,像许多其他形式的商业一样,性工作的广告现在是在线的,性服务的提供者发布包含价格、地点、联系信息、身体特征和其他数据的广告。作为DARPA MEMEX项目的一部分,我们运行DeepDive对大约9000万条广告和0.5万条论坛帖子进行分析,创建了两个不同的结构化表,其中包括提取的潜在被贩运工人的属性,如价格、位置、电话号码、服务类型、年龄和其他各种可以用来检测潜在贩运或滥用迹象的属性。在许多情况下,DeepDive能够以与人工注释器相当甚至更高的质量水平提取这些属性;例如,从服务广告中提取电话号码,DeepDive实现了99.5%的精度和95.5%的查全率,而人工注释器仅获得93%的精度和92.5%的查全率。MEMEX已经覆盖了gydF4y2Ba60分钟gydF4y2Ba和其他新闻来源,目前支持全国几家执法机构的行动,并已被用于至少一起逮捕和定罪。gydF4y2Ba

医学遗传学。gydF4y2Ba生命科学领域的文献一直在以加速的速度增长,以至于科学家们仅仅依靠阅读和/或关键词搜索来进行研究是不现实的。大量人工管理的结构化知识库同样无法跟上在线出版物数量的指数增长。例如,OMIM是一个关于人类基因和孟德尔遗传疾病的权威数据库,可追溯到20世纪60年代,迄今为止包含约6000种遗传疾病或表型,多年来以每月约50条记录的速度增长。相反,去年PubMed中心每月有近1万份出版物存入。与斯坦福大学的吉尔·贝杰拉诺教授合作,我们正在开发DeepDive应用程序,以创建医学遗传学领域的知识库。具体来说,我们使用DeepDive从目前应用于临床遗传诊断和生殖咨询的文献中提取特定基因变异和临床表型之间的直接因果关系。gydF4y2BabgydF4y2Ba

药物基因组学。gydF4y2Ba了解体内化学物质的相互作用是药物发现的关键。然而,这些数据大多存在于生物医学文献中,不容易访问。药物基因组学知识库是一个高质量的数据库,旨在注释文献中药物、基因、疾病、遗传变异和途径之间的关系。在与斯坦福大学的艾米丽·马洛里和拉斯·奥特曼教授的合作中,我们使用深潜技术从科学文献中提取基因-基因相互作用的信息,gydF4y2Ba29gydF4y2Ba目前正在开发DeepDive应用程序,其中包含了基因、疾病和药物之间的关系,以便预测新的药理关系。gydF4y2BacgydF4y2Ba

TAC-KBP。gydF4y2BaTAC-KBP是nist赞助的一项研究竞赛,其任务是从130万新闻通讯社和网络文档中提取个人和组织的共同属性(如年龄、出生地、配偶和股东)gydF4y2Ba槽填充。gydF4y2Ba在2014年的评估中,有31个美国和国际团队参加了比赛,其中斯坦福大学的一个团队提交了基于DeepDive的解决方案。gydF4y2Ba1gydF4y2Ba基于DeepDive的解决方案在所有提交的数据中达到了最高的精度、召回率和F1。gydF4y2Ba

*gydF4y2Ba2.3.挑战gydF4y2Ba

在上述所有应用中,使用DeepDive构建的KBC系统都达到了较高的质量gydF4y2Ba图3gydF4y2Ba.要达到这个高质量水平,需要我们处理KBC问题的几个具有挑战性的方面。gydF4y2Ba

非结构化数据的复杂性。gydF4y2Ba总的来说,KBC任务包含了计算机科学中几个长期存在的重大挑战,包括机器阅读和计算机视觉。即使对于简单的模式,从非结构化源提取结构化信息也包含许多具有挑战性的方面。例如,考虑提取关系gydF4y2Ba原因(基因,表型)gydF4y2Ba也就是说,科学文献中关于基因突变导致某种表现型(症状)的断言(见2.2节)。基因通常有标准化的表达形式(如BRCA1);然而,它们很容易与它们所引起的疾病的首字母缩写混淆;必须使用来自整个文档的信号来解决这些误报。表现型更加具有挑战性,因为它们可以用许多同义形式表示(例如,“头痛”、“头痛”和“前额痛”)。然后提取参与gydF4y2Ba引起的gydF4y2Ba关系包括处理语言变异和复杂性的所有标准挑战,以及特定于应用程序的领域术语。gydF4y2Ba

当来自不同来源的信息可能需要一起考虑时,这个挑战就会变得更加严重,gydF4y2Ba共同gydF4y2Ba做出正确的提取。在gydF4y2Ba图4gydF4y2Ba例如,要达到对属的提取gydF4y2BaXenacanthusgydF4y2Ba出现在名称的位置gydF4y2BaObara,gydF4y2Ba提取系统需要从文本、表和外部结构化源中查询提取。gydF4y2Ba

规模。gydF4y2BaKBC系统需要能够吸收大量的文档,甚至远远超过资金充足的人工管理工作的文档数量。例如,gydF4y2Ba图5gydF4y2Ba说明了古deepdive的数据流。输入到古潜的期刊文章和书籍近300K,总大小超过2TB。然后用OCR和语言解析等工具对这些原始输入进行处理,这些工具的计算成本很高,可能需要数十万个机器小时。gydF4y2BadgydF4y2Ba

多通道输入。gydF4y2Ba我们发现,文字往往是不够的:科学家感兴趣的数据往往位于文章的表格、图表和图像中。例如,在地质学中,我们感兴趣的50%以上的事实都隐藏在表格中。gydF4y2Ba16gydF4y2Ba对于古生物学来说,类群之间的关系,也就是所谓的分类学,几乎只在章节标题中表示。gydF4y2Ba36gydF4y2Ba对于药理学来说,一个简单的图表包含大量的代谢途径是很常见的。此外,外部信息源(其他知识库)通常包含我们想要利用和集成的高质量信号(例如Freebase和Macrostrat)。为了建立一个高质量的KBC系统,我们需要处理这些不同的输入模式。gydF4y2BaegydF4y2Ba

回到顶部gydF4y2Ba

3.KBC使用DeepdivegydF4y2Ba

我们将介绍DeepDive,这是一个使用声明性语言构建KBC系统的端到端框架。gydF4y2Ba

*gydF4y2Ba3.1.KBC系统的定义gydF4y2Ba

的gydF4y2Ba输入gydF4y2Ba到KBC系统是非结构化、半结构化和/或结构化数据的异构集合,范围从文本文档到现有但不完整的KBs和gydF4y2Ba应用程序模式gydF4y2Ba指定要提取的目标关系。的gydF4y2Ba输出gydF4y2Ba是一个关系数据库,它包含根据应用程序模式从输入中提取的关系。创建知识库包括提取、清理和集成。gydF4y2Ba

例3.1。gydF4y2Ba图6gydF4y2Ba说明了一个运行的例子,在这个例子中,我们的目标是用一对彼此结婚的个体构建一个知识库。系统的输入是一组新闻文章和一组不完整的已婚人士;输出是一个知识库(KB),其中包含输入源断言已结婚的一对对人。KBC系统提取语言模式,例如,“……和他的妻子……”,在提到两个个人(例如,巴拉克·奥巴马和m·奥巴马)之间;然后将这些模式用作分类器中的特征,以确定这对提及是否表明它们是已婚的(在gydF4y2BaHasSpousegydF4y2Ba)关系。gydF4y2Ba

我们采用KBC的标准术语,例如ACE。KBC系统试图从输入文档中提取四种类型的对象,即gydF4y2Ba实体、关系提到gydF4y2Ba,gydF4y2Ba提到的关系gydF4y2Ba.一个gydF4y2Ba实体gydF4y2Ba是真实世界的人、地点或事物。例如,“Michelle_Obama_1”表示名字为“米歇尔•奥巴马”的人的实际实体;另一个名字相同的人会有另一个号码。一个gydF4y2Ba关系gydF4y2Ba关联两个(或多个)实体,并表示参与实体之间存在关系的事实。例如,“Barack_Obama_1”和“Michelle_Obama_1”参与gydF4y2BaHasSpousegydF4y2Ba关系,说明他们已经结婚了。这些真实世界的实体和关系在文本中进行了描述。一个gydF4y2Ba提到gydF4y2Ba是输入文档中引用实体或关系的一段文本:“Michelle”可能是对实体“Michelle_Obama_1”的提及。一个gydF4y2Ba关系提gydF4y2Ba是一个短语,连接两个参与关系的提及,如巴拉克·奥巴马和m·奥巴马。将提及映射到实体的过程被称为gydF4y2Ba实体连接。gydF4y2Ba

*gydF4y2Ba3.2.DeepDive框架gydF4y2BafgydF4y2Ba

DeepDive是构建KBC系统的端到端框架。在本节中,我们将介绍每个阶段。DeepDive同时支持SQL和Datalog,但是我们使用的是数据日志语法。我们在本节中描述的规则是由DeepDive的用户手动创建的,创建这些规则的过程是特定于应用程序的。为了说明简单,我们在本节的其余部分重点介绍一个带有文本输入的示例(gydF4y2Ba图7gydF4y2Ba).gydF4y2BaggydF4y2Ba

候选映射和特征提取。gydF4y2Badeepdivve中的所有数据都是经过预处理的输入、中间数据和最终输出存储在一个关系数据库中。第一阶段使用我们调用的一组SQL查询和用户定义函数(udf)填充数据库gydF4y2Ba特征提取器。gydF4y2Ba默认情况下,DeepDive用标准的NLP预处理工具生成的标记(包括HTML剥离、词性标记和语言解析)将数据库中的所有文档以一行一行的方式存储。在这个加载步骤之后,DeepDive执行两种类型的查询:(1)gydF4y2Ba候选人的映射,gydF4y2Ba这是SQL查询,产生可能的提及,实体和关系,和(2)gydF4y2Ba特征提取器,gydF4y2Ba将特征与候选人相关联,例如,“……和他的妻子……”。gydF4y2Ba

例3.2。gydF4y2Ba候选映射通常很简单。在这里,我们为同一句话中的每一对候选人物创建一个关系提及:gydF4y2Ba

(R1) MarriedCandidategydF4y2Ba(m1, m2): -gydF4y2Ba
PersonCandidategydF4y2Ba(m1),gydF4y2BaPersonCandidategydF4y2Ba(年代,m2)。gydF4y2Ba

候选映射只是带有udf的SQL查询,它看起来像低精度但高召回率的提取-转换-加载(ETL)脚本。这样的规则必须是高召回率的:如果候选映射的联合遗漏了一个事实,DeepDive就没有机会提取它。gydF4y2Ba

我们还需要提取特征,并扩展经典马尔可夫逻辑gydF4y2Ba11gydF4y2Ba有两种方式:(1)gydF4y2Ba用户定义的函数(udf)gydF4y2Ba和(2)gydF4y2Ba体重系,gydF4y2Ba我们用例子来说明。gydF4y2Ba

例3.3。gydF4y2Ba假设gydF4y2Ba短语gydF4y2Ba(m1, m2,发送)gydF4y2Ba返回句子中两次提到之间的短语,例如上面例子中的“and his wife”。在两次提及之间的短语可能表示两人是否结婚。我们可以这样写:gydF4y2Ba

(FE1) MarriedMentionsgydF4y2Ba(m1, m2): -gydF4y2Ba
MarriedCandidategydF4y2Ba(m1, m2),gydF4y2Ba提到gydF4y2Ba(m1),gydF4y2Ba
提到gydF4y2Ba(年代,m2),gydF4y2Ba句子gydF4y2Ba(发送)gydF4y2Ba
重量=gydF4y2Ba短语gydF4y2Ba(m1, m2,发送)。gydF4y2Ba

我们可以将其视为一个分类器:该规则表示文本是否指示提到gydF4y2Bam1gydF4y2Ba而且gydF4y2Ba平方米gydF4y2Ba是已婚的是受短语之间提到的对。该系统将根据训练数据,根据其置信度(通过估计权重)推断,两个提及的对象确实表明是已婚的。gydF4y2Ba

从技术上讲,gydF4y2Ba短语gydF4y2Ba返回一个标识符,该标识符决定对句子中提到的给定关系应该使用哪些权重。如果gydF4y2Ba短语gydF4y2Ba返回两个关系提到的相同结果,它们接收gydF4y2Ba相同gydF4y2Ba重量。我们将在3.3节中更详细地解释权重绑定。一般来说,gydF4y2Ba短语gydF4y2Ba可以是一个以元组方式操作的任意UDF。这使得DeepDive可以支持从“单词袋”到上下文感知的NLP功能,再到包含特定领域的词典和本体的功能集等常见功能类型。除了指定分类器集,DeepDive还继承了马尔可夫逻辑通过加权规则指定实体之间丰富相关性的能力。这些规则对于数据清理和数据集成特别有帮助。gydF4y2Ba

监督。gydF4y2Ba就像在马尔可夫逻辑中一样,DeepDive可以使用任何关系的训练数据或证据;特别是,每个用户关系都与具有相同模式的证据关系和指示条目是真还是假的附加字段相关联。继续我们的例子,证据关系MarriedMentions_Ev可以包含带有积极和消极标签的提及对。在操作上,两种标准技术生成训练数据:(1)手部标记和(2)gydF4y2Ba遥远的监督gydF4y2Ba,我们在这里说明。gydF4y2Ba

例3.4。gydF4y2Ba遥远的监督gydF4y2Ba19gydF4y2Ba,gydF4y2Ba30.gydF4y2Ba是在KBC系统中创建证据的一种流行技术。其思想是使用已婚实体对的不完全KBgydF4y2Ba一些gydF4y2Ba标签(如gydF4y2Ba真正的gydF4y2Ba证据)所有关系提及与一对已婚实体的联系:gydF4y2Ba

(S1) MarriedMentions_EvgydF4y2Ba(m1, m2,真):-gydF4y2Ba
MarriedCandidatesgydF4y2Ba(m1, m2),gydF4y2Ba埃尔gydF4y2Ba(m1, e1),gydF4y2Ba
埃尔gydF4y2Ba(m2, e2),gydF4y2Ba结婚了gydF4y2Ba(e1, e2)。gydF4y2Ba

在这里,gydF4y2Ba结婚了gydF4y2Ba是我们希望扩展的现实世界已婚人士的(不完整的)列表。关系EL用于将提及映射到候选实体的“实体链接”。乍一看,这条规则似乎不正确。然而,它会产生嘈杂的、不完美的例句,表明两个人结婚了。机器学习技术能够利用冗余来处理噪音,并学习相关短语(例如,和他的妻子)。消极的例子是由大部分不相连的关系(如兄弟姐妹)产生的。类似于DIPREgydF4y2Ba4gydF4y2Ba和赫斯特模式,gydF4y2Ba18gydF4y2Ba远程监管利用了“二重性”gydF4y2Ba4gydF4y2Ba在模式和关系实例之间;此外,它还允许我们将这一想法整合到DeepDive的统一概率框架中gydF4y2Ba.gydF4y2Ba

学习和推理。gydF4y2Ba在学习和推理阶段,DeepDive生成一个因子图,类似于马尔可夫逻辑,并使用Tuffy的技术。gydF4y2Ba33gydF4y2Ba推理和学习是使用标准技术(吉布斯抽样)完成的,我们在介绍正式语义之后将在下面描述该技术。gydF4y2Ba

误差分析。gydF4y2BaDeepDive依次运行上述三个阶段,在学习和推理结束时,它得到每个候选事实的边际概率p。为了生成最终的KB,用户选择DeepDive预测的事实,这些事实的概率高于用户选择的阈值,例如p > 0.95。通常,用户需要检查错误并重复前面的步骤,我们称之为这个过程gydF4y2Ba误差分析。gydF4y2Ba错误分析是理解最常见错误(不正确的提取、过度特定的特征、候选错误等)并决定如何纠正它们的过程。gydF4y2Ba39gydF4y2Ba为了便于错误分析,用户编写标准的SQL查询。gydF4y2Ba

*gydF4y2Ba3.3.设计选择的讨论gydF4y2Ba

我们发现了DeepDive方法的以下关键方面,我们相信这些方面能够使非计算机科学家构建复杂的KBC系统:(1)在DeepDive程序中没有引用底层的机器学习算法。因此,DeepDive程序具有很强的声明性。概率语义提供了一种独立于所使用算法的系统调试方法。(2) DeepDive允许用户使用熟悉的语言(Python、SQL和Scala)编写特征提取代码(udf)。(3)通过使用和生成关系数据库,DeepDive可以融入我们熟悉的SQL堆栈,从而允许标准工具检查和可视化数据。(4)用户构建端到端的系统,然后以现收现付的方式改进系统的质量。gydF4y2Ba28gydF4y2Ba相比之下,传统的基于管道的ETL脚本可能会导致用户在特定的提取或集成步骤上花费过多的时间和精力,而无法评估每个步骤对最终结果的质量有多重要。有趣的是,现收现付能让你做出关于如何提高质量的更明智的决定。gydF4y2Ba

上述设计选择需要克服几个技术挑战,其中两个我们在下面简要说明。gydF4y2Ba

联合统计推断。gydF4y2Ba在许多系统中,连续的阶段简单地流水线连接在一起,将错误从一个阶段传播到下一个阶段,并使迭代开发工作复杂化。当来自不同来源的信息都是相同时,这也会产生明显的性能影响gydF4y2Ba嘈杂的gydF4y2Ba,可能需要一起考虑,也就是,gydF4y2Ba共同gydF4y2Ba做出正确的提取。要将具有不同置信水平的提取结合在一起,需要一个有原则的框架。深潜公司应对这一挑战的方法基于贝叶斯概率方法。DeepDive将所有这些信息源视为一个联合概率推理问题,所有预测都建模为一个因子图模型中的随机变量。这个概率框架确保了DeepDive产生的所有事实都与一个边际概率相关。这些边际概率在DeepDive中是有意义的;也就是说,它们代表了人们应该期望的提取提及的经验准确性,并为开发人员改进使用DeepDive构建的KBC系统提供了指导。gydF4y2Ba

增量和高效的执行。gydF4y2Ba特别是对于上述设计选择,性能是一个主要挑战。在使用DeepDive的KBC系统中,我们可能需要对大量高度相关的随机变量进行推断和学习。例如,在《古潜》中,我们构建了包含3亿多个变量的因子图,每个变量代表一个要提取的潜在提及作为最终输出。因此,我们的技术重点之一就是加快概率推断的速度。gydF4y2Ba32gydF4y2Ba,gydF4y2Ba33gydF4y2Ba,gydF4y2Ba35gydF4y2Ba,gydF4y2Ba50gydF4y2Ba,gydF4y2Ba51gydF4y2Ba

第二个主要的技术焦点是高效的发展gydF4y2Ba增量gydF4y2Ba基于KBC应用程序开发的迭代特性,为基础和推断提供了方法。在第4节中,我们将简要描述这些技术,并为有兴趣了解更多细节的读者提供指导。gydF4y2Ba

回到顶部gydF4y2Ba

4.技术gydF4y2Ba

DeepDive程序是用上面描述的语言指定权重的一组规则。在推理过程中,假设所有权重的值都是已知的,而在学习过程中,人们要找到使证据的概率最大化的权重集。DeepDive程序的执行包括两个阶段:(i)基础和(ii)统计推断和学习。在本节中,我们将简要描述我们在每个阶段开发的技术,以提高DeepDive的性能和可扩展性。gydF4y2Ba

*gydF4y2Ba4.1.接地gydF4y2BahgydF4y2Ba

所示gydF4y2Ba图8gydF4y2Ba, DeepDive显式构建了一个因子图,用于使用一组SQL查询进行推理和学习。因子图是一个三重(V, F,),其中V是一组对应布尔随机变量的节点,F是一组超边(对于F F, F V),并且:F×{0,1}gydF4y2BaVgydF4y2Ba是一个权函数。在DeepDive中,V和F是使用一组SQL查询显式创建的,这个过程被称为gydF4y2Ba接地。gydF4y2Ba

例4.1。gydF4y2Ba引入数据库实例和规则gydF4y2Ba图8gydF4y2Ba举个例子:每个关联的元组gydF4y2BaR, S,gydF4y2Ba而且gydF4y2Ba问gydF4y2Ba是随机变量,和gydF4y2BaVgydF4y2Ba包含所有随机变量。推理规则gydF4y2BaF1gydF4y2Ba而且gydF4y2BaF2gydF4y2Ba在因子图中具有相同名称的地面因子,如gydF4y2Ba图8gydF4y2Ba.这两个gydF4y2BaF1gydF4y2Ba而且gydF4y2BaF2gydF4y2Ba在DeepDive中实现为SQL语句。gydF4y2Ba

增量接地。gydF4y2Ba因为DeepDive是基于SQL的,我们能够利用几十年来在增量视图维护方面的工作。此阶段的输入与接地阶段的输入相同:一组SQL查询和用户模式。此阶段的输出是接地的输出如何变化,即一组修改过的变量V及其因子F。因为V和F只是数据库上的视图,任何视图维护技术都可以应用于增量接地。DeepDive使用了DRED算法,gydF4y2Ba17gydF4y2Ba它处理添加和删除。回想一下在DRED中,对于每个关系RgydF4y2Ba我gydF4y2Ba在用户的模式中,我们创建一个gydF4y2Ba三角关系,gydF4y2Bacacm6005_b.gifgydF4y2Ba与R的模式相同gydF4y2Ba我gydF4y2Ba和一个额外的列计数。对于每个元组t, t.count表示t在R中的派生个数gydF4y2Ba我gydF4y2Ba.在一次更新中,DeepDive分两步更新增量关系。首先,for tuples ingydF4y2Bacacm6005_b.gifgydF4y2BaDeepDive直接更新相应的计数。第二,一个称为的SQL查询gydF4y2Baδ规则gydF4y2Ba,它会对这些计数进行处理,生成修改后的变量V和因子f。我们发现DRED的开销不大,收益可能很大,因此DeepDive总是在初始负载时运行DREDexcept。gydF4y2Ba

*gydF4y2Ba4.2.统计推理和学习gydF4y2Ba我gydF4y2Ba

DeepDive对因子图进行的主要任务是统计推断,即确定给定节点该节点取值1的边际概率是多少,确定该节点是一个应该包含在最终知识库中的正确输出元组。一般来说,计算这些边际概率是# p困难的。gydF4y2Ba45gydF4y2Ba像许多其他系统一样,DeepDive使用吉布斯抽样gydF4y2Ba40gydF4y2Ba估计数据库中每个元组的边际概率。gydF4y2Ba

效率和可伸缩性。gydF4y2Ba缩放统计算法有两个组成部分:gydF4y2Ba统计效率,gydF4y2Ba一个算法大概需要多少步才能收敛gydF4y2Ba硬件的效率,gydF4y2Ba这些步骤的效率如何。我们在最近的一篇论文中介绍了这个术语并对此进行了广泛的研究。gydF4y2Ba51gydF4y2Ba

DeepDive的统计推理和学习引擎DimmWitted,gydF4y2Ba51gydF4y2Ba是建立在我们的研究如何设计一个高性能的统计推理和学习引擎在一台机器上。gydF4y2Ba27gydF4y2Ba,gydF4y2Ba32gydF4y2Ba,gydF4y2Ba50gydF4y2Ba,gydF4y2Ba51gydF4y2BaDimmWitted将吉布斯抽样建模为“列到行访问”操作:每一行对应一个因子,每列对应一个变量,数据矩阵中的非零元素对应因子图中的边。要处理一个变量,DimmWitted获取矩阵的一列以获得因子集,其他列获取与同一因子相关的变量集。在标准的基准测试中,DimmWitted比GraphLab的实现快3.7倍,而且没有任何特定于应用程序的优化。与传统工作相比,DimmWitted的主要新颖之处在于它的考虑gydF4y2Ba这两个gydF4y2Ba执行推理和学习任务的硬件效率和统计效率。gydF4y2Ba

  • 硬件的效率。gydF4y2BaDeepDive考虑了现代非均匀内存访问(NUMA)机器的体系结构。NUMA机器通常包含多个节点(套接字),其中每个套接字包含多个CPU核。为了实现更高的硬件效率,需要减少不同NUMA节点之间的通信。gydF4y2Ba
  • 统计效率。gydF4y2Ba将硬件效率推到极致可能会降低统计效率,因为节点之间缺乏通信可能会降低统计推断和学习算法的收敛速度。DeepDive利用了模型平均的理论结果gydF4y2Ba53gydF4y2Ba以及我们自己关于无锁执行的结果。gydF4y2Ba27gydF4y2Ba,gydF4y2Ba32gydF4y2Ba

在整个文集中gydF4y2Ba古生物学gydF4y2Ba,因子图包含超过2亿个随机变量和3亿个因子。在这个因子图上,DeepDive能够在一台有4个插槽(每个插槽10个核)的机器上运行吉布斯采样,我们发现我们可以在28分钟内为所有2亿个随机变量生成1000个样本。这比非numa感知的实现快4倍多。gydF4y2Ba

增量推理。gydF4y2Ba由于我们选择了增量接地,DeepDive推断阶段的输入是一个因子图,其中包含一组变化的变量和因子。目标是计算系统计算出的输出概率。我们的方法是将增量维护问题框定为近似推理。数据库社区先前的工作着眼于机器学习数据产品如何对这两种新标签做出响应gydF4y2Ba24gydF4y2Ba和新数据。gydF4y2Ba7gydF4y2Ba,gydF4y2Ba8gydF4y2Ba在KBC中,程序和数据在每次迭代中都要更改。我们提出的方法可以同时应对这两种类型的变化。gydF4y2Ba

技术问题是在KBC应用程序中使用哪种近似推理算法。我们选择研究两类流行的近似推理技术:gydF4y2Basampling-based物质化gydF4y2Ba(灵感来自抽样的概率数据库,如MCDBgydF4y2Ba20.gydF4y2Ba),gydF4y2Bavariational-based物质化gydF4y2Ba(灵感来自于近似图形模型的技术gydF4y2Ba44gydF4y2Ba).将这些技术应用到KBC的增量维护中是很新颖的,理论上还不清楚这些技术之间的比较情况。因此,我们对这两种方法在不同的DeepDive项目上进行了实验评估。我们发现这两种方法对沿三个基本正交轴的变化非常敏感:因子图的大小、相关性的稀疏性和未来变化的预期数量。在空间的不同点上,性能差异可达两个数量级。我们对权衡空间的研究强调,两种物化策略都不占优势。为了自动选择物化策略,我们开发了一个简单的基于规则的优化器。gydF4y2Ba42gydF4y2Ba

回到顶部gydF4y2Ba

5.相关工作gydF4y2Ba

在过去十年中,KBC一直是一个备受关注的研究领域。gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba6gydF4y2Ba,gydF4y2Ba14gydF4y2Ba,gydF4y2Ba23gydF4y2Ba,gydF4y2Ba25gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba37gydF4y2Ba,gydF4y2Ba41gydF4y2Ba,gydF4y2Ba43gydF4y2Ba,gydF4y2Ba48gydF4y2Ba,gydF4y2Ba52gydF4y2Ba在这个空间中,有许多方法。gydF4y2Ba

*gydF4y2Ba5.1.基于规则的系统gydF4y2Ba

最早的KBC系统使用模式匹配从文本中提取关系。最著名的例子就是赫斯特提出的“赫斯特模式”gydF4y2Ba18gydF4y2Ba在1992年。赫斯特在她的开创性工作中观察到,大量的下义词可以通过简单的模式被发现,例如,“X如y”。赫斯特的技术已经成为许多试图从文本中提取高质量模式的进一步技术的基础。基于规则(基于模式匹配)的KBC系统,例如IBM的SystemT,gydF4y2Ba25gydF4y2Ba,gydF4y2Ba26gydF4y2Ba已经被构建来帮助开发人员构建高质量的模式。这些系统为用户提供(声明性的)接口,以指定一组规则和模式来派生关系。这些系统在任务上达到了最先进的质量,比如解析。gydF4y2Ba26gydF4y2Ba

*gydF4y2Ba5.2.统计方法gydF4y2Ba

基于规则的系统的一个限制是,开发人员需要确保提供给系统的所有规则都是高精度的规则。在过去的十年里,概率(或机器学习)方法被提出,以允许系统自动从一系列先验特征中进行选择。在这些方法中,提取的元组与它为真的边际概率相关联。DeepDive、谷歌的知识图谱以及IBM的沃森都是基于这种方法构建的。在这个空间中,根据分类有三种类型的系统,gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba6gydF4y2Ba,gydF4y2Ba14gydF4y2Ba,gydF4y2Ba48gydF4y2Ba最大后验,gydF4y2Ba23gydF4y2Ba,gydF4y2Ba31gydF4y2Ba,gydF4y2Ba43gydF4y2Ba概率图形模型。gydF4y2Ba11gydF4y2Ba,gydF4y2Ba37gydF4y2Ba,gydF4y2Ba52gydF4y2Ba我们在DeepDive的工作是基于图形模型的。gydF4y2Ba

回到顶部gydF4y2Ba

6.电流的方向gydF4y2Ba

*gydF4y2Ba6.1.数据编程gydF4y2Ba

在标准的DeepDive KBC应用程序中(例如,如第3.2节所述),为提取任务建模的因子图的权重是使用手工标记的训练数据或远程监督学习的。然而,在许多应用程序中,组装手工标记的训练数据是非常昂贵的(例如,当需要领域专业知识时),远程监督可能不够或需要时间来完美地实现。例如,用户可能会提出许多潜在的远程监督规则,这些规则重叠、冲突,并且具有不同的未知质量,决定包含哪些规则以及如何解决它们的重叠可能需要许多开发周期。一种新的方法叫做gydF4y2Ba数据编程gydF4y2Ba,gydF4y2Ba38gydF4y2Ba我们允许用户任意指定gydF4y2Ba标签功能,gydF4y2Ba它包含了远程监督规则,并允许用户以编程的方式生成训练数据,增加了灵活性。然后,我们学习这些标记函数的相对准确性,并使用自动化技术去噪它们的标签,从而提高概述的KBC应用程序的性能。gydF4y2Ba

*gydF4y2Ba6.2.轻量级的提取gydF4y2Ba

在某些情况下,用户可能有需要快速实现的简单提取任务,或者可能希望先在更复杂的提取任务的更简单的初始版本上迭代。例如,用户可能有一个复杂的提取任务,涉及多个实体和关系类型,通过各种推理规则连接,在一个大型web规模的数据集上;但他们可能希望从迭代数据子集上的单个关系开始。对于这些情况,我们正在开发一个轻量级的、基于Jupyter笔记本的提取系统,称为Snorkel,旨在使用数据编程快速迭代开发简单的提取模型。gydF4y2Ba13gydF4y2Ba我们设想Snorkel作为DeepDive的伙伴和补充。gydF4y2BajgydF4y2Ba

*gydF4y2Ba6.3.异步的推理gydF4y2Ba

加速DeepDive推理和学习阶段的一种方法是异步执行它们。在最近的工作中,我们观察到异步会在吉布斯采样中引入偏差,并概述了偏差可以忽略的一些充分条件。gydF4y2Ba10gydF4y2Ba在这个方向上进一步的理论和应用工作将允许复杂的DeepDive模型异步更快地执行。gydF4y2Ba

回到顶部gydF4y2Ba

致谢gydF4y2Ba

我们非常感谢国防高级研究计划局(DARPA) XDATA项目的支持。FA8750-12-2-0335和DEFT项目。FA8750-13-2-0039, DARPA的MEMEX项目和SIMPLEX项目,国家科学基金会(NSF)职业奖。IIS-1353606,海军研究办公室(ONR)根据N000141210041和N000141310129号拨款,国家生物医学成像和生物工程研究所(NIBIB)通过跨nih的大数据到知识(BD2K)倡议、斯隆研究奖学金、摩尔基金会、美国家庭保险、谷歌和东芝提供的资金授予国家卫生研究院U54EB020405拨款。本材料中所表达的任何意见、发现、结论或建议都是作者的观点,并不一定反映DARPA、AFRL、NSF、ONR、NIH或美国政府的观点。gydF4y2Ba

回到顶部gydF4y2Ba

参考文献gydF4y2Ba

1.Angeli, G.等。斯坦福大学2014年的槽位填充系统。gydF4y2BaTAC KBPgydF4y2Ba(2014)。gydF4y2Ba

2.Banko, M.等。从Web中开放信息提取。在gydF4y2BaIJCAIgydF4y2Ba(2007)。gydF4y2Ba

3.贝特里奇,卡尔森,洪,S.A,赫鲁斯奇卡,e.r.,劳,e.l.,米切尔,t.m.,王,S.H.迈向永不停息的语言学习。在gydF4y2BaAAAI春季研讨会gydF4y2Ba(2009)。gydF4y2Ba

4.布林,S.从万维网中提取模式和关系。在gydF4y2BaWebDBgydF4y2Ba(1999)。gydF4y2Ba

5.布朗,E.等。构建沃森的工具和方法。gydF4y2BaIBM的研究报告gydF4y2Ba(2013)。gydF4y2Ba

6.卡尔森等。建立一种永无止境的语言学习架构。在gydF4y2BaAAAIgydF4y2Ba(2010)。gydF4y2Ba

7.陈芳,段爱玲,杨建军。基于进化文本数据的信息提取方法。在gydF4y2BaICDEgydF4y2Ba(2008)。gydF4y2Ba

8.陈f .等。优化进化文本上的统计信息提取程序。在gydF4y2BaICDEgydF4y2Ba(2012)。gydF4y2Ba

9.陈勇,王大哲。基于概率知识库的知识扩展。在gydF4y2BaSIGMODgydF4y2Ba(2014)。gydF4y2Ba

10.De Sa, C, Olukotun, K, Ré, C.确保异步吉布斯采样的快速混合和低偏差。gydF4y2BaarXiv预印本arXiv: 1602.07415gydF4y2Ba(2016)。gydF4y2Ba

11.多明戈斯,P,洛德,D。gydF4y2Ba马尔可夫逻辑:人工智能的接口层。gydF4y2Ba摩根和克雷普,2009年。gydF4y2Ba

12.董旭亮等。从数据融合到知识融合。在gydF4y2BaVLDBgydF4y2Ba(2014)。gydF4y2Ba

13.Ehrenberg, h.r., Shin, J., Ratner, a.j., Fries, j.a., Ré, C.使用DDLite进行数据编程:将人类置于循环的不同部分。在gydF4y2Ba希尔达的16 SIGMODgydF4y2Ba(2016), 13岁。gydF4y2Ba

14.Etzioni, O.等。KnowItAll网络规模的信息提取:初步结果。在gydF4y2BaWWWgydF4y2Ba(2004)。gydF4y2Ba

15.费鲁奇等人。构建沃森:DeepQA项目概述。gydF4y2Ba人工智能杂志gydF4y2Ba(2010)。gydF4y2Ba

16.戈文达拉朱等人。使用标准的NLP工具包理解上下文中的表。在gydF4y2BaACLgydF4y2Ba(2013)。gydF4y2Ba

17.Gupta, A., Mumick, i.s., Subrahmanian, V.S.。gydF4y2BaSIGMOD矩形。gydF4y2Ba(1993)。gydF4y2Ba

18.赫斯特,M.A.从大型文本语料库中自动获取下名。在gydF4y2Ba科尔gydF4y2Ba(1992)。gydF4y2Ba

19.霍夫曼等人。基于知识的弱监督对重叠关系信息提取的影响。在gydF4y2BaACLgydF4y2Ba(2011)。gydF4y2Ba

20.Jampani, R.等人。MCDB:管理不确定数据的蒙特卡洛方法。在gydF4y2BaSIGMODgydF4y2Ba(2008)。gydF4y2Ba

21.我们,E.T.gydF4y2Ba概率论:科学的逻辑。gydF4y2Ba剑桥大学出版社,2003。gydF4y2Ba

22.江,S.等。学习使用马尔可夫逻辑提炼一个自动提取的知识库。在gydF4y2BaICDMgydF4y2Ba(2012)。gydF4y2Ba

23.Kasneci, G.等。知识发现的YAGO-NAGA方法。gydF4y2BaSIGMOD矩形gydF4y2Ba.(2009)。gydF4y2Ba

24.Koc, m.l., Ré, C.使用RDBMS增量维护分类。gydF4y2BaPVLDBgydF4y2Ba(2011)。gydF4y2Ba

25.Krishnamurthy, R.等。SystemT:用于声明性信息提取的系统。gydF4y2BaSIGMOD矩形gydF4y2Ba.(2009)。gydF4y2Ba

26.T:陈述性信息提取系统。在gydF4y2Ba停止gydF4y2Ba(2011)。gydF4y2Ba

27.刘杰,等。一种异步并行随机坐标下降算法。gydF4y2BaICMLgydF4y2Ba(2014)。gydF4y2Ba

28.Madhavan, J.等。网络规模的数据集成:您只能按需付费。在gydF4y2BaCIDRgydF4y2Ba(2007)。gydF4y2Ba

29.马洛里,E.K.等人。利用deepdive从全文文献中大规模提取基因相互作用。gydF4y2Ba生物信息学gydF4y2Ba(2015)。gydF4y2Ba

30.明茨等人。无标记数据的关系提取远程监督。在gydF4y2BaACLgydF4y2Ba(2009)。gydF4y2Ba

31.Nakashole, N.等。可扩展的知识获取,高精度和高召回。在gydF4y2BaWSDMgydF4y2Ba(2011)。gydF4y2Ba

32.牛,F.等。Hogwild !并行随机梯度下降的无锁方法。在gydF4y2Ba少量的酒gydF4y2Ba(2011)。gydF4y2Ba

33.牛,F.等。Tuffy:使用RDBMS扩展马尔科夫逻辑网络中的统计推断。gydF4y2BaPVLDBgydF4y2Ba(2011)。gydF4y2Ba

34.牛,F.等。初级:通过机器学习和统计推理构建大规模知识库。gydF4y2BaInt。J.语义网信息系统gydF4y2Ba.(2012)。gydF4y2Ba

35.牛,F.等。基于对偶分解的马尔可夫逻辑尺度推理。在gydF4y2BaICDMgydF4y2Ba(2012)。gydF4y2Ba

36.彼得斯,S.E.等人。一种合成古生物数据库的机器阅读系统。gydF4y2Ba《公共科学图书馆•综合》gydF4y2Ba(2014)。gydF4y2Ba

37.潘,H.,多明戈斯,P..信息提取中的联合推理。在gydF4y2BaAAAIgydF4y2Ba(2007)。gydF4y2Ba

38.Ratner, De Sa, C., Wu, S., Selsam, D., Ré, C.数据编程:快速创建大型训练集。gydF4y2BaarXiv预印本arXiv: 1605.07723gydF4y2Ba(2016)。gydF4y2Ba

39.Ré, C.等。面向知识库建设的特色工程。gydF4y2BaEng IEEE数据。公牛。gydF4y2Ba(2014)。gydF4y2Ba

40.罗伯特,C.P,卡塞拉,G。gydF4y2Ba蒙特卡洛统计方法。gydF4y2Ba斯普林格-维拉格纽约公司,锡考克斯,新泽西州,美国,2005年。gydF4y2Ba

41.沈伟等。使用带有嵌入式提取谓词的数据日志的声明性信息提取。在gydF4y2BaVLDBgydF4y2Ba(2007)。gydF4y2Ba

42.Shin J.等。利用deepdive构建增量知识库。gydF4y2BaPVLDBgydF4y2Ba(2015)。gydF4y2Ba

43.Suchanek, F.M.等人。用于信息提取的自组织框架。在gydF4y2BaWWWgydF4y2Ba(2009)。gydF4y2Ba

44.离散马尔可夫随机场近似推理的对数行列式弛豫。gydF4y2Ba反式。Sig Proc。gydF4y2Ba.(2006)。gydF4y2Ba

45.图形模型,指数族,和变分推理。gydF4y2BaFTMLgydF4y2Ba(2008)。gydF4y2Ba

46.从信息到知识:从网络资源中收获实体和关系。在gydF4y2Ba豆荚gydF4y2Ba(2010)。gydF4y2Ba

47.威克,M.等。具有因子图和MCMC的可伸缩概率数据库。gydF4y2BaPVLDBgydF4y2Ba(2010)。gydF4y2Ba

48.耶茨等人。TextRunner:在Web上开放信息提取。在gydF4y2BaNAACLgydF4y2Ba(2007)。gydF4y2Ba

49.张c .等。GeoDeepDive:使用熟悉的数据处理语言进行统计推断。在gydF4y2BaSIGMODgydF4y2Ba(2013)。gydF4y2Ba

50.张c, Ré, C.面向大规模高吞吐量吉布斯抽样:跨存储管理器的研究。在gydF4y2BaSIGMODgydF4y2Ba(2013)。gydF4y2Ba

51.张c, Ré, C.。内存统计分析的研究。gydF4y2BaPVLDBgydF4y2Ba(2014)。gydF4y2Ba

52.朱杰等。stat雪球:提取实体关系的统计方法。在gydF4y2BaWWWgydF4y2Ba(2009)。gydF4y2Ba

53.津科维奇等人。并行随机梯度下降。在gydF4y2Ba少量的酒gydF4y2Ba(2010), 25952603。gydF4y2Ba

回到顶部gydF4y2Ba

作者gydF4y2Ba

迈克尔CafarellagydF4y2Ba(gydF4y2Bamichael.cafarella@lattice.iogydF4y2Ba), Lattice Data, Inc.,帕洛阿尔托,加利福尼亚州。gydF4y2Ba

Jaeho胫骨gydF4y2Ba(gydF4y2Bajaeho.shin@lattice.iogydF4y2Ba), Lattice Data, Inc.,帕洛阿尔托,加利福尼亚州。gydF4y2Ba

克里斯托弗•德山gydF4y2Ba(gydF4y2Bacdesa@cs.stanford.edugydF4y2Ba),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2Ba

亚历克斯·拉特纳gydF4y2Ba(gydF4y2Baajratner@cs.stanford.edugydF4y2Ba),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2Ba

克里斯托弗再保险gydF4y2Ba(gydF4y2Bachrismre@cs.stanford.edugydF4y2Ba),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2Ba

Feiran王gydF4y2Ba(gydF4y2Bafeiran@cs.stanford.edugydF4y2Ba),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2Ba

森吴gydF4y2Ba(gydF4y2Basenwu@cs.stanford.edugydF4y2Ba),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2Ba

Ce张gydF4y2Ba(gydF4y2Bace.zhang@inf.ethz.chgydF4y2Ba),苏黎世联邦理工学院,苏黎世,瑞士。gydF4y2Ba

回到顶部gydF4y2Ba

脚注gydF4y2Ba

一个。gydF4y2Bahttp://deepdive.stanford.edugydF4y2Ba.gydF4y2Ba

b。gydF4y2Bahttp://www.cbsnews.com/news/new-search-engine-exposes-the-dark-web/gydF4y2Ba.gydF4y2Ba

c。gydF4y2Bahttps://www.pharmgkb.org/gydF4y2Ba.gydF4y2Ba

d。gydF4y2Bahttp://www.freebase.com/gydF4y2Ba.gydF4y2Ba

e。gydF4y2Bahttp://macrostrat.org/gydF4y2Ba.gydF4y2Ba

f。gydF4y2Bahttp://www.itl.nist.gov/iad/mig/tests/ace/2000/gydF4y2Ba.gydF4y2Ba

要了解更多信息,包括例子,请参见gydF4y2Bahttp://deepdive.stanford.edugydF4y2Ba.注意,我们的引擎是基于Postgres和Greenplum构建的,适用于所有SQL处理和udf。还有一个到MySQL的端口。gydF4y2Ba

h.概率推理是有理由的,就像考克斯定理(大致地)断言的那样,如果一个人用数字作为信仰的程度,那么他必须要么使用概率推理,要么冒着推理系统出现矛盾的风险;也就是说,概率框架是用这种方式进行推理的唯一可靠系统。我们建议读者参阅杰尼斯等人。gydF4y2Ba21gydF4y2Ba

i.例如,对于中所示的接地程序gydF4y2Ba图8gydF4y2Ba, F1的δ规则为q(x): R(x, y)。gydF4y2Ba

j。gydF4y2Basnorkel.stanford.edugydF4y2Ba.gydF4y2Ba

本文的原始版本题为“使用DeepDive构建增量知识库”,发表于gydF4y2BaVLDB基金会的议事日程,gydF4y2Ba2015.这篇论文还包含了以前发表的其他工作的内容。gydF4y2Ba16gydF4y2Ba,gydF4y2Ba36gydF4y2Ba,gydF4y2Ba39gydF4y2Ba,gydF4y2Ba51gydF4y2Ba

回到顶部gydF4y2Ba

数据gydF4y2Ba

F1gydF4y2Ba图1。知识库构建(KBC)是从非结构化来源填充结构化关系知识库的过程。DeepDive是一个旨在促进KBC过程的系统,它允许领域专家集成他们的领域知识,而不用担心算法。gydF4y2Ba

F2gydF4y2Ba图2。古深度潜水从古生物文献中的文本、表格和图表中提取的例子关系。gydF4y2Ba

F3gydF4y2Ba图3。使用DeepDive构建的KBC系统的质量。在许多应用中,DeepDive构建的KBC系统达到了与专业人类志愿者相当(有时甚至更好)的质量,并在生物多样性等主题上产生了类似的科学见解。这种质量是通过迭代地集成不同的数据源来实现的——质量通常随我们输入系统的信息量而变化。gydF4y2Ba

F4gydF4y2Ba图4。构建高质量KBC系统的一个挑战是联合利用不同的信息源来准确地提取数据。在本例页面中gydF4y2Ba古生物学gydF4y2Ba期刊文章,识别正确的位置gydF4y2BaXenacanthusgydF4y2Ba需要集成来自表、文本和外部结构化知识库内部的信息。当许多提取器都不是100%准确时,这个问题变得更加具有挑战性,这促使了DeepDive内部的联合概率推理引擎。gydF4y2Ba

F5gydF4y2Ba图5。构建高质量KBC系统的另一个挑战是,通常需要处理tb级的数据。这些数据不仅用传统的关系运算处理,还用涉及机器学习和统计推理的运算处理。因此,DeepDive由一套技术组成,以提高涉及数十亿个相关随机变量的推理任务的速度、规模和增量执行。gydF4y2Ba

F6gydF4y2Ba图6。KBC系统将非结构化文档作为结构化知识库的输入和输出。运行时为TAC-KBP比赛系统。为了提高质量,开发人员添加了新的规则和新的数据,并对系统当前快照的结果进行了错误分析。DeepDive提供了一种声明性语言来指定每种类型的不同规则和数据,并提供了一种技术来增量地执行这个迭代过程。gydF4y2Ba

F7gydF4y2Ba图7。一个KBC系统示例(详见第3.2节)。gydF4y2Ba

F8gydF4y2Ba图8。接地示意图。每个元组对应于因子图中的一个布尔随机变量和节点。我们为推理规则的每一组基础创建一个因子。gydF4y2Ba

回到顶部gydF4y2Ba


©2017 0001 - 0782/17/05 ACMgydF4y2Ba

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限gydF4y2Bapermissions@acm.orggydF4y2Ba传真(212)869-0481。gydF4y2Ba

数字图书馆是由计算机协会出版的。版权所有©2017 ACM, Inc.gydF4y2Ba


没有发现记录gydF4y2Ba

Baidu
map