Engenharias e TI

Ciência de Dados Passo a Passo: Técnicas de Pré-Processamento de Linguagem Natural.

Introdução

Vamos retomar a nossa série especial de temas sobre Ciência de Dados.  No artigo de hoje, falaremos sobre técnicas de pré-processamento de linguagem natural.

O tópico é uma das grandes apostas para as provas específicas da área de TI e/ou concorridas da área geral, em razão de sua cobrança nos últimos anos. Dessa forma, os alunos que estudam para essas provas não podem negligenciá-lo de jeito nenhum.

Apesar de ser um tema relativamente recente, o processamento de linguagem natural não é tão simples e há muito conteúdo para confundir. Como sempre, vamos tentar explicar tudo de uma forma clara e direta, para você não perder muito tempo. Veja o nosso roteiro:

  • O que é Processamento de Linguagem Natural?
  • Técnicas de Pré-Processamento de Linguagem Natural
  • Mapa Mental

Atendendo a pedidos, o artigo é curtinho, respeitando o nosso compromisso de trazer uma leitura direta a você. Ou seja, hoje não tem desculpas, concurseiro. Esperamos você nas próximas seções. Até já!

Tempo de leitura aproximada: 5 a 10 minutos

O que é Processamento de Linguagem Natural?

O processamento de linguagem natural (PLN) é um ramo da Inteligência Artificial que utiliza técnicas de aprendizado de máquina para compreender e manipular automaticamente a linguagem humana, principalmente por meio de interpretação de texto.

Você Sabia? Aprendizado de máquina, também conhecido como machine learning, consiste em mecanismos para que uma máquina aprenda e evolua constantemente. A máquina pode receber apoio para o aprendizado, por meio de uma apresentação prévia dos dados, ou ter que aprender sozinha.

Apesar de o processamento de linguagem natural estar oficialmente na Inteligência Artificial, frequentemente as bancas cobram dentro dos tópicos de Ciência de Dados, haja vista que a linguagem humana e suas derivações textuais são tipos de dados.

Com o processamento de linguagem natural, é possível analisar textos, identificar seus significados e tomar decisões a partir desses resultados observados. Ele é muito utilizado por empresas, especialmente para entender opiniões de clientes e prever tendências futuras.

Veja uma esquematização de como ocorre o processamento de linguagem natural.

Figura 1 – Funcionamento do Processamento de Linguagem Natural.

Concurseiro, nós somos sinceros. Saiba que as bancas cobram muito menos o desenvolvimento de algoritmos do que as técnicas de pré-processamento. É por isso que estamos focando nas técnicas neste artigo.

Porém, isso não significa que os algoritmos não caiam. Eles caem, mas com uma probabilidade menor. Em outras palavras, se você tem pouco tempo, foque nas técnicas de pré-processamento. Dessa forma, já conseguirá garantir muitas questões.

Técnicas de Pré-Processamento de Linguagem Natural

O processamento de linguagem natural trabalha com algumas técnicas de pré-processamento. Essas técnicas buscam manipular o texto antes do processamento propriamente dito começar.

Mais uma vez, as bancas gostam de cobrar isso (principalmente a FGV nos concursos mais “caveiras”). Como nossa proposta neste artigo se pauta na objetividade, vamos falar brevemente sobre cada uma delas.

Técnicas Não Vetoriais de Pré-Processamento de Linguagem Natural

Tokenização, Remoção de Stopwords, Stemming e Lematização

Tokenização: o texto é dividido em pequenas unidades, chamadas tokens. Na prática, cada token corresponde a um termo que aparece no texto.

Vamos ver um exemplo simples.

Exemplo: Eu espero a sua mensagem ansiosamente.

No exemplo acima, cada termo (“Eu”, “espero”, “a” etc.) corresponde a um token. Assim, teríamos 6 tokens no texto apresentado.

Remoção de stopwords:esta técnica de pré-processamento de linguagem natural visa eliminar palavras irrelevantes para o texto, também denominadas de stopwords. Na prática, são artigos, preposições, pronomes do texto etc.

Vamos voltar ao nosso exemplo.

Exemplo: Eu espero a sua mensagem ansiosamente.

De acordo com a explicação, os tokens que podem ser considerados stopwords no texto são “Eu” (pronome reto), “a” (artigo definido), “sua” (pronome possessivo).

Após a remoção das stopwords, ficaríamos com “espero”, “mensagem” e “ansiosamente”. Veja que é possível entender a mensagem mesmo com apenas 3 palavras.

Stemming:esta técnica remove a flexão dos tokens, mantendo apenas o radical ou a raiz. Isso facilita a identificação do seu significado. Pode ser aplicada em palavras que admitem algum tipo de derivação e precisam ser simplificadas, tais como verbos, plurais etc.

Exemplo: “espero” => “esper”

       “mensagem” => “mensagem”

       “ansiosamente” => “ansiosa”

Nas palavras acima, veja que podemos aplicar o stemming em “espero” (verbo no presente) e “ansiosamente” (advérbio de modo). Não faria diferença na aplicação da palavra “mensagem”, pois esta é um substantivo não flexionado.

Lematização:faz o inverso do stemming, considerando os tokens sem as flexões aplicadas. Na prática, considera infinitivos de verbos, substantivos e advérbios no masculino singular etc.

Exemplo:  “esper” => “esperar”

       “mensagem” => “mensagem”

       “ansiosa” => “ansioso”

Técnicas Vetoriais de Pré-Processamento de Linguagem Natural

Bag of Words

Bag of words:técnica vetorial de pré-processamento de linguagem natural mais clássica, que considera a frequência de cada token no texto. Também é conhecida como saco de palavras.

Vamos ver um exemplo um pouco maior para ficar mais claro.

Exemplo: “Eu espero a sua mensagem ansiosamente. Eu mandei uma mensagem há alguns meses e você não respondeu. Como eu sei que você recebeu a mensagem, então não há desculpa.”

Deixando a briga de lado, a nossa ideia é contar quantas vezes cada token aparece. Mas antes, precisamos determinar quais são os tokens. Vamos continuar com o exemplo:

tokens = [“eu”, “espero”, “a”, “sua”, “mensagem”, “ansiosamente”, “mandei”, “uma”, “há”, “alguns”, “meses”, “e”, “você”, “não”, “respondeu”, “como”, “sei”, “que”, “recebeu”, “então”, “desculpa”]

Conhecidos os tokens, vamos fazer a contagem. As frequências podem ficar no mesmo vetor de tokens ou em uma estrutura separada. Para facilitar a explicação, vamos separar:

frequencias = [3, 1, 2, 1, 3, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1]

Em outras palavras, “eu” aparece 3 vezes, “espero” aparece 1 vez, “a” aparece 2 vezes e assim por diante. Veja que não é tão difícil, mas precisa conhecer a técnica.

TF-IDF

TF-IDF:técnica vetorial de pré-processamento de linguagem natural que analisa a frequência dos tokens em uma amostra (TF) em comparação com a ocorrência dos tokens em outros textos (IDF). O objetivo é identificar palavras raras que aparecem.

Observe as fórmulas abaixo:

Frequência de Termos (TF) = Número de vezes que o token aparece no documento /  número de tokens no documento

Vamos considerar o exemplo anterior, da briga de casal. Suponha que o número de tokens do documento é 21. Vamos então calcular o TF de cada um dos tokens:

TF = [3/21, 1/21, 2/21, 1/21, 3/21, 1/21, 1/21, 1/21, 2/21, 1/21, 1/21, 1/21, 2/21, 2/21, 1/21, 1/21, 1/21, 1/21, 1/21, 1/21, 1/21]

TF = [0,14; 0,05; 0,09; 0,05; 0,14; 0,05; 0,05; 0,05; 0,09; 0,05; 0,05; 0,05; 0,09; 0,09; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05]

Frequência Inversa nos Documentos (IDF) = Número total de documentos / número de documentos em que o token aparece

No nosso cenário, só estamos trabalhando com 1 documento. Na hora da prova, a questão irá fornecer dados sobre outros documentos para você fazer as contas. Mesmo assim, vamos deixar os cálculos indicados para você ver como seria:

IDF = [1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1, 1/1]

IDF = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Para calcular o TF-IDF, basta multiplicar as frequências, utilizando a fórmula abaixo:

TF-IDF = Frequência de Termos (TF) * Frequência Inversa nos Documentos (IDF)

TF-IDF= [0,14; 0,05; 0,09; 0,05; 0,14; 0,05; 0,05; 0,05; 0,09; 0,05; 0,05; 0,05; 0,09; 0,09; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05] * [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

TF-IDF= [0,14; 0,05; 0,09; 0,05; 0,14; 0,05; 0,05; 0,05; 0,09; 0,05; 0,05; 0,05; 0,09; 0,09; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05]

Mapa Mental

Vamos fechar o artigo com um mapa mental caprichado para apoiar a sua memorização. Mesmo que você não tenha entendido todas as técnicas da seção anterior, não deixe de ver a imagem para apoiar os seus estudos. Divirta-se!

Figura 2 – Mapa Mental de Técnicas de Pré-Processamento de Linguagem Natural.

Conclusão

Em suma, o artigo de hoje abordou técnicas de pré-processamento de linguagem natural, um dos temas mais cobrados de Ciência de Dados. Se você entendeu tudo de imediato, então parabéns!

Caso contrário, não fique desanimado. Alguns assuntos parecem realmente complicados à primeira vista. Se você quiser aprofundar o conteúdo ou tirar dúvidas específicas, busque o material do Estratégia Concursos.

Nós oferecemos diversos cursos em pdf, videoaulas e áudios para você ouvir onde quiser. Saiba mais por meio do link http://www.estrategiaconcursos.com.br/cursos/.

Por fim, recomendamos também que você faça muitas questões para treinar os tópicos apresentados. O acesso ao Sistema de Questões do Estratégia Concursos é feito pelo link: https://concursos.estrategia.com/.

Bons estudos e até a próxima!

Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Professional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022) e TCE-RJ (2022). Atualmente exerce o cargo efetivo de Auditora de Controle Externo – Tecnologia da Informação no Tribunal de Contas do Estado do Rio de Janeiro (TCE-RJ), além de ser produtora de conteúdo dos Blogs do Estratégia Concursos, OAB e Carreiras Jurídicas.

Concursos Abertos

Quer Saber Tudo de Concursos Previstos?

Confira Nossos Artigos

Concursos 2023

Concursos 2024

Cristiane Selem Ferreira Neves

Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Professional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022), TCE-RJ (2022) e CGE-SC (2022/2023). Atualmente exerce o cargo efetivo de Auditora de Controle Externo – Tecnologia da Informação e integra o corpo docente da Escola de Contas de Gestão do TCE-RJ, além de ser produtora de conteúdo dos Blogs do Estratégia Concursos, OAB e Carreiras Jurídicas.

Posts recentes

Concursos abertos: as provas confirmadas nos próximos meses

Com o tempo andando a passos largos, 2024 está sendo responsável por diversas oportunidades. Com…

10 minutos atrás

Quando será a prova do concurso TSE Unificado?

Estudar para a prova, montar cronograma, organizar a rotinas de estudos... a vida do concurseiro…

17 minutos atrás

Concurso PM SP: SAIU edital para Soldado! 2.700 vagas

Concurso PM SP para Soldado oferece salário de R$ 4,8 mil. Provas em fevereiro! Está…

27 minutos atrás

Concurso FOSP tem comissão alterada; banca próxima!

Foi publicada, no Diário Oficial de São Paulo, a alteração dos membros da comissão que…

29 minutos atrás

LC 24/75 para SEFAZ-RJ

Olá, pessoal. Tudo certo? No artigo de hoje veremos o resumo da LC 24/75 para…

42 minutos atrás

Concurso TRT 24 (MS) inscrições abertas; inicial de até R$ 16 mil!

O Tribunal Regional do Trabalho da 24ª região oferece 14 vagas imediatas mais formação de cadastro de reserva distribuídas…

47 minutos atrás