首页>参考读物>计算机科学与技术>人工智能

自然语言处理实战:预训练模型应用及其产品化
作者 : [美]安库·A. 帕特尔(Ankur A. Patel),[美]阿贾伊·乌皮利·阿拉萨尼帕莱(Ajay Uppili Arasanipalai) 著
译者 : 王书鑫 李锐 丁舶洋 罗远飞 译
出版日期 : 2022-07-01
ISBN : 978-7-111-70791-2
定价 : 129.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 286
开本 : 16
原书名 : Applied Natural Language Processing in the Enterprise
原出版社: O'Reilly Media, Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书分为三部分。第1部分聚焦于自然语言处理的高层次概述,包括自然语言处理的历史、该领域流行的应用,以及如何使用预训练模型来执行迁移学习和快速解决现实世界中的问题。第二部分将深入研究自然语言处理的底层细节,包括预处理文本、分词和向量嵌入。然后探讨当今自然语言处理中有效的建模方法,如Transformer、注意力机制、普通循环神经网络、长短期记忆和门控循环单元。第三部分将讨论应用自然语言处理很重要的方面——如何产品化已开发的模型,以便这些模型为组织提供看得见、摸得着的价值。我们将讨论当今可用工具的前景,分享对它们的看法。

图书特色

图书前言

