描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111690696丛书名: 智能科学与技术丛书
内容简介
本书分为三个部分:基于知识图谱和神经网络的构建部分;结合知识图谱和神经网络的混合体系结构;实际应用部分。在三个部分中,主题通常是独立的,允许读者快速、轻松地阅读所需的信息。本书的两个特点是实用性和拥有前沿信息。书中准确地演示了如何创建和使用上下文表示,对意义嵌入和知识图谱嵌入有着明确的处理方法,解释了使用它们的语言模型和Transformer体系结构。
目 录
推荐序一
推荐序二
译者序
前言
部分 预备知识和构建模块
第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 定义和背
推荐序二
译者序
前言
部分 预备知识和构建模块
第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 定义和背
前 言
对于自然语言处理而言,基于神经网络和基于知识图谱这两种方法各有千秋。神经网络方法非常强大,并一直处于当前NLP排行榜的位置。然而,它们也有软肋,比如训练数据的数量和质量,模型与人类如何使用语言以及人类对世界的理解之间的联系等。另外,基于结构化知识表示的自然语言处理系统虽然不能完全解决这些问题,但往往比较适合解决其中的一些问题。然而,它们可能需要相当多的知识工程工作,以持续组织这样的结构化表示。
本书的主要前提是,数据驱动的方法和基于知识图谱的方法可以相得益彰,取长补短。尽管许多人提倡在NLP和人工智能的许多其他领域结合应用这两种范式,但事实是,直到现在,这种结合还不常见,原因可能是缺乏实现这一目标的原则性方法和指导方针,也可能是缺乏令人信服的成功案例。
而人工智能的研究,特别是在自然语言处理和知识图谱领域,已经达到了成熟的水平,并渗透到其他领域,引起了深刻的社会和商业变革。因此,本书特别侧重于讨论实践方面的主题,旨在为感兴趣的读者提供必要的手段,使读者能够掌握将神经网络方法和基于知识图谱的方法结合到自然语言处理中的实践方法,建立弥合两者之间差距的桥梁。
总的来说,对于对神经网络和基于知识图谱的方法在自然语言处理领域的结合感兴趣的读者而言,本书非常有用。有结构化知识表示背景的读者,例如有语义网、知识获取、知识表示和推理社区方面的背景,总的来说也就是那些基于逻辑方法研究人工智能的读者,可以在本书中找到实用指南。同样,我们希望本书对那些主要背景在机器学习和深度学习领域的读者同样有用,他们可能正在寻找利用结构化知识库优化NLP下游结果的方法。
因此,来自上述领域的工业界和学术界的读者将在本书中找到混合自然语言处理的实用资源。在本书中,我们将展示如何利用互补表示,这些表示源于对非结构化文本语料库以及知识图谱中明确描述的实体和关系的分析,整合这些表示,并使用由此产生的特征来有效地解决不同领域的自然语言处理任务。在本书中,读者可以在示例、练习以及关键领域的实际应用(如虚假信息分析和科学文献的机器阅读理解)上使用实际的可执行代码。
在本书中,对于无论是基于知识图谱、神经网络还是基于其他形式的机器学习的自然语言处理方法、技术和工具箱,我们并没有提供详尽的说明。我们认为这些内容已经在参考文献中得到了充分的阐述。相反,我们专注于读者真正需要掌握的主要构建模块,以便读者能够吸收和应用本书的主要思想。事实上,本书所有章节都是独立的,一般读者在理解时不会遇到太大困难。因此,本书可以作为一本简洁而富有洞察力的手册,专注于协调基于知识图谱的方法和神经网络方法在自然语言处理中应用的主要挑战上。我们希望你会喜欢。
本书目标
本书为读者提供了一个自然语言处理的混合方法的原则性实用指南,主要涉及神经网络方法和知识图谱的结合。本书解决了一些与混合自然语言处理系统相关的问题,包括:
神经网络方法如何以具有成本效益和可实践的方式扩展像知识图谱一样预先捕获显式表示的知识?反过来又如何呢?
结合神经网络和基于知识图谱的方法的自然语言处理混合方法的主要构建模块和技术是什么?
如何将神经网络表示与结构化的、基于知识图谱的表示无缝集成?
这种混合方法能否产生更好的知识图谱和神经网络表示?
如何检查和评估混合方法所产生的混合表示的质量?
混合方法对NLP任务的性能有什么影响?对其他数据形式(比如图像或图表)的处理有什么影响以及其相互作用有什么影响?
基于以上问题,本书首先介绍了主要的构建模块,然后描述了它们如何相互紧密地关联,进而支持实际自然语言处理应用程序的有效实现。为了说明本书描述的思想,我们包含了一套全面的实验和练习,涉及可以根据任务领域和语料库进行选择的不同算法。
本书各章概述
接下来,我们介绍本书的章节结构安排:
第1章介绍本书的创作灵感及在当前的自然语言处理学科背景下本书的总体目标。
第2章介绍单词、语义/概念和知识图谱嵌入,它们是生成混合自然语言处理系统的主要构建模块。我们探讨各种不同的方法:简单的词嵌入学习、从语料库和语义网络中学习语义和概念嵌入,以及根本不使用语料库直接从知识图谱中学习概念嵌入的方法。
第3章重点研究词嵌入,并根据所使用的方法和语料库来分析其中包含的信息。除了预训练的静态嵌入,重点放在神经网络语言模型和上下文的嵌入上。
第4章引导读者通过一个可执行的Jupyter Notebook,重点介绍一个特定的词嵌入算法,如Swivel[164]及其实现,以说明如何方便地从文本语料库中生成词嵌入。
第5章与第4章的方式类似,本章利用一个像WordNet这样的现有知识图谱,利用HolE等特定的知识图谱算法生成图谱嵌入,还提供了一个可执行的Jupyter Notebook。
第6章提出一种利用知识图谱从文本语料库中联合学习单词和概念嵌入的方法Vecsigrafo[39]。与第5章中描述的方法不同,Vecsigrafo不仅从知识图谱中学习,也从训练语料库中学习。我们将看到这种方法的一些优
本书的主要前提是,数据驱动的方法和基于知识图谱的方法可以相得益彰,取长补短。尽管许多人提倡在NLP和人工智能的许多其他领域结合应用这两种范式,但事实是,直到现在,这种结合还不常见,原因可能是缺乏实现这一目标的原则性方法和指导方针,也可能是缺乏令人信服的成功案例。
而人工智能的研究,特别是在自然语言处理和知识图谱领域,已经达到了成熟的水平,并渗透到其他领域,引起了深刻的社会和商业变革。因此,本书特别侧重于讨论实践方面的主题,旨在为感兴趣的读者提供必要的手段,使读者能够掌握将神经网络方法和基于知识图谱的方法结合到自然语言处理中的实践方法,建立弥合两者之间差距的桥梁。
总的来说,对于对神经网络和基于知识图谱的方法在自然语言处理领域的结合感兴趣的读者而言,本书非常有用。有结构化知识表示背景的读者,例如有语义网、知识获取、知识表示和推理社区方面的背景,总的来说也就是那些基于逻辑方法研究人工智能的读者,可以在本书中找到实用指南。同样,我们希望本书对那些主要背景在机器学习和深度学习领域的读者同样有用,他们可能正在寻找利用结构化知识库优化NLP下游结果的方法。
因此,来自上述领域的工业界和学术界的读者将在本书中找到混合自然语言处理的实用资源。在本书中,我们将展示如何利用互补表示,这些表示源于对非结构化文本语料库以及知识图谱中明确描述的实体和关系的分析,整合这些表示,并使用由此产生的特征来有效地解决不同领域的自然语言处理任务。在本书中,读者可以在示例、练习以及关键领域的实际应用(如虚假信息分析和科学文献的机器阅读理解)上使用实际的可执行代码。
在本书中,对于无论是基于知识图谱、神经网络还是基于其他形式的机器学习的自然语言处理方法、技术和工具箱,我们并没有提供详尽的说明。我们认为这些内容已经在参考文献中得到了充分的阐述。相反,我们专注于读者真正需要掌握的主要构建模块,以便读者能够吸收和应用本书的主要思想。事实上,本书所有章节都是独立的,一般读者在理解时不会遇到太大困难。因此,本书可以作为一本简洁而富有洞察力的手册,专注于协调基于知识图谱的方法和神经网络方法在自然语言处理中应用的主要挑战上。我们希望你会喜欢。
本书目标
本书为读者提供了一个自然语言处理的混合方法的原则性实用指南,主要涉及神经网络方法和知识图谱的结合。本书解决了一些与混合自然语言处理系统相关的问题,包括:
神经网络方法如何以具有成本效益和可实践的方式扩展像知识图谱一样预先捕获显式表示的知识?反过来又如何呢?
结合神经网络和基于知识图谱的方法的自然语言处理混合方法的主要构建模块和技术是什么?
如何将神经网络表示与结构化的、基于知识图谱的表示无缝集成?
这种混合方法能否产生更好的知识图谱和神经网络表示?
如何检查和评估混合方法所产生的混合表示的质量?
混合方法对NLP任务的性能有什么影响?对其他数据形式(比如图像或图表)的处理有什么影响以及其相互作用有什么影响?
基于以上问题,本书首先介绍了主要的构建模块,然后描述了它们如何相互紧密地关联,进而支持实际自然语言处理应用程序的有效实现。为了说明本书描述的思想,我们包含了一套全面的实验和练习,涉及可以根据任务领域和语料库进行选择的不同算法。
本书各章概述
接下来,我们介绍本书的章节结构安排:
第1章介绍本书的创作灵感及在当前的自然语言处理学科背景下本书的总体目标。
第2章介绍单词、语义/概念和知识图谱嵌入,它们是生成混合自然语言处理系统的主要构建模块。我们探讨各种不同的方法:简单的词嵌入学习、从语料库和语义网络中学习语义和概念嵌入,以及根本不使用语料库直接从知识图谱中学习概念嵌入的方法。
第3章重点研究词嵌入,并根据所使用的方法和语料库来分析其中包含的信息。除了预训练的静态嵌入,重点放在神经网络语言模型和上下文的嵌入上。
第4章引导读者通过一个可执行的Jupyter Notebook,重点介绍一个特定的词嵌入算法,如Swivel[164]及其实现,以说明如何方便地从文本语料库中生成词嵌入。
第5章与第4章的方式类似,本章利用一个像WordNet这样的现有知识图谱,利用HolE等特定的知识图谱算法生成图谱嵌入,还提供了一个可执行的Jupyter Notebook。
第6章提出一种利用知识图谱从文本语料库中联合学习单词和概念嵌入的方法Vecsigrafo[39]。与第5章中描述的方法不同,Vecsigrafo不仅从知识图谱中学习,也从训练语料库中学习。我们将看到这种方法的一些优
评论
还没有评论。