flex-height
text-black

Dois cientistas de dados a atualizar código para processamento de linguagem natural

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.

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.

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.

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 “.”.

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.

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}

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.

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”)]

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.

Setor de atividade
Benefícios da PNL
Fabrico automóvel

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

Finanças

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

Saúde

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

Informação legal

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

Seguro de vida e de saúde

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

Petróleo e gás

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

Imobiliário

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

Retalho

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

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.

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.

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.

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.”

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.

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

Porque é que o PLN é difícil?
O processamento de linguagem natural (PLN) é extremamente desafiante devido à ambiguidade e complexidade da linguagem humana. As palavras podem ter vários significados dependendo do contexto, a gramática pode ser subtil e irregular, e pequenas variações na formulação podem alterar drasticamente o significado pretendido. E a diversidade de línguas, dialetos e nuances culturais torna difícil desenvolver modelos universalmente aplicáveis.
Quais são os quatro tipos de PLN?

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