O que você mais sente saudade na pandemia? Aprenda a analisar texto com o Orange Canvas

Nós perguntamos aos nossos seguidores o que eles mais sentem saudade durante a pandemia e análisamos suas respostas textuais utilizando o Orange Canvas.

Dalton Costa
Datapsico
7 min readApr 16, 2021

--

Hoje eu quero trazer para você uma dica de como analisar texto de graça e sem precisar utilizar programas complexos. Isso é possível graças ao programa Orange Canvas, um programa Open Source desenvolvido para incentivar a prática de machine learning de forma muito fácil.

O objetivo desse post é demonstrar como utilizar o Orange Canvas para analisar textos e obter insights sobre eles. Para isso, vamos utilizar um banco de dados construído com a ajuda dos seguidores do PsicoData no instagram. Se você ainda não é um dos nosso seguidores, segue lá @datapsico

Perguntamos aos nossos seguidos o seguinte: “o que você mais sente saudade na pandemia?”. Recebemos quase 40 respostas com diversas variações linguísticas.

Instalando o Orange Canvas

Para instalar o programa Orange Canvas você pode acessar o site oficial do programa e baixá-lo gratuitamente https://orangedatamining.com/. Vai na guia “Download” e baixe o instalador do correspondente ao seu sistema operacional. A instalação geralmente é tranquila e sem grandes problemas.

Conhecendo o Ambiente

Ao abrir o programa instalado você verá menus no lado esquerdo e na parte superior do programa. Os menus mais importantes estão na parte esquerda e eles são diversos. Há vários seguimentos de análises, como: aprendizagem de maquina supervisionada e não supervisionada, visualização de dados e mineração de texto.

A lógica do Orange Canvas é você utilizar cada funcionalidade sem precisar de muitas configurações ou código. A sua missão dentro dessa plataforma é escolher uma função dentro de um seguimento e criar um fluxo de análise. Para isso, basta arrastar a funcionalidade para o centro da tela e ligar a outras funcionalidades. Veja no exemplo abaixo.

Instalando Novas Funcionalidades no Orange Canvas

Você pode ter percebido que não há na versão padrão do programa as funcionalidades sobre análise de texto. Portanto, precisamos instalá-la. Clique no menu superior “options” e em seguida “add-ons…”. Faça um check nas opções “Text” e “Network” e clique em “Ok”. Depois disso, os pacotes adicionais serão instalados e você precisará reiniciar o programa para visualizar as novas opções.

Análise de Texto com Orange Canvas

Como eu disse no início desse texto, vamos analisar comentários dos nossos seguidores no Instagram. Eles responderam à pergunta “o que você mais sente saudade na pandemia?”; nós salvamos essas respostas em um arquivo .csv

Construindo o Corpus

Em análise de texto precisamos organizar cada fala/opinião/caso em documentos. Para isso, criamos um objetivo chamado Corpus, que é uma coleção de texto organizados em um conjuntos de dados.

Para criar um Corpus no Orange basta utilizar a funcionalidade “Corpus” e importar os dados no .csv. E para visualizar o Corpus, podemos utilizar a função “Corpus Viewer”.

Processando o Texto

Agora que temos o Corpus pronto, podemos seguir para o processamento do texto. Acredito que essa etapa seja a mais importante de todo o processo, pois a forma como você irá “limpar” o seu texto nesse momento irá determinar o desempenho das suas futuras análises.

Ao trabalhar com textos precisamos entender que há nas sentenças palavras ou expressões que são mais importantes do que outras. Portanto, devemos focar nos termos mais importantes, porque é ali que estão os objetos de análise. Termos como pronomes, preposições e outras palavras irrelevantes devem ser excluídos para não gerar ruídos nas análises.

Para processar o Corpus utilize a funcionalidade “Process Text”. Nessa etapa podemos configurar várias técnicas de limpeza e padronização de texto. Veja as configurações adotadas:

  • Transformation: todas as letras foram padronizadas para minúsculas (lowercase) e foram removidos todos os acentos (remove accents).
  • Tokenization: é o processo de criar “tokens”, que consiste em separar cada termo/palavras das sentenças. Para isso, marque a opção “Regexp” com “Pattern \w+”.
  • Filtering: todas as palavras irrelevantes em português foram excluídas do Corpus (stopwords). Você também pode criar um aquivo do tipo .txt com termos que você deseja eliminar e associar as suas stopwords.

