图书前言

前言

本书将深入介绍自然语言处理(natural language processing,NLP)技术,从机器学习(machine learning,ML)的数学基础开始,一直到高级自然语言处理应用,例如大语言模型(large language model,LLM)和 AI 应用。

作为学习体验的一部分,你将掌握线性代数、优化、概率和统计知识,这些知识对于理解并实现机器学习和自然语言处理算法至关重要。此外,你还将探索一般的机器学习技术并了解它们与自然语言处理的关系。

在学习如何执行文本分类(即根据文本内容为文本分配标签或类别)任务之前,你将学习文本数据的预处理操作,包括为分析工作清洗和准备文本的方法。

最后,本书还将讨论大语言模型的理论、设计和应用等高级主题,探讨自然语言处理的未来趋势,介绍专家对该领域未来的看法。为了增强你的实践技能,你还将学习如何解决自然语言处理业务问题并提供解决方案。

本书读者

本书面向技术人员,包括深度学习和机器学习研究人员、注重实践的自然语言处理从业者、机器学习/自然语言处理教育者以及 STEM 学科学生。在项目中使用文本的专业人士和现有的自然语言处理从业者也将在本书中找到大量有用的信息。

掌握初级机器学习知识和 Python 基本操作将帮助你充分利用本书。

内容介绍

本书包含 11 章,各章内容如下。

第 1 章“自然语言处理领域探索”,介绍自然语言处理的定义和历史演变、自然语言机器处理的一般策略、自然语言处理和机器学习的协同效应,以及对语言模型的理解等,它们也是后续章节将要讨论的主题。

第 2 章“掌握与机器学习和自然语言处理相关的线性代数、概率和统计学”,该章分为 3 个部分。第一部分介绍理解本书后续章节内容所需的线性代数基础知识;第二部分介绍特征值和特征向量;最后一部分介绍与机器学习相关的概率基础知识。

第 3 章“释放机器学习在自然语言处理中的潜力”,讨论可用于解决自然语言处理问题的机器学习中的不同概念和方法。我们将介绍数据清洗、特征选择和特征工程等技术和方法,了解常见的机器学习模型,阐释模型欠拟合和过拟合、数据集拆分、超参数调整、集成模型和不平衡数据集等概念。

第 4 章“进行有效文本预处理以实现最佳 NLP 性能”,通过实际问题示例介绍各种文本预处理步骤(包括小写处理、删除特殊字符和标点符号、删除停用词、拼写检查和纠正、词形还原和词干提取、命名实体识别和标记化等)。我们将根据要解决的问题场景解释哪些步骤适合哪些需求。本章示例提供了完整的 Python 流程。

第 5 章“利用传统机器学习技术增强文本分类能力”,介绍文本分类的类型(包括监督学习、无监督学习和半监督学习),阐释独热编码的概念,演示 TF-IDF 和 LDA 应用,并提供一个完整的 Jupyter Notebook 示例。

第 6 章“重新构想文本分类:深度学习语言模型研究”,介绍与深度学习神经网络相关的基础知识,包括不同的神经网络架构和语言模型。本章详细介绍 Transformer 架构,比较 BERT 和 GPT 等语言模型,并提供一个完整的 Jupyter Notebook 自然语言处理-深度学习系统设计示例。

第 7 章“揭开大语言模型的神秘面纱:理论、设计和 Langchain 实现”,阐释开发和使用大语言模型背后的动机,以及在开发过程中面临的挑战。本章介绍最新的模型设计(包括 GPT-4、LLaMA 和 RLHF 等),帮助你全面了解大语言模型的理论基础和实际应用。

第 8 章“访问大语言模型的强大功能:高级设置和 RAG 集成”,将指导你设置基于 API 和开源大语言模型的应用程序,并深入研究通过 LangChain 实现的提示工程和 RAG。本章还提供了使用 Python 设置 LangChain 管道的示例。

第 9 章“前沿探索:大语言模型推动的高级应用和创新”,深入探讨如何使用 RAG 和 LangChain 增强大语言模型性能,介绍使用链的高级方法、自动 Web 源检索、压缩提示、降低 API 使用成本、多代理框架等。本章提供了多个 Python Notebook 示例,每个示例都给出了一些实际用例的高级解决方案。

第 10 章“乘风破浪:分析大语言模型和人工智能的过去、现在和未来趋势”,深入探讨大语言模型和人工智能对技术、文化和社会的变革性影响,讨论计算能力进步、大数据集的意义以及大语言模型在商业及其他领域的发展、目的和社会影响。

第 11 章“独家行业见解:来自世界级专家的观点和预测”,通过与法律法规、学术研究和行业高管等专业人士的对话,深入探讨未来的自然语言处理和大语言模型趋势;通过他们的专业视角,可以了解人工智能技术发展的挑战和机遇、专业实践和道德考量等。

充分利用本书

本书所有代码均以 Jupyter Notebook 的形式呈现。所有代码均使用 Python 3.10.X 开发,预计也适用于更高版本。

本书中的代码示例具有多样化的用例,对于某些高级大语言模型解决方案,你将需要一个 OpenAI 账户,这样你才能使用 API 密钥。