Прежде чем вы сможете обучить модель текстовым данным, вам обычно необходимо обработать (или предварительно обработать) текст. Во многих случаях текст необходимо токенизировать и векторизовать, прежде чем его можно будет передать в модель, а в некоторых случаях текст требует дополнительных шагов предварительной обработки, таких как нормализация и выбор функций.
После преобразования текста в подходящий формат его можно использовать в рабочих процессах обработки естественного языка (NLP), таких как классификация текста, создание текста, суммирование и перевод.
TensorFlow предоставляет две библиотеки для обработки текста и естественного языка: KerasNLP ( GitHub ) и TensorFlow Text ( GitHub ).
KerasNLP — это высокоуровневая библиотека моделирования НЛП, которая включает в себя все новейшие модели на основе преобразователей, а также утилиты токенизации более низкого уровня. Это рекомендуемое решение для большинства случаев использования НЛП. Построенный на TensorFlow Text, KerasNLP абстрагирует низкоуровневые операции обработки текста в API, разработанный для простоты использования. Но если вы предпочитаете не работать с Keras API или вам нужен доступ к операциям обработки текста более низкого уровня, вы можете напрямую использовать TensorFlow Text.
КерасНЛП
Самый простой способ начать обработку текста в TensorFlow — использовать KerasNLP . KerasNLP — это библиотека обработки естественного языка, которая поддерживает рабочие процессы, построенные из модульных компонентов с современными предустановленными весами и архитектурами. Вы можете использовать компоненты KerasNLP с их готовой конфигурацией. Если вам нужно больше контроля, вы можете легко настроить компоненты. KerasNLP обеспечивает вычисления в графе для всех рабочих процессов, поэтому вы можете рассчитывать на простоту производства с использованием экосистемы TensorFlow.
KerasNLP содержит сквозные реализации популярных архитектур моделей, таких как BERT и FNet . Используя модели, слои и токенизаторы KerasNLP, вы можете выполнять множество современных рабочих процессов NLP, включая машинный перевод , генерацию текста , классификацию текста и обучение модели преобразования .
KerasNLP — это расширение основного Keras API, и каждый высокоуровневый модуль KerasNLP — это Layer
или Model
. Если вы знакомы с Keras, вы уже понимаете большую часть KerasNLP.
Текст TensorFlow
KerasNLP предоставляет высокоуровневые модули обработки текста, которые доступны в виде слоев или моделей. Если вам нужен доступ к инструментам более низкого уровня, вы можете использовать TensorFlow Text . TensorFlow Text предоставляет операции и библиотеки, которые помогут вам работать с необработанными текстовыми строками и документами. TensorFlow Text может выполнять предварительную обработку, обычно необходимую для текстовых моделей, а также включает другие функции, полезные для моделирования последовательностей.
Используя TensorFlow Text, вы можете сделать следующее:
- Применяйте многофункциональные токенизаторы, которые могут разбивать строки по пробелам, разделять слова и знаки препинания и возвращать смещения в байтах с помощью токенов, чтобы вы знали, где можно найти строку в исходном тексте.
- Проверьте, соответствует ли токен указанному строковому шаблону. Вы можете проверить наличие заглавных букв, пунктуации, числовых данных и других функций токена.
- Объедините токены в n-граммы.
- Обрабатывайте текст в графе TensorFlow, чтобы токенизация во время обучения соответствовала токенизации при выводе.
Когда начать
Следующие ресурсы помогут вам начать работу с обработкой текста TensorFlow:
- TensorFlow Text : учебные пособия, руководства и другие ресурсы, которые помогут вам обрабатывать текст с помощью TensorFlow Text и KerasNLP.
- KerasNLP : Документация и ресурсы для KerasNLP.
- Учебники по TensorFlow . Основная документация по TensorFlow (данное руководство) включает несколько руководств по обработке текста.
- Машинное обучение Google: руководство по классификации текста : пошаговое введение в классификацию текста. Это хорошее место для начала, если вы новичок в машинном обучении.