Saiba mais sobre análise de linguagem natural
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Discutir os elementos básicos da linguagem natural.
- Descrever várias técnicas importantes usadas na análise de linguagem natural.
- Explicar como a análise de sentimento, intenção e contexto contribuem para o PLN.
Elementos básicos da linguagem natural
O entendimento e o processamento da linguagem natural é um desafio fundamental para os computadores. Isso porque envolve não só reconhecer palavras individuais, mas compreender o relacionamento entre elas, seu contexto e seu significado.
Nossa linguagem natural, em texto e na fala, é caracterizada por muita complexidade, nuances, ambiguidade e erros. Na nossa comunicação do dia a dia, encontramos palavras com vários significados; palavras que soam iguais, mas têm grafia e significados diferentes; modificadores no lugar errado; erros de ortografia e pronunciação errada. Também encontramos pessoas que falam rápido, enrolado ou que são prolixas, e pessoas que usam padrões de fala em sotaques ou dialetos diferentes dos nossos.
Veja esta frase, por exemplo:
“We saw six bison on vacation in Yellowstone National Park.”
Você pode rir um pouco imaginando seis bisões com chapéus e óculos escuros posando para selfies na frente do gêiser Old Faithful. Mas é provável que entenda o que realmente aconteceu: alguém que estava de férias no Parque Nacional de Yellowstone avistou seis bisões.
Ou isto:
“They swam out to the buoy.”
Se ouvir essa frase sem nenhum contexto, pode pensar que as pessoas nadaram até um garoto, quando elas nadaram até uma boia. A pronúncia de "boy" e "buoy" é ligeiramente diferente, mas nem sempre é claro na fala.
Embora os humanos possam ser flexíveis e se adaptar à linguagem com facilidade, treinar um computador para considerar esse tipo de nuance é bem difícil.
Os elementos da linguagem natural em inglês incluem:
-
Vocabulário: as palavras que usamos
-
Gramática: as regras que regem a estrutura de uma oração
-
Sintaxe: como as palavras são combinadas para formar orações com base na gramática
-
Semântica: o significado de palavras, orações e períodos
-
Pragmática: o contexto e a intenção por trás do uso cultural ou geográfico da linguagem
-
Discurso e diálogo: unidades maiores que uma oração ou período, incluindo documentos e conversas
-
Fonética e fonologia: os sons que fazemos quando nos comunicamos
-
Morfologia: como as partes das palavras podem ser combinadas ou fragmentadas para criar novas palavras
Análise da linguagem natural
Ensinar um computador a ler e derivar significado das palavras é um pouco como ensinar uma criança a ler: ambos precisam aprender a reconhecer palavras, seus sons, significados e pronúncia. Mas quando uma criança aprende a ler, ela normalmente tem a vantagem do contexto de uma história; dicas visuais de ilustrações e relacionamentos com coisas que já conhecem, como árvores ou animais. Ela também costuma ter assistência e encorajamento de leitores experientes que ajudam a explicar o que ela está aprendendo. Essas dicas ajudam novos leitores a identificar e atribuir significado a palavras e frases que eles podem generalizar em outras coisas que lerem no futuro.
Sabemos que computadores são um tipo diferente de inteligência, ou seja, embora um computador precise entender os elementos da linguagem natural descritos acima, a abordagem precisa ser bem mais científica. O PLN usa algoritmos e métodos como grandes modelos de linguagem, modelos estatísticos, aprendizagem de máquina, aprendizagem profunda e sistemas baseados em regras para processar e analisar texto. Essas técnicas, chamadas de análise, envolvem dividir texto ou fala em partes menores a fim de classificá-las para o PLN. A análise inclui análise sintática, em que os elementos da linguagem natural são analisados para identificar a estrutura gramatical subjacente, e análise semântica, que avalia o significado.
Como mencionado na última unidade, a linguagem natural é analisada de maneiras diferentes para corresponder aos resultados pretendidos. Por exemplo, a linguagem natural que é analisada para um aplicativo de tradução usa algoritmos ou modelos diferentes e é analisada de maneira diferente da linguagem natural visando uma assistente virtual como a Alexa.
A análise sintática pode incluir:
-
Segmentação: textos maiores são divididos em pedaços menores e relevantes. A segmentação costuma ocorrer ao final de frases, nos sinais de pontuação, a fim de ajudar na organização do texto para mais análises.
-
Tokenização: as frases são divididas em palavras individuais, chamadas de tokens. Em inglês, a tokenização é relativamente simples porque as palavras costumam ser desmembradas em espaços. Em idiomas como tailandês ou chinês, a tokenização é bem mais complicada e depende bastante da compreensão do vocabulário e da morfologia para a tokenização correta da língua.
-
Stemming: as palavras são reduzidas à sua raiz, ou radical. For exemplo, breaking, breaks ou unbreakable são reduzidos a break. O stemming ajuda a reduzir as variações das formas de palavras, mas, dependendo do contexto, pode não levar ao radical mais correto. Veja estes dois exemplos que usam stemming:
“I’m going outside to rake leaves.”
Radical = leave
“He always leaves the key in the lock.”
Radical = leave
-
Lematização: parecido com stemming, a lematização reduz as palavras ao radical, mas indica as formas flexionadas para chegar a uma raiz mais válida, ou lema. Veja os mesmos dois exemplos com lematização:
“I’m going outside to rake leaves.”
Lemma = leaf
“He always leaves the key in the lock.”
Lemma = leave
-
Marcação da classe gramatical: atribui rótulos ou marcas gramaticais a cada palavra com base na classe gramatical, como substantivo, adjetivo, verbo e outros. A marcação de classe gramatical é uma função importante no PLN porque ajuda os computadores a entender a sintaxe de uma oração.
-
Reconhecimento de entidades nomeadas (NER): usa algoritmos para identificar e classificar entidades nomeadas, por exemplo, pessoas, datas, lugares, organizações e outros, no texto para ajudar em tarefas como respostas a perguntas e extração de informações.
Análise semântica
A análise de linguagem natural usando algumas ou todas as etapas que acabamos de descrever funciona muito bem para obter o significado de um texto ou uma fala. Mas faltam as nuances de trato social que tornam a linguagem humana, bem, humana. A análise semântica envolve a análise do formato gramatical das frases e os relacionamentos entre palavras e frases para encontrar a representação do significado. A extração de como as pessoas se sentem, por que elas estão interagindo e detalhes sobre as circunstâncias da interação têm um papel crucial para decifrar corretamente texto ou fala e formar uma resposta apropriada.
Aqui estão várias técnicas de análise comuns que são usadas no PLN. Cada uma dessas técnicas pode ser alimentada por vários algoritmos diferentes para obter o nível desejado de entendimento, dependendo da tarefa específica e da complexidade da análise.
Análise de sentimento: envolve determinar se um trecho de texto (por exemplo, uma oração, uma postagem de mídia social, uma avaliação ou um tweet) expressa um sentimento positivo, negativo ou neutro. Um sentimento é uma emoção ou uma atitude em relação a algo. Por exemplo, a análise de sentimento pode determinar se a avaliação de um cliente sobre um serviço foi positiva ou negativa: "I had to wait a very long time for my haircut.” O sentimento ajuda a identificar e classificar emoções ou opiniões no texto para ajudar empresas a entender como as pessoas se sentem em relação aos seus produtos, serviços ou experiências.
Análise de intenção: a intenção nos ajuda a entender o que alguém quer ou quer dizer com base no que escreve ou fala. É como decifrar o objetivo ou a intenção por trás das palavras. Por exemplo, se alguém digita "I can’t log in to my account" no chatbot de atendimento ao cliente, a análise de intenção reconhece que a intenção da pessoa é obter ajuda para acessar a conta. O chatbot pode responder com detalhes sobre redefinir uma senha ou outros meios que o usuário pode tentar usar para acessar a conta. Assistentes virtuais, sistemas de suporte ao cliente ou chatbots costumam usar análise de intenção para entender as solicitações dos usuários e oferecer as respostas ou ações corretas.
Análise de contexto (discurso): a linguagem natural depende bastante do contexto. A interpretação de uma declaração pode mudar com base na situação, nos detalhes fornecidos e no entendimento compartilhado entre as pessoas que se comunicam. A análise de contexto envolve o entendimento dessas informações para compreender um trecho de texto. Por exemplo, se alguém diz "They had a ball", a análise de contexto pode determinar se estão falando de um baile ou de muita diversão. Ela faz isso levando em conta a conversa que veio antes. A análise de contexto ajuda os sistemas de PLN a interpretar palavras com maior precisão levando em conta o contexto mais amplo, as relações entre palavras e outras informações relevantes.
Essas três técnicas de análise (análise de sentimento, análise de intenção e análise de contexto) têm um papel importante na extração de insights valiosos sobre os dados de texto e fala. Elas criam um entendimento e uma interação mais sofisticados e precisos com conteúdo textual em vários usos de PLN.
Resumo
Neste módulo, você aprendeu sobre o PLN em um nível geral e em relação ao inglês. Atualmente, a maior parte do estudo de PLN é feita em inglês, mas também é possível encontrar muita pesquisa feita em espanhol, francês, farsi, urdu, chinês e árabe. O PLN é um campo de IA que está se desenvolvendo rapidamente. E os avanços no PLN estão levando rapidamente a um entendimento de linguagem sofisticado, a recursos entre idiomas e à integração com outros campos de IA.