-
Você já se deparou
com algum momento
-
em que você acessou o Instagram,
por exemplo,
-
e alguns comentários
estavam bloqueados?
-
Esse recurso é um recurso que faz
o uso de análise de sentimentos
-
para avaliar se existem informações
críticas ou palavras de ódio
-
ou alguns xingamentos em relação
a algum tipo de conteúdo.
-
Então, a gente pode utilizar AWS
para poder automatizar
-
toda essa análise de redes sociais
e facilitar a identificação
-
de como que está a aceitação
do nosso produto
-
ou da nossa empresa
em relação à comunidade.
-
Acessamos agora o console da AWS,
vamos acessar aqui o Sidemaker AI.
-
Eu já tenho aqui
uma instância de notebook criado
-
que vai servir para criar o nosso
analisador de sentimentos próprio.
-
Vou clicar aqui
em "abrir o JupyterLab".
-
Já tinha algumas informações abertas.
-
Agora a gente vai importar o notebook
que já está pronto
-
para a gente fazer
a análise de sentimentos.
-
Vou clicar aqui
para fazer o upload de um arquivo.
-
Já separei aqui o notebook para vocês
de análise sentimento.
-
Vou clicar nele duas vezes
para poder carregar o nosso ambiente.
-
Esse notebook foi criado
usando o Python
-
e aqui, na primeira célula,
-
a gente já importa
algumas bibliotecas necessárias
-
para poder fazer
análise de sentimentos.
-
A principal delas
é do "sklearn"
-
e a "nltk" que lida com a parte
de tokenização dos elementos,
-
que é o processo
de quebrar uma sentença
-
em várias palavras separadas
para tentar extrair
-
algum tipo de informação.
-
Então,
assim que carregar o nosso ambiente,
-
a gente vai importar
os recursos necessários
-
para poder fazer
análises de sentimentos
-
em relação aos comentários de filmes,
por exemplo.
-
Bom, ele deu esse erro,
-
porque a gente ainda não subiu
o arquivo csv que vamos analisar.
-
Eu vou subir ele aqui
no nosso ambiente.
-
Vou ficar em "upload files",
vou escolher aqui o nosso dataset.
-
O dataset é um pouco pesado,
ele tem 63 megas.
-
Demora um pouco,
é só aguardar.
-
E aqui embaixo a gente vê o status
do carregamento.
-
Legal, ele já carregou.
-
Vamos explorar aqui esse dataset.
-
As primeiras dez linhas
são comentários,
-
são reviews
-
e o sentimento em relação
a cada um desses reviews.
-
Então, a gente usa algo
que já foi classificado, né?
-
Alguma pessoa já avaliou
cada review e mostrou o sentimento
-
em relação a esse review
como positivo ou negativo.
-
E a gente usa isso para poder
treinar o nosso algoritmo.
-
Vou visualizar aqui parte dos dados.
-
Eu tenho aqui 25 mil reviews
positivos e 25 mil reviews negativos
-
e vou usar esses dados
para treinamento.
-
Aqui nós temos, por exemplo,
-
60% dos dados usados
para treinamento
-
e 40% dos dados para teste.
-
Mais adiante,
nós temos aqui uma classe
-
para poder fazer
toda a limpeza dos dados
-
para poder remover conteúdo HTML,
remover conteúdo entre colchetes,
-
caracteres especiais,
palavras de parada como ponto,
-
ponto e virgula, hífen.
-
Fazer o processo
conhecido como stemming,
-
que é um processo de transformar
a palavra no seu radical.
-
E aí a gente
usa uma função agregadora
-
chamada "clean_test",
-
que vai usar todas
essas outras funções de uma vez só.
-
Finalmente,
a gente vai ajustar o modelo
-
e fazer a transformação dos dados
-
para poder fazer todo esse
processo de tokenização
-
e transformação dos dados.
-
Tudo isso está dentro de uma classe
chamada "TestCleaner",
-
que é para fazer a limpeza dos dados.
-
Antes de fazer a limpeza,
a gente pode ver, por exemplo,
-
que parte dos textos
tem caracteres especiais
-
ou tem algumas marcações em HTML.
-
Então, a gente precisa
tirar esses textos
-
para a gente conseguir treinar
melhor o nosso modelo.
-
Aqui embaixo,
a gente vai criar um pipeline,
-
que é uma sequência de etapas
que vai fazer de forma integrada.
-
Primeiro,
a limpeza dos dados.
-
Depois, ele faz o processo
conhecido como vetorização,
-
que ele vai tokenizar,
transformar uma sentença
-
em várias palavras e contar
a frequência dessas palavras.
-
E, por último,
-
a gente vai usar
o modelo de machine learning,
-
que é a regressão logística,
-
para poder utilizar
essas informações de entrada
-
para avaliar novos textos,
se eles são positivos ou negativos.
-
Então, pipeline é só uma sequência
de etapas.
-
Aí sim, eu vou treinar esse
modelo usando esse pipeline.
-
Esse processo demora
cerca de 3 a 5 minutos,
-
então, vamos aguardar enquanto
ele faz o treinamento do modelo.
-
No nosso caso,
-
depois que a gente mandou
treinar aquele modelo,
-
ele deu um "time out".
-
Então a gente precisou redimensionar
a nossa massa de dados de treino
-
para uma massa de dados menor
para que ele conseguisse processar.
-
Como que a gente fez isso?
-
A gente foi lá na célula
dois ou três.
-
Aqui a nossa célula seis.
-
Aqui a gente redimensionou em vez
de treinar com 60% dos dados,
-
eu coloquei aqui para treinar
com 40% dos dados,
-
20.000 itens,
20.000 linhas
-
e aí,
o restante fica para testes.
-
Após isso,
nós mandamos processar novamente
-
e finalmente ele treinou aqui
o nosso modelo,
-
ajustando os dados e aprendendo
com essa massa de dados de teste
-
Aqui quando ele faz o treinamento,
-
ele já mostra para a gente também
o pipeline.
-
O que é o pipeline?
-
Aquela sequência de etapas
que ele executou no texto.
-
Primeiro ele fez
a limpagem dos textos.
-
Ele excluiu informações não
relevantes para análise de texto.
-
A contagem e vetorização,
ele cria vários tokens
-
ele separa as palavras,
faz uma contagem
-
e essas palavras são utilizadas
para alimentar
-
o modelo de regressão logística.
-
E finalmente,
a gente pode aferir
-
a acurácia do nosso modelo
que a gente vai executar agora.
-
Legal,
-
depois de alguns minutos
ele processou aqui
-
O que ele fez?
-
Ele usou o modelo treinado
e executou sobre os dados de teste.
-
E ele acertou 88% dos dados de teste
em relação ao sentimento aferido,
-
se positivo ou não.
-
O que a gente vai fazer agora?
-
A gente vai pegar um novo texto
e vamos pedir para ele avaliar
-
se o sentimento é positivo
ou negativo.
-
Então coloquei aqui
uma review em inglês.
-
A primeira é uma review positiva
-
e aí eu vou tentar fazer
uma análise de sentimento
-
em relação a essa review.
-
Então a gente usou o nosso pipeline
que a gente já deixou pronto,
-
ele vai pegar todo esse texto,
vai tokenizar,
-
vai separar as palavras,
eliminar as palavras de ligação
-
e vai avaliar com as palavras
que sobraram
-
se é um sentimento positivo
ou negativo.
-
Então,
para essa review específica,
-
ele verificou aqui
como um sentimento positivo,
-
que é o que a gente
espera que ele faça a análise.
-
Então, nesse caso,
nós vimos o modelo completo
-
de análise de sentimentos usando
o ambiente do Sagemaker A.I.
-
Antes da gente encerrar,
a gente precisa excluir
-
a nossa instância do notebook
para que a gente evite cobranças.
-
Ela está no ar,
enquanto ela está no ar,
-
a AWS vai incidir cobrança
para a gente.
-
Então, vou voltar aqui,
vou sair do Júpiter Lab.
-
Voltei aqui para o ambiente
do Sagemaker A.I.
-
Vou selecionar a instância
e vou primeiro
-
interromper a instância.
-
Depois de alguns instantes,
-
ele vai interromper aqui
o nosso serviço.
-
Aí eu posso finalmente excluir
a nossa instância de notebooks.
-
Vou aplicar aqui em "excluir".
-
E aí, já não vai incidir nenhum custo
-
em relação ao uso dessa instância
do Sagemaker A.I.
-
Então nós vimos como a gente
pode usar o Sidemaker A.I
-
para criar uma solução completa
de machine learning,
-
por exemplo,
como análise de sentimentos.
-
Quando a gente cria uma solução
usando machine learning,
-
é um processo interativo.
-
Você precisa testar,
avalia as métricas
-
e depois você modifica o seu código
-
para avaliar se está de acordo
com o que você espera,
-
que foi o que a gente fez.
-
Em alguns momentos,
pode dar algum timeout
-
a gente reprocessa,
reavalia os dados de treino,
-
reavalia os dados de testes
e executa novamente.
-
Então, com isso,
a gente consegue ampliar
-
a forma como a gente usa
os modelos de machine learning
-
no ambiente seguro da AWS,
no ambiente dentro do Sidemaker A.I.