Para conferir se o nosso Corpus está realmente limpo e com palavras relevantes podemos criar um Wordcloud. Lembre-se de limpar bem o seu texto, removendo tudo aquilo que não é relevante, como: números, preposições e palavras pouco frequentes.

Transformando Palavras em Números

Para que possamos analisar o texto, precisamos transformá-lo em números. Existe algumas técnicas para isso, como por exemplo a Bag of Words ou a Document Embedding. Hoje vamos utilizar o Document Embedding para analisar nosso texto.

Document Embedding é uma técnica de redução dimensional que utiliza aprendizagem de máquina para capturar o contexto semântico e semelhanças entre documentos. Assim, podemos utilizar os vetores criados para manipular e entender as nossas respostas.

Para criar emdedding no Orange, basta ligar o seu texto processado à opção “Document Embedding” e configure para a língua portuguesa.

Análise de Cluster

Uma das maneiras de analisar o seu texto é criando clusters. O que vamos fazer é utilizar um algorítimo de clusterização para separar os comentários em grupos/clusters diferentes. Essa separação ocorrerá de forma não supervisionada, ou seja, o próprio algorítimo de clusterização irá separar os casos.

Vamos utilizar nesse exemplo um algorítimo super popular de clusterização chamado K-means. Esse método exige que informemos o número de clusters que queremos obter. Com base nos meus testes, eu percebi que com os dados que estamos trabalhando faz mais sentido realizar a divisão em 2 clusters. Mas, caso você tenha dúvidas, você pode criar simulações utilizando o Silhouette Score e observar qual o número de clusters melhor se encaixa no seu contexto.

No Orange, basta você ir até a seção de “Unsupervised” e escolher a função “K-means” , que deve ser ligada ao “Document Embedding”. Vamos fixar no K-means o número de 2 clusters. Para visualizar e avaliar o desempenho vamos utilizar o função T-SNE. Veja como se faz:

Uma outra forma de visualizar o nosso resultado é organizando os nossos clusters produzidos pelo K-mens em uma tabela, e em seguida, visualizar cada cluster em uma Wordclound. Veja como fazer:

Resultados

Nesse pequeno experimento podemos obter alguns insights. Antes de tudo, percebe-se que as pessoas tiveram respostas muito semelhantes à pergunta “o que você mais sente saudade na pandemia?”, como: “sinto falta de ir em festa e conviver com meus amigos ” ou “sinto falta de ir em festas”.

Mesmo assim, conseguimos diferenciar de forma razoável (1) as pessoas que sentem mais falta de relações sociais/convívio social com familiares e amigos das (2) pessoas que sentem falta de circulação e de viver experiências como sair para rua ou ir para festas. Veja abaixo as wordclouds geradas nessa análise.

Wordcloud Cluster 1—Pessoas que sentem mais falta de relações sociais/convívio social com familiares e amigos.
Wordclound Cluster 2 —Pessoas que sentem falta de circulação e de viver experiências como sair para rua ou ir para festas.

Conclusão

Nesse artigo vimos como utilizar o Orange Canvas para analisar textos e obter novos insights. Criamos um corpus, processamos o texto e criamos clusters. Há outros tipos de análises que você pode explorar também como Topic Modeling e Network Analysis.

Importante ressaltar que análises com textos funciona melhor com um grande número de casos ou documentos. Nesse experimento contamos com 37 contribuições, mas para que os seus resultados ficaquem inda mais legais é recomendado um número maior.

Espero que tenha gostado e qualquer dúvida, comentário ou observação são muito bem-vinda! Fique à vontade para se manifestar e vamos aprender juntos! Se preferir, você pode me contatar pelo dalton.bc96@gmail.com

Obrigado pela leitura!

--

--