Traitement de texte et de langage naturel avec TensorFlow,Traitement de texte et de langage naturel avec TensorFlow

Avant de pouvoir entraîner un modèle sur des données textuelles, vous devez généralement traiter (ou prétraiter) le texte. Dans de nombreux cas, le texte doit être symbolisé et vectorisé avant de pouvoir être introduit dans un modèle, et dans certains cas, le texte nécessite des étapes de prétraitement supplémentaires telles que la normalisation et la sélection de fonctionnalités.

Une fois le texte traité dans un format approprié, vous pouvez l'utiliser dans des workflows de traitement du langage naturel (NLP) tels que la classification de texte, la génération de texte, la synthèse et la traduction.

TensorFlow fournit deux bibliothèques pour le traitement du texte et du langage naturel : KerasNLP ( GitHub ) et TensorFlow Text ( GitHub ).

KerasNLP est une bibliothèque de modélisation NLP de haut niveau qui comprend tous les derniers modèles basés sur des transformateurs ainsi que des utilitaires de tokenisation de niveau inférieur. C'est la solution recommandée pour la plupart des cas d'utilisation du NLP. Construit sur TensorFlow Text, KerasNLP résume les opérations de traitement de texte de bas niveau dans une API conçue pour une utilisation facile. Mais si vous préférez ne pas travailler avec l'API Keras, ou si vous avez besoin d'accéder aux opérations de traitement de texte de niveau inférieur, vous pouvez utiliser TensorFlow Text directement.

KerasPNL

Le moyen le plus simple de commencer à traiter du texte dans TensorFlow consiste à utiliser KerasNLP . KerasNLP est une bibliothèque de traitement du langage naturel qui prend en charge les flux de travail construits à partir de composants modulaires dotés de pondérations et d'architectures prédéfinies à la pointe de la technologie. Vous pouvez utiliser les composants KerasNLP avec leur configuration prête à l'emploi. Si vous avez besoin de plus de contrôle, vous pouvez facilement personnaliser les composants. KerasNLP fournit un calcul in-graph pour tous les flux de travail afin que vous puissiez vous attendre à une production facile à l'aide de l'écosystème TensorFlow.

KerasNLP contient des implémentations de bout en bout d' architectures de modèles populaires telles que BERT et FNet . À l'aide des modèles, des couches et des tokenizers KerasNLP, vous pouvez effectuer de nombreux flux de travail NLP de pointe, y compris la traduction automatique , la génération de texte , la classification de texte et la formation de modèle de transformateur .

KerasNLP est une extension de l'API Keras de base, et chaque module KerasNLP de haut niveau est une Layer ou Model . Si vous connaissez Keras, vous comprenez déjà la plupart de KerasNLP.

Texte TensorFlow

KerasNLP fournit des modules de traitement de texte de haut niveau disponibles sous forme de couches ou de modèles. Si vous avez besoin d'accéder à des outils de niveau inférieur, vous pouvez utiliser TensorFlow Text . TensorFlow Text fournit des opérations et des bibliothèques pour vous aider à travailler avec des chaînes de texte brutes et des documents. TensorFlow Text peut effectuer le prétraitement régulièrement requis par les modèles textuels, et il inclut également d'autres fonctionnalités utiles pour la modélisation de séquences.

Avec TensorFlow Text, vous pouvez effectuer les opérations suivantes :

  • Appliquez des tokenizers riches en fonctionnalités qui peuvent diviser les chaînes sur les espaces, séparer les mots et la ponctuation, et renvoyer des décalages d'octets avec des jetons, afin que vous sachiez où trouver une chaîne dans le texte source.
  • Vérifiez si un jeton correspond à un modèle de chaîne spécifié. Vous pouvez vérifier les majuscules, la ponctuation, les données numériques et d'autres fonctionnalités de jeton.
  • Combinez les jetons en n-grammes.
  • Traitez le texte dans le graphique TensorFlow, de sorte que la segmentation pendant l'entraînement corresponde à la segmentation lors de l'inférence.

Où commencer

Les ressources suivantes vous aideront à démarrer avec le traitement de texte TensorFlow :