动手学自然语言处理:解读大模型背后的核心技术

自从 ChatGPT 横空出世以来,自然语言处理(Natural Language Processing,NLP) 研究领域就出现了一种消极的声音,认为大模型技术导致 NLP “死了”。在某乎上就有一条热门问答,大家热烈地讨论了这个问题。
在这里插入图片描述
有人认为 NLP 的市场肯定有,但 NLP 的研究会遇到麻烦,因为大模型的训练建立在海量数据与超高算力之上,普通研究者难以获取这样的资源,只能做些应用研究;也有人认为大模型为 NLP 打开了一片新天地,NLP 的研究整体上会再上一个新台阶。
看看专家们怎么说,上海交通大学 ACM 班创办人俞勇教授等几位 AI 学界大咖认为,不了解过去,就无法理解当下。NLP 技术的发展历经了几十年,期间经历了多次重大技术革新,如果我们的讨论脱离历史发展,那是没有意义的。
所以俞勇教授等大佬们决心为 NLP 技术编写一本在历史和现代之间更加平衡的教科书——《动手学自然语言处理》,这本书将为我们讲透 NLP 的经典技术,梳理整个领域的发展脉络,启发我们思考 NLP 的未来。
在这里插入图片描述
购买链接:https://item.jd.com/14544280.html

本书介绍自然语言处理的原理和方法及其代码实现,是一本着眼于自然语言处理教学实践的图书。
本书分为3个部分。第一部分介绍基础技术,包括文本规范化、文本表示、文本分类、文本聚类。第二部分介绍自然语言的序列建模,包括语言模型、序列到序列模型、预训练语言模型、序列标注。第三部分介绍自然语言的结构建模,包括成分句法分析、依存句法分析、语义分析、篇章分析。本书将自然语言处理的理论与实践相结合,提供所介绍方法的代码示例,能够帮助读者掌握理论知识并进行动手实践。
本书适合作为高校自然语言处理课程的教材,也可作为相关行业的研究人员和开发人员的参考资料。
在这里插入图片描述

本书将 NLP 的知识分为三部分,分别是基础、序列、结构。

第一步:基础

从最基础的自然语言处理技术入手,讲解了文本规范化、文本表示、文本分类和文本聚类等内容。通过学习这些基础知识,读者可以了解如何将文本转化为计算机可以理解和处理的形式,以及如何对文本进行分类和聚类,为后续的学习打下坚实的基础。

第二步:序列

书中深入探讨了自然语言的序列建模技术,包括语言模型、序列到序列模型、预训练语言模型和序列标注等内容。
通过学习这些内容,读者将了解对文本序列进行概率建模的方法。书中还介绍了预训练语言模型将语言模型和序列到序列模型在大量数据上进行预训练,获取通用语言学知识的过程。
这部分内容是本书的重点,涵盖了当前应用最广泛的自然语言处理技术。读者可以学习到构成大模型的基础技术,包括循环神经网络、注意力机制、Transformer 模型。书中对这些知识点给出了详尽的代码说明,帮助读者全盘消化掌握。
在这里插入图片描述

第三步:结构

书中探讨了自然语言文字序列背后更为复杂的结构,包括句法结构、语义结构和篇章结构等内容。
学习这些知识,读者可以了解句子中词语之间的连接关系、文本表达含义的结构化表示,以及多个句子如何组合形成段落和文章,从而更深入地理解和应用自然语言处理技术。
这部分内容曾经是自然语言处理的主流技术,也很有可能是未来自然语言处理的重要发展方向,读者可以在这里探索将来的发展机会。
把这三步走好,读者就摸透了 NLP 技术,可以在工作中大显身手了。
NLP 的研究方法也许会改变,但是 NLP 的应用市场会更加广阔。学习 NLP 不仅要追踪热门技术,也要透彻了解 NLP 发展的来龙去脉,《动手学自然语言处理》就可以很好地帮助读者通盘掌握 NLP。
本书最大的特色就是理论与实践紧密结合,提供了大量的配套学习资源。我们来看一下究竟可以获得哪些资源:纸书 + 可以扫码观看的理论视频课 + 配套课件方便教学 + 课后习题 + 配套代码(可在线运行也可离线运行)+ 配套代码实战课 + 针对高校教师的师资培训计划。
这几乎就是背靠一个强大的后勤军团,读者根本不用担心学习中会遇到困难,只要将这些资源善加利用,定能啃透 NLP 技术。
如书名中的“动手学”所示,本书给读者提供了极其便利的学习环境,每一章都由一个 Python Notebook 组成, Notebook 中包括概念定义、理论分析、方法讲解和可执行代码。读者可根据自己的需要学习理论,或者动手实践。
在这里插入图片描述
在这里插入图片描述
本书深度整合了自然语言处理的理论精髓与实战智慧,内容讲解深入浅出、代码实例丰富易学,为培养自然语言处理领域的实战型人才提供了坚实的理论基石与丰富的实战资源,是渴望学习自然语言处理的读者必备的入门宝典。
——文继荣 中国人民大学高瓴人工智能学院执行院长、信息学院院长
在智能化浪潮下,懂技术、知应用的实战型人工智能人才的重要性日益凸显。本书以深入浅出的理论讲解为基础,辅以清晰明了的代码解析,帮助读者将自然语言处理的理论与实战融会贯通,值得广大读者深度研读。
——周明 澜舟科技创始人,ACL 原主席,CCF 原副理事长,微软亚洲研究院原副院长
学习自然语言处理需要将理论与实战相结合。本书凭借其详尽的理论阐述、可运行的代码实例以及配套的习题与教学资源,构建了一座连接理论与实战的桥梁。无论是新手还是老手,均可使用本书深化对自然语言处理的理解并提升实战能力。
——邱锡鹏 复旦大学计算机科学技术学院教授
本书具有两大亮点。一是以序列和结构为主线来组织自然语言处理的关键技术。序列、结构和语义是语言文字的3个重要属性,语言文字是离散符号的序列,文本又由带有语义信息的结构组成。二是以指导动手实战为目标,每个章节均提供可执行代码,并加以解读。本书非常适合作为自然语言处理领域的高校教材,也适合作为工程师的常备工具书。
——李磊 卡内基梅隆大学计算机科学学院助理教授
本书作为一本全面且系统的自然语言处理教材,深入浅出地讲解了自然语言处理的基本概念和关键方法,无论是学生还是行业人士,都能够通过本书有效掌握自然语言处理的知识体系并进行动手实战。
——杨笛一 斯坦福大学计算机科学系助理教授

第 1章 初探自然语言处理 1
1.1 自然语言处理是什么 1
1.2 自然语言处理的应用 2
1.3 自然语言处理的难点 3
1.4 自然语言处理的方法论 4
1.5 小结 5

第 一部分 基础
第 2章 文本规范化 8
2.1 分词 8
2.1.1 基于空格与标点符号的分词 8
2.1.2 基于正则表达式的分词 9
2.1.3 词间不含空格的语言的分词 12
2.1.4 基于子词的分词 13
2.2 词规范化 17
2.2.1 大小写折叠 17
2.2.2 词目还原 18
2.2.3 词干还原 19
2.3 分句 19
2.4 小结 20

第3章 文本表示 22
3.1 词的表示 22
3.2 稀疏向量表示 24
3.3 稠密向量表示 25
3.3.1 word2vec 25
3.3.2 上下文相关词嵌入 30
3.4 文档表示 30
3.4.1 词-文档共现矩阵 31
3.4.2 TF-IDF加权 31
3.4.3 文档的稠密向量表示 33
3.5 小结 33

第4章 文本分类 35
4.1 基于规则的文本分类 35
4.2 基于机器学习的文本分类 36
4.2.1 朴素贝叶斯 36
4.2.2 逻辑斯谛回归 42
4.3 分类结果评价 45
4.4 小结 47

第5章 文本聚类 49
5.1 k均值聚类算法 49
5.2 基于高斯混合模型的最大期望值算法 53
5.2.1 高斯混合模型 53
5.2.2 最大期望值算法 53
5.3 无监督朴素贝叶斯模型 57
5.4 主题模型 60
5.5 小结 61

第二部分 序列
第6章 语言模型 64
6.1 概述 64
6.2 n元语法模型 66
6.3 循环神经网络 67
6.3.1 循环神经网络 67
6.3.2 长短期记忆 73
6.3.3 多层双向循环神经网络 76
6.4 注意力机制 80
多头注意力 83
6.5 Transformer模型 85
6.6 小结 91

第7章 序列到序列模型 93
7.1 基于神经网络的序列到序列模型 93
7.1.1 循环神经网络 94
7.1.2 注意力机制 96
7.1.3 Transformer 98
7.2 学习 101
7.3 解码 106
7.3.1 贪心解码 106
7.3.2 束搜索解码 107
7.3.3 其他解码问题与解决技巧 110
7.4 指针网络 111
7.5 序列到序列任务的延伸 112
7.6 小结 113

第8章 预训练语言模型 114
8.1 ELMo:基于语言模型的上下文相关词嵌入 114
8.2 BERT:基于Transformer的双向编码器表示 115
8.2.1 掩码语言模型 115
8.2.2 BERT模型 116
8.2.3 预训练 116
8.2.4 微调与提示 117
8.2.5 BERT代码演示 117
8.2.6 BERT模型扩展 121
8.3 GPT:基于Transformer的生成式预训练语言模型 122
8.3.1 GPT模型的历史 122
8.3.2 GPT-2训练演示 123
8.3.3 GPT的使用 125
8.4 基于编码器-解码器的预训练语言模型 128
8.5 基于HuggingFace的预训练语言模型使用 129
8.5.1 文本分类 129
8.5.2 文本生成 130
8.5.3 问答 130
8.5.4 文本摘要 131
8.6 小结 131

第9章 序列标注 133
9.1 序列标注任务 133
9.1.1 词性标注 133
9.1.2 中文分词 134
9.1.3 命名实体识别 134
9.1.4 语义角色标注 135
9.2 隐马尔可夫模型 135
9.2.1 模型 135
9.2.2 解码 136
9.2.3 输入序列的边际概率 137
9.2.4 单个标签的边际概率 138
9.2.5 监督学习 139
9.2.6 无监督学习 139
9.2.7 部分代码实现 141
9.3 条件随机场 146
9.3.1 模型 146
9.3.2 解码 147
9.3.3 监督学习 148
9.3.4 无监督学习 149
9.3.5 部分代码实现 149
9.4 神经序列标注模型 154
9.4.1 神经softmax 154
9.4.2 神经条件随机场 154
9.4.3 代码实现 155
9.5 小结 156

第三部分 结构
第 10章  成分句法分析 160
10.1 成分结构 160
10.2 成分句法分析概述 161
10.2.1 歧义性与打分 161
10.2.2 解码 162
10.2.3 学习 162
10.2.4 评价指标 163
10.3 基于跨度的成分句法分析 163
10.3.1 打分 164
10.3.2 解码 165
10.3.3 学习 170
10.4 基于转移的成分句法分析 173
10.4.1 状态与转移 173
10.4.2 转移的打分 174
10.4.3 解码 175
10.4.4 学习 176
10.5 基于上下文无关文法的成分句法分析 177
10.5.1 上下文无关文法 177
10.5.2 解码和学习 178
10.6 小结 179

第 11章 依存句法分析 181
11.1 依存结构 181
11.1.1 投射性 182
11.1.2 与成分结构的关系 182
11.2 依存句法分析概述 184
11.2.1 打分、解码和学习 184
11.2.2 评价指标 184
11.3 基于图的依存句法分析 185
11.3.1 打分 185
11.3.2 解码 186
11.3.3 Eisner算法 186
11.3.4 MST算法 191
11.3.5 高阶方法 194
11.3.6 监督学习 194
11.4 基于转移的依存句法分析 195
11.4.1 状态与转移 196
11.4.2 打分、解码与学习 196
11.5 小结 198

第 12章 语义分析 200
12.1 显式和隐式的语义表示 200
12.2 词义表示 201
12.2.1 WordNet 201
12.2.2 词义消歧 203
12.3 语义表示 204
12.3.1 专用和通用的语义表示 204
12.3.2 一阶逻辑 205
12.3.3 语义图 205
12.4 语义分析 206
12.4.1 基于句法的语义分析 206
12.4.2 基于神经网络的语义分析 207
12.4.3 弱监督学习 209
12.5 语义角色标注 209
12.5.1 语义角色标注标准 209
12.5.2 语义角色标注方法 211
12.6 信息提取 211
12.7 小结 212

第 13章 篇章分析 213
13.1 篇章 213
13.1.1 连贯性关系 213
13.1.2 篇章结构 214
13.1.3 篇章分析 215
13.2 共指消解 215
13.2.1 提及检测 216
13.2.2 提及聚类 216
13.3 小结 220

总结与展望 221
参考文献 223
中英文术语对照表 228
附  录 234

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361362.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ajax实战03】拦截器

一:axios拦截器 拦截器分类: 请求拦截器以及响应拦截器 拦截器作用: 在请求或响应被then或catch处理前拦截它们 二:请求拦截器 作用: 发起请求之前,调用一个配置函数,对请求参数进行设置…

Python 爬虫从入门到入狱之路一

实际上爬虫一共就四个主要步骤: 明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据(按照我们想要的方式存储和使用) 我们在之前写的爬虫程序中,都只是获取…

【STM32-启动文件 startup_stm32f103xe.s】

STM32-启动文件 startup_stm32f103xe.s ■ STM32-启动文件■ STM32-启动文件主要做了以下工作:■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■ 栈空间大小 Stack_Size■ .map 文件的详细介绍■ 打开map文件 ■ 堆空间■ PRESERVE8 和 THUMB 指令…

Java面试问题(一)

一.Java语言具有的哪些特点 1.Java是纯面向对象语言,能够直接反应现实生活中的对象 2.具有平台无关性,利用Java虚拟机运行字节码文件,无论是在window、Linux还是macOS等其他平台对Java程序进行编译,编译后的程序可在其他平台上运行…

微软Edge浏览器全解析

发展历程 微软Edge浏览器是一款现代化的浏览器,最初于2015年发布,作为Internet Explorer(IE)的继任者,并随着Windows 10操作系统一同亮相。然而,早期的Edge浏览器基于EdgeHTML引擎开发,与市场上…

《Windows API每日一练》5.4 键盘消息和字符集

本节我们将通过实例来说明不同国家的语言、字符集和字体之间的差异,以及Windows系统是如何处理的。 本节必须掌握的知识点: 第31练:显示键盘消息 非英语键盘问题 字符集和字体 第32练:显示默认字体信息 第33练:创建逻…

格式化输出软件

一个给图片修改名字的小软件 功能: 输入文件名字,生成一个”当前时间文件名“的格式化内容到剪贴板方便改名 主界面有个复选框,勾选后会生成”文件名当前时间“的内容 演示: 输入无效字符时 代码: import sys from…

Leetcode Hot100之矩阵

1. 矩阵置零 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 解题思路 题目要求进行原地更改,也就是不能使用额外的空间,因此我们可以使用第一行的元素来记录对应的…

java对word文档预设参数填值并生成

目录 (1)定义word文档模板 (2)模板二次处理 处理模板图片,不涉及图片可以跳过 处理模板内容 (3)java对word模板填值 (4)Notepad的XML Tools插件安装 工作上要搞一个…

基于STM32的智能家庭安防系统

目录 引言环境准备智能家庭安防系统基础代码实现:实现智能家庭安防系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:家庭安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家庭安防系统通过使用ST…

flask与vue实现通过websocket通信

在一些情况下,我们需要实现前后端之间的时刻监听,本文是一篇工具文档,用于解决前后端之间使用websocket交互。 一. Flask的相关配置 1. 下载相关依赖库 如果还没有配置flask的话,需要先安装flask,同时为解决跨域问题&#xff0…

大模型自然语言生成自动驾驶可编辑仿真场景(其一 共十篇)

第一篇:LLM greater scene summarize 第二篇:LLM simulation Test effect 第三篇:LLM simulation driving scenario flow work 第四篇:LLM Algorithm flow description 第五篇:Configure the environment and back…

探索ChatGPT在程序员日常工作的多种应用

引言 在现代科技迅猛发展的今天,人工智能的应用已经深入到我们生活和工作的各个方面。作为程序员,我们时常面临大量繁杂的任务,从代码编写、错误调试到项目管理和团队协作,每一项都需要花费大量的时间和精力。近年来,…

[AI开发配环境]VSCode远程连接ssh服务器

文章目录 总览:ssh连接远程服务器连接免密登录:Docker:ssh连接远程宿主机后,进一步连接并使用其中的docker容器reload window 配置解释器:CtrlP,在上面输入“>python”, 然后选selecet interpreter运行命…

Sharding-JDBC分库分表

参考: https://mp.weixin.qq.com/s/A6WS1CSjF7wvBE_gKLyp8w https://shardingsphere.apache.org/document/legacy/4.x/document/cn/quick-start/sharding-jdbc-quick-start/ 注意: 支持的sql项: 全面支持DML、DDL、DCL、TCL和部分DAL。支…

Altera不同系列的型号命名规则

Altera芯片型号:10AX07H4F34I3SG 20nm工艺 资源: 大数据 云计算 人工智能 图像处理 MSEL

C#+uni-app医院HIS预约挂号系统源码 看病挂号快人一步

​​​​​​​ 提到去大型医院机构就诊时,许多人都感到恐惧。有些人一旦走进医院的门诊大厅,就感到迷茫,既无法理解导医台医生的建议,也找不到应该去哪个科室进行检查。实际上,就医也是一门学问,如何优化…

物联网系统运维——数据库部署,Linux环境下MySQL安装,使用phpMyAdmin管理MySQL,实验CentOS 7安装MySQL

一.MySQL 1.概要 MySQL是一种关联数据库管理系统,关联数据:而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性库将数据保存在不同的表中。性能高、成本低、可靠性好,已经成为最流行的开源数据库。 二.MySQL安装与配置 1. …

IPFoxy Tips:匿名海外代理IP的使用方法及注意事项

在互联网上,隐私和安全问题一直备受关注。为了保护个人隐私和数据安全,使用匿名代理IP是一种常用的方法。匿名代理IP可以隐藏用户的真实IP地址,使用户在访问网站时更加隐秘和安全。 本文将介绍匿名代理IP的基本原理和核心功能。 基本原则 匿…

算法与数据结构——时间复杂度详解与示例(C#,C++)

文章目录 1. 算法与数据结构概述2. 时间复杂度基本概念3. 时间复杂度分析方法4. 不同数据结构的时间复杂度示例5. 如何通过算法优化来提高时间复杂度6. C#中的时间复杂度示例7. 总结 算法与数据结构是计算机科学的核心,它们共同决定了程序的性能和效率。在实际开发中…