基于混合方法的自然语言处理:神经网络模型与知识图谱的结合
作者 : [西]何塞·曼努埃尔·戈麦斯-佩雷斯(Jose Manuel Gomez-Perez),[西]罗纳德·德诺(Ronald Denaux),[西]安德烈·加西亚-席尔瓦(Andres Garcia-Silva) 著
译者 : 曹洪伟 石涛声 译
出版日期 : 2021-09-07
ISBN : 978-7-111-69069-6
适用人群 : 本书适合语言学、计算机科学和数学专业的学生,以及自然语言处理、人工智能、机器学习和深度学习领域的实践者阅读。
定价 : 99.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 266
开本 : 16
原书名 : A Practical Guide to Hybrid Natural Language Processing: Combining Neural Models and Knowledge Graphs for NLP
原出版社: Springer
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书分为三个部分:基于知识图谱和神经网络的构建部分;结合知识图谱和神经网络的混合体系结构;实际应用部分。在三个部分中,主题通常是独立的,允许读者快速、轻松地阅读所需的信息。本书的两个特点是实用性和拥有前沿信息。书中准确地演示了如何创建和使用上下文表示,对意义嵌入和知识图谱嵌入有着明确的处理方法,解释了使用它们的语言模型和Transformer体系结构。

图书特色

图书前言

对于自然语言处理而言,基于神经网络和基于知识图谱这两种方法各有千秋。神经网络方法非常强大,并一直处于当前NLP排行榜的顶端位置。然而,它们也有软肋,比如训练数据的数量和质量,模型与人类如何使用语言以及人类对世界的理解之间的联系等。另外,基于结构化知识表示的自然语言处理系统虽然不能完全解决这些问题,但往往比较适合解决其中的一些问题。然而,它们可能需要相当多的知识工程工作,以持续组织这样的结构化表示。
本书的主要前提是,数据驱动的方法和基于知识图谱的方法可以相得益彰,取长补短。尽管许多人提倡在NLP和人工智能的许多其他领域结合应用这两种范式,但事实是,直到现在,这种结合还不常见,原因可能是缺乏实现这一目标的原则性方法和指导方针,也可能是缺乏令人信服的成功案例。
而人工智能的研究,特别是在自然语言处理和知识图谱领域,已经达到了成熟的水平,并渗透到其他领域,引起了深刻的社会和商业变革。因此,本书特别侧重于讨论实践方面的主题,旨在为感兴趣的读者提供必要的手段,使读者能够掌握将神经网络方法和基于知识图谱的方法结合到自然语言处理中的实践方法,建立弥合两者之间差距的桥梁。
总的来说,对于对神经网络和基于知识图谱的方法在自然语言处理领域的结合感兴趣的读者而言,本书非常有用。有结构化知识表示背景的读者,例如有语义网、知识获取、知识表示和推理社区方面的背景,总的来说也就是那些基于逻辑方法研究人工智能的读者,可以在本书中找到实用指南。同样,我们希望本书对那些主要背景在机器学习和深度学习领域的读者同样有用,他们可能正在寻找利用结构化知识库优化NLP下游结果的方法。
因此,来自上述领域的工业界和学术界的读者将在本书中找到混合自然语言处理的实用资源。在本书中,我们将展示如何利用互补表示,这些表示源于对非结构化文本语料库以及知识图谱中明确描述的实体和关系的分析,整合这些表示,并使用由此产生的特征来有效地解决不同领域的自然语言处理任务。在本书中,读者可以在示例、练习以及关键领域的实际应用(如虚假信息分析和科学文献的机器阅读理解)上使用实际的可执行代码。
在本书中,对于无论是基于知识图谱、神经网络还是基于其他形式的机器学习的自然语言处理方法、技术和工具箱,我们并没有提供详尽的说明。我们认为这些内容已经在参考文献中得到了充分的阐述。相反,我们专注于读者真正需要掌握的主要构建模块,以便读者能够吸收和应用本书的主要思想。事实上,本书所有章节都是独立的,一般读者在理解时不会遇到太大困难。因此,本书可以作为一本简洁而富有洞察力的手册,专注于协调基于知识图谱的方法和神经网络方法在自然语言处理中应用的主要挑战上。我们希望你会喜欢。
本书目标
本书为读者提供了一个自然语言处理的混合方法的原则性实用指南,主要涉及神经网络方法和知识图谱的结合。本书解决了一些与混合自然语言处理系统相关的问题,包括:
神经网络方法如何以具有成本效益和可实践的方式扩展像知识图谱一样预先捕获显式表示的知识?反过来又如何呢?
结合神经网络和基于知识图谱的方法的自然语言处理混合方法的主要构建模块和技术是什么?
如何将神经网络表示与结构化的、基于知识图谱的表示无缝集成?
这种混合方法能否产生更好的知识图谱和神经网络表示?
如何检查和评估混合方法所产生的混合表示的质量?
混合方法对NLP任务的性能有什么影响?对其他数据形式(比如图像或图表)的处理有什么影响以及其相互作用有什么影响?
基于以上问题,本书首先介绍了主要的构建模块,然后描述了它们如何相互紧密地关联,进而支持实际自然语言处理应用程序的有效实现。为了说明本书描述的思想,我们包含了一套全面的实验和练习,涉及可以根据任务领域和语料库进行选择的不同算法。
本书各章概述
接下来,我们介绍本书的章节结构安排:
第1章介绍本书的创作灵感及在当前的自然语言处理学科背景下本书的总体目标。
第2章介绍单词、语义/概念和知识图谱嵌入,它们是生成混合自然语言处理系统的主要构建模块。我们探讨各种不同的方法:简单的词嵌入学习、从语料库和语义网络中学习语义和概念嵌入,以及根本不使用语料库直接从知识图谱中学习概念嵌入的方法。
第3章重点研究词嵌入,并根据所使用的方法和语料库来分析其中包含的信息。除了预训练的静态嵌入,重点放在神经网络语言模型和上下文的嵌入上。
第4章引导读者通过一个可执行的Jupyter Notebook,重点介绍一个特定的词嵌入算法,如Swivel[164]及其实现,以说明如何方便地从文本语料库中生成词嵌入。
第5章与第4章的方式类似,本章利用一个像WordNet这样的现有知识图谱,利用HolE等特定的知识图谱算法生成图谱嵌入,还提供了一个可执行的Jupyter Notebook。
第6章提出一种利用知识图谱从文本语料库中联合学习单词和概念嵌入的方法Vecsigrafo[39]。与第5章中描述的方法不同,Vecsigrafo不仅从知识图谱中学习,也从训练语料库中学习。我们将看到这种方法的一些优点,并在随附的Jupyter Notebook中进行说明。在本章的后半部分,我们将进一步说明如何应用Transformer和神经网络语言模型来生成类似Vecsigrafo的表示,称为Transigrafo。本章的这一部分也用Jupyter Notebook进行了说明。
第7章讨论几种评估方法,这些方法提供了对Vecsigrafo所学习的混合表示的质量的洞察。为此,我们将使用一个Jupyter Notebook来说明所需的不同技术。在本章中,我们还将研究这种表示如何与其他算法生成的词法和语义嵌入进行比较。
第8章将构建同时利用文本语料库和知识图谱的混合系统,需要为图谱中表示的项目(如概念)生成嵌入,这些项目通过某种标记化策略与语料库中选出的单词和表达式相链接。在这一章和相关的Jupyter Notebook中,我们研究了不同标记化策略的影响,以及这些策略如何影响Vecsigrafo中最终的词法、语法和语义嵌入。
第9章介绍对齐从不同来源(可能是不同语言)学习的向量空间的方法。我们会讨论各种各样的应用,如多语言和多模态,这些也在随附的Jupyter Notebook中进行了说明。向量空间对齐技术在混合环境中特别重要,因为它们可以为知识图谱的互链和跨语言应用提供基础。
第10章及相应的Jupyter Notebook开始研究如何在特定自然语言处理任务的上下文中应用混合表示,以及如何提高在这些任务上的性能。特别是,我们将了解如何使用和调整深度学习架构,以考虑混合知识源,并对可能包含错误信息的文档进行分类。
第11章及相应的Jupyter Notebook将介绍NLP混合方法在科学领域中的应用。本章会引导读者实现将文本信息和视觉信息联系起来的最新技术,通过预训练的知识图谱嵌入来丰富结果特征,并在一系列迁移学习任务中使用这些特征,这些任务包括从图例和题注的分类到六年级理科图文多选题的问答。
第12章为本书提供最终的思路和指导。本章还提出了混合自然语言处理的一些未来发展,以帮助专业人员和研究人员制定一条在研究领域和工业应用领域持续训练的路径。本章还包括本书相关领域的专家反馈,这些专家提出了他们的特定愿景、可预见的困难以及下一步行动。
相关资料
本书中涉及的所有示例和练习都可以在我们的GitHub仓库中以可执行的Jupyter Notebook的格式下载。所有的Jupyter Notebook都可以在Google Colaboratory上运行,或者如果读者愿意,也可以在本地环境中运行。本书还集成了我们在Hybrid Techniques for Knowledge-based NLP教程中获得的经验和反馈,该教程始于K-CAP’17,并在ISWC’18和K-CAP’19中有所延续。该教程的当前版本可以在线获取,我们鼓励读者将该教程结合本书使用,通过可执行的示例、练习和实际应用程序来巩固在不同章节中学到的知识。
与本领域相关的其他书籍
本书所涉及的领域是非常活跃的。过去几个月里,像神经网络语言模型等关键领域以及其他相关领域的图书和文献大量涌现,形成了一个蓬勃发展的态势,在我们撰写这些文字的时候,这个领域正在形成。因此,在本书的撰写过程中,预计会出现新的开创性贡献,这些贡献将被研究和吸收,也可能会出现在本书的新版本中。因此,像上面提到的Hybrid Techniques for Knowledge-based NLP,以及Graham Neubig等人的Concepts in Neural Networks for NLP等资源尤其重要。
本书不寻求对自然语言处理领域的已有进展进行一个详尽调研。虽然我们在讨论的每个领域都提供了参考书目的必要提示,但我们有意识地保持了全书的简洁和专注。参考书籍将为读者提供本书相关领域的丰富背景,包括以下内容:
Manning和Schutze的Foundations of Statistical Natural Language Processing [114]以及Jurafsky和Martin的Speech and Language Processing [88]为自然语言处理的统计方法及其应用提供了极好的覆盖,并介绍了如何实现(半)结构化的知识表示,以及WordNet和FrameNet[12] 这样的资源如何在NLP流水线中发挥作用。
最近,有很多书籍都特别强调神经网络的方法。Eisenstein的Introduction to Natural Language Processing[51]对理解、生成和操控人类语言所必需的计算方法进行了全面和最新的综述,涵盖了从经典表示法和算法到当代深度学习方法。对这一领域有兴趣深入理解的读者可以参考Goldberg的Neural Network Methods in Natural Language Processing[67]。
我们也会关注自然语言处理学术谱系中基于知识图谱的书籍,如Cimiano等人的Ontology-Based Interpretation of Natural Language[33]和Barriere的Natural Language Understanding in a Semantic Web Context[17]。Nickel等人在文献[129]中对分布式表示在知识图谱中的应用进行了很好的综述。
关于知识图谱的相关书籍包括Pan等人的Exploiting Linked Data and Knowledge Graphs in Large Organisations[135],该书讨论了利用企业关联数据的主题,特别关注知识图谱的构建和可访问性。Kejriwal的Domain-Specific Knowledge Graph Construction[91]也关注知识图谱的实际构建。最后,Asuncion Gomez-Perez等人的Ontological Engineering[68]为知识工程中涉及的任务提供了关键原则和指导方针。
致谢
我们非常感谢European Language Grid-825627项目和Co-inform-770302 EU Horizon 2020计划的前期资助,包括DANTE-700367、TRIVALENT-740934和GRESLADIX-IDI-20160805,它们在自然语言处理的不同领域所面临的研究挑战促使我们寻找基于知识图谱和神经网络模型相结合的解决方案。我们特别感谢Flavio Merenda、Cristian Berrio和Raul Ortega对本书的技术贡献。

上架指导

人工智能\自然语言处理

封底文字

“我的建议是:不要只是读这本书,还要使用它!完成书中的实验和练习,单步调试Jupyter Notebook并看看会发生什么。然后,利用这些代码构建所需的NLP系统。”
——Ken Barker,IBM Research
“在过去的几年里,机器学习和知识图谱这两种技术都有了很大的发展。它们的融合带来的机遇还没有得到充分的探索,但前景十分广阔……这就是本书发挥作用的地方。自然语言处理会解锁用自然语言表达的知识,这些知识随后可以用于更新和检查以确定知识图谱的一致性,知识图谱进而又可以用于通过自然语言进行查询和答案生成。本书展示了将它们结合起来并开发新能力以吸引并赋能用户的实用方法。”
——Denny Vrandecic,Google Knowledge Graph

本书为读者提供了一个实践指南,指导读者使用自然语言处理(NLP)的混合方法,即神经网络和知识图谱的结合。为此,本书首先介绍了主要的构建模块,然后描述了如何将它们集成起来以支持现实世界NLP应用的有效实现。为了说明所描述的想法,本书还包括一套全面的实验和练习,涉及不同的算法在选定了不同的领域和语料库的各种NLP任务中的使用。
自始至终,作者们都在展示如何利用在非结构化文本语料库分析中产生的互补表示,如何利用知识图谱中明确描述的实体和关系,如何集成这些表示,以及如何利用所产生的特征有效地完成一系列领域中的自然语言处理任务。此外,本书还提供了可执行的代码示例、练习和在关键领域的实际应用(如虚假信息分析以及面向科学文献的机器阅读理解)。书中提到的所有示例和练习都在GitHub仓库中以可执行的Jupyter Notebook形式提供。它们都可以在Google Colaboratory上运行,如果读者愿意,也可以在本地环境中运行。
如果你对神经网络和基于知识的NLP方法之间的相互作用感兴趣,本书将是一个很有价值的资源。如果你有结构化知识表示的背景,或者你主要采用基于逻辑的人工智能方法,那么本书也将是一个有用的指南。此外,如果你的主要背景是在机器学习和深度学习领域,本书将给你带来利用结构化知识库优化NLP下游结果的方法。

