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

Concluído

Neste módulo, exploraremos diferentes arquiteturas de redes neurais para lidar com texto em linguagem natural. Nos últimos anos, o Processamento de Linguagem Natural (PNL) tem experimentado um rápido crescimento como um campo, tanto por causa de melhorias nas arquiteturas de modelos de linguagem quanto porque eles foram treinados em corpora de texto cada vez maiores. Como resultado, sua capacidade de "entender" o texto melhorou muito, e grandes modelos pré-treinados, como o BERT, tornaram-se amplamente utilizados.

Vamos nos concentrar nos aspetos fundamentais da representação da PNL como tensores no TensorFlow, e nas arquiteturas clássicas de PNL, como o uso de saco de palavras, incorporações e redes neurais recorrentes.

Tarefas de linguagem natural

Existem várias tarefas de PNL que podemos resolver usando redes neurais:

  • A Classificação de Texto é usada quando precisamos classificar um fragmento de texto em uma das várias classes predefinidas. Os exemplos incluem deteção de spam por e-mail, categorização de notícias, atribuição de uma solicitação de suporte a uma categoria e muito mais.
  • A Classificação de Intenção é um caso específico de classificação de texto, onde queremos mapear um enunciado de 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, onde queremos compreender o grau de positividade de um determinado texto. Podemos querer rotular o texto em um conjunto de dados do mais negativo (-1) para o mais positivo (+1) e treinar um modelo que produzirá um número que representará a positividade do texto de entrada.
  • O Reconhecimento de Entidade Nomeado (NER) é a tarefa de extrair entidades do texto, como datas, endereços, nomes de pessoas, etc. Juntamente com a classificação de intenção, o NER é frequentemente 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 tags.
  • O Resumo de Texto extrai as partes mais significativas do texto, dando ao usuário uma versão compactada do texto original.
  • A Resposta a Perguntas é a tarefa de extrair uma resposta de um pedaço de texto. Este modelo usa um fragmento de texto e uma pergunta como entrada e encontra o local exato dentro do texto que contém a resposta. Por exemplo, o texto "John é um estudante de 22 anos que adora usar o Microsoft Learn", e a pergunta Quantos anos tem John deve nos fornecer a resposta 22.

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

Objetivos de aprendizagem

  • Compreender como o texto é processado para tarefas de PNL
  • Saiba mais sobre Redes Neurais Recorrentes (RNNs) e Redes Neurais Generativas (GNNs)
  • Saiba mais sobre os Mecanismos de Atenção
  • Saiba como criar modelos de classificação de texto

Pré-requisitos

  • Conhecimentos de Python
  • Compreensão básica do aprendizado de máquina