作 者:易显维,宁星星 著
定 价:99
出 版 社:机械工业出版社
出版日期:2023年11月01日
页 数:432
装 帧:平装
ISBN:9787111736899
●序
前言
第1章NL2SQL和KBQA中的语义解析技术1
1.1人机交互应用与语义解析难点分析1
1.2主流的语义解析技术5
1.2.1NL2SQL任务及方法5
1.2.2KBQA任务及方法12
1.2.3语义解析技术方案对比17
1.3语义解析的预训练模型和数据集19
1.3.1语义解析中的预训练模型19
1.3.2NL2SQL数据集19
1.3.3KBQA数据集21
1.4本章小结23
第2章基于机器翻译的语义解析技术24
2.1机器翻译原理浅析24
2.1.1常见机器翻译技术路线24
2.1.2神经网络机器翻译基本框架26
2.2NL2SQL翻译框架的构建27
2.2.1Seq2Seq模型原理27
2.2.2将Seq2Seq模型应用于NL2SQL28
2.3从序列到集合:SQLNet模型的解决方案28
2.3.1序列到集合29
2.3.2列名注意力29
2.3.3SQLNet模型预测及其训练细节30
2.4T5预训练模型在NL2SQL中的应用31
2.4.1T5模型简介31
2.4.2T5模型架构32
2.4.3T5模型训练方式32
2.4.4T5模型在NL2SQL中的应用33
2.5NL2SQL的T5模型实践33
2.6本章小结43
第3章基于模板填充的语义解析技术44
3.1意图识别和槽位填充44
3.1.1意图识别和槽位填充的步骤45
3.1.2如何进行意图识别和槽位填充46
3.2基于X-SQL的模板定义与子任务分解48
3.3本章小结49
第4章基于强化学习的语义解析技术50
4.1Seq2Seq中的强化学习知识50
4.2SCST模型51
4.2.1SCST模型简介52
4.2.2SCST模型框架52
4.2.3SCST代码实现52
4.3MAPO模型62
4.3.1MAPO模型简介62
4.3.2MAPO代码实现63
4.4本章小结67
第5章基于GNN的语义解析技术68
5.1使用GNN对数据库模式进行编码68
5.1.1匹配可能模式项的集合69
5.1.2GNN编码表示69
5.2关注模式的Global GNN71
5.2.1Global GNN的改进71
5.2.2Gating GCN模块详解72
5.2.3Re-ranking GCN模块详解75
5.3关注模式链接的RATSQL79
5.3.1Relation-Aware Self-Attention模型80
5.3.2考虑更复杂的连接关系80
5.3.3模式链接的具体实现81
5.4关注模式链接拓扑结构的LGESQL83
5.4.1LGESQL模型简介83
5.4.2LGESQL模型框架86
5.5本章小结87
第6章基于中间表达的语义解析技术88
6.1中间表达:IRNet88
6.2引入中间表达层SemQL90
6.3IRNet代码精析92
6.3.1模式链接代码实现92
6.3.2SemQL的生成95
6.3.3SQL语句的生成101
6.4本章小结107
第7章面向无嵌套简单SQL查询的原型系统构建108
7.1语义匹配解决思路108
7.2任务简介109
7.3任务解析110
7.3.1列名解析110
7.3.2输入整合111
7.3.3输出子任务解析111
7.3.4模型整体架构112
7.4代码示例113
7.4.1QueryTokenizer类的构造113
7.4.2SqlLabelEncoder类的构造115
7.4.3生成批量数据115
7.4.4模型搭建117
7.4.5模型训练和预测118
7.5本章小结120
第8章面向复杂嵌套SQL查询的原型系统构建121
8.1复杂嵌套SQL查询的难点剖析121
8.1.1复杂嵌套SQL语句121
8.1.2难点与对策分析122
8.2型模型解析123
8.2.1构建复杂SQL语句的中间表达形式123
8.2.2型模型的搭建与训练124
8.3列模型解析127
8.3.1嵌套信息的编码设计127
8.3.2列模型的搭建与训练127
8.4值模型解析130
8.4.1值与列的关系解析130
8.4.2值模型的搭建与训练130
8.5完整系统演示132
8.5.1解码器132
8.5.2完整流程演示133
8.6本章小结134
第9章面向SPARQL的原型系统构建135
9.1T5、BART、UniLM模型简介135
9.2T5、BART、UniLM方案136
9.3T5、BART、UniLM生成SPARQL语句实现141
9.4T5、BART、UniLM模型结果合并156
9.5路径排序160
9.6SPARQL语句修正和再次排序172
9.7本章小结185
第10章预训练优化186
10.1预训练技术的发展186
10.1.1掩码语言建模187
10.1.2去噪自动编码器189
10.2定制预训练模型:TaBERT192
10.2.1信息的联合表示192
10.2.2预训练任务设计192
10.3TAPAS194
10.3.1附加Embedding编码表结构194
10.3.2预训练任务设计195
10.4GRAPPA195
10.4.1表格数据增强:解决数据稀疏难题195
10.4.2预训练任务设计195
10.5本章小结197
第11章语义解析技术落地思考198
11.1研究与落地的差别198
11.2产品视角的考虑200
11.3潜在的落地场景200
11.4实践技巧201
11.4.1数据增强在NLP领域的应用201
11.4.2数据增强策略202
11.4.3方案创新点204
11.5本章小结205
全书分为3个部分:
1.第一部分主要介绍了NL2SQL技术的相关背景知识,包括对NL2SQL任务的描述和价值探讨、国内外相关数据集的对比分析以及相关前置技术的介绍与实现
2.第二部分深入解构当前NL2SQL技术领域的若干主流技术路线,并着重分析了各个技术方案的优势与不足,为开发者提供模型选择的参考依据
3.第三部分包含NL2SQL实践指导相关篇章,结合相关代码,以单表无嵌套和多表有嵌套为例,从数据预处理、模型的构建,模型优化技巧等方面为读者构建了完整的NL2SQL技术实现流程
读者通过对本书的阅读,可以对自然语言处理语义解析领域新兴的子任务——NL2SQL有一个清晰地认识。本书充分介绍了语义解析任务相关研究进展,对主流技术方案进行了详细阐述与分析,并从实践的角度展示了NL2SQL完整的技术实现流程,希望帮助读者深入理解并高效搭建起语义解析框架,同时对语义解析领域的发展起到一定的促进作用。