Обработка текста и естественного языка с помощью TensorFlow, Обработка текста и естественного языка с помощью TensorFlow

Прежде чем вы сможете обучить модель текстовым данным, вам обычно необходимо обработать (или предварительно обработать) текст. Во многих случаях текст необходимо токенизировать и векторизовать, прежде чем его можно будет передать в модель, а в некоторых случаях текст требует дополнительных шагов предварительной обработки, таких как нормализация и выбор функций.

После преобразования текста в подходящий формат его можно использовать в рабочих процессах обработки естественного языка (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: