Processamento de texto e linguagem natural com TensorFlow

Antes de treinar um modelo com dados de texto, normalmente é necessário 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 for processado em um formato adequado, você poderá usá-lo em fluxos de trabalho de processamento de linguagem natural (PLN), como classificação de texto, geração de texto, sumarização 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 de PLN de alto nível que inclui todos os modelos mais recentes baseados em transformadores, bem como utilitários de tokenização de nível inferior. É a solução recomendada para a maioria dos casos de uso de PLN. Construído com base no TensorFlow Text, o KerasNLP abstrai 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 acessar as operações de processamento de texto de nível inferior, pode 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 suporta 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 os componentes facilmente. O KerasNLP fornece computação em grafos para todos os fluxos de trabalho, então você pode esperar uma produção fácil usando o ecossistema do TensorFlow.

O KerasNLP contém implementações completas de arquiteturas de modelos populares, como BERT e FNet . Usando modelos, camadas e tokenizadores do KerasNLP, você pode concluir diversos fluxos de trabalho de PNL de última geração, incluindo tradução automática , geração de texto , classificação de texto e treinamento de modelos de transformadores .

O KerasNLP é uma extensão da API principal do Keras, e cada módulo de alto nível do KerasNLP é uma Layer ou Model . Se você conhece o Keras, já entende a maior parte do KerasNLP.

Texto TensorFlow

O KerasNLP fornece módulos de processamento de texto de alto nível, 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 ajudar você a trabalhar com strings de texto bruto e documentos. O TensorFlow Text pode realizar o pré-processamento normalmente exigido por modelos baseados em texto e também inclui outros recursos úteis para modelagem de sequências.

Usando o TensorFlow Text, você pode fazer o seguinte:

  • Aplique tokenizadores 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 capitalização, pontuação, dados numéricos e outros recursos do token.
  • Combine tokens em n-gramas.
  • Processe o texto dentro do gráfico do TensorFlow para que a tokenização durante o treinamento corresponda à tokenização na inferência.

Por onde começar

Os seguintes recursos ajudarão você a começar a usar o processamento de texto do TensorFlow: