简介
在 第 3 章 中,我们了解了如何在给定任务上微调模型。在这样做时,我们使用了模型预训练时使用的相同分词器——但是当我们想要从头开始训练模型时该怎么办?在这些情况下,使用在另一个领域或语言的语料库上预训练的分词器通常不是最佳选择。例如,在英语语料库上训练的分词器在日语文本语料库上的表现会很差,因为这两种语言中空格和标点的使用方式大不相同。
在本节中,您将学习如何在文本语料库上训练一个全新的分词器,以便随后将其用于预训练语言模型。所有这些都将借助 🤗 Tokenizers 库完成,该库提供了 🤗 Transformers 库中的“快速”分词器。我们将仔细研究此库提供的功能,并探讨快速分词器与“慢速”版本有何不同。
我们将涵盖以下主题
- 如何在新的文本语料库上训练一个类似于给定检查点使用的分词器
- 快速分词器的特殊功能
- 当今 NLP 中使用的三种主要子词分词算法之间的差异
- 如何使用 🤗 Tokenizers 库从头开始构建分词器并在某些数据上对其进行训练
本章介绍的技术将为您准备 第 7 章 中创建 Python 源代码语言模型的部分。让我们首先了解一下“训练”分词器本身意味着什么。