O que é o processamento de linguagem natural?
O processamento de linguagem natural é uma forma de aprendizagem automática que permite às pessoas comunicar com inteligência artificial (IA) utilizando a linguagem humana.
default
{}
default
{}
primary
default
{}
secondary
Visão geral do processamento de linguagem natural
Visão geral e definição de PLN
O processamento de linguagem natural (PLN) é um ramo fascinante da IA que permite que pessoas e máquinas comuniquem entre si em linguagem corrente. A forma como dá comandos de voz à Siri ou obtém traduções no Google são ambos exemplos de PLN em ação, pois ambos mostram o software a compreender e a responder à linguagem humana.
Como se relaciona o PLN com a IA?
A maioria das pessoas não são programadores nem utilizadores avançados de software, o que é uma das razões pelas quais o processamento de linguagem natural é tão útil. O software pode ter uma curva de aprendizagem acentuada, e o PLN permite-lhe utilizar até mesmo software complexo sem precisar de se tornar um especialista. Na verdade, o PLN permite-lhe simplesmente descrever o que pretende a uma IA da mesma forma que o explicaria a um amigo.
O termo IA abrange uma vasta gama de tecnologias, mas o ramo de PLN foca-se nos desafios da linguagem humana. Para serem verdadeiramente úteis, as soluções de PLN têm de fazer mais do que apenas captar as palavras que diz. Os sistemas de PLN têm de compreender o contexto e a intenção por detrás das suas palavras. Para tornar isso possível, os programadores de PLN utilizam outras tecnologias de IA, como aprendizagem automática e aprendizagem profunda.
Porque é importante o processamento de linguagem natural?
O processamento de linguagem natural permite-lhe utilizar tecnologia que, de outra forma, poderia ser difícil de usar. Também permite que os computadores compreendam texto e fala de uma forma que não era possível antes do PLN. Aqui estão alguns dos benefícios da PNL:
O PLN ajuda as pessoas a serem mais produtivas
No trabalho, o processamento de linguagem natural pode aumentar a sua eficiência ao permitir-lhe utilizar a automação para tarefas repetitivas ou demoradas. Por exemplo, um departamento de apoio ao cliente pode utilizar chatbots com tecnologia de PLN para tratar de questões rotineiras dos clientes. Ou, um departamento de contabilidade pode utilizar sistemas com NLP para extrair informações-chave de faturas e recibos e usá-las para preencher uma base de dados ou uma folha de cálculo.
Como benefícios adicionais, a automatização da introdução e processamento de dados reduz as hipóteses de erro humano e acelera os fluxos de trabalho. Quando um sistema consegue compreender a linguagem humana suficientemente bem para assumir tarefas básicas, aumenta a produtividade ao permitir que os utilizadores se concentrem em tarefas de maior valor.
O PLN ajuda a melhorar as experiências dos clientes
Quando tenta contactar uma empresa por telefone mas não consegue ultrapassar um sistema telefónico confuso, está a experienciar um sistema de resposta de voz interativa mal configurado. Mas um chatbot de PLN bem treinado pode proporcionar aos clientes uma experiência mais intuitiva. Um site de comércio eletrónico com um sistema habilitado por PLN, por exemplo, pode analisar quais produtos um cliente tem pesquisado no site. Ao compreender quais produtos interessam a um cliente, o sistema pode então sugerir produtos que o cliente provavelmente irá desejar.
Os chatbots de atendimento ao cliente com tecnologia NLP melhoram as experiências ao responder rapidamente a perguntas ou resolver problemas. Estes chatbots podem ser concebidos para ter um histórico completo das interações de um cliente e reconhecer problemas que o cliente teve no passado.
PNL cria novos conhecimentos
Se alguma vez enviou um e-mail a uma empresa para fazer uma pergunta, dar um conselho ou apresentar uma reclamação, pode parecer que ninguém sequer o lê. E isso pode ser verdade, porque poucas empresas têm tempo para ler todos os comentários dos clientes que recebem. Mas a IA com NLP tem tempo. Pode analisar grandes conjuntos de dados, como conversas de clientes em sites web. Pode então fornecer às empresas um resumo fiável dessas discussões, para que a empresa possa corrigir o problema.
Como funciona o processamento de linguagem natural?
Eis como o PLN torna possíveis as conversas entre humanos e máquinas. Os passos seguintes aplicam-se à linguagem sob a forma de texto. O PLN para linguagem falada é um pouco diferente, mas segue os mesmos princípios gerais.
Vamos usar uma frase de exemplo para mostrar como o processo funciona:
“Gosto de demonstrar como funciona o processamento de linguagem natural.”
O algoritmo começa com o pré-processamento do texto.
Pré-processamento de texto
O pré-processamento de texto refere-se à simplificação do texto criado pelas pessoas para facilitar o processamento da linguagem humana por algoritmos de PLN.
- Tokenização
A tokenização é o processo de dividir as palavras e a pontuação de uma frase em tokens. A tokenização é importante porque é mais eficiente para os algoritmos de PLN processarem tokens do que texto ao realizar tarefas como indexação e pesquisa. A frase de exemplo tem oito palavras: “Gosto de demonstrar como funciona o processamento de linguagem natural.” Também tem um ponto final, por isso obtém oito tokens ao contar as palavras e um ao contar o ponto final, num total de nove tokens.
- Converter para minúsculas
A conversão para minúsculas é o processo de transformar todos os tokens em tokens em minúsculas para simplificar o conjunto de dados. Na frase de exemplo, um dos tokens era “Eu”. Para evitar ambiguidades e aumentar a eficiência, o passo de conversão para minúsculas transforma esses tokens em maiúsculas em “i”. As regras para converter em minúsculas tornam-se mais complicadas noutras partes do processo.
- Remover palavras de paragem
Outra forma de simplificar o texto para o processamento de linguagem natural é remover palavras que não têm significado relevante, chamadas de palavras de paragem. Na frase de exemplo, as palavras “i” e “how” seriam normalmente designadas como palavras irrelevantes. Quando um algoritmo os remove, ficam sete tokens, que são “como”, “demonstrar”, “processamento”, “de”, “linguagem”, “natural” e “.”.
- Radicalização e lematização
Mesmo com os sete tokens restantes, ainda há espaço para mais simplificação. Um método, chamado stemming, consiste em reduzir uma palavra à sua forma base ou raiz. O token “demonstrating” é uma palavra que se baseia no radical “demonstr”, tal como “natural” se baseia em “natur”, por isso o modelo substitui os tokens originais pelos radicais “demonstr” e “natur”.
Uma palavra pode ter significados diferentes em contextos distintos, e a lematização é o processo de determinar o significado correto num determinado contexto. A frase de exemplo inclui “like”, que pode significar “gostar” ou “semelhante a”. Neste caso, a lematização resultaria em atribuir o contexto em que “like” significa “gostar”.
Representação de texto
O passo seguinte é a representação do texto, que consiste em converter palavras para um formato numérico que uma máquina possa processar. Para além dos números, o texto pode ser convertido em vetores ou embeddings, que são formatos mais complexos que fornecem informações como o contexto.
- Saco de palavras (BoW)
Os computadores são excelentes a contar, e a métrica BoW conta quantas vezes uma palavra aparece num documento. Se as palavras equipa, jogo e pontuação aparecem frequentemente num documento, por exemplo, o contexto é mais provavelmente desportivo. A frase de exemplo tem 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 de documento)
O TF-IDF utiliza uma fórmula baseada na frequência com que uma palavra aparece num conjunto de dados global composto por muitos documentos para determinar a importância dessa palavra. Quanto mais vezes uma palavra aparece, menor é o seu peso TF-IDF e menos importante ela é num único documento. Palavras como “o” e “um” aparecem com bastante frequência e, por isso, são menos importantes. Representaria os pesos da frase de exemplo de uma forma semelhante a esta, mostrando que as palavras comuns têm pesos mais baixos e as palavras incomuns têm pesos mais elevados:
{“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 momento em que um algoritmo de PLN extrai significado do texto. É assim que um algoritmo pode produzir respostas adequadas à consulta do utilizador.
- Reconhecimento de entidades nomeadas (NER)
Depois de realizar alguma análise quantitativa, os algoritmos de PLN procuram em seguida por palavras que sejam reconhecíveis como nomes de algo. A palavra maçã refere-se a um tipo de fruta, mas a palavra Apple refere-se a uma empresa específica, e um algoritmo de PLN precisa de uma forma de reconhecer a diferença. A frase de exemplo, “Gosto de demonstrar como funciona o processamento de linguagem natural”, inclui as palavras “processamento de linguagem natural”, que as pessoas podem reconhecer como o nome de uma tecnologia de IA. Isto é representado da seguinte forma:
Resultado NER: [(“processamento de linguagem natural”, “Tecnologia”)]
- Análise de opiniões
Alguns conjuntos de dados, como um catálogo de peças para corta-relva, podem não ter um tom emocional significativo. Mas uma crítica de cinema pode ter um tom emocional forte. Se um conjunto de dados tiver um tom, a análise de sentimento é a etapa no processamento de linguagem natural que o capta. Para a frase de exemplo, a análise de sentimento pode ser a seguinte:
Resultado do Sentimento: Positivo
Análise sintática
Cada frase tem uma estrutura gramatical. A análise sintática é o processo de analisar essa estrutura para identificar substantivos, verbos, sujeitos, etc. Isto é importante porque diferentes línguas utilizam sintaxes diferentes, por isso 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 Sintática: (ROOT (S (NP (PRP Eu)) (VP (VBP gosto) (S (VP (VBG de demonstrar) (SBAR (WHADVP (WRB como)) (S (NP (NNP Processamento) (NNP de) (NNP Linguagem) (NNP Natural)) (VP (VBZ funciona)))))))))
Dependendo do algoritmo específico, normalmente haverá passos adicionais. O resultado é uma conversa em que a máquina parece compreender as suas palavras e intenções e responde-lhe em linguagem natural.
Quais são exemplos de tarefas de processamento de linguagem natural?
Controlar um drone com comandos de voz
Mesmo a tecnologia mais avançada tem valor limitado se não souber como utilizá-la. O processamento de linguagem natural torna a tecnologia mais acessível. Reduz a necessidade de conhecimentos técnicos especializados para obter os benefícios de software avançado ou hardware. Os utilizadores podem interagir com sistemas equipados com PLN através de conversação natural, em vez de dependerem de comandos complexos, programação ou controlos físicos.
Por exemplo, uma aplicação de controlo remoto para pequenos drones pode permitir-lhe simplesmente dizer a um drone para fazer algo como dar uma cambalhota no ar, sem necessidade de aprender os controlos complexos que, de outra forma, teria de utilizar. A capacidade de utilizar comandos de voz simples permite que mais pessoas usem a tecnologia.
Obter melhores insights para a gestão de marcas
As pessoas expressam os seus pensamentos e preferências todos os dias, e as empresas têm acesso a grande parte desses dados. As empresas já utilizam dados como as vendas de produtos para compreender alguns aspetos do comportamento dos clientes. Com soluções de processamento de linguagem natural, os computadores também podem transformar conversas nas redes sociais e avaliações de clientes online em informações acionáveis.
Os conhecimentos obtidos através do PLN são um tipo de informação diferente da análise de vendas tradicional. As empresas utilizam os números de vendas para obter informações operacionais, como previsões ou gestão de recursos, mas a análise baseada em PLN pode ser mais poderosa na gestão de marca ou na melhoria das experiências dos clientes.
Prevenir a sobrecarga de informação
Se tem um endereço de e-mail que utiliza para o seu trabalho, a sobrecarga de informação pode parecer inevitável. O/a colaborador/a médio/a recebe mais de 120 e-mails por dia, por isso não é surpreendente que cerca de 60% dos colaboradores/as simplesmente ignorem os e-mails internos da empresa. Mas se a sua aplicação de email tiver capacidades de PLN, pode ajudá-lo a evitar a sobrecarga de informação. Pode filtrar, categorizar e priorizar emails para que os mais importantes recebam a atenção devida.
De forma semelhante, os sistemas de PLN integrados em software de colaboração podem transcrever e resumir reuniões. Podem até reconhecer e registar os pontos-chave abordados durante uma reunião e relatar as tarefas atribuídas. Este tipo de automação com NLP ajuda as pessoas a poupar tempo e aumenta a eficiência geral da organização.
Casos de utilização do processamento de linguagem natural
O PLN está a transformar indústrias. As aplicações de PLN melhoram a eficiência dos colaboradores, proporcionam melhores experiências aos clientes e permitem a tomada de decisões estratégicas, abrangendo uma vasta gama de setores. Abaixo estão alguns casos de uso notáveis de PLN em diferentes setores.
Análise de defeitos: Identificação de defeitos comuns através da análise das notas dos técnicos, reclamações de clientes e pedidos de garantia
Comunicação com fornecedores: Possibilitar a aquisição atempada de materiais através da análise de e-mails e documentos de fornecedores
Deteção de fraude: Identificação de anomalias que indicam fraude através da monitorização e análise de padrões de transações
Aceleração do comércio: Automatização da execução de transações com base na análise de dados em tempo real
Documentação clínica: Transcrição e gestão de notas clínicas
Análise de dados do paciente: Informar diagnósticos através da identificação de padrões nos registos dos pacientes
Análise de contratos e verificação de conformidade: Automatização da revisão de documentos para cumprimento regulamentar e outros tipos de conformidade
Automatização da descoberta legal: Isolar informações pertinentes de grandes volumes de documentos de forma rápida
Automatização do processamento de sinistros: Extração e validação de informações a partir de formulários de sinistro submetidos e relatórios médicos
Avaliação de risco: Melhoria da precisão na avaliação de risco através da extração automatizada de dados de registos médicos e questionários sobre o estilo de vida
Análise do registo de manutenção: Análise das notas do pessoal de manutenção para prever e prevenir falhas de equipamentos
Interpretação de dados geológicos: Extração e resumo de dados a partir de fontes como relatórios geológicos, registos de sondagens e artigos científicos
Otimização de anúncios de propriedades: Geração de descrições envolventes com base nas características do imóvel
Qualificação de leads: Análise de emails e pedidos online para priorizar com base na prontidão para a compra
Otimização de inventário: Previsão da procura através da análise de dados de vendas
Recomendações de produtos personalizadas: Criar experiências de compra mais personalizadas através da análise do histórico de compras
Abordagens de processamento de linguagem natural
A maioria das abordagens ao processamento de linguagem natural enquadra-se numa de duas grandes categorias. Eles adotam uma abordagem baseada em regras ou uma abordagem baseada em aprendizagem automática.
PNL baseada em regras
Esta abordagem procura identificar um conjunto de regras linguísticas que um computador pode seguir para compreender e gerar linguagem humana de forma fiável. Como resultado, está fortemente orientado para os aspetos linguísticos da linguística computacional. As abordagens baseadas em regras podem ser altamente eficazes se estiver a utilizar conjuntos de dados em que a linguagem é controlada e previsível, como documentos legais ou manuais técnicos.
PLN baseada em aprendizagem automática
Uma abordagem baseada em aprendizagem automática para PLN utiliza uma variedade de métodos estatísticos e abordagens algorítmicas. Em vez de criar as regras antecipadamente, o objetivo é permitir que um computador aprenda a comunicar com base num conjunto de dados massivo. A ideia é que, depois de um computador processar exemplos suficientes de linguagem humana, o computador identificará os padrões que constituem uma boa linguagem humana. Se tiver conjuntos de dados suficientemente grandes, as abordagens de PLN baseadas em aprendizagem automática podem ser bastante flexíveis e notavelmente eficazes.
Uma breve história do processamento de linguagem natural
O processamento de linguagem natural, como ramo da IA, começou a desenvolver-se na década de 1940. Nas décadas de 1980 e 1990, as soluções informáticas tornaram-se mais poderosas e o aprendizado automático começou a amadurecer. Mais recentemente, o surgimento do deep learning, das redes neuronais e de várias formas de IA generativa transformou completamente o processamento de linguagem natural.
Eventos na evolução do PLN
- Anos 1940 | Surgem os primeiros desenvolvimentos em PLN, incluindo o Memorando de Weaver sobre tradução automática
- Anos 1950 | “Gramática universal” introduzida; teste de Turing proposto; aprendizagem profunda emerge
- Anos 1960 | Chatbots como a ELIZA surgem e as teorias linguísticas que sustentam o PLN evoluem
- Anos 1970 | Surgem a teoria da gramática de casos e as redes semânticas; os sistemas baseados em regras amadurecem e os chatbots proliferam
- Anos 1980 | Desenvolvem-se os primeiros algoritmos de aprendizagem automática; as tecnologias de reconhecimento de fala evoluem; a linguística computacional expande-se e surge a teoria das RNN
- Anos 1990 | Surgem modelos estatísticos e LSTMs e a tradução automática ganha impulso
- Anos 2000 | O aprendizado automático evolui rapidamente e os modelos neuronais de linguagem desenvolvem-se; grandes quantidades de dados falados e textuais tornam-se acessíveis
- 2010s | Um aumento significativo na disponibilidade de dados e capacidade de computação permite que o deep learning evolua rapidamente
- Década de 2020 | Modelos de linguagem de grande escala, modelos de linguagem pré-treinados e transformers ganham destaque
Visão geral da tecnologia de processamento de linguagem natural
O processamento de linguagem natural é um termo abrangente que engloba uma variedade de tecnologias e técnicas que permitem às máquinas compreender e produzir linguagem humana. Todas as tecnologias que possibilitam o PLN enquadram-se numa dessas duas capacidades.
Subcategorias de PLN
O processamento de linguagem natural abrange uma variedade de tecnologias e técnicas. Mas o principal objetivo do PLN é possibilitar que as máquinas compreendam e produzam a linguagem humana. Estas duas capacidades são os principais componentes do processamento de linguagem natural.
- Compreensão de linguagem natural (NLU): A compreensão de linguagem natural foca em compreender e interpretar a linguagem humana. Para isso, os sistemas de NLU devem ser capazes de analisar a sintaxe, analisar a semântica e compreender a forma como o contexto afeta o significado na linguagem humana. Isto pode assumir formas como compreender perguntas faladas ou realizar tarefas com base em instruções orais.
- Geração de linguagem natural (NLG): A geração de linguagem natural foca na produção de texto ou fala semelhante à humana. Para isso, os sistemas de Geração de Linguagem Natural (NLG) devem ser capazes de transformar dados não estruturados em linguagem natural e fluente. Isto pode significar resumir informações ou até mesmo manter conversas.
O papel do machine learning no PLN
O que poderia um computador fazer se conseguisse ensinar a si próprio novas competências? É isso que é o machine learning. Aprendizagem automática é quando os computadores aprendem a realizar tarefas por si próprios, sem instruções específicas.
Para o PLN, o aprendizado automático assume a forma de criação de modelos que permitem tanto a compreensão como a geração de linguagem natural. Utiliza técnicas que incluem aprendizagem supervisionada, que se refere ao treino de modelos com dados que têm rótulos, e aprendizagem não supervisionada, que é o treino de modelos com dados que não têm rótulos.
O papel do deep learning no PLN
O deep learning é uma forma específica de aprendizagem automática. Utiliza redes neuronais que têm várias camadas, razão pela qual “profundo” faz parte do nome. A “aprendizagem” refere-se à utilização de algoritmos que identificam e depois modelam padrões complexos em conjuntos de dados. O deep learning é importante no PLN porque melhorou significativamente o desempenho do PLN em determinadas tarefas. Estas incluem traduzir entre línguas, analisar o sentimento num conjunto de dados e gerar texto.
Como as redes neuronais melhoram o PLN
As redes neurais baseiam-se na ideia de utilizar o cérebro humano como modelo para o processamento de dados. As redes neuronais permitem que os sistemas de PLN sejam altamente precisos tanto na compreensão como na geração da linguagem humana. As redes neuronais podem ter várias arquiteturas e são fundamentais para possibilitar aplicações como um assistente virtual, chatbot ou análise automática de texto.
Produto SAP
Descubra o que a PNL pode fazer pelo seu negócio
Conheça o Joule: o copiloto de IA da SAP que pode ajudar a resolver desafios empresariais difíceis de forma mais rápida, inteligente e com melhores resultados. É só dizer a palavra.
Linguística computacional e PLN
A linguística computacional é o campo de estudo que combina a ciência da computação e a linguística, com foco no processamento de linguagem natural. Cria uma base teórica para permitir que os computadores compreendam a linguagem humana.
- Sintaxe
Estuda a estrutura das frases e as regras que tornam as frases gramaticais ou agramaticais.
Sintaxe em inglês: “O gato senta-se no tapete.”
Sintaxe incorreta em inglês: “Cat the on mat sits.”
- Semântica
Estuda o significado na linguagem, incluindo como as palavras e frases representam objetos, ações e ideias.
Frase: “O gato está no tapete.”
Interpretação semântica: O significado é que há um gato fisicamente localizado em cima de um tapete.
- Pragmática
Estuda a forma como o contexto influencia a interpretação da linguagem.
Frase: “Pode passar o sal?”
Interpretação pragmática: Embora seja uma pergunta sobre capacidade, o contexto mostra que deve ser entendida como um pedido educado para alguém passar o sal.
A linguística computacional é importante porque estabelece a ligação entre a teoria linguística e as aplicações práticas do PLN.
Perguntas frequentes
As 4 principais subáreas são:
1. Compreensão da linguagem natural (NLU), com foco em permitir que os computadores compreendam o significado e a intenção por detrás da linguagem
2. Geração de linguagem natural (NLG) permite criar texto legível por humanos a partir de dados estruturados
3. Reconhecimento de fala converte linguagem falada em texto
4. Síntese de fala converte texto (ou texto escrito) em linguagem falada