Análise avançada dos discursos do impeachment

Resolvi fazer algumas análises dos textos dos discursos depois de algumas semanas da histórica votação do impeachment da presidente na câmara dos deputados. Neste post vou fugir dos gráficos tradicionais e apresentar algo um pouco mais avançado, incluindo ferramentas não muito conhecidas.

Antes de começar, gostaria de indicar alguns trabalhos que já foram feitos com os dados dos discursos. Atualmente a imprensa brasileira está produzindo gráficos, análises, infográficos e visualizações interativas interessantes, porém ainda muito básicas. Este é o caso dos gráficos e informações apresentadas por vários veículos de mídia e pessoas que se interessaram pelos dados, como este e este.

Eu gosto muito de ver estas iniciativas, porém em praticamente todos os casos não há emprego de técnicas mais avançadas, tais como o uso de algoritmos de mineração de dados. Portanto, neste post vou comentar algumas análises que eu fiz com algumas ferramentas e técnicas pouco conhecidas por jornalistas e outros entusiastas da análise de dados. Vou enumerar as análises destacando algumas descobertas relevantes. Todos os scripts, dados e demais recursos são disponibilizados neste repositório do GitHub.

Destaco que estas análises tem o objetivo de mostrar alguns técnicas e recursos pouco conhecidos e que elas são básicas. Isto quer dizer que é possível se aprofundar ainda mais e explorar outras maneiras para descobrir novos padrões ‘escondidos’ nos dados.

1) Tratamento de dados

Em primeiro lugar, gostaria de agradecer a Patricia Cornils que fez um trabalho de organizar os dados gerados pelos profissionais da câmara que utilizaram da técnica de taquigrafia. Descobri estes dados em um post do Facebook e indico que eles foram colocados em uma planilha disponível aqui.

A propósito, quando comecei a fazer a importação de dados notei alguns problemas com os quais tive que lidar. Pela técnica de coleta de dados utilizada (taquigrafia) ocorreram alguns problemas no texto, tal como a junção de palavras e uso de parênteses para indicar eventos. Por exemplo, em alguns casos o verbo “é” ficou junto com a palavra “não” formando um “énão” que teve que ser separado. Já o uso do parênteses levou a casos como “(pausa)” que tiverem que ser eliminados. Também tive que lidar com caracteres especiais (!  , . ? char(9)) em algumas partes do texto.

Eu utilizei um script SQL executado no SQL Server para fazer a importação com o comando BULK INSERT. As demais manipulações foram feitas com a linguagem SQL, uma vez que esta é linguagem mais utilizada para manipular dados e que me faz ser muito produtivo.

Para finalizar a limpeza eu fiz a remoção de algumas “stop words” e dígitos numéricos do texto do discurso. A lista das palavras que removi foram:

‘a,as,às,ao,ai,com,como,da,de,do,dos,e,em,esse,esta,isso,ja,mais,mas,minha,o,O

,à,é,os,ou,para,por,Por,Pelo,Pelos,pelo,pela,pouca,pouco,pra,que,um,uma,ha,pois,vou,ta

,com,na,no,nas,nos,há,Lá,se,já,foi,sem,com,dar,me,só,meu,vai,tem,tal,meus,aos,sou,ser,seus

,está,são,sou,porque,ser,deste,pelas,nem,seu,seus,tão,muito,muita,muitos,muitas,vez,cada,dessa

,desse,dessas,destes,deste,estar,têm,quer,quero,querer,faz,era,aí,aquela,aquilo,vi,tinha

,qual,eu,sr,aqui,nosso,nós’

No total acabei com 16.036 palavras utilizadas em 511 discursos. Destas, apenas 3.443 foram palavras únicas.

2) Análise LCS

O algoritmo LCS (Longest Common Subsequence) indica qual é a sequência de caracteres mais comum entre dois conjuntos de caracteres (strings). No caso dos discursos, a sequência mais comum foi “vot”, pois a palavra “voto” apareceu em praticamente todos os discursos. Nada muito interessante aqui, mas eu também fiz uma análises LCS considerando cada palavra como um elemento do string. Desta vez o algoritmo LCS retornou a palavra “voto”.

É interessante destacar que o LCS não gerou algo interessante porque as falas foram bem diferentes, pelo menos do ponto de vista da ordem e variedades das palavras. Este resultado já era meio que esperado, pois estudos da análise de discurso indicam que raramente vai haver muita semelhança na ordem de uso das palavras quando há um conjunto grande de discursos. Contudo, esta análise foi interessante e justificou outras técnicas para enxergar melhor a distribuição das palavras.

Eu realizei a análise LCS utilizando este script em Python, que pode ser executado diretamente no navegador pela plataforma Repl.it.



3) Regras de associação

O uso de regras de associação é comum em sites de e-commerce e outros, pois ela permite identificar que tipo de item é “comprado” em conjunto com outro a partir de certos parâmetros. Em geral, utilizam-se os parâmetros suporte (a frequência que a palavra acontece) e a confiança (o quão forte é a associação entre as palavras).

Para esta análise de regras de associação entre as palavras eu utilizei o ótimo framework em Java chamado SPMF, que já expliquei como utilizá-lo em uma Pocket Video. Como algoritmo eu rodei o FPGrowth_association_rules e as regras mais interessantes foram obtidas com: 60% mínimo para o suporte e para a confiança. Sem muita surpresa, encontrei a regra indicando a associação recíproca entre as palavras SIM ==> VOTO. Baixando o suporte mínimo para 50% temos a associação recíproca PRESIDENTE ==> SIM.

Dado a característica dos discursos (muitas palavras com ordem variada) é de se esperar que as principais palavras utilizadas estejam presentes nas regras de associação. De fato, as top 10 palavras mais empregadas por quem votou a favor do impeachment foram:

BRASIL ESTADO FAMÍLIA NÃO NOME PAÍS POVO PRESIDENTE SIM VOTO

Já as top 10 palavras mais empregadas por quem votou contra o impeachment foram:

BRASIL CONTRA DEFESA DEMOCRACIA DILMA GOLPE NÃO POVO PRESIDENTE VOTO

Pode-se notar que existem algumas diferenças entre as listas, como as palavras CONTRA e PAÍS, mas em geral não houveram regras de associação diferentes com base no tipo de voto.

4) Associação visual de palavras

A próxima etapa da análise foi estudar visualmente algumas associações de palavras. Existem várias ferramentas para fazer isso, mas aqui eu optei por uma que é pouco conhecida: o JigSaw. Uma vez que dados estejam de acordo com o formato que ela requer, pode-se fazer várias explorações visuais. Por exemplo, eu montei uma análise considerando algumas palavras que iniciam as frases, como pode ser visto pela figuras abaixo (clique sobre elas para aumentar).

Análise de discursos que contêm pela palavra PRESIDENTE

Análise de discursos que contêm pela palavra PRESIDENTE

Análise de discursos que contêm pela palavra SIM

Análise de discursos que contêm pela palavra SIM

Análise de discursos que contêm pela palavra Não

Análise de discursos que contêm pela palavra Não

A ferramenta JigSaw também permite observar associações de palavras através das conexões dos elementos de duas listas verticais colocadas lado a lado. Por exemplo, podemos explorar de forma interativa os dados e observar facilmente as palavras utilizadas por cada deputado, como mostrado nos dois exemplos abaixo.

Palavras ditas pelo deputado Tiririca

Palavras ditas pelo deputado Tiririca

Palavras empregas pelo deputado Adail Carneiro

Palavras empregas pelo deputado Adail Carneiro

A associação de palavras pelo tipo de voto (sim – a favor; não – contra) mostra que algumas palavras foram utilizaras com menos frequência por cada grupo. Por exemplo, as palavras ESPERANÇA e FAMÍLIA não foram ditas tantas vezes pelo grupo do não quanto pelo grupo do sim.

Comparando palavras usadas por quem foi a favor e contra

Comparando palavras usadas por quem foi a favor e contra

Com estas listas ligadas também é possível relacionar outros atributos, como o voto (Sim – A favor; Não – Contra) junto com a frequência (tonalidade da cor) de acordo com cada partido. Estas duas análises são mostradas nas figuras abaixo:

 

Frequência de votos Sim (a favor) por partido.

Frequência de votos Sim (a favor) por partido.

Frequência de votos Não (contra) por partido.

Frequência de votos Não (contra) por partido.

5) Semelhança de discursos

A maioria dos discursos realizados empregou muitas palavras diferentes, porém alguns deles foram parecidos. Para analisar o quão semelhantes foram os discursos resolvi utilizar uma comparação baseada em Fuzzy Matching, ou seja, analisar as diferenças no nível de caractere. Eu utilizei como medida de distância o algoritmo Jaro-Winkler comparando cada discurso através do pacote jellyfish do Python. Eu poderia ter utilizado uma comparação mais complexa (usar o Tf-idf, por exemplo), mas resolvi simplificar só para ver o que poderia ser obtido.

A primeira descoberta foi que menos de vinte deputados utilizaram frases mínimas do tipo “Presidente voto sim” ou “Presidente voto não” ou ainda somente “Voto sim” ou “Voto não”. Realmente estes deputados foram exceção, pois a maioria aproveitou a oportunidade para falar muito.

Outro fato interessante que surgiu foi a semelhança entre os discursos dos deputados Angelim (PT-AC) e Bacelar (PTN-BA) que votaram contra e disseram basicamente a mesma coisa:

Angelin: “Em respeito à Constituição, em defesa da democracia e pelo povo brasileiro, voto não.”

Bacelar: “Em respeito à Constituição, à democracia e ao povo, voto não.”

Do ponto de vista de quem votou sim, os discursos dos deputados Remídio Monai (PR-RR) e João Derly (Rede-RS) também foram bem parecidos:

Remídio Monai: “Com a minha consciência, pela minha família, por Roraima e pelo Brasil, eu voto sim, Sr. Presidente.”

João Derly:  “Com a minha consciência tranquila, pelo Rio Grande, pelo meu Brasil, eu voto sim.”

Vale a pena notar que os discursos destes dois casos não foram logo em seguida uns dos outros. De fato, houveram vários discursos entres eles o que pode indicar que não houve “cópia”, pelo menos não nestes casos.

6) Análise temporal de palavras

A análise temporal de eventos é uma das técnicas que, infelizmente, não tem ganhado a devida atenção. Com ela é possível descobrir diversos padrões interessantes através da análise visual e algorítmica dos dados. Este assunto é tão importante que eu fiz uma palestra sobre ele em 2015 no evento TDC (The Developers Conference) em São Paulo.

Para realizar a análise temporal das palavras empregadas nos discursos eu utilizei a ferramenta pouco conhecida chamada EventFlow. Com ela é possível visualizar a ocorrência eventos que, no meu cenário, são as palavras. Como não havia dados disponíveis sobre o índice de tempo de cada palavra, considerei um intervalo uniforme, ou seja, cada palavra sendo falada em um segundo. Além disso, utilizei somente as top 10 palavras mais ditas para não sobrecarregar a interface. Desta forma, foi possível visualizar na ferramenta alguns padrões interessantes, tal como o fato que uma parte significativa dos discursos contêm a palavra PRESIDENTE logo no início.

As figuras abaixo mostram as ocorrências temporais das 10 palavras separadas pelo tipo de voto (a favor ou contra). Novamente, clique na figura para visualizar ela por inteiro.

Visualização da sequências de palavras utilizadas nos discursos a favor.

Visualização da sequências de palavras utilizadas nos discursos a favor.

Visualização da sequências de palavras utilizadas nos discursos contra.

Visualização da sequências de palavras utilizadas nos discursos contra.

Considerando apenas as palavras SIM e NÃO de todos os deputados, pode-se notar que a palavra SIM foi muito mais utilizada do que o NÃO, em particular no começo do discurso. Este tipo de conclusão pode ser obtida filtrando o tipo de palavra dita na interface do EventFlow, como a figura abaixo mostra.

Posicionamento das palavras SIM e NÃO em todos os discursos

Posicionamento das palavras SIM e NÃO em todos os discursos

7) Predição de voto por palavra

Um dos aspectos que eu estudei foi a possibilidade de classificar um voto a favor ou contra de acordo com uma ou várias palavras. Para realizar este tipo de classificação eu empreguei algumas técnicas de machine learning que criam modelos de classificação.

Devido à característica dos dados, não consegui obter modelos muito bons, isto é, com uma alta taxa de predição. Contudo, descobri alguns fatos interessantes. Por exemplo, a palavra PAI aparece em 21 dos 511 discursos e toda a vez que ela aparece o voto é sim (a favor). De fato, esta palavra foi o “atributo” que melhor classificou a amostra a favor. Além disso, podemos dizer que um discurso “médio” de um deputado que votou a favor provavelmente vai conter as palavras PAI (21), ESPOSA (18), PARANÁ (16), SANTA (15) e MÃE (13). O número entre parênteses indicam a quantidade de discursos a favor em que estas palavras foram utilizadas.

A palavra que melhor caracterizou quem votou contra foi LUTARAM com 7 ocorrências. De forma semelhante ao discurso a favor, podemos caracterizar o discurso “médio” de um deputado que votou contra pelas palavras LUTARAM (7), HIPOCRISIA (6), AGRÁRIA (6), TRABALHADORAS (6) e SOBERANIA (5). O número entre parênteses indica a quantidade de discursos contra em que estas palavras foram utilizadas. Vale a pena destacar que sempre que a palavra REFORMA foi utilizada junto de AGRÁRIA o voto foi contra.

Em termos de modelos e algoritmos, optei pela árvore de decisão, pois ela gera um resultado visual interessante. Contudo, devido às características dos dados as árvores de decisão geradas foram excessivamente grandes. Porém, uma análise parcial com apenas 100 discursos aleatórios gerou a seguinte árvore abaixo:

Árvore de decisão para 100 discursos

Árvore de decisão para 100 discursos

O interessante desta árvore é notar que o “atributo” SIM foi o que representou melhor ganho, i.e. classificou os dados como NÃO (contra) quando não existe a palavra SIM no discurso. Contudo, esta árvore contou com somente 100 discursos e a árvore gerada com o total de dados (511) ficou com mais de 40 nós.

Para finalizar, destaco que durante a análise de dados como discursos vale a pena investir e explorar outras ferramentas e técnicas de análise que vão além dos gráficos simples e nuvem de palavras. Em particular, as ferramentas interativas de análise visual os algoritmos de mineração de dados e machine learning podem fornecer uma novo ponto de vista e descobrir padrões ‘ocultos’ nos dados que podem revelar fatos novos, algo muito procurado por jornalistas.

Publicado em Ferramentas, SQL | Com a tag , , , , , , , , , , , , , , , , , , | 1 comentário

DatabaseCast 67: Data science na prática

VitrineDatabaseCast67

Neste episódio, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e os convidados Diego Nogare (@diegonogare) e Tantravahi Aditya (tvaditya@gmail.com) tiram o microscópio da caixa para falar sobre data Science (ciência de dados) na prática. Neste episódio você vai aprender qual é o valor nutricional de uma quesadilha e um burrito, como ganhar dinheiro vendendo móveis, estudar de “grátis”, prever quando alguém está fazendo progresso ou tendo alguma dificuldade, diferenciar BI de data science e saber usar dados a seu favor junto com ferramentas científicas.



Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter @databasecast, vendo informações de bastidores e as músicas do programa no nosso Tumblr e curtindo a nossa página no Facebook e no Google+ e assistindo aos nossos episódios no YouTube. Acesse o feed RSS do DatabaseCast neste link.Compre a caneca Datas SQL com a sintaxe para manipulação de datas no Oracle, SQL Server, MySQL e PostgreSQL! Basta clicar na imagem agaixoFINAL_FotoColocaoReal Livro Conversando sobre Banco de dados do Mauro Pichiliani (Impresso e PDF,EPUB e MOBI)

CAPA_AMAZON_REDUZIDA_BLOGcover_front_medium

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

feed-rss1

Veja no gráfico abaixo a duração e os tempos aproximados de início e fim de cada bloco:

TamanhoEp67

Veja na tag cloud abaixo a contagem das palavras mais usadas nos e-mails, comentários e tweets do episódio anterior:

TagCloudEp67

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

Links do episódio:

Publicado em DatabaseCast, Podcast | Com a tag , , , , , , , , , | Deixar um comentário

Minha palestra no evento DBA Brasil 1.0

Eu tentanto fazer pose. Foto cedida pelo colega Marcelo Fernandes

Eu tentanto fazer pose. Foto cedida pelo colega Marcelo Fernandes

No último final de semana (16/04/2016) eu fiz uma palestra no evento DBA Brasil 1.0. Neste post vou compartilhar os slides que utilizei na apresentação.

Esta foi a primeira edição do evento DBA Brasil 1.0, um evento muito interessante cujo objetivo foi reunir a comunidade de DBAs e falar sobre assuntos técnicos sem “mimimi”. Destaco que um dos focos do evento foi a indepedência de soluções, ou seja, não se discutiu muito sobre um ou outro produto.



A minha palestra foi sobre um assunto relativamente polêmico: o desempenho do subsistema de armazenamento permanente. Eu fiz uma pequisa (que levou quase 4 meses!) e apresentei alguns resultados que comparam o desempenho de soluções baseadas em HD magnética, SSD, ramdrive e cloud. É importante dizer que esta pesquisa tem um contexto e diversos detalhes e, por isso, é preciso tomar cuidado com as análises e as decisões tomadas com base no que foi apresentado. Abaixo estão os slides que utilizem na minha apresentação. Até onde eu sei, não houve gravação em vídeo da palestra.

 

Publicado em Apresentação, Carreira, Evento | Com a tag , , , , , , , , | Deixar um comentário

DatabaseCast 66: Atitude e iniciativa

VitrineDatabaseCast66Olá, pessoal! Neste episódio, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e os convidados Sulamita Dantas (@suladantas) e Vitor Fava (@sqlservermaniac) contam até 10 e tomam uma atitude. Neste episódio você vai aprender a não brincar com a folha de pagamento, saber quando e como tomar uma atitude, valorizar o backup, automação, inventário e cluster do banco de dados e contar até dez para não perder a paciência.

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter @databasecast, vendo informações de bastidores e as músicas do programa no nosso Tumblr e curtindo a nossa página no Facebook e no Google+ e assistindo aos nossos episódios no YouTube. Acesse o feed RSS do DatabaseCast neste link.



Compre a caneca Datas SQL com a sintaxe para manipulação de datas no Oracle, SQL Server, MySQL e PostgreSQL! Basta clicar na imagem agaixo

FINAL_FotoColocaoReal Livro Conversando sobre Banco de dados do Mauro Pichiliani (Impresso e PDF,EPUB e MOBI)

CAPA_AMAZON_REDUZIDA_BLOGcover_front_medium

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

feed-rss1

Veja no gráfico abaixo a duração e os tempos aproximados de início e fim de cada bloco:

TamanhoEp66Veja na tag cloud abaixo a contagem das palavras mais usadas nos e-mails, comentários e tweets do episódio anterior:

TagCloudEp66Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

Links do episódio:

Publicado em DatabaseCast, Podcast | Com a tag , , , , , , , , | 1 comentário

Ferramentas para testes de usabilidade e experimentos

Figura1_SBB_Usability-TestingDurante o experimento que conduzi para o meu doutorado  eu utilizei várias ferramentas que me auxiliaram a coletar dados muito importantes. Neste post vou apresentar alguns dos softwares que me auxiliaram durante a coleta e análise de dados.

Os testes de usabilidade com usuários reais devem ser muito bem instrumentados, isto é, possuir ‘instrumentos’ para coletar dados enquanto os usuários utilizam o site, plataforma, aplicação ou qualquer outro software que se deseja testar.

Na área de testes de usabilidade (e também na engenharia de software experimental) esta instrumentação assume a forma de diferentes softwares que coletam dados para posterior análise. Além disso, os softwares utilizados nas análises também são muito importantes.

Pois bem, vou comentar aqui um pouco sobre os softwares que utilizei no experimento que conduzi durante o meu doutorado. Creio que esta lista de ferramenta é muito útil para quem desejar realizar testes de usabilidade presenciais como usuário, mas existem outros cenários importantes que podem se beneficiar das ferramentas que vou citar neste post. A propósito, quem desejar mais informações sobre a pesquisa que desenvolvi no doutorado pode dar uma olhada nos slides que utilizei na minha apresentação disponibilizados aqui,

 

Figura2_locodococoachoftheseason

Dentre os outros cenários que se beneficiariam da coleta de métricas e análise de dados, destaco um que venho pesquisando à algum tempo: o caso dos e-sports. Neste contexto técnicos podem coletar informações importantes para ajudar a definir estratégias, exercícios para o jogadores, compreender melhor comportamentos e, por que não, basear o treinamento no que os resultados da análise mostram com o objetivo de obter vantagens competitivas. A propósito, se algum leitor for um técnico de alguma equipe de e-sports ou souber de algum contato nesta área que se interesse pelo assunto, peço a gentileza de encaminhar o meu contato (@pichiliani)

1) Gravação de tela e áudio Figura3_camtasia-recording7

A gravação completa da tela e interações do usuário com o software em vídeo é muito importante e permite diversas análises posteriores. Recomendo o Camtasia Studio ou o Snagit, pois além deste softwares possuírem diversos recursos para a gravação eles não consomem muito processamento e memória, permitem gravar o áudio e geram arquivos intermediários de vídeo com tamanho reduzido que podem ser posteriormente convertidos para formatos populares (.AVI, .MP4, .MP3, etc).

2) Gravar o horário

Sempre que há a necessidade de gravar a tela do usuário é preciso incluir um marcador de tempo com precisão adequada (geralmente segundos ou milissegundos). Os relógios das interfaces da maioria dos sistemas operacionais são relativamente pobres em recursos para escolha de fontes, formato de data e hora, precisão e outros recursos. Para estes casos eu recomendo o TClock, que é uma ótima alternativa para colocar um relógio na tela que vai ser gravado junto com o vídeo que inclui as interações do usuário.




3) Observação da tela Figura4_Testing

Durante uma sessão de uso de software muitas vezes o moderador (ou experimentador) não está perto do usuário e precisa enxergar a tela para ver o que está acontecendo. Neste cenário eu recomendo algum software de compartilhamento de tela pela rede, como o TightVNC. Com este software é possível observar se o usuário realmente está fazendo o que ele deve fazer o use está se desviando muito do planejado.

4) Múltiplos desktops

Dependendo do que se deseja observar, é possível que várias janelas e software estejam sendo executados os mesmo tempo no computador. No caso do Windows, recomendo utilizar um software que permite a utilização de vários desktops ao mesmo tempo, como o dexplot. Este software cria diversos desktop virtuais onde é possível separar janelas e deixar o desktop do usuário ‘limpo’ (sem nenhuma janela adicional) enquanto um segundo desktop contém as janelas dos softwares de monitoria e outros.

5) Notificações de gravação

Durante o uso de alguns softwares geralmente o usuário acaba gravando algum arquivo em disco. Em algumas situações é preciso tomar algum tipo de atitude como, por exemplo, gravar em um log a data/hora, nome e tamanho do arquivo modificado ou tirar uma cópia de cada versão do arquivo gravada. Nestes casos é preciso desenvolver algum tipo de programa que é notificado automaticamente quando algum arquivo é salvo em uma pasta. Infelizmente existem poucos software que realizam esta tarefa, mas não é difícil criar um programa simples para isso.

Em geral, as linguagens de programação possuem recursos (classes e funções) para criar programas que geram uma notificação quando alguma modificação é feita em uma pasta. Por exemplo, o Java possui a classe FileAlterationObserver e o C# possui a classe FileSystemWatcher. A partir destas classes é possível criar programas que vão monitorar o que acontece nas pastas e realizar as operações necessárias assim que houver algum modificação no conteúdo das pastas.

6) Gravação da interação com teclado e mouse Figura6_AFS-AKA2_lg1

A gravação da movimentação do ponteiro do mouse e seus cliques é uma fonte importante de dados, assim como a gravação de cada tecla pressionada pelo usuário. Existem várias ferramentas para realizar este tipo de operação e aqui vou recomendar duas: o Mini Mouse Macro e o Basic Key Logger. Destaco que esse tipo de software deve ser utilizado SEMPRE com o consentimento do usuário, pois ele pode ter sérias implicações éticas caso contrário.

7) Diferenciação de texto Figura7_Kompare

Uma vez que os dados já tenham sido gravados é preciso tratá-los antes de iniciar as análises. Um dos tratamentos mais comuns é comparar o que usuário fez em relação a um estado inicial antes do experimento. Em geral, esta comparação é feita por meio da descoberta de diferenças indicadas pelas ações do usuário. E para descobrir estas diferenças recomendo o WinMerge que compara dois arquivos texto e mostra a diferenças (inclusões, alterações e exclusões).

8) Transcrição de texto

Muitas vezes gravamos o áudio do usuário durante o experimento ou durante uma entrevista/conversa informal (debriefing) logo após ele ter terminado as tarefas do experimento. Em geral, precisamos analisar manualmente este áudio e fazer a transcrição do que foi dito para texto com o objetivo de realizar análises futuras. Existem diversos serviços pagos que podem ajudar quando temos muito texto, mas caso seja necessário a transcrição manual do áudio eu recomendo o software Subtitle Workshop. Este software foi criado para geração de legenda de vídeo, mas ele pode ser facilmente utilizado para ler arquivos de áudio com o objetivo de transcrever o que foi falado.

As principais vantagens desta ferramenta incluem uma interface adequada para escrever as linhas do texto, sincronização da legenda no tempo certo e atalhos simples para avançar e retroceder o vídeo/áudio.

9) Análise de mapa de calor Figura8_m-ut-bsp-et

A geração de gráficos a partir dos dados é algo básico que deve ser contemplado por qualquer análise. Existem diversas ferramentas para isso, mas aqui vou destacar uma em participar: o Ogama.net. Este software permite a criação de mapas de calor (heat maps) que facilitam a descoberta de pontos específicos na tela onde o usuário clicou, interagiu ou olhou.

Esta ferramenta requer arquivos de texto com as coordenadas da tela e também arquivos de vídeo/imagem para sobrepor as ‘manchas’ solares. Existem outras formas de fazer isso, mas o Ogama.net é muito simples de usar e não requer programação.

Publicado em Ferramentas, Programação | Com a tag , , , , , , , , | Deixar um comentário