译者序

随着智能音箱走进千家万户,基于人工智能的产品与服务切实地来到了我们的身边。我们对智能音箱说话、问天气,利用它们定闹钟、听音乐,与之交流十分自然。这就是人工智能给我们带来的便利。
自然语言处理是人工智能皇冠上的那颗明珠,智能音箱则是自然语言处理的诸多应用之一。智能音箱背后的技术包括自然语言处理中的语音识别(ASR)、自然语言理解(NLU)、自然语言生成(NLG)、语音合成(TTS)等。自然语言处理技术有很多流派,面向知识表示的方法和基于数据驱动的方法是其中的两种主要代表。
在面向知识表示的方法中,知识图谱的应用相当广泛。知识图谱的概念诞生于2012年,由Google公司首先提出,最早应用于搜索引擎,是为了准确地阐述人、事、物之间的关系。
我们可以从不同的视角去审视知识图谱的概念。从Web应用来看,知识图谱就像简单直接的超链接一样,通过建立数据之间的语义链接,支持语义搜索;对于数据库来说,知识图谱是利用图的方式去存储知识的方法;从知识表示来看,知识图谱是采用计算机符号表示和处理知识的方法;对于人工智能来说,知识图谱是利用知识库来辅助理解人类语言的工具。在自然语言处理视角下,知识图谱就是从文本中抽取语义和结构化的数据。一般来说,知识图谱是为了描述文本语义,在自然界建立实体关系的知识数据库。
自然语言处理中基于数据驱动的方法主要包括传统的机器学习以及当前广受关注的深度学习。传统机器学习可以理解为手工特征+机器学习模型,而深度学习是从数据中自动学习特征,进而提高机器学习模型的性能。深度学习的成功依赖于3个条件,即算法模型、计算资源和足够的数据。大数据时代的来临,GPU的发展,尤其是神经网络相关工程理论的改进,使得深度学习在自然语言处理领域发挥着巨大的作用。其中,神经网络结构非常适用于逐层进行数据的抽象表达,也就是我们平常说的深度学习,即深度神经网络。
对于工程师而言,妄议不同流派而进行口舌之争是没有意义的。我们需要解决现实研究领域中的问题,包括文本分类与聚类、文章标签与摘要提取、文本审核与舆情分析、机器翻译、阅读理解、问答系统与聊天机器人、搜索引擎、知识图谱、自然语言生成等。无论是知识图谱还是深度神经网络,都在不同领域表现出了其强大的能力。
那么,知识图谱与神经网络的融合会是怎样的呢?进而有了以下问题:
神经网络方法如何扩展预先捕获的知识,明确表示为知识图谱呢?
基于知识的表示与基于神经网络的表示如何实现无缝集成呢?
如何检查和评估混合方法特征表示的质量?
混合方法如何能够比单独的方案产生更高质量的结构化表示和神经网络表示呢?
……
我们很荣幸得到这样一个特殊的学习机会,负责翻译了本书。本书不仅为两个流派探索了融合的方向,而且还建立了一个混合自然语言处理的开放实验环境。数据、代码、实现的部署方式都很符合工程师的口味,将自底向上的数据驱动模型和自顶向下的结构化知识图谱结合在一起,形成了一系列有趣的实践指南。
本书的翻译源自几个不同的有趣灵魂和人生轨迹的碰撞。首先感谢机械工业出版社华章分社刘锋老师的信任,把这样一个前沿技术领域的翻译工作交给了我们。感谢家人对我们的支持,让我们把有限的时间更多地投入到翻译工作中。特别感谢百度的徐犇老师在百忙之中审阅全稿,并提出了很多建设性的意见和建议。翻译是一项特殊的学习和创作过程,字里行间包含了译者的理解和选择。尽管小心谨慎如履薄冰,终因译者水平有限,本书翻译错漏之处在所难免,望诸位读者海涵并指正。