什么是自然语言处理
许多人的日常工作都涉及与数字打交道,比如工作时使用与微软Excel类似的电子表格程序,或者使用像Jupyter Notebook这样的编程环境。人们处理数字时,几乎没有理由不把数字处理工作交给计算机去做。
因为计算机处理数字时既快速又精确,人脑则相形见绌。如果要计算24×36×48,人类会毫不犹豫地拿出计算器或计算机,让机器来完成这些烦琐的工作。
但从历史的角度来看,在分析文本数据时,具有强大数字处理功能的计算机就不再那么有效了。人类往往使用计算机处理数字,依靠人脑分析文本文件。到目前为止,计算机一直因缺乏处理文本的能力而限制了自身的可工作范围。
然而这种情况即将得到改变。从很多方面来说,这种变化已经开始了。计算机现在能够以20年前许多人认为不可思议的方式来处理文本和音频数据。
其实留意一下日常生活,你就能发现自己非常依赖计算机来分析和理解周围的文本数据。这里举几个例子:
谷歌搜索
搜索整个网络然后呈现相关的搜索结果。
谷歌Gmail
撰写邮件时自动完成句子。
谷歌翻译
将文本和音频从一种语言转换为另一种语言。
亚马逊Alexa、苹果Siri、谷歌助手(Google Assistant)、微软小娜(Cortana)
用语音命令来控制你的家庭设备。
客服聊天机器人
询问与用户账户相关的问题,然后得到(基本合理的)答复。
这些技术已经逐渐融入我们的日常生活,以至于我们几乎没有注意到一直在使用它们。计算机能够处理文本数据的故事才刚刚开始。在过去几年里,我们在这一领域取得了相当显著的进步,随着时间的推移,我们将看到计算机能处理越来越多过去只有人类能做的工作。
为什么要读这本书
自然语言处理(Natural Language Processing,NLP)是当今人工智能领域最热门的话题之一。在落后计算机视觉等深度学习领域多年之后,自然语言处理直到最近才成为主流。尽管谷歌、Facebook和OpenAI都开源了大型预训练语言模型来简化自然语言处理任务,但今天仍然有许多组织在开发和产品化自然语言处理应用程序上苦苦挣扎。本书可以帮助你快速了解这个领域。
阅读本书所需的背景知识
本书不适合没有任何基础的初学者。本书假设你已经对机器学习有所了解,并且使用过Python以及NumPy、pandas和matplotlib等类库。
有关Python的更多信息,请访问Python官方网站(https://www.python.org)。有关Jupyter Notebook的更多信息,请访问Jupyter官方网站(https://jupyter.org)。如需复习大学水平的微积分、线性代数、概率论和数理统计知识,请阅读由Ian Goodfellow、Yoshua Bengio和Aaron Courville编写的Deep Learning(MIT出版社)的第一部分。若需了解关于机器学习的知识,请阅读Jerome H. Friedman、Robert Tibshirani和Trevor Hastie编写的The Elements of Statistical Learning(Springer出版社)一书。
本书的主要内容
如果你对机器学习有一定的理解,并且有Python编程经验,那么你将学会如何在自己的组织中构建和部署产品化的自然语言处理应用程序。
本书将引导你逐步完成上述过程,且不会让你陷入理论的细枝末节。
读完本书并独立完成练习之后,你应该能够做到以下几点:
理解最先进的自然语言处理模型如何工作。
学习该行业的工具和框架。
执行自然语言处理任务,如文本分类、语义搜索和阅读理解。
使用新的基于Transformer的模型和技术[如迁移学习(transfer learning)]来解决问题。
开发性能可媲美甚至优于开箱即用系统的自然语言处理模型。
将模型部署到生产环境中,并监控和维护其性能。
使用Python和PyTorch实现一套自然语言处理算法。
本书的目标是为你概述自然语言处理的概念和工具,以便你将这项技术用于处理日常的问题。换句话说,这是一本指导你构建真实应用程序的实战书。本书不会面面俱到地解释自然语言处理的相关理论,随着学习的深入,你将不可避免地需要使用其他资源来补充你在该领域的知识,但本书会让你在该领域扬帆起航并顺利到达彼岸。
本书将使用实践的方式来介绍理论,但主要集中在应用自然语言处理技术来解决现实问题。数据集和代码可在本书的GitHub仓库(https://github.com/nlpbook/nlpbook)上以Jupyter Notebook的形式在线获取。
本书的组织架构
全书分为三部分。
第一部分(第1~3章)
该部分将聚焦于自然语言处理的高层次概述,包括自然语言处理的历史、该领域最流行的应用程序,以及如何使用预训练模型来执行迁移学习和快速解决现实世界中的问题。
第二部分(第4~8章)
该部分将深入研究自然语言处理的底层细节,包括预处理文本、分词和词向量嵌入。虽然这些不是最吸引人的话题,但都是自然语言处理领域的基础知识。然后我们探讨当今自然语言处理中最有效的建模方法,如Transformer、注意力机制、Vanilla循环神经网络、长短期记忆网络和门控循环单元。最后,我们将所有内容整合在一起来呈现自然语言处理的分水岭年—2018年所谓的ImageNet时刻,当时大型预训练语言模型打破了此前的性能纪录,并被研究人员和应用工程师广泛使用。
第三部分(第9~12章)
在该部分中,我们将讨论应用自然语言处理最重要的方面—如何产品化已开发的模型,以便这些模型为组织提供看得见、摸得着的价值。我们将讨论当今可用工具的前景,并分享对它们的看法。我们还会涉及一些特殊的话题,严格来说,这些话题与自然语言处理无关,但可能会影响自然语言处理模型的产品化。
虽然我们不能涵盖本书中每一个自然语言处理的主题,包括为经验丰富的“老兵”提供的更高阶的主题,但我们将继续通过本书的官方网站(https://www.appliednlpbook.com)和GitHub在线提供新增的和更新后的材料(包括代码)以支持我们的社区。读完本书后可以登录官网和GitHub来获取最新信息!
值得一提的是,本书是完全使用Jupyter Notebook撰写的。你可以在GitHub仓库中找到本书的代码。我们鼓励你在阅读时运行Notebook中的实验,以熟悉真实代码是如何实现算法思想的(因篇幅有限,本书省略了一些冗长的输出)。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、 数据类型、环境变量、语句以及关键字。
等宽粗体(Constant width bold)
表示应由用户直接输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应由用户提供的值或由上下文确定的值替换的文本。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
示例代码
可以从https://github.com/nlpbook/nlpbook下载补充材料(示例代码、练习、勘误等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布O’Reilly的示例代码则需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处时包含书名、作者、出版社和ISBN,例如:
Applied Natural Language Processing in the Enterprise,作者Ankur A. Patel和Ajay Uppili Arasanipalai,由O’Reilly出版,书号978-1-492-06257-8
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permission@oreilly.com联系我们。
O’Reilly在线学习平台(O’Reilly Online Learning)
40多年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至errata@oreilly.com.cn。
本书配套网站https://oreil.ly/Applied_NLP_in_the_Enterprise上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站http://www.oreilly.com。
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://youtube.com/oreillymedia
致谢
我们要感谢O’Reilly团队的所有成员,正是他们的帮助才使得这个项目成为可能,首先是Jonathan Hassell在2019年夏天支持并批准了本书的选题。我们想向编辑Melissa Potter致以崇高的敬意。尽管面临COVID-19的严峻挑战,但她还是帮助我们让整个2020年的计划如期进行。
非常感谢Jeremy Howard早期提供了有价值的建议并分享了FastDoc的源代码,FastDoc是我们整个写作过程中用于将Jupyter Notebook转换为AsciiDoc的令人难以置信的工具。他与Rachel Thomas、Sylvain Gugger、Zach Mueller、Hamel Husain以及许多fastai贡献者合作,使深度学习变得易于理解和实用,这一直是本书写作的巨大灵感来源。
本书的制作编辑Deborah Baker和内容服务经理Kristen Brown在Kim Cofer、David Futato、Karen Montgomery、Kate Dullea以及Piper编辑咨询公司和nSight公司团队的帮助下将本书润色完成,他们使写作过程的最后阶段完成得轻而易举。
特别感谢Artiom Tarasiuk、Victor Borges和Benjamin Muskalla,感谢他们花费无数个小时来阅读和审校本书,并在此过程中提供重要反馈。
Ajay
首先,我要感谢我的父母Uppili和Hema,他们在肆虐的流行疾病中不知疲倦地支持我,还要感谢对我寄予厚望的姐姐Anika。
还有许多其他人,我对他们感激不尽。Gayathri Srinivasan多年前指导过我,他很友善地让一个高中生路人使用超级计算机,第一次让我知道机器可以学习。Ganesan Narayanaswamy通过OpenPOWER基金会慷慨地为我的研究提供所需的计算资源和基础设施。Diganta Misra、Trikay Nalamada、Himanshu Arora以及我在Landskape的其他同事花费了大量时间进行实验并与我一起参加凌晨2点关于注意力机制的讨论会,仅出于对深度学习的共同热爱以及对回馈学术界的渴望。他们对本书的热情和对我的工作的鼓励弥足珍贵。
Ankur
我很高兴生活在一个非常慷慨和互相支持的家庭,我取得的任何成绩都与此密不可分。我要感谢我的父母Amrat和Ila,感谢他们多年来的牺牲以及对我的培养。如果没有他们,我根本就不会做我感兴趣的事情。我要感谢我的姐姐Bhavini和我的兄弟Jigar一直支持我。最后,我非常感谢我美丽的女朋友Maria Koval和我们的金毛猎犬Brody,他们都耐心地忍受我多次在深夜和周末进行写作和编码。谢谢!
我还要感谢Glean的联合创始人Howard Katzenberg和Alexander Jia,以及我的好朋友兼Mellow的联合创始人Nate Collins,感谢他们在整个写作过程中给予的耐心和支持。我真的很幸运有这么棒的朋友和同事—他们每天都给我的生活带来欢乐。

上架指导

计算机\人工智能

封底文字

在过去几年中,自然语言处理技术的受欢迎程度呈现“爆炸式”增长。尽管Google、Facebook、OpenAI等前沿公司继续发布着规模更大的语言模型,但许多开发团队仍在努力构建与时俱进的自然语言处理应用程序。本书将帮助你快速了解自然语言处理的新技术及未来发展趋势。
通过阅读本书,你将学习如何为组织中的实际应用程序构建、训练和部署模型。作者使用突出现代自然语言处理最佳实践的代码和示例指导你完成整个过程。
本书的主要内容包括:
? 使用先进的自然语言处理模型(如BERT和GPT-3)来解决命名实体识别、文本分类、语义搜索和阅读理解等自然语言处理任务。
? 开发性能可媲美甚至优于开箱即用系统的自然语言处理模型。
? 了解Transformer架构和现代技巧,比如席卷整个自然语言处理世界的迁移学习。
? 熟悉自然语言处理的工具和框架,包括spaCy、Hugging Face和fast.ai。
? 使用Python和PyTorch从头开始构建自然语言处理任务流水线的核心部分,包括分词器、向量嵌入和语言模型。
? 将你的模型从Jupyter Notebook中产品化,并学习如何在生产环境中部署、监控和维护它们。
“本书富有启发性。作者带领你遨游于自然语言处理的复杂世界。每一章都让你有所收获。”
——Benjamin Muskalla
 高级软件工程师
Ankur A. Patel是Glean和Mellow的联合创始人。Glean使用自然语言处理技术生成供应商的支出情报信息,Mellow为程序员提供自然语言处理的API。此前,Ankur曾领导过7Park Data、ThetaRay、R-Squared Macro、Bridgewater Associates(桥水联合基金)和JPMorgan(摩根大通)的团队。他也是Hands-On Unsupervised Learning Using Python一书的作者。
Ajay Uppili Arasanipalai是美国伊利诺伊大学的一名学生,也是人工智能研究机构Landskape AI的联合创始人。作为伊利诺伊大学的ACM SIGAI分会的联合主席,他为本科生组织了教育研讨会和项目。Ajay撰写了许多热门文章,讨论了最先进的深度学习技术。

图书目录

前言 1
第一部分 浮光掠影
第1章 自然语言处理介绍 11
1.1 什么是自然语言处理 12
1.2 基本的自然语言处理 19
1.3 总结 38
第2章 Transformer和迁移学习 40
2.1 利用fast.ai库进行训练 41
2.2 利用Hugging Face系列库进行推理 54
2.3 总结 60
第3章 NLP任务和应用程序 61
3.1 预训练语言模型 61
3.2 迁移学习和微调 62
3.3 NLP任务 63
3.4 自然语言数据集 65
3.5 NLP任务1:命名实体识别 70
3.6 NLP任务2:文本分类 84
3.7 总结 92
第二部分 纲举目张
第4章 分词 97
4.1 一个极简的分词器 98
4.2 Hugging Face的分词器 100
4.3 搭建自己的分词器 103
4.4 总结 106
第5章 向量嵌入:计算机如何“理解”单词 107
5.1 理解文本与读取文本 107
5.2 词向量 111
5.3 词向量嵌入实践 116
5.4 非词条的嵌入 122
5.5 总结 126
第6章 循环神经网络和其他序列模型 128
6.1 循环神经网络 130
6.2 长短期记忆网络 142
6.3 门控循环单元 143
6.4 总结 144
第7章 Transformer 146
7.1 从头开始构建Transformer 146
7.2 注意力机制 148
7.3 计算机视觉Transformer 161
7.4 总结 162
第8章 BERT方法论:博采众长创新篇 164
8.1 ImageNet 164
8.2 通往NLP“ImageNet时刻”之路 165
8.3 预训练的词向量嵌入 166
8.4 序列模型 170
8.5 循环神经网络 172
8.6 注意力机制 176
8.7 Transformer架构 178
8.8 NLP的“ImageNet时刻” 181
8.9 总结 184
第三部分 经世致用
第9章 工欲善其事,必先利其器 187
9.1 深度学习框架 188
9.2 可视化与实验跟踪 193
9.3 AutoML 196
9.4 机器学习基础设施和计算 198
9.5 边缘/终端侧推理 201
9.6 云推理和机器学习即服务 203
9.7 持续集成和持续交付 205
9.8 总结 205
第10章 可视化 207
10.1 我们的第一个Streamlit应用程序 208
10.2 总结 220
第11章 产品化 222
11.1 数据科学家、工程师和分析师 222
11.2 Databricks:你的统一数据分析平台 224
11.3 Databricks的安装 228
11.4 机器学习作业 243
11.5 MLflow 249
11.6 Databricks的替代品 260
11.7 总结 261
第12章 归纳提升 263
12.1 最后十课 263
12.2 最后的话 268
附录A 大规模训练 269
附录B CUDA 273

教学资源推荐
作者: [西]何塞·曼努埃尔·戈麦斯-佩雷斯(Jose Manuel Gomez-Perez),[西]罗纳德·德诺(Ronald Denaux),[西]安德烈·加西亚-席尔瓦(Andres Garcia-Silva) 著
作者: [中国]张岳(Yue Zhang) 滕志扬(Zhiyang Teng
作者: 蔡自兴 王勇 编著
参考读物推荐
作者: 邱锡鹏 著
作者: [美]马特·R.科尔(Matt R.Cole) 著
作者: [沙]阿卜杜勒哈密特·苏巴西(Abdulhamit Subasi) 著
作者: [美] 约翰·C.米德尔布鲁克斯(John C.Middlebrooks) 尤纳森·Z.西蒙(Jonathan Z.Simon) 阿瑟·N.波珀(Arthur N.Popper) 理查德·R.费伊(Richard R.Fay) 编著