О чём урок
Как мы уже видели в предыдущих разделах, токенизация состоит из нескольких этапов: Нормализация (любая необходимая очистка текста, например, удаление пробелов или подчеркиваний, нормализация Unicode и т. д.) Предварительная токенизация (разделение входного текста на слова). Прогон входных данных через модель (использование предварительно токенизированных слов для создания последовательности токенов) Постобработка (добавление специальных токенов токенизатора, генерация маски внимания и идентификаторов типов токенов) В качестве напоминания вот еще один взгляд на общий процесс: Библиотека 🤗 Tokenizers была создана для того, чтобы предоставить несколько вариантов каждого из этих шагов, которые вы можете смешивать и сочетать между собой. В этом разделе мы рассмотрим, как можно создать токенизатор с нуля, а не обучать новый токенизатор на основе старого, как мы делали в разделе 2. После этого вы сможете создать любой токенизатор, который только сможете придумать! Точнее, библиотека построена вокруг центрального класса Tokenizer, а строительные блоки сгруппированы в подмодули: normalizers содержит все возможные типы нормализаторов текста Normalizer, которые вы можете использовать (полный список здесь). pre_tokenizers содержит все возможные типы предварительных токенизаторов PreTokenizer, которые вы можете использовать (полный список здесь). models содержит различные типы моделей Model, которые вы можете использовать, такие как BPE, WordPiece и Unigram (полный список здесь). trainers содержит все различные типы Trainer, которые вы можете использовать для обучения модели на корпусе (по одному на каждый тип модели; полный список здесь). post_processors содержит различные типы постпроцессоров PostProcessor, которые вы можете использовать (полный список здесь). decoders содержит различные типы декодеров Decoder, которые вы можете использовать для декодирования результатов токенизации (полный список здесь). Весь список блоков вы можете найти здесь. Для обучения нашего нового токенизатора мы будем использовать небольшой корпус текстов (чтобы примеры выполнялись быстро).
План урока
- Получение корпуса текста
- Создание токенизатора WordPiece с нуля
- Создание токенизатора BPE с нуля
- Создание токенизатора Unigram с нуля
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.