推荐序

推荐序一
A Practical Guide to Hybrid Natural Language Processing: Combining Neural Models and Knowledge Graphs for NLP
从基于知识的语言理解和基于统计的自然语言处理(NLP)这两个方向出现以来,我们就一直在为它们的混合使用而战。“基于统计的自然语言处理是肤浅的!统计不是真正的理解。它只能实现从文本中学习常见模式的小把戏。”但是,“过于看重知识的方法是脆弱的!它们依赖于权威的、昂贵的、人工编码的规则,这些规则不够灵活,无法处理真实世界文本中极其复杂的多样性。否则,你可以用BERT(Bidirectional Encoder Representations from Transformers,Transformer的双向编码器表示)做任何事情。”
上述两种观点都有点儿夸张,但也都包含了一些事实。无论如何,它们阻碍了对所有可用工具的探索,而这些工具对完成某些特定任务是很有帮助的。如果过于关注符号方法或数据驱动方法各自的局限性,我们有可能失去每种方法所能提供的独特优势,以及将它们结合起来的强大威力。
本书并不属于这两个阵营的任何一方。它没有专门讨论由来已久的论战,也不打算讨好那些对旧论点感兴趣的读者。本书面向那些具有符号人工智能背景的读者,以及那些一直在关注统计和神经网络NLP当前取得的巨大成就,但尚未涉足嵌入(Embedding)、语言模型、Transformer和Muppet的读者。本书也是为那些统计自然语言处理的从业人员编写的,现代技术对数据的需求非常大,这些读者正在与此进行斗争。这些统计自然语言处理的从业人员认为,如果有一种有效的方法将知识纳入,就可以通过更少的样本完成学习。更直白地说,对于那些想要构建一些有用的东西,需要获得文本和语言的含义,但并不想要为此去获得一个逻辑学博士学位或者准备在Google上的GPU时间上花费大量金钱的读者而言,本书是一个理想的选择。
作者已经确保对构建混合NLP系统的所有基本组件进行了深入研究,混合NLP系统将知识图谱的能力与现代的神经网络技术相结合。但这并不是说,本书是面向数据驱动或者符号人工智能的技术百科全书。本书也不是一本把读者拖入一条固定的教育路径的教材。本书分为3个部分:预备知识和构建模块部分,神经网络与知识图谱的结合部分,应用部分。在这3个部分中,主题通常是独立的,以帮助读者快速、轻松地阅读所需的信息。但这本书最有价值的两个特点是实用性和前沿性。书中准确地演示了如何创建和使用上下文表示,对意义嵌入和知识图谱嵌入有明确的处理方法,并解释了使用它们的语言模型和Transformer架构,本书还展示了如何评估使用了这些技术的系统的性能。最有用的是,本书引领读者从理论到代码,尽可能通过实验和练习的方式在真实的业务领域和真实的语料库上处理真实的自然语言处理任务。本书包含可运行的代码和每一步骤的解释,书中使用了Jupyter Notebook和pandas,读者可以从GitHub中下载。
我的建议是:不要只是读这本书,还要使用它!完成书中的实验和练习,单步调试Jupyter Notebook并看看会发生什么,然后利用这些代码构建所需的NLP系统。

Ken Barker
IBM Research
于美国纽约州约克敦高地,2020年2月




推荐序二
A Practical Guide to Hybrid Natural Language Processing: Combining Neural Models and Knowledge Graphs for NLP
在2005年,维基百科还是一个年轻的网站,大多数公众才刚刚意识到它的存在。维基百科社区发起了第一次全球贡献者会议,名为维基年会(Wikimania)。Markus Krotzsch和我都是早期的贡献者,那时我还是致力于语义网方向的一个博士生。我们想去维基年会,去认识那些我们之前只在网上认识的人。
我们坐下来思考可以在维基年会上提出什么样的想法。最突出的一个是将维基百科与语义网技术结合起来。但这意味着什么呢?
维基百科的力量在于很容易编辑,以及任何人都可以为之贡献的理念。这种力量存在于维基百科的社区中,也存在于社区建立的规则和流程中。而语义网的力量则是在Web上发布机器可读的数据,并允许智能体把许多不同来源的数据组合起来。我们的想法是让维基百科社区能够创建更具有机器可读性的内容,并且可以参与到语义网中。
我们的演讲安排在第一天的第一个,我们用这次演讲开始了一场持续数年的讨论。这次演讲促使了Semantic MediaWiki的创建,Semantic MediaWiki是对支持维基百科以及其他维基的MediaWiki软件的一个扩展,已经在很多地方得到了应用,比如美国国家航空航天局、现代艺术博物馆、美国情报机构、通用电气等。这场演讲最终也促成了维基数据(Wikidata)的创建,但那是很多年之后的事情了。
在那次演讲中,我们提出了一个系统,让我们可以使用维基百科的内容回答问题。我们的问题是:世界上有女市长的大城市有哪些?
那时候,维基百科已经有了所有相关的数据,但这些数据分散在许多文章中。如果有足够的时间,人们可以梳理所有大城市的文章,看看市长是谁,然后开始保存一份含答案在内的电子表格,最后进行清理并得出最终结果。
如今,有了维基数据,我们可以在几秒钟内得到这个问题以及许多其他问题的答案。维基数据是一个任何人都可以编辑的大型知识库,截至2020年年初,其中收集了近10亿条报告,涉及7500多万个有趣的主题。
但是,尽管我们最终有了一个系统,可以让我们所有人都能提出这类问题并得到漂亮的可视化答案,但要让广大民众真正从这些数据中获益,仍然有一个很高的门槛。它需要用SPARQL查询语言来编写查询,会的人并不多。我们能做得更好吗?
世界上大多数的知识都是用自然语言而不是用知识图谱编码的。自然语言也是我们所知道的最强大的用户接口。
自2010年以来,通过深度学习创建的神经网络模型在自然语言处理任务上的应用变得非常流行。无论是生成、总结、问答还是翻译(这些都是典型应用),毫无疑问,神经网络模型已经从一个有趣的研究想法转变成了一个数十亿美元市场的基础。
与此同时,大型知识图谱也得到了广泛的应用和发展,如DBpedia、Freebase和维基数据等公共项目得到了广泛的使用,同时也有越来越多的公司构建了内部知识图谱。最值得一提的是Google,它使知识图谱这个名字流行起来,如今许多跨不同行业的大公司都有内部知识图谱,只是使用这些图谱的方式不同。
在过去的几年里,机器学习和知识图谱这两种技术都有了很大的发展。它们的融合带来的机遇还没有得到充分的探索,但前景十分广阔。自然语言处理有助于确保维基数据的内容得到维基百科和其他参考来源的内容支持,而且自然语言处理可以使更多的人从类似维基数据这样的知识库中获得丰富的知识。
这就是本书发挥作用的地方。Jose、Ronald和Andres是各自领域的专家,他们之间已经相互分享了数十年的经验。但是,为了写这本书,他们必须解决如何统一术语,以及如何在一个面向所有类型读者的统一框架中表达各自观点的问题。他们将资源慷慨地放到了网上,让读者可以尝试书中描述的技术。本书的内容已经在教学中经过了验证,并且经过了数月的完善。
毫无疑问,自然语言是未来最重要的用户接口模式之一。我们看到越来越多的设备都开始用自然语言与人类交谈,但这仅仅是一场大规模革命的开始。自然语言接口提供了非常强大和直观的方法来访问不断增长的计算机系统的功能。即便是今天,计算机已经提供的服务也还远远落后于其实际可以向用户提供的服务。用户可以通过它们来做的事情还有很多,但是我们不知道如何为这些强大的功能来构建用户接口。
知识图谱提供了最具解释性和最有效的方法来存储我们如今所知道的异构知识。知识图谱允许人工进行解释和编辑的功能。在基于知识图谱的系统中,读者可以深入研究并进行更改,确保将此更改传播给用户。在许多行业(如金融或医药)中,这不仅是一个好东西,而且绝对至关重要。而在其他行业,这样的要求也开始变得越来越重要。知识图谱提供了一种易于维护和内省的方法,比许多其他方法都要容易。
自然语言处理会解锁用自然语言表达的知识,这些知识随后可以用于更新和检查以确定知识图谱的一致性,知识图谱进而又可以用于通过自然语言进行查询和答案生成。这两种技术相互支持、相互促进。本书展示了将它们结合起来并开发新能力以吸引并赋能用户的实用方法。
好好享受这本书吧,明智地运用你新学到的知识!

