Antes de poder treinar um modelo em dados de texto, normalmente você precisará processar (ou pré-processar) o texto. Em muitos casos, o texto precisa ser tokenizado e vetorizado antes de ser alimentado a um modelo e, em alguns casos, o texto requer etapas adicionais de pré-processamento, como normalização e seleção de recursos.
Depois que o texto é processado em um formato adequado, você pode usá-lo em fluxos de trabalho de processamento de linguagem natural (NLP), como classificação de texto, geração de texto, resumo e tradução.
O TensorFlow fornece duas bibliotecas para processamento de texto e linguagem natural: KerasNLP ( GitHub ) e TensorFlow Text ( GitHub ).
KerasNLP é uma biblioteca de modelagem NLP de alto nível que inclui todos os modelos baseados em transformadores mais recentes, bem como utilitários de tokenização de nível inferior. É a solução recomendada para a maioria dos casos de uso de PNL. Construído no TensorFlow Text, o KerasNLP abstrai as operações de processamento de texto de baixo nível em uma API projetada para facilitar o uso. Mas se você preferir não trabalhar com a API Keras ou precisar de acesso às operações de processamento de texto de nível inferior, poderá usar o TensorFlow Text diretamente.
KerasNLP
A maneira mais fácil de começar a processar texto no TensorFlow é usar o KerasNLP . O KerasNLP é uma biblioteca de processamento de linguagem natural que oferece suporte a fluxos de trabalho criados a partir de componentes modulares com pesos e arquiteturas predefinidos de última geração. Você pode usar os componentes do KerasNLP com sua configuração pronta para uso. Se precisar de mais controle, você pode personalizar facilmente os componentes. O KerasNLP fornece computação gráfica para todos os fluxos de trabalho, para que você possa esperar uma fácil produção usando o ecossistema TensorFlow.
O KerasNLP contém implementações de ponta a ponta de arquiteturas de modelos populares como BERT e FNet . Usando modelos, camadas e tokenizadores KerasNLP, você pode concluir muitos fluxos de trabalho NLP de última geração, incluindo tradução automática , geração de texto , classificação de texto e treinamento de modelo de transformador .
O KerasNLP é uma extensão da API principal do Keras, e todo módulo KerasNLP de alto nível é uma Layer
ou Model
. Se você está familiarizado com o Keras, já entende a maior parte do KerasNLP.
Texto do TensorFlow
KerasNLP fornece módulos de processamento de texto de alto nível que estão disponíveis como camadas ou modelos. Se precisar de acesso a ferramentas de nível inferior, você pode usar o TensorFlow Text . O TensorFlow Text fornece operações e bibliotecas para ajudá-lo a trabalhar com strings e documentos de texto bruto. O TensorFlow Text pode executar o pré-processamento regularmente exigido por modelos baseados em texto e também inclui outros recursos úteis para modelagem de sequência.
Usando o TensorFlow Text, você pode fazer o seguinte:
- Aplique tokenizers ricos em recursos que podem dividir strings em espaços em branco, separar palavras e pontuação e retornar deslocamentos de bytes com tokens, para que você saiba onde uma string pode ser encontrada no texto de origem.
- Verifique se um token corresponde a um padrão de string especificado. Você pode verificar letras maiúsculas, pontuação, dados numéricos e outros recursos de token.
- Combine tokens em n-gramas.
- Processe o texto no gráfico do TensorFlow para que a tokenização durante o treinamento corresponda à tokenização na inferência.
Onde começar
Os recursos a seguir ajudarão você a começar a usar o processamento de texto do TensorFlow:
- TensorFlow Text : Tutoriais, guias e outros recursos para ajudá-lo a processar texto usando TensorFlow Text e KerasNLP.
- KerasNLP : Documentação e recursos para KerasNLP.
- Tutoriais do TensorFlow : a documentação principal do TensorFlow (este guia) inclui vários tutoriais de processamento de texto.
- Google Machine Learning: guia de classificação de texto : uma introdução passo a passo à classificação de texto. Este é um bom lugar para começar se você for novo no aprendizado de máquina.