O que é processamento de linguagem natural?
O processamento de linguagem natural (NLP) é um tipo de Machine Learning que permite que as pessoas se comuniquem com a inteligência artificial usando a linguagem humana.
Visão geral do processamento de linguagem natural
Visão geral e definição de NLP
O processamento de linguagem natural (NLP) é um ramo fascinante da IA que possibilita que pessoas e máquinas se comuniquem entre si usando uma linguagem cotidiana. A maneira como você dá comandos de voz à Siri ou obtém traduções no Google são exemplos de NLP em ação, pois ambos demonstram que o software compreende e responde à linguagem humana.
Como o NLP se relaciona com a IA?
A maioria das pessoas não são programadores ou usuários avançados de software, que é uma das razões pelas quais o processamento de linguagem natural é tão útil. O software pode ter uma curva de aprendizado íngreme, e o NLP permite que você use até mesmo softwares complexos sem a necessidade de se tornar um especialista. Na verdade, o NLP permite que você simplesmente descreva o que deseja para uma IA da mesma forma que explicaria a um amigo.
O termo IA abrange uma ampla gama de tecnologias, mas o NLP é um ramo que se concentra nos desafios da linguagem humana. Para serem verdadeiramente úteis, as soluções de NLP precisam fazer mais do que apenas captar as palavras que você diz. Os sistemas de NLP precisam entender o contexto e a intenção nas entrelinhas. Para tornar isso possível, os desenvolvedores de NLP usam outras tecnologias de IA, como Machine Learning e deep learning.
Por que o processamento de linguagem natural é importante?
O processamento de linguagem natural permite que você use tecnologias que seriam difíceis de usar. Além disso, ele possibilita que os computadores entendam o texto e a fala de uma forma que não era possível antes do NLP. Confira alguns dos benefícios do NLP a seguir:
O NLP ajuda as pessoas a serem mais produtivas
No trabalho, o processamento de linguagem natural pode viabilizar maior eficiência ao permitir que você use a automação de tarefas repetitivas ou demoradas. Por exemplo, um departamento de atendimento ao cliente pode utilizar chatbots baseados em NLP para lidar com as consultas de rotina do cliente. Ou ainda, um departamento de contabilidade pode usar sistemas habilitados por NLP para obter informações-importantes de faturas e recibos e utilizá-las para preencher um banco de dados ou uma planilha.
Como benefícios adicionais, a automação da entrada e do processamento de dados reduz as chances de erro humano e acelera os workflows. Quando um sistema consegue entender a linguagem humana bem o suficiente para efetuar tarefas básicas, a produtividade aumenta, permitindo que os usuários se concentrem em tarefas de maior valor.
O NLP ajuda a melhorar a experiência do cliente
Quando você tenta se comunicar com uma empresa por telefone mas não consegue porque o atendimento automático de chamadas é confuso, você está usando um sistema de respostas interativas por voz mal treinado. Mas um chatbot com NLP bem treinado pode proporcionar aos clientes uma experiência mais intuitiva. Um site de e-commerce com um sistema habilitado por NLP, por exemplo, pode analisar quais produtos um cliente buscou. Ao entender quais produtos são do interesse do cliente, o sistema sugere aqueles que ele provavelmente gostaria de comprar.
Os chatbots de atendimento ao cliente baseados em NLP aprimoram as experiências respondendo a perguntas ou resolvendo problemas rapidamente. Esses chatbots podem ser projetados para ter um histórico completo das interações do cliente e reconhecer problemas que ele teve no passado.
O NLP cria novos insights
Você já deve ter enviado um e-mail para uma empresa para fazer perguntas, dar sugestões ou registrar uma reclamação – e depois ficou com a impressão de que ninguém o lê. E isso pode ser verdade, porque poucas empresas têm tempo para ler todos os feedbacks que recebem dos clientes. Mas a IA habilitada por NLP tem tempo. Ela pode analisar enormes conjuntos de dados, como as conversas de clientes nos sites. Em seguida, pode fornecer às empresas um resumo confiável dessas discussões para que elas possam corrigir o problema.
Como funciona o processamento de linguagem natural?
Saiba como o NLP viabiliza a conversa entre humanos e máquinas. As etapas a seguir se aplicam à linguagem no formato de texto. O NLP para a linguagem falada é um pouco diferente, mas segue os mesmos princípios gerais.
Vamos usar uma frase de exemplo em inglês para mostrar como o processo funciona:
"I like demonstrating how natural language processing works." ("Eu gosto de demonstrar como o processamento de linguagem natural funciona.")
O algoritmo começa com o pré-processamento de texto.
Pré-processamento de texto
O pré-processamento de texto se refere à simplificação do texto que as pessoas criam para facilitar o processamento da linguagem humana pelos algoritmos de NLP.
- Tokenização
Tokenização é o processo de decompor as palavras e a pontuação de uma frase em tokens. Ela é importante porque os algoritmos de NLP processam tokens com mais eficiência do que textos ao executar tarefas como indexação e pesquisa. A frase de exemplo em inglês contém oito palavras: "I like demonstrating how natural language processing works." Ela também tem um ponto final, então são oito tokens contando as palavras e mais um contando o ponto final, totalizando nove tokens.
- Conversão em minúsculas
É o processo de converter todos os tokens em minúsculas a fim de tornar o conjunto de dados mais simples. Na frase de exemplo, um dos tokens era "I". Para evitar ambiguidades e aumentar a eficiência, a etapa de conversão em minúsculas converte todas essas maiúsculas em "i". As regras para conversão em minúsculas se tornam mais complexas em outras partes do processo.
- Remoção de stop words (palavras irrelevantes)
Outra maneira de simplificar o texto para o processamento de linguagem natural é remover palavras que não têm significado relevante, chamadas de stop words. Na frase de exemplo, as palavras "i" e "how" normalmente seriam consideradas stop words. Quando um algoritmo as remove, ficam restando sete tokens, que são "like", "demonstrating", "natural", "language", "processing", "works" e ".".
- Stemming e lematização
Mesmo com os sete tokens restantes, há espaço para mais simplificação. O método de stemming consiste em reduzir uma palavra à sua base ou raiz. O token "demonstrating" é uma palavra que se baseia no radical "demonstr", assim como "natural" se baseia em "natur", de modo que o modelo substitui os tokens originais pelos radicais "demonstr" e "natur".
Uma palavra pode ter significados diferentes em diferentes contextos, e a lematização é o processo de determinar o significado correto em um contexto específico. A frase de exemplo inclui "like", que pode significar "curtir" ou "semelhante a". Nesse caso, a lematização resultaria na atribuição do contexto em que "like" significa "curtir".
Representação de texto
A próxima etapa é a representação de texto, que consiste em converter palavras em um formato numérico que uma máquina possa processar. Além de números, o texto pode ser convertido em vetores ou incorporações, que são formatos mais complexos que fornecem informações como contexto.
- BoW (saco de palavras)
Os computadores são ótimos em contagem, e a medição BoW conta quantas vezes uma palavra aparece em um documento. Se as palavras "time", "jogo" e "pontuação" aparecem com frequência em um documento, por exemplo, é mais provável que o contexto seja esporte. A frase de exemplo em inglês contém apenas uma ocorrência de cada palavra. A representação BoW mostraria que cada palavra ocorre apenas uma vez, assim:
{"i": 1, "like": 1, "demonstrating": 1, "how": 1, "natural": 1, "language": 1, "processing": 1, "works": 1}
- TF-IDF (frequência de termo-frequência inversa nos documentos)
O TF-IDF usa uma fórmula baseada na frequência com que uma palavra aparece em um conjunto de dados geral composto por vários documentos para determinar a importância de uma palavra. Quanto mais uma palavra aparece, menor é seu peso no TF-IDF, e menos importante ela é em um único documento. Palavras como "the" e "a" aparecem com bastante frequência e, portanto, são menos importantes. Você representaria os pesos da frase de exemplo de maneira semelhante a esta, mostrando que palavras comuns têm pesos menores e palavras incomuns têm pesos maiores:
{"i": 0.1, "like": 0.1, "demonstrating": 0.3, "how": 0.1, "natural": 0.2, "language": 0.2, "processing": 0.5, "works": 0.1}
Análise de texto
A análise de texto é o ponto em que um algoritmo de NLP extrai significado do texto. É assim que um algoritmo consegue produzir respostas apropriadas à consulta do usuário.
- Reconhecimento de entidades nomeadas (NER)
Depois de realizar algumas análises quantitativas, os algoritmos de NLP procuram palavras que possam ser reconhecidas como nomes de algo. A palavra em inglês "apple" (maçã) refere-se a um tipo de fruta, mas a palavra "Apple" refere-se a uma empresa específica, e um algoritmo de NLP precisa reconhecer a diferença de alguma maneira. A frase de exemplo em inglês, "I like demonstrating how natural language processing works", inclui as palavras "natural language processing", que as pessoas reconhecem como o nome de uma tecnologia de IA. Isso é representado da seguinte forma:
Saída de NER: [("natural language processing", "Technology")]
- Análise de opiniões
Alguns conjuntos de dados, como um catálogo de peças de cortador de grama, talvez não tenham um tom emocional significativo. Mas uma crítica de filme pode ter um tom emocional forte. Se um conjunto de dados tiver um tom, a análise de opinião é a etapa no processamento de linguagem natural que o captura. Para a frase de exemplo, a análise de opinião pode ser assim:
Saída de opinião: positivo
Análise sintática
Cada frase tem uma estrutura gramatical. A análise sintática é o processo de analisar essa estrutura para encontrar substantivos, verbos, sujeitos etc. Isso é importante porque cada idioma tem uma sintaxe diferente, portanto, a análise sintática é vital para a tradução automática. Para a frase de exemplo, a análise sintática pode gerar este resultado:
Árvore de sintaxe: (ROOT (S (NP (PRP I)) (VP (VBP like) (S (VP (VBG demonstrating) (SBAR (WHADVP (WRB how)) (S (NP (NNP Natural) (NNP Language) (NNP Processing)) (VP (VBZ works)))))))))
Dependendo do algoritmo específico, normalmente haverá etapas adicionais. O resultado é uma conversa em que a máquina parece entender suas palavras e intenção e responde a você em linguagem natural.
Quais são os exemplos de tarefa de processamento de linguagem natural?
Controlar um drone com comandos de voz
Mesmo a tecnologia mais poderosa terá um valor limitado se você não souber como usá-la. O processamento de linguagem natural torna a tecnologia mais acessível. Ele reduz a necessidade de conhecimento técnico especializado para obter os benefícios do hardware ou software avançado. Os usuários podem interagir com os sistemas habilitados por NLP por meio de conversas naturais em vez de depender de comandos, codificação ou controles físicos complexos.
Por exemplo, um aplicativo de controle remoto para pequenos drones pode permitir que você simplesmente diga a um drone para fazer algo como girar no ar, sem a necessidade de aprender os controles complexos que você normalmente precisaria usar. A capacidade de usar comandos de voz simples possibilita que mais pessoas usem tecnologia.
Obter insights melhores para a gestão da marca
As pessoas expressam seus pensamentos e preferências todos os dias, e as empresas têm acesso a muitos desses dados. As empresas já usam dados como vendas de produtos para entender alguns aspectos do comportamento do cliente. Com soluções de processamento de linguagem natural, os computadores também podem transformar conversas em mídias sociais e avaliações de clientes online em informações muito úteis.
Os insights do NLP são um tipo de informação diferente da análise de vendas tradicional. As empresas usam números de vendas para insights operacionais, como previsões ou gestão de recursos, mas a análise baseada em NLP pode ser mais poderosa na gestão da marca ou na melhoria da experiência do cliente.
Evitar a sobrecarga de informações
Se você tem um endereço de e-mail no trabalho, a sobrecarga de informações pode parecer inevitável. Um colaborador médio recebe mais de 120 e-mails por dia, portanto, não é de se surpreender que cerca de 60% dos colaboradores simplesmente ignorem os e-mails internos da empresa. Mas se o seu aplicativo de e-mail tem recursos de NLP, ele pode ajudar a evitar a sobrecarga de informações. Ele pode filtrar, categorizar e priorizar e-mails para que os mais importantes recebam a atenção necessária.
Da mesma forma, os sistemas de NLP integrados ao software de colaboração podem transcrever e resumir reuniões. Eles podem até mesmo reconhecer e capturar os pontos importantes levantados durante uma reunião e relatar itens de ação atribuídos. Esse tipo de automação habilitada para NLP ajuda as pessoas a economizar tempo e aumenta a eficiência organizacional geral.
Casos de uso de processamento de linguagem natural
O NLP está transformando os setores. As aplicações de NLP aumentam a eficiência dos colaboradores, melhoram a experiência do cliente e viabilizam decisões estratégicas em uma ampla gama de setores. Veja abaixo alguns casos de uso notáveis de NLP em diferentes setores.
Análise de defeitos: identificar defeitos comuns por meio da análise de notas de técnicos, reclamações do cliente e solicitações de garantia.
Comunicação com fornecedores: viabilizar o procurement pontual de materiais com a análise de e-mails e documentos de fornecedores.
Detecção de fraudes: identificar anomalias que indiquem fraude por meio do monitoramento e análise de padrões de transação.
Aceleração comercial: automatizar a execução comercial com base na análise de dados em tempo real.
Documentação clínica: transcrever e gerenciar prontuários médicos.
Análise dos dados do paciente: informar os diagnósticos por meio da identificação de padrões nos registros do paciente.
Análise de contratos e verificação de compliance: automatizar a revisão de documentos quanto ao compliance regulatório, entre outros.
Automação da descoberta legal: isolar rapidamente informações pertinentes de grandes quantidades de documentos.
Automação do processamento de reclamações: extrair e validar informações de formulários de reclamação e relatórios médicos enviados.
Avaliação de riscos: melhorar a precisão da avaliação de riscos por meio da extração automatizada de dados de registros médicos e questionários de estilo de vida.
Análise de logs de manutenção: analisar anotações do pessoal de manutenção para prever e evitar falhas no equipamento.
Interpretação de dados geológicos: extrair e resumir dados de fontes como relatórios geológicos, registros de perfuração e trabalhos de pesquisa.
Otimização da listagem de propriedades: gerar descrições chamativas a partir das características da propriedade.
Qualificação de leads: analisar e-mails e consultas online para priorizar de acordo com a prontidão para compra.
Otimização de estoque: prever a demanda com a análise de dados de vendas.
Recomendações personalizadas de produtos: criar experiências de compra mais individualizadas pela análise do histórico de compras.
Abordagens ao processamento de linguagem natural
A maioria das abordagens ao processamento de linguagem natural se enquadra em uma de duas grandes categorias: abordagem baseada em regras ou abordagem baseada em Machine Learning.
NLP baseado em regras
Essa abordagem tenta identificar um conjunto de regras linguísticas que um computador pode seguir para entender e gerar linguagem humana de maneira confiável. Por isso, ela é fortemente orientada para os aspectos linguísticos da linguística computacional. As abordagens baseadas em regras podem ser altamente eficazes se você estiver usando conjuntos de dados em que a linguagem é controlada e previsível, como documentos jurídicos ou manuais técnicos.
NLP baseado em Machine Learning
Uma abordagem ao NLP baseada em Machine Learning usa vários métodos estatísticos e abordagens algorítmicas. Em vez de gerar as regras com antecedência, o objetivo é deixar que o computador aprenda a se comunicar com base em um enorme conjunto de dados. A ideia é que, depois que um computador processar exemplos suficientes de linguagem humana, ele identifique os padrões que contribuem para uma boa linguagem humana. Se você tiver conjuntos de dados grandes o suficiente, as abordagens ao NLP baseadas em Machine Learning podem ser bastante flexíveis e extremamente eficazes.
Uma breve história do processamento de linguagem natural
O processamento de linguagem natural como um ramo da IA começou a se desenvolver na década de 1940. Nas décadas de 1980 e 1990, as soluções de computação tornaram-se mais poderosas e o Machine Learning começou a amadurecer. Mais recentemente, a ascensão do deep learning, das redes neurais e de várias formas de IA generativa transformou completamente o processamento de linguagem natural.
Eventos na evolução do NLP
- Anos 1940 | Primeiros desenvolvimentos de NLP, incluindo o memorando de Weaver sobre tradução automática.
- Anos 1950 | Introdução da "gramática universal"; proposta do Teste de Turing; surgimento do deep learning.
- Anos 1960 | Início dos chatbots, tais como o ELIZA, e evolução das teorias linguísticas que fundamentam o NLP.
- Anos 1970 | Surgimento da teoria da gramática de casos e das redes semânticas; amadurecimento dos sistemas baseados em regras e proliferação dos chatbots.
- Anos 1980 | Desenvolvimento inicial de algoritmos de Machine Learning; evolução das tecnologias de reconhecimento de fala; expansão da linguística computacional e surgimento da teoria de RNN.
- Anos 1990 | Surgimento dos modelos estatísticos e LSTMs, e expansão da tradução automática.
- Anos 2000 | Rápida evolução do Machine Learning e desenvolvimento dos modelos de linguagem neural; acessibilidade a grandes quantidades de dados falados e textuais.
- Anos 2010 | Aumento significativo nos dados e na computação disponíveis, viabilizando a rápida evolução do deep learning.
- Anos 2020 | Ascensão dos grandes modelos de linguagem, modelos de linguagem pré-treinados e transformadores.
Visão geral da tecnologia de processamento de linguagem natural
Processamento de linguagem natural é um termo genérico que abrange uma série de tecnologias e técnicas que possibilitam que as máquinas entendam e produzam linguagem humana. Toda tecnologia que habilita o NLP se enquadra em uma das duas capacidades a seguir.
Subcategorias de NLP
O processamento de linguagem natural abrange uma série de tecnologias e técnicas. Mas o principal objetivo do NLP é tornar possível que as máquinas entendam e produzam a linguagem humana. Estas duas capacidades são os principais componentes do processamento de linguagem natural:
- Compreensão da linguagem natural (NLU): o foco da compreensão da linguagem natural é entender e interpretar a linguagem humana. Para fazer isso, os sistemas NLU precisam ser capazes de analisar a sintaxe e a semântica, bem como entender como o contexto afeta o significado na linguagem humana. Isso pode assumir formas como a compreensão de perguntas faladas ou a execução de tarefas com base em instruções faladas.
- Geração de linguagem natural (NLG): a geração de linguagem natural se concentra na produção de texto ou fala semelhante à humana. Para fazer isso, os sistemas NLG precisam ser capazes de transformar dados não estruturados em linguagem natural compreensível. Isso pode significar resumir informações ou até manter conversas.
O papel do Machine Learning no NLP
O que um computador poderia fazer se pudesse aprender novas habilidades sozinho? É isso que o Machine Learning faz. O Machine Learning permite que computadores aprendam a realizar tarefas sozinhos, sem nenhuma instrução específica.
Para o NLP, o Machine Learning se desenvolve por meio da criação de modelos que permitem a compreensão e a geração de linguagem natural. Ele usa técnicas que incluem o aprendizado supervisionado, que se refere ao treinamento de modelos com dados rotulados, e o aprendizado não supervisionado, que é o treinamento de modelos com dados não rotulados.
O papel do deep learning no NLP
O deep learning é uma forma específica de Machine Learning que usa redes neurais com várias camadas, e por isso é "deep" ou profundo. O "learning" ou aprendizado refere-se ao uso de algoritmos que identificam e modelam padrões complexos em conjuntos de dados. O deep learning é importante no NLP porque o aprimorou em determinadas tarefas, tais como tradução de idiomas, análise de opinião em um conjunto de dados e geração de texto.
Como as redes neurais aprimoram o NLP
As redes neurais são baseadas na ideia de usar o cérebro humano como um modelo de como processar dados. Elas permitem que os sistemas de NLP sejam altamente precisos tanto na compreensão quanto na geração de linguagem humana. As redes neurais podem ter várias arquiteturas e são fundamentais para habilitar aplicativos como assistentes virtuais, chatbots. bem como de análise automática de texto.
Descubra o que o NLP pode fazer por sua empresa
Conheça o Joule: o copiloto de IA da SAP que ajuda você a resolver desafios de negócios difíceis com mais rapidez, inteligência e melhores resultados. É só dizer a palavra.
Linguística computacional e NLP
Linguística computacional é o campo de estudo que combina ciência da computação e linguística com foco no processamento de linguagem natural. Ela cria uma base teórica para que os computadores possam entender a linguagem humana.
- Sintaxe
Estuda a estrutura das frases e as regras que determinam se as frases estão gramaticalmente corretas ou não.
Sintaxe em inglês: "The cat sits on the mat." (O gato senta-se no tapete.)
Sintaxe incorreta em inglês: "Cat the on mat sits." (Gato no tapete senta.)
- Semântica
Estuda o significado na linguagem, inclusive como as palavras e as frases representam objetos, ações e ideias.
Frase em inglês: "The cat is on the mat." (O gato está no tapete.)
Interpretação semântica: O significado é que há um gato fisicamente em cima de um tapete.
- Pragmática
Estuda a maneira como o contexto influencia a interpretação da linguagem.
Frase: "Can you pass the salt?" (Você pode passar o sal?)
Interpretação pragmática: embora seja uma pergunta sobre habilidade, o contexto mostra que você deve entender que se trata de um pedido educado para que alguém passe o sal.
A linguística computacional é importante porque conecta os pontos entre a teoria linguística e as aplicações reais do NLP.
Perguntas frequentes
Os quatro subcampos principais são:
1. Compreensão da linguagem natural (NLU) – tem como foco permitir que os computadores entendam o significado e a intenção por trás da linguagem.
2. Geração de linguagem natural (NLG) – permite textos legíveis por humanos a partir de dados estruturados.
3. Reconhecimento de fala – converte a língua falada em texto.
4. Síntese da fala – converte texto escrito em linguagem falada.