Antes de que pueda entrenar un modelo con datos de texto, normalmente necesitará procesar (o preprocesar) el texto. En muchos casos, el texto debe tokenizarse y vectorizarse antes de que pueda enviarse a un modelo y, en algunos casos, el texto requiere pasos de preprocesamiento adicionales, como la normalización y la selección de funciones.
Una vez que el texto se procesa en un formato adecuado, puede usarlo en flujos de trabajo de procesamiento de lenguaje natural (NLP), como clasificación de texto, generación de texto, resumen y traducción.
TensorFlow proporciona dos bibliotecas para el procesamiento de texto y lenguaje natural: KerasNLP ( GitHub ) y TensorFlow Text ( GitHub ).
KerasNLP es una biblioteca de modelado NLP de alto nivel que incluye todos los últimos modelos basados en transformadores, así como utilidades de tokenización de nivel inferior. Es la solución recomendada para la mayoría de los casos de uso de NLP. Basado en TensorFlow Text, KerasNLP abstrae las operaciones de procesamiento de texto de bajo nivel en una API diseñada para facilitar su uso. Pero si prefiere no trabajar con la API de Keras o si necesita acceso a las operaciones de procesamiento de texto de nivel inferior, puede usar TensorFlow Text directamente.
Keras PNL
La forma más fácil de comenzar a procesar texto en TensorFlow es usar KerasNLP . KerasNLP es una biblioteca de procesamiento de lenguaje natural que admite flujos de trabajo creados a partir de componentes modulares que tienen pesos y arquitecturas preestablecidos de última generación. Puede usar los componentes de KerasNLP con su configuración lista para usar. Si necesita más control, puede personalizar fácilmente los componentes. KerasNLP proporciona computación en gráfico para todos los flujos de trabajo, por lo que puede esperar una producción sencilla utilizando el ecosistema TensorFlow.
KerasNLP contiene implementaciones integrales de arquitecturas de modelos populares como BERT y FNet . Con los modelos, capas y tokenizadores de KerasNLP, puede completar muchos flujos de trabajo de NLP de última generación, incluida la traducción automática , la generación de texto , la clasificación de texto y el entrenamiento de modelos de transformadores .
KerasNLP es una extensión de la API central de Keras, y cada módulo KerasNLP de alto nivel es una Layer
o Model
. Si está familiarizado con Keras, ya comprende la mayor parte de KerasNLP.
Texto de TensorFlow
KerasNLP proporciona módulos de procesamiento de texto de alto nivel que están disponibles como capas o modelos. Si necesita acceder a herramientas de nivel inferior, puede usar TensorFlow Text . TensorFlow Text proporciona operaciones y bibliotecas para ayudarlo a trabajar con cadenas de texto y documentos sin formato. TensorFlow Text puede realizar el preprocesamiento que requieren regularmente los modelos basados en texto, y también incluye otras características útiles para el modelado de secuencias.
Con TensorFlow Text, puede hacer lo siguiente:
- Aplique tokenizadores ricos en funciones que puedan dividir cadenas en espacios en blanco, separar palabras y puntuación, y devolver compensaciones de bytes con tokens, para que sepa dónde se puede encontrar una cadena en el texto de origen.
- Compruebe si un token coincide con un patrón de cadena específico. Puede verificar las mayúsculas, la puntuación, los datos numéricos y otras características del token.
- Combina fichas en n-gramas.
- Procese el texto dentro del gráfico de TensorFlow, de modo que la tokenización durante el entrenamiento coincida con la tokenización en la inferencia.
Donde empezar
Los siguientes recursos lo ayudarán a comenzar con el procesamiento de texto de TensorFlow:
- TensorFlow Text : tutoriales, guías y otros recursos para ayudarlo a procesar texto con TensorFlow Text y KerasNLP.
- KerasNLP : Documentación y recursos para KerasNLP.
- Tutoriales de TensorFlow : la documentación principal de TensorFlow (esta guía) incluye varios tutoriales de procesamiento de texto.
- Aprendizaje automático de Google: guía de clasificación de texto : una introducción paso a paso a la clasificación de texto. Este es un buen lugar para comenzar si es nuevo en el aprendizaje automático.