• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. NLP: explorando modelos para Linguagem Natural

    NLP: explorando modelos para Linguagem Natural

    9 min9 minutos de leitura

    9 min9 minutos de leitura

    Publicado: 29/10/2024

    1. O que são modelos de NLP
    2. Conclusão
    3. Créditos

    O Processamento de Linguagem Natural (Natural Language Processing - NLP, em inglês) vem crescendo continuamente e têm recebido muita atenção nos últimos tempos na área de Aprendizado de Máquina.

    Isso acontece pela grande capacidade que os modelos de NLP têm para lidar com conteúdos textuais.

    Através deles, podemos realizar diversas tarefas diferentes envolvendo a linguagem humana, desde a geração até a classificação de texto.

    Neste artigo, vamos entender o que são modelos de NLP, e explorar os diferentes tipos de modelos de NLP, como os seguintes:

    • tradução
    • resumo
    • geração e resposta a textos, entre outros.

    E o melhor de tudo: vamos trazer exemplos práticos com código para você já ter capacidade de aplicar agora mesmo.

    Então, vem comigo nesta leitura e vamos explorar os modelos de NLP!

    O que são modelos de NLP

    Os modelos de NLP podem ser utilizados para realizar diferentes tipos de tarefas relacionadas a textos.

    Somos capazes de utilizar modelos pré-treinados, e até mesmo realizar a tunagem, onde utilizamos um modelo pré-treinado em um conjunto de dados específico para a tarefa que desejamos realizar.

    Para fazer isso, temos diversos modelos robustos disponibilizados gratuitamente em plataformas como o Hugging Face.

    Dito isso, a partir de agora, vamos explorar diversos exemplos de aplicações dos modelos de NLP, entre eles: classificação de texto, classificação zero-shot, resumo de texto, tradução de texto, geração de texto e resposta a textos.

    Classificação de texto

    A classificação de texto tem como objetivo rotular textos. Um exemplo de aplicação seria a análise de sentimentos, onde classificamos um texto em positivo, negativo ou neutro.

    O DISTILBERT é um exemplo de modelo para classificação de texto. Através dele conseguimos digitar um texto e avaliar se foi um comentário positivo ou negativo.

    No exemplo a seguir, vamos utilizar um modelo tunado com foco no inglês a partir do DISTILBERT:

    from transformers import pipeline
    classifier = pipeline(model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
    classifier("This cake looks so delicious!")
    

    Resultado:

    [{'label': 'POSITIVE', 'score': 1.0}]
    

    O resultado final apresenta um rótulo e uma pontuação. O rótulo indica se o comentário foi positivo ou negativo e a pontuação demonstra o nível de positivo/negativo deste comentário.

    No nosso exemplo, a frase inicial diz o seguinte: “Este bolo parece delicioso!”. O resultado marca corretamente que ele foi positivo.

    Classificação zero-shot

    Na classificação zero-shot, você consegue classificar textos que não foram vistos durante o treinamento.

    A ideia é que consigamos utilizar o modelo para outras tarefas, além das que foram treinadas anteriormente.

    Isso acontece sem precisarmos dar nenhum exemplo prévio do texto que desejamos classificar.

    Para isso, podemos utilizar um texto de entrada e definir quais são os possíveis rótulos que podem ser aplicados.

    Com isso, o modelo irá apontar quais rótulos são mais prováveis de pertencer ao texto, apenas com a sua própria capacidade desenvolvida durante seu treinamento inicial.

    Para esse tipo de classificação, podemos utilizar os seguintes modelos:

    • BART
    • Llama
    • Gemma
    • Bloom

    Além disso, podemos utilizar o modelo padrão da tarefa “zero-shot-classification” na função pipeline().

    Como exemplo, vamos fornecer um texto falando que este artigo aborda modelos de NLP, com os possíveis rótulos: educação, política e negócios:

    from transformers import pipeline
    classifier = pipeline("zero-shot-classification")
    classifier(
        "This is a article about NLP models",
        candidate_labels=["education", "politics", "business"],
    )
    

    Resultado:

    {'sequence': 'This is a article about NLP models',
     'labels': ['education', 'business', 'politics'],
     'scores': [0.8445963859558105, 0.111976258456707, 0.043427448719739914]}
    

    Como podemos verificar no resultado, uma pontuação de 0 a 1 é dada para cada rótulo listado. Nesse caso, o rótulo com maior nota foi o de “education” (educação), indicando corretamente o tema do texto inserido.

    Resumo de texto

    Como o próprio nome indica, esse tipo de modelo é capaz de resumir textos. Existem modelos com diferentes capacidades, seja para textos grandes, pequenos, apenas uma linguagem ou várias linguagens.

    Esse resumo pode ser realizado de duas formas: tirando partes importantes do texto e usando para gerar o resumo; ou pegando a ideia principal e escrevendo um resumo com texto novo/criado.

    O modelo padrão utilizado pela tarefa de resumo do pipeline é DISTILLBART. Podemos escolher entre manter a tarefa padrão ou então escolher o modelo que iremos utilizar.

    Alguns exemplos de modelos que são capazes de realizar resumo:

    • BART
    • mT5
    • pegasus

    Para verificar na prática como essa tarefa funciona, vamos manter o seu modelo padrão no pipeline. Como esse modelo aceita apenas textos em inglês, vamos utilizar um texto nessa língua.

    Para isso, vamos usar um texto em inglês explicando o que é NLP:

    from transformers import pipeline
    summarizer = pipeline("summarization")
    summarizer(
        """
        Natural Language Processing (NLP) is a branch of artificial intelligence that focuses on enabling machines to understand, interpret, and generate human language. It bridges the gap between human communication and computer comprehension, making it possible for computers to process large amounts of natural language data. NLP draws on both linguistics and computer science, utilizing algorithms to analyze and understand the structure and meaning of language.
    The process begins with breaking down text into smaller components, such as words or phrases, a step known as tokenization. This is followed by identifying the grammatical role of each word, which helps in understanding the sentence's overall structure. More advanced techniques include recognizing entities like names of people or places, as well as analyzing the sentiment or emotional tone behind the text. NLP also enables machines to translate text from one language to another, making services like Google Translate possible.
    One of the most common uses of NLP is in the development of virtual assistants, like Siri and Alexa, which rely on this technology to understand and respond to voice commands. Sentiment analysis, another key application, is widely used by companies to gauge public opinion on social media or customer feedback. Additionally, NLP has revolutionized machine translation, allowing for more accurate and faster translations across multiple languages. Overall, NLP is transforming how humans interact with technology, providing more intuitive and natural ways for people to communicate with machines.
    """
    )
    

    Resultado:

    [{'summary_text': 'Natural Language Processing (NLP) is a branch of artificial intelligence that enables machines to understand, interpret, and generate human language. It bridges the gap between human communication and computer comprehension. NLP breaks down text, analyzes grammar, recognizes entities, and detects sentiment. Common uses include virtual assistants, sentiment analysis, and machine translation.'}]
    

    Através do resultado final, conseguimos perceber que esse modelo padrão fez o resumo pegando trechos do próprio texto. Dessa forma, conseguimos entender claramente qual os principais pontos do texto.

    Tradução de texto

    A tradução de texto também é uma das tarefas realizadas por modelos de NLP. Assim como os modelos de resumo, eles possuem diferentes capacidades, como tamanho do texto e linguagens.

    Para realizar a tradução, podemos utilizar os seguintes modelos:

    • Helsinki
    • T5
    • NLLB

    As línguas disponíveis para tradução variam de modelo para modelo, onde alguns possuem mais variedade que outros.

    Por exemplo, NLLB é um modelo do Facebook e tem capacidade para 196 línguas, enquanto o T5, do Google, cobre apenas 5.

    Para exemplificar, vamos traduzir um texto do inglês para o português utilizando o modelo do Facebook:

    from transformers import pipeline
    translator = pipeline("translation", model="facebook/nllb-200-distilled-600M", src_lang=”eng_Latn”, tgt_lang=”por_Latn”)
    translator("I am excited to use NLP models..")
    

    Resultado:

    [{'translation_text': 'Eu estou animado para utilizar modelos de NLP.'}]
    

    No caso do modelo utilizado, tivemos que especificar tanto a linguagem de origem, o inglês, quanto a linguagem final, o português. Para isso, temos que inserir o código de cada língua corretamente, de forma que o modelo entenda.

    Geração de texto

    Os modelos de geração de texto são capazes de continuar um texto a partir de uma entrada, como uma frase inicial. Após essa frase, ele gera o restante do texto com base na ideia central do texto inicial.

    Assim como os modelos Classificação Zero-Shot, para esse tipo de tarefa, temos alguns modelos para utilizar:

    • Llama
    • Gemma
    • Bloom
    • Mixtral

    Podemos escolher alguns desses modelos, mas também é possível utilizar o modelo padrão da tarefa, e é isso que vamos fazer para nosso exemplo.

    Vamos dar uma frase inicial para que o modelo continue gerando o restante do texto:

    from transformers import pipeline
    generator = pipeline("text-generation")
    generator("In this article, we will teach you how to")
    

    Resultado:

    [{'generated_text': 'In this course, we will teach you how to understand and use '
                     data flow and data interchange when handling user data. We '
                        'will be working with one or more of the most commonly used '
                        'data flows — data flows of various types, as seen by the '
                        'HTTP'}]
    

    Nesse exemplo, utilizamos a frase “Neste artigo, vamos ensinar você a” para iniciar a geração de texto.

    Como a geração é aleatória, o resultado trouxe um texto falando sobre fluxo de dados. Para obter um resultado novo, basta rodar o código novamente.

    Resposta a textos

    Anteriormente, exploramos um tipo de modelo que consegue gerar textos. Além disso, temos modelos para extrair textos a partir de uma entrada.

    Nesse caso, podemos extrair respostas a perguntas a partir de um dado contexto. Diferente da geração de texto, nesse tipo de tarefa o resultado é retirado do próprio texto inserido.

    Como exemplos de modelos, temos:

    • BERT
    • Roberta
    • Llama

    Para exemplificar, vamos fazer uma pergunta sobre o artigo:

    from transformers import pipeline
    question_answerer = pipeline("question-answering")
    question_answerer(
        question="What is this article about?",
        context="This article focus on NLP models",
    )
    

    Resultado:

    {'score': 0.7385916471481323, 'start': 22, 'end': 32, 'answer': 'NLP models'}
    

    Como podemos perceber, o resultado final é baseado no contexto dado para a pergunta, indicando a pontuação, onde a resposta começa e termina, além de qual é a resposta da pergunta.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Conclusão

    Neste artigo, conseguimos explorar os principais modelos de NLP, onde desvendamos o funcionamento e como aplicar na prática com código.

    Através desses modelos, conseguimos realizar tarefas que vão desde a classificação de texto até a geração de novos textos.

    Além disso, temos acesso a todos esses modelos de forma gratuita, o que nos permite desenvolver aplicações sem maiores custos.

    Durante a leitura, fomos capazes de:

    • Explorar os principais modelos de NLP;
    • Conhecer os modelos para cada tipo de tarefa;
    • Verificar na prática como aplicar cada modelo.

    Quer aprender a desenvolver aplicações utilizando modelos de NLP? Para isso, confira a formação Dominando Hugging Face com Python.

    Além disso, para mais informações sobre modelos de NLP em geral, acesse a documentação do Hugging Face sobre Transformers.

    Um abraço e até mais!

    Créditos

    • Conteúdo: Marcelo Cruz
    • Produção técnica: Rodrigo Dias
    • Produção didática: Tiago de Freitas
    • Designer gráfico: Alysson Manso
    • Apoio: Rômulo Henrique
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Marcelo Cruz

      Autor(a)

      Marcelo Cruz

      Sou formado em Ciência da Computação pela UNIR. Atualmente, sou Instrutor na Escola de Dados. Gosto muito de aprender e compartilhar conhecimento. Apaixonado por Python e Dados.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 02/05/2021

      Melhorando a análise com o Boxplot

      Ler mais
    • 26/08/2024

      Profiling de dados e qualidade: conhecendo bases e aumentando sua usabilidade

      Ler mais
    • 11/06/2024

      MySQL: importando e exportando dados

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura