< Return to Video

PSCC CAP06 2025 VA03 ANALISE DE SENTIMENTOS CUSTOMIZADA

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

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions