Alura > Cursos de Data Science > Cursos de Machine Learning > Conteúdos de Machine Learning > Primeiras aulas do curso Linguagem Natural parte 2: continuando com a análise de sentimento

Linguagem Natural parte 2: continuando com a análise de sentimento

Otimizando a análise: o primeiro passo - Introdução

Oi, tudo bem? Meu nome é Thiago, eu trabalhei algum tempo com análise de dados e hoje trabalho com pesquisa, aplicando inteligência artificial na indústria de petróleo. Serei seu instrutor no curso de Introdução ao Processamento de Linguagem Natural parte 2.

Na parte 1 do curso, nós criamos um analisador de sentimento. Imagine a seguinte situação: você deseja ver um filme e procura na internet o que as pessoas estão dizendo sobre ele. Depois, na sua cabeça, você cria uma espécie de classificador: esse filme deve ser ruim por esses ou aqueles pontos, ou esse filme deve ser bom por esses ou aqueles pontos.

Na primeira parte do curso, nós criamos justamente esse modelo. Porém, nós não tratamos tão bem os nossos dados, e é justamente isso que faremos nessa segunda parte. Iremos, por exemplo, modificar as stop words que aprendemos na primeira parte, acrescentando outras palavras e outros símbolos para melhorarmos o nosso resultado.

Depois, aprenderemos a evitar variações de palavras, como variações de número ou de gênero, que semanticamente querem dizer a mesma coisa - por exemplo, "todas" e "todos", que o algoritmo poderia considerar coisas diferentes.

Também aprenderemos o TF-IDF (term frequency-inverse document frequency), uma nova forma de representar o nosso texto, atribuindo peso às palavras mais importantes e tornando o nosso modelo mais assertivo.

Em seguida, aprenderemos a dar uma espécie de memória ao nosso banco de dados por meio dos Ngrams.

Mas por que fazer um curso de Processamento de Linguagem Natural? Bom, aposto que você já viu algum tipo de propaganda como "fale com o nosso assistente pessoal" ou "tire dúvidas com o nosso robô". Tudo isso envolve um profundo conhecimento em processamento de linguagem natural. Porém, o PLN não se restringe apenas a assistentes virtuais ou análise de sentimento, mas também envolve sumarização, extração de informação e outros processos úteis na nossa vida.

É muito legal criar aplicações que irão facilitar a nossa vida, não? Se você está com vontade de aprender um pouco mais sobre processamento de linguagem natural, continue acompanhando o curso!

Até a próxima!

Otimizando a análise: o primeiro passo - Stopwords além dos textos

Antes de continuarmos, quero reforçar um conceito importantíssimo que vimo no curso anterior: as stopwords, ou seja, as palavras vazias. Para isso, utilizarei um exemplo com legos.

Imagine que meus conjunto de peças de lego representam frases, e cada peça é uma palavra, tenho um conjunto de peças formado por uma peça azul ao centro e duas peças vermelhas nas laterais, e outro conjunto de peças formado por uma azul ao centro e peças amarelas nas laterais. Agora, quero propor um desafio: como vocês classificariam esses dois conjuntos? Qual a principal diferença entre eles?

Eu aposto que você pensou que a diferença é que um dos conjuntos contém peças vermelhas, e outro peças amarelas. Vamos repetir esse mesmo exercício para dois conjuntos menores de peças. Um conjunto formado por uma peça vermelha e uma peça branca, e outro conjunto formado por uma peça amarela e uma peça branca.

Aposto que, novamente, você apontou que a diferença é que um deles contém uma peça vermelha, e o outro uma peça amarela.

Então, no primeiro caso, qual a relevância da peça azul na diferenciação entre os conjuntos? Bom, nenhuma. Portanto, se retirarmos a peça azul, continuaremos classificando nosso conjunto de maneira correta. Esse é o mesmo raciocínio que ocorre na remoção das nossas stopwords, já que elas não têm relevãncia para classificação.

As stopwords também não necessariamente se restringem à lista que vimos no curso anterior, você pode criar as suas stopwords dependendo do seu projeto e de como você quer aplicar a sua classificação de sentimentos.

Pense um pouco e tente ir além das frases para identificar alguns stopwords no mundo. Até mais!

Otimizando a análise: o primeiro passo - Comparando pareto, com wordcloud

Vamos dar uma olhada no nosso pareto.

Gráfico de barras plotado em cinza. Eixo Y vertical "Contagem" possui marcações de 0 a 200 mil com gradação de 25 mil. Eixo X horizontal "Palavra" possui as dez palavras mais frequentes. Do termo mais frequente ao menos frequente: é, filme, Eu, O, ser, A, . , sobre, filmes, tão.

O elemento principal no nosso pareto é o termo "é". Outras que aparecem em grande volume são "O", "A" e o ponto ".".

Vamos dar uma olhada tambem na nossa nuvem de palavras.

Nuvem de palavras, em fundo preto, com muitas palavras em diferentes tamanhos e cores, em geral roxo, azul, verde e amarelo, palavras em maior destaque são: filme, bom, então, pode, história, apenas, realmente, todo, cena. Demais palavras estão em menor tamanho.

Porém, na nossa nuvem de palavras, o "é", o "O" e o "A" não aparecem em destaque. Isso porque, quando o word cloud é implementado, ele retira automaticamente todos os caracteres únicos ("e", "o", "a", "é") e pontuações (".", ",", "!", "?"). Não é só o word cloud que faz isso: o CountVectorizer(), que nós implementamos, também retira caracteres únicos e pontuações automaticamente.

Daqui a pouco, vamos aprender a realizar tratamentos para deixarmos a contagem de frequência do nosso pareto o mais parecida possível com a vetorização do wordcloud e do CountVectorizer().

Sobre o curso Linguagem Natural parte 2: continuando com a análise de sentimento

O curso Linguagem Natural parte 2: continuando com a análise de sentimento possui 95 minutos de vídeos, em um total de 36 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Machine Learning acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri powered by ChatGPT

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas