Introdução ao processamento de linguagem natural com o TensorFlow

Concluído

Neste módulo, exploraremos diferentes arquiteturas de rede neural para lidar com um texto de linguagem natural. Nos últimos anos, o NLP (Processamento de Linguagem Natural) passou por um rápido crescimento como campo, devido aos aprimoramentos nas arquiteturas do modelo de linguagem e porque eles foram treinados com corpora de textos cada vez maiores. Como resultado, a capacidade deles de "entender" o texto melhorou muito, e grandes modelos pré-treinados, como o BERT, se tornaram amplamente usados.

Nos concentraremos nos aspectos fundamentais da representação do NLP como tensores no TensorFlow e em arquiteturas NLP clássicas, como o uso do pacote de palavras, incorporações e redes neurais recorrentes.

Tarefas de Linguagem Natural

Há várias tarefas de NLP que tradicionalmente tentamos resolver usando redes neurais:

  • A Classificação de Textos é usada quando precisamos classificar o fragmento de texto em uma das várias classes predefinidas. Os exemplos incluem detecção de spam por email, categorização de notícias, atribuição de solicitação de suporte a categoria e muito mais.
  • A Classificação de Intenção é um caso específico de classificação de textos, quando queremos mapear o enunciado de uma entrada no sistema de IA conversacional em uma das intenções que representam o significado real da frase ou intenção do usuário.
  • A Análise de Sentimento é uma tarefa de regressão, em que queremos entender o grau de positividade de determinado trecho de texto. Talvez seja interessante rotular textos em um conjunto de dados do mais negativo (-1) ao mais positivo (+1) e treinar um modelo que produzirá um número que represente a positividade do texto de entrada.
  • O NER (Reconhecimento de Entidade Nomeada) é a tarefa de extrair entidades de texto, como datas, endereços, nomes de pessoas etc. Juntamente com a classificação de intenção, o NER costuma ser usado em sistemas de diálogo para extrair parâmetros do enunciado do usuário.
  • Uma tarefa semelhante de Extração de Palavras-chave pode ser usada para encontrar as palavras mais significativas dentro de um texto, que podem ser usadas como marcas.
  • O Resumo de Texto extrai as partes mais significativas do texto, fornecendo ao usuário uma versão compactada do texto original.
  • As Respostas às perguntas são uma tarefa para extrair uma resposta de um trecho de texto. Esse modelo escolhe um fragmento de texto e uma pergunta como entrada e encontra o lugar exato no texto que contém a resposta. Por exemplo, o texto "João é um estudante de 22 anos que adora usar o Microsoft Learn", e a pergunta Quantos anos tem João deve nos fornecer a resposta 22.

Neste módulo, vamos nos concentrar principalmente na tarefa de Classificação de Textos. No entanto, aprenderemos todos os conceitos importantes necessários para lidar com tarefas mais difíceis no futuro.

Objetivos de aprendizagem

  • Entender como o texto é processado para tarefas de NLP
  • Saber mais sobre RNNs (Redes Neurais Recorrentes) e GNNs (Redes Neurais Generativas)
  • Saiba mais sobre os mecanismos de atenção
  • Saiba como criar modelos de classificação de texto

Pré-requisitos

  • Conhecimento de Python
  • Noções básicas sobre machine learning