本期“实践研究”精选了 Alex Ratner 和 Chris Ré 的文章,他们概述了知识库构建 (KBC) 的最新进展。知识库的历史可以追溯到 20 世纪 70 年代的专家系统,而机器学习的最新进展则引领了知识库的复兴,知识库现在为包括 Google Assistant、Amazon Alexa、Apple Siri 和 Wolfram Alpha 在内的主要产品功能提供支持。Ratner 和 Ré 的文章重点介绍了现代 KBC 过程中的关键考虑因素,从从领域专家那里提取知识的界面到跨任务转移知识的算法和表示。请尽情阅读!—Peter Bailis
如今的信息可访问性比人类历史上任何时候都更高。然而,从软件的角度来看,绝大多数数据是无法使用的,因为它被锁定在非结构化格式中,例如文本、PDF、网页、图像和其他难以解析的格式。KBC(知识库构建)的目标是从这些“暗数据”中自动提取结构化信息,以便将其用于搜索、问答、链接预测、可视化、建模等下游应用。如今,KB(知识库)是帮助打击人口贩运18、加速生物医学发现9以及越来越多地为网络搜索和问答技术4提供支持的系统的核心组件。
然而,KBC 极具挑战性,因为它涉及处理高度复杂的输入数据以及多个相关的子任务,例如解析、提取、清理、链接和集成。传统上,即使使用机器学习,这些子任务中的每一个都需要繁琐的特征工程(即,手动制作输入数据的属性以馈送到系统中)。因此,KBC 传统上是一个耗时数月或数年的过程,只有学术团体(例如,YAGO8、DBPedia7、KnowItNow2、DeepDive19等)或行业和政府中资金充足的大型团队(例如,Google 的 Knowledge Vault、IBM Watson、Amazon 的 Product Graphs 等)才会进行研究。
然而,今天,由于强大且易于使用的深度学习模型在很大程度上消除了繁重的特征工程任务,KBC 领域重新焕发了民主化进步的感觉。相反,现代深度学习模型直接对原始输入数据(例如文本或图像)进行操作,并在 KBC 子任务(例如解析、标记、分类和链接)上获得最先进的性能。此外,标准商品架构通常适用于广泛的领域和任务,例如文本的双向 LSTM(双向长短期记忆)或图像的 CNN(卷积神经网络)的“霸权”11。开源实现通常可以下载并在几行代码中运行。
然而,为了使这些新兴的基于深度学习的方法能够更快、更轻松地进行 KBC,需要解决某些关键的设计决策——例如如何将它们组合在一起,如何有效地收集它们的训练数据,以及如何表示它们的输入和输出数据。本文重点介绍了三篇论文,这些论文侧重于以下关键设计点:(1)用于汇集信息和协调子组件之间的联合学习方法;(2)更有效地弱监督系统机器学习组件的方法;以及(3)表示 KB 的输入和输出的新方法。
Mitchell, T.M.、Cohen, W. W.、Hruschka Jr.、E. R.、Talukdar, P. P.、Betteridge, J.、Carlson, A.、Mishra, B. D.、Gardner, M.、Kisiel, B.、Krishnamurthy, J. 等。2015 年。《永无止境的学习》。人工智能会议 (AAAI) 会议论文集:2302-2310。
KBC 尤其具有挑战性,因为它涉及大量相关的子任务,每个子任务可能使用一个或多个 ML(机器学习)模型。在断开连接的管道中执行这些任务至少在两个方面是次优的:它可能导致级联错误(例如,初始解析错误可能会影响下游标记或链接任务);并且它错过了在相关任务之间汇集信息和训练信号的机会(例如,提取相似类型关系的子组件可能可以使用输入数据的相似表示)。通常称为联合推理和多任务学习(我们统称为联合学习)的高级思想是联合学习多个相关模型,通过其输出值的逻辑关系和/或其输入值的共享表示来连接它们。
NELL(永无止境的语言学习器)是联合学习对大规模 KBC 产生影响的经典示例。NELL 是一个自 2010 年以来一直在从互联网上提取关于世界的各种事实(例如,ServedWith(Tea, Biscuits)
)的系统,截至 2015 年,其 KB 包含超过 8000 万条条目。NELL 解决的问题设置包括 2500 多个不同的学习任务,包括将名词短语分类到特定类别、链接相似实体以及提取实体之间的关系。NELL 的公式不是单独学习所有这些任务,而是包括不同任务之间已知的(或学习到的)耦合约束,Mitchell 等人认为这些约束对于训练 NELL 至关重要。这些约束包括逻辑关系,例如子集/超集(例如,IsSandwhich(Hamburger) ⇒ IsFood(Hamburger)
)和互斥约束,这些约束在推理和学习期间连接许多不同的任务。
在其他系统中,连接或耦合多个任务的重要性在略有不同的上下文或公式中得到了呼应:例如,作为避免提取和集成等不同管道步骤之间级联错误的一种方式(例如,DeepDive19),或者通过在任务之间共享权重或输入数据的学习表示来实现,如多任务学习3,17中那样。无论哪种方式,如何耦合不同的子任务都是任何 KBC 系统设计中的关键决策。
Ratner, A. J.、Bach, S. H.、Ehrenberg, H.、Fries, J.、Wu, S. 和 C. Ré。2017 年。《Snorkel:使用弱监督快速创建训练数据》。超大型数据库 (VLDB) 基金会会议论文集 11(3): 269-282。
在当今几乎所有的 KBC 系统中,许多或所有关键任务都由越来越复杂的机器学习模型(例如深度学习模型)执行。虽然这些模型确实在很大程度上消除了特征工程的负担(特征工程是 KBC 开发过程中的传统瓶颈),但它们也需要大量的标记训练数据来从中学习。让人工手动标记这些训练数据是一项昂贵的任务,可能需要数月或数年时间,并且由此产生的标记数据集非常静态:如果 KB 的模式发生更改(在实际生产环境中经常发生),则必须丢弃训练集并重新标记。由于这些原因,当今许多 KBC 系统都使用某种形式的弱监督15:由领域专家更有效地提供更嘈杂、更高级别的监督6,10。例如,一种流行的启发式技术是远程监督,其中现有知识库的条目与新的输入数据进行启发式对齐,以将其标记为训练数据1,13,16。
Snorkel 提供了一个端到端框架,用于通过让领域专家编写 LF(标记函数)来弱监督机器学习模型,LF 只是以编程方式标记训练数据的黑盒函数,而不是手动标记任何训练数据。这些 LF 涵盖了广泛的弱监督技术,并有效地为非机器学习专家提供了一种“编程”ML 模型的简单方法。此外,Snorkel 使用统计建模技术自动学习 LF 的准确性并重新加权其输出,从而有效地对训练数据进行去噪,然后可以将其用于监督 KBC 系统。在本文中,作者证明 Snorkel 通过支持轻松使用许多嘈杂的来源,优于以前的弱监督方法,并且在使用大量手动标记的训练集的情况下,性能仅相差几个百分点,这表明了弱监督在使高性能 KBC 系统更快、更易于开发方面的有效性。
Riedel, S.、Yao, L.、McCallum, A.、Marlin, B. M.。2013 年。《使用矩阵分解和通用模式的关系提取》。北美计算语言学协会分会会议论文集——人类语言技术:74–84。
最后,KBC 中的一个关键决策是如何表示数据:包括输入的非结构化数据和构成知识库的结果输出。在 KBC 和更通用的 ML 设置中,使用密集向量嵌入来表示输入数据(尤其是文本)已成为一种普遍存在的工具12。例如,通过将 PCA(主成分分析)或某些近似变体应用于大型未标记语料库而学习的词嵌入,可以固有地表示文本数据(例如同义词)的有意义的语义,并作为一种强大而简单的方式来整合来自大型语料库的统计知识。越来越复杂的嵌入类型(例如双曲14、多模态和图5嵌入)可以在更广泛的设置中为终端系统性能提供强大的提升。
在他们的论文中,Riedel 等人通过展示如何使用嵌入来表示知识库本身,提供了一个有趣的视角。在传统的 KBC 中,首先选择并固定输出模式(即,要提取的关系类型),这必然是一个手动过程。相反,Riedel 等人提出使用密集嵌入来表示 KB 本身,并从所有可用或潜在目标模式的联合中学习这些嵌入。
此外,他们认为,这种方法统一了传统上独立的提取和集成任务。通常,提取是从输入数据到 KB 中的条目的过程——例如,将文本字符串X likes Y
映射到 KB 关系Likes(X,Y)
——而集成是合并或链接相关实体和关系的任务。然而,在他们的方法中,输入文本和 KB 条目都表示在相同的向量空间中,因此这些操作基本上变得等效。然后可以联合学习这些嵌入,并针对各种预测任务进行查询。
本文回顾了构建现代 KBC 系统的三个关键设计点的方案,以及它们如何有可能加速 KBC 过程:(1)耦合多个组件模型以联合学习它们;(2)使用弱监督更有效、更灵活地监督这些模型;以及(3)为数据选择密集向量表示。虽然基于 ML 的 KBC 系统仍然庞大而复杂,但当今对 ML 的兴趣和投资的一个实际好处是,开源中提供了大量用于各种 KBC 子任务的最先进模型,以及 PyTorch 和 TensorFlow 等精心设计的框架来运行它们。结合将所有部分组合在一起的技术和系统(如本文所回顾的),高性能 KBC 正变得比以往任何时候都更容易访问。
1. Bunescu, R. C., Mooney, R. J. 2007 年。《使用最小监督从网络学习提取关系》。计算语言学协会第 45 届年会会议论文集:576–583。
2. Cafarella, M. J.、Downey, D.、Soderland, S.、Etzioni, O.。2005 年。《KnowItNow:从网络快速、可扩展地提取信息》。人类语言技术与自然语言处理经验方法会议论文集:563–570。
3. Caruana, R. 1993 年。《多任务学习:基于知识的归纳偏见来源》。第 10 届国际机器学习会议会议论文集:41-48。
4. Dong, X.、Gabrilovich, E.、Heitz, G.、Horn, W.、Lao, N.、Murphy, K.、Strohmann, T.、Sun, S.、Zhang, W.。2014 年。《Knowledge Vault:一种用于概率知识融合的网络规模方法》。第 20 届 SIGKDD 国际知识发现与数据挖掘会议论文集:601–610。
5. Grover, A.、Leskovec, J.。2016 年。《node2vec:用于网络的可扩展特征学习》。第 22 届 SIGKDD 国际知识发现与数据挖掘会议论文集:855–864。
6. Hoffmann, R.、Zhang, C.、Ling, X.、Zettlemoyer, L.、Weld, D. S.。2011 年。《用于重叠关系信息提取的基于知识的弱监督》。计算语言学协会第 49 届年会 (ACL)–人类语言技术会议论文集,第 1 卷:541-550。
7. Lehmann, J.、Isele, R.、Jakob, M.、Jentzsch, A.、Kontokostas, D.、Mendes, P.、Hellmann, S.、Morsey, M.、van Kleef, P.、Auer, S.、Bizer, C.。2014 年。《DBpedia—一个从维基百科提取的大规模多语言知识库》。语义网 6(2): 167–195。
8. Mahdisoltani, F.、Biega, J. Suchanek, F. M.。2013 年。《YAGO3:来自多语言维基百科的知识库》。第 7 届创新数据系统研究双年会议 (CIDR) 会议论文集。
9. Mallory, E. K.、Zhang, C.、Ré, C.、Altman, R. B.。2015 年。《使用 DeepDive 从全文文献中大规模提取基因相互作用》。生物信息学 32(1):106–113。
10. Mann, G. S.、McCallum, A.。2010 年。《弱标记数据半监督学习的广义期望准则》。机器学习研究杂志 11(2 月):955–984。
11. Manning, C.。2017 年。《语言表示:从词嵌入到句子含义》。在加州大学伯克利分校西蒙斯理论计算研究所的演讲;https://nlp.stanford.edu/manning/talks/Simons-Institute-Manning-2017.pdf。
12. Mikolov, T.、Chen, K.、Corrado, G.、Dean, J.。2013 年。《向量空间中词表示的有效估计》。arXiv 预印本 arXiv:1301.3781。
13. Mintz, M.、Bills, S.、Snow, R.、Jurafsky, D.。2009 年。《用于无标记数据关系提取的远程监督》。计算语言学协会第 47 届年会 (ACL) 和亚洲自然语言处理联合会第 4 届会议联合会议论文集:1003–1011。
14. Nickel, M.、Kiela, D.。2017 年。《用于学习分层表示的 Poincaré 嵌入》。神经信息处理系统进展 30:6341–6350。
15. Ratner, A.、Bach, S.、Varma, P.、Ré, C.。弱监督:机器学习的新编程范式。Hazy Research;https://hazyresearch.github.io/snorkel/blog/ws_blog_post.html。
16. Ren, X.、He, W.、Qu, M.、Voss, C. R.、Ji, H.、Han, J.。2016 年。《通过异构部分标签嵌入减少实体类型中的标签噪声》。第 22 届 SIGKDD 国际知识发现与数据挖掘会议论文集:1825–1834。
17. Ruder, S.。2017 年。《深度神经网络中多任务学习概述》。arXiv 预印本 arXiv: 1706.05098。
18. Zhang, C.、Shin, J.、Ré, C.、Cafarella, M.、Niu, F.。2016 年。《使用 DeepDive 从暗数据中提取数据库》。国际数据管理会议会议论文集:847–859。
19. Zhang, C.、Ré, C.、Cafarella, M.、De Sa, C.、Ratner, A.、Shin, J.、Wang, F.、Wu, S.。2017 年。《DeepDive:声明式知识库构建》。 通讯 60(5):93–102。
Alex Ratner 是斯坦福大学计算机科学博士候选人,导师是 Chris Ré,他的研究重点是弱监督——即使用来自领域专家的高级、嘈杂的输入来训练复杂的最先进模型,在这些模型中,可用的手动标记训练数据有限。他领导了用于弱监督 ML 的 Snorkel 框架的开发,该框架已应用于基因组学、临床诊断学和政治学等领域的 KBC 问题。他获得了斯坦福 Bio-X SIGF 奖学金的支持。
Christopher Ré 是斯坦福大学计算机科学副教授。他的工作目标是使用户和开发人员能够构建更深入地理解和利用数据的应用程序。他的贡献涵盖数据库理论、数据库系统和机器学习,并获得了 PODS(数据库系统原理)、SIGMOD(数据管理特别兴趣小组)和 ICML(国际机器学习会议)的最佳论文奖。他所在小组的工作已纳入重大的科学和人道主义努力,包括 IceCube 中微子探测器、PaleoDeepDive 和 MEMEX(打击人口贩运)以及主要网络和企业公司的商业产品。他曾获得 SIGMOD 博士论文奖、NSF CAREER 奖、Alfred P. Sloan 奖学金、Moore 数据驱动研究员奖、VLDB 早期职业奖、麦克阿瑟基金会奖学金和 Okawa 研究资助金。
版权所有 © 2018,所有者/作者所有。出版权已授权给 。
最初发表于 Queue 第 16 卷,第 3 期—
在 数字图书馆 中评论本文
Mark Russinovich, Ahmed Salem, Santiago Zanella-Béguelin, Yonatan Zunger - 智能的代价
LLM 容易出现幻觉、提示注入和越狱漏洞,这对它们的广泛采用和负责任的使用构成了重大但可以克服的挑战。我们认为,这些问题是固有的,当然在当前这一代模型中是这样,而且很可能在 LLM 本身中也是如此,因此我们的方法永远不能基于消除这些问题;相反,我们应该应用“深度防御”策略来缓解这些问题,并且在构建和使用这些系统时,应该假设它们有时会在这些方面失败。
Sonja Johnson-Yu, Sanket Shah - 你对人工智能一窍不通
长期以来,很难确定人工智能到底是什么。几年前,此类讨论会演变成长达数小时的会议,绘制维恩图并尝试绘制人工智能的不同子领域。快进到 2024 年,我们现在都确切地知道什么是人工智能。人工智能 = ChatGPT。或者不是。
Jim Waldo, Soline Boussard - GPT 和幻觉
本实验的发现支持了以下假设:基于 LLM 的 GPT 在更受欢迎且已达成普遍共识的提示下表现良好,但在有争议的主题或数据有限的主题上表现不佳。应用程序响应的可变性强调,模型依赖于其训练数据的数量和质量,这与依赖于多样化和可信贡献的众包系统类似。因此,虽然 GPT 可以作为许多日常任务的有用工具,但应谨慎解读它们对晦涩和两极分化主题的参与。
Erik Meijer - 虚拟阴谋:将大型语言模型用作神经计算机
我们探讨了大型语言模型 (LLM) 如何不仅可以充当数据库,还可以充当动态的、最终用户可编程的神经计算机。这种神经计算机的本地编程语言是一种受逻辑编程启发的声明式语言,它形式化和外部化了思维链推理,就像它可能发生在一个大型语言模型内部一样。