Denny Vrandecic
Google Knowledge Graph
于美国加利福尼亚州旧金山,2020年1月

图书目录

推荐序一
推荐序二
译者序
前言
第一部分 预备知识和构建模块
第1章 混合自然语言处理简介 2
1.1 知识图谱、嵌入和语言模型简史 2
1.2 自然语言处理中知识图谱和神经网络方法的结合 4
第2章 单词、意义和知识图谱嵌入 6
2.1 引言 6
2.2 分布式单词表示 6
2.3 词嵌入 7
2.4 意义和概念嵌入 8
2.5 知识图谱嵌入 9
2.6 本章小结 13
第3章 理解词嵌入和语言模型 14
3.1 引言 14
3.2 语言模型 15
3.2.1 统计语言模型 15
3.2.2 神经语言模型 16
3.3 NLP迁移学习的预训练模型微调 16
3.3.1 ELMo 16
3.3.2 GPT 17
3.3.3 BERT 17
3.4 机器人检测中预训练语言模型的微调 18
3.4.1 实验结果与讨论 21
3.4.2 使用Transformer库对BERT进行微调 21
3.5 本章小结 27
第4章 从文本中捕获意义作为词嵌入 28
4.1 引言 28
4.2 下载一个小文本语料库 29
4.3 一种学习词嵌入的算法 29
4.4 使用Swivel prep生成共现矩阵 30
4.5 从共现矩阵中学习嵌入 31
4.6 读取并检查存储的二进制嵌入 32
4.7 练习:从古腾堡工程中创建词嵌入 33
4.7.1 下载语料库并进行预处理 33
4.7.2 学习嵌入 34
4.7.3 检查嵌入 34
4.8 本章小结 34
第5章 捕获知识图谱嵌入 35
5.1 引言 35
5.2 知识图谱嵌入 35
5.3 为WordNet创建嵌入 37
5.3.1 选择嵌入算法:HolE 37
5.3.2 将WordNet知识图谱转换为所需输入 39
5.3.3 学习嵌入 44
5.3.4 检查嵌入结果 44
5.4 练习 47
5.4.1 练习:在自己的知识图谱上训练嵌入 47
5.4.2 练习:检查WordNet 3.0的预计算嵌入 47
5.5 本章小结 48
第二部分 神经网络与知识图谱的结合
第6章 从文本语料库、知识图谱和语言模型中构建混合表达 50
6.1 引言 50
6.2 准备工作和说明 51
6.3 Vecsigrafo的概念及构建方式 51
6.4 实现 53
6.5 训练Vecsigrafo 54
6.5.1 标记化和词义消歧 56
6.5.2 词汇表和共现矩阵 58
6.5.3 从共现矩阵学习嵌入 62
6.5.4 检查嵌入 64
6.6 练习:探索一个预先计算好的Vecsigrafo 66
6.7 从Vecsigrafo到Transigrafo 68
6.7.1 安装设置 70
6.7.2 训练Transigrafo 71
6.7.3 扩展知识图谱的覆盖范围 73
6.7.4 评估 Transigrafo 73
6.7.5 检查Transigrafo中的义项嵌入 75
6.7.6 探索Transigrafo嵌入的稳定性 77
6.7.7 额外的反思 81
6.8 本章小结 81
第7章 质量评估 82
7.1 引言 82
7.2 评估方法的概述 83
7.3 练习1:评估单词和概念嵌入 84
7.3.1 可视化探索 84
7.3.2 内在评估 85
7.3.3 词汇预测图 87
7.3.4 外在评估 90
7.4 练习2:评价通过嵌入获取的关系知识 90
7.4.1 下载embrela项目 91
7.4.2 下载生成的数据集 91
7.4.3 加载待评估的嵌入 92
7.4.4 学习模型 94
7.4.5 分析模型的结果 94
7.4.6 数据预处理:合并且增加字段 96
7.4.7 计算范围阈值和偏差数据集检测 97
7.4.8 发现统计上有意义的模型 99
7.4.9 关系型知识的评估结论 101
7.5 案例研究:评估和对比Vecsigrafo嵌入 101
7.5.1 比较研究 101
7.5.2 讨论 111
7.6 本章小结 114
第8章 利用Vecsigrafo捕获词法、语法和语义信息 116
8.1 引言 116
8.2 方法 118
8.2.1 Vecsigrafo:基于语料的单词–概念嵌入 118
8.2.2 联合嵌入空间 119
8.2.3 嵌入的评估 119
8.3 评估 120
8.3.1 数据集 121
8.3.2 单词相似度 121
8.3.3 类比推理 124
8.3.4 单词预测 125
8.3.5 科学文档的分类 127
8.4 讨论 129
8.5 练习:使用surface form对科学文献进行分类 130
8.5.1 导入所需的库 130
8.5.2 下载surface form的词嵌入和SciGraph论文 131
8.5.3 读取并准备分类数据集 131
8.5.4 surface form的词嵌入 133
8.5.5 创建嵌入层 134
8.5.6 训练一个卷积神经网络 134
8.6 本章小结 136
第9章 知识图谱的词嵌入空间对齐与应用 137
9.1 引言 137
9.2 概述及可能的应用 138
9.2.1 知识图谱的补全 139
9.2.2 超越多语言性:跨模态的词嵌入 139
9.3 词嵌入空间的对齐技术 140
9.3.1 线性对齐 140
9.3.2 非线性对齐 146
9.4 练习:寻找古代英语和现代英语的对应 146
9.4.1 下载小型文本语料库 146
9.4.2 学习基于老莎士比亚语料库的Swivel词嵌入 147
9.4.3 在WordNet之上加载UMBC的Vecsigrafo 149
9.4.4 练习的结论 149
9.5 本章小结 150
第三部分 应用
第10章 一种虚假信息分析的混合方法 152
10.1 引言 152
10.2 虚假信息检测 153
10.2.1 定义和背景 153
10.2.2 技术方法 155
10.3 应用:构建断言数据库 156
10.3.1 训练一个语义断言编码器 156
10.3.2 创建嵌入的一个语义索引并进行探索 165
10.3.3 以STS-B开发数据集填充索引 165
10.3.4 为一个断言数据集创建另一个索引 166
10.3.5 加载数据集到一个Pandas的DataFrame 167
10.3.6 构建一个断言数据库的总结 171
10.4 应用:假新闻和欺骗性语言检测 171
10.4.1 使用深度学习的基本文档分类 172
10.4.2 使用HolE的嵌入 176
10.4.3 使用Vecsigrafo UMBC WNet的嵌入 178
10.4.4 HoLE和UMBC嵌入的结合 179
10.4.5 讨论与结果 180
10.5 通过一个知识图谱得到传播虚假信息的评分 182
10.5.1 Data Commons Claim-Review的知识图谱 182
10.5.2 不可信度评分的传播 187
10.6 本章小结 190
第11章 科学领域中文本与视觉信息的联合学习 191
11.1 引言 191
11.2 图例–标题对应分析的模型与架构 193
11.3 数据集 195
11.4 评估图例–标题的对应分析任务 195
11.5 图例–标题的对应分析与图像–句子匹配的对比 197
11.6 标题与图例的分类 199
11.7 教科书问答的多模态机器理解 200
11.8 图例–标题对应分析的练习 201
11.8.1 预备步骤 201
11.8.2 图例–标题的对应分析 203
11.8.3 图像–句子匹配 216
11.8.4 标题/图例分类 219
11.8.5 教科书问答 223
11.9 本章小结 228
第12章 展望自然语言处理的未来 229
12.1 最终的评论、想法和愿景 229
12.2 趋势是什么?社会各界的意见 231
参考文献 238

教学资源推荐
作者: (美)John F.Sowa
作者: [美]马克·W. 斯庞(Mark W. Spong),[美]赛斯·哈钦森(Seth Hutchinson),[美]M. 维德雅萨加(M. Vidyasagar) 著
作者: [美]玛尼什·J. 贾加(Manish J. Gajjar) 著
作者: (美)Martin T.Hagan, Howard B.Demuth, Mark H.Beale
参考读物推荐
作者: 林宙辰 李欢 方聪 著
作者: [印] 苏雷什·库马尔·戈拉卡拉(Suresh Kumar Gorakala)著
作者: 秦涛(Tao Qin) 著
作者: 胡春旭 编著