9
Visualização Integrada de Múltiplas Métricas de Redes Sociais Samuel F. de Sousa Junior, Cleidson R. B. de Souza Instituto de Informática – Universidade Federal do Pará (UFPa) 66075-110 – Belém – PA – Brasil [email protected][email protected] Abstract. This paper describes a multiple social network metric visualization tool based on StarPlot visualization. The tool, called Sargas, displays multiple social network metrics at the same time allowing a multi-relational analysis of multiple social networks. Each social network can be analyzed according to a specific metric and the comparison between different social networks is possible through score normalization using the statistical method z-score. Thus, it is possible to compare social network actors’ behavior through the visualizations provided by Sargas. Resumo. Este artigo descreve uma ferramenta de visualização de múltiplas redes sociais baseada na visualização StarPlot. A ferramenta Sargas permite a visualização de múltiplas métricas de redes sociais, onde cada rede social pode ser analisada de acordo com uma métrica específica e a comparação entre as diferentes redes é feita através da normalização dos valores utilizando o método estatístico Z-score. Desta forma, é possível comparar o comportamento de atores de redes sociais através da visualização proposta por Sargas. 1. Introdução Redes sociais podem ser representadas de diversas maneiras. Por exemplo, a representação matricial (sociomatrix) é comumente utilizada para cálculos em uma rede social, i.e., a análise da rede social. Desta forma, operações com matrizes podem ser usadas para estudar caminhos e a alcançabilidade de nodos (em inglês, reachability) [Wasserman e Faust 1997]. Uma outra representação das redes sociais é baseada em grafos, neste caso visando a visualização de redes sociais. De fato, existem diversos frameworks e ferramentas para a visualização de redes sociais (e grafos) como o JUNG (2008), o Prefuse (2008) e a ferramenta UCINet (2008). De uma maneira geral, a análise de redes sociais (SNA) é feita com base em métricas calculadas a partir da rede. Estas métricas podem ser calculadas tanto para a rede como um todo, quanto para cada um dos atores da rede. Um exemplo de métrica é a centralidade de um ator que pode ser entendida como a posição de um ator em relação aos outros atores na rede. Calcular a centralidade, então, permite entender o comportamento de um ator em relação aos outros em uma determinada rede. Os frameworks citados anteriormente também permitem o cálculo de diferentes métricas de redes sociais e a visualização destas métricas. Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008 60

Visualização Integrada de Múltiplas Métricas de Redes Sociais · 2009-01-19 · Este artigo apresenta uma proposta de visualização integrada de múltiplas métricas de redes

Embed Size (px)

Citation preview

Visualização Integrada de Múltiplas Métricas de 

Redes Sociais 

Samuel F. de Sousa Junior, Cleidson R. B. de Souza 

Instituto de Informática – Universidade Federal do Pará (UFPa)66075-110 – Belém – PA – Brasil

[email protected][email protected]

Abstract. This paper describes a multiple social network metric visualization tool based on StarPlot visualization. The tool, called Sargas, displays multiple social network metrics at the same time allowing a multi-relational analysis of multiple social networks. Each social network can be analyzed according to a specific metric and the comparison between different social networks is possible through score normalization using the statistical method z-score. Thus, it is possible to compare social network actors’ behavior through the visualizations provided by Sargas.

Resumo. Este artigo descreve uma ferramenta de visualização de múltiplas redes sociais baseada na visualização StarPlot. A ferramenta Sargas permite a visualização de múltiplas métricas de redes sociais, onde cada rede social pode ser analisada de acordo com uma métrica específica e a comparação entre as diferentes redes é feita através da normalização dos valores utilizando o método estatístico Z-score. Desta forma, é possível comparar o comportamento de atores de redes sociais através da visualização proposta por Sargas.

1. Introdução

Redes sociais podem ser representadas de diversas maneiras. Por exemplo, a representação matricial (sociomatrix) é comumente utilizada para cálculos em uma rede social, i.e., a análise da rede social. Desta forma, operações com matrizes podem ser usadas para estudar caminhos e a alcançabilidade de nodos (em inglês, reachability) [Wasserman e Faust 1997]. Uma outra representação das redes sociais é baseada em grafos, neste caso visando a visualização de redes sociais. De fato, existem diversos frameworks e ferramentas para a visualização de redes sociais (e grafos) como o JUNG (2008), o Prefuse (2008) e a ferramenta UCINet (2008).

De uma maneira geral, a análise de redes sociais (SNA) é feita com base em métricas calculadas a partir da rede. Estas métricas podem ser calculadas tanto para a rede como um todo, quanto para cada um dos atores da rede. Um exemplo de métrica é a centralidade de um ator que pode ser entendida como a posição de um ator em relação aos outros atores na rede. Calcular a centralidade, então, permite entender o comportamento de um ator em relação aos outros em uma determinada rede. Os frameworks citados anteriormente também permitem o cálculo de diferentes métricas de redes sociais e a visualização destas métricas.

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

60

Este artigo apresenta uma proposta de visualização integrada de múltiplasmétricas de redes sociais através da ferramenta Sargas. A ferramenta foi criada visando permitir a identificação de papéis desempenhados por colaboradores em projetos de software livre [Sousa Júnior et al, 2009]. Isto é, enquanto as pesquisas anteriores enfocaram na análise de redes sociais extraídas de emails [Gloor et. al 2006], de commits em sistema de controle de versões [Lopez et. al 2004] e a partir de código fonte [de Souza et al, 2005], a ferramenta Sargas permite considerar todas estas redes ao mesmo tempo através de um método de visualização baseado no StarPlot [Chambers et. Al 1983]. Sargas foi construída porque o enfoque dos frameworks para redes sociais está na visualização de redes sociais em apenas uma dimensão.

O restante deste artigo está organizado como segue. A próxima seção apresenta a motivação para a construção da ferramenta Sargas. Em seguida, a visualização StarPlot será abordada na seção 3. Posteriormente, a ferramenta Sargas será apresentada juntamente com o método estatístico (z-score) utilizado na ferramenta. Na seção 5, os resultados parciais serão apresentados. Finalmente, na seção 6 são apresentadas as conclusões e trabalhos futuros.

2. Motivação

Devido ao sucesso dos projetos de software livre, vários aspectos destes projetos têm sido estudados, desde as motivações que levam aos desenvolvedores a participar de um projeto, até o estudo do processo de auto-organização de comunidades na web [Madey et al 2002] assim como as ferramentas utilizadas nestes projetos. Além disso, pesquisadores estudam comunidades de software livre através de diferentes tipos de redes sociais como: análises de commits em sistema de controle de versões [Lopez et. al 2004], redes extraídas a partir de e-mails [Gloor et. al 2006] e redes geradas a partir de código fonte [de Souza et. al 2005]. De um modo geral, a maioria das propostas de redes sociais é baseada na análise de uma única rede social, por exemplo, a partir de listas de email, ou fóruns de discussão, ou discussões sobre bugs, ou chats e até mesmo a partir de análise do código fonte. Alguns estudos têm sido aplicados na identificação de possíveis intermediadores (brokers) em uma comunidade [Sowe et al 2006].

O ambiente OSSNetwork [Balieiro et. al 2008] é um ambiente criado para coleta de dados (informações de listas de discussão, listas de e-mails, informações de bug-tracking, chats, etc.) de diferentes repositórios de software livre para a construção e análise de redes sociais. No momento, os repositórios implementados são o SourceForge, o RubyForge, o repositório da Apache Foundation e o Codeplex. Através dos dados coletados, é possível analisar comunidades de software livre utilizando métricas de redes sociais (por exemplo, centralidades).

O OSSNetwork extrai, analisa e visualiza cada rede social individualmente, possibilitando calcular diferentes centralidades para cada uma das redes geradas. Entretanto, para uma melhor compreensão do comportamento dos atores presentes em redes sociais é necessário, muitas vezes, analisar redes em um contexto multidimensional. Por exemplo, em projetos de software livre, existem atores que colaboram no desenvolvimento do software, outros colaboram com submissão de bugs, outros com a identificação de “requisitos” e assim por diante [Crowston et al 2003].

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

61

Apesar do potencial oferecido pela análise de múltiplas redes sociais, até o momento, não existem estudos focando na análise combinada dessas redes sociais. Apenas para citar um exemplo, através da análise de múltiplas redes sociais é possível estender papéis identificados em projetos de software livre [Sousa Júnior et al, 2009].

Visando facilitar a análise e visualização de métricas de diversas redes sociais ao mesmo tempo, a ferramenta Sargas baseada na técnica de visualização StarPlot que é descrita a seguir.

3. StarPlot

A visualização StarPlot [Chambers et. al 1983] têm sido utilizada em diversos contextos para representação múltipla de dados, como em [Pinzger et al 2005] que visualiza métricas de entidades de código fonte. [Elmqvist et al 2007] propõe a criação interativa de queries através da seleção e filtro em dados multidimensionais usando, também, a visualização StarPlot. Assim, esta visualização apresenta-se favorável para representação de dados em múltiplas dimensões.

A visualização StarPlot implementada na ferramenta Sargas basicamente divide um círculo (360°) em n partes, uma para cada valor representado na visualização. Em outras palavras, nesta visualização o número de faces das estrelas pode variar: o grau entre as faces é calculado dinamicamente com base em 360° / n. Por exemplo, para três valores, o grau entre elas será 120°, para quatro será 90° e assim sucessivamente. Assim, cada estrela irá possuir um conjunto de valores S = {s1, s2,..., sn} de acordo com o número de informações analisadas ao mesmo tempo. Cada valor será desenhado como um eixo partindo do centro para a periferia da estrela, isto é cada valor representará uma face da estrela.

A Figura 1 ilustra um exemplo de visualização StarPlot. Na figura, três entidades são representadas pelos rótulos phi, beta e sigma. O ângulo entre valores não está dividido em partes iguais, entretanto, para abordagem implementada no projeto, estes foram divididos uniformemente, como pode ser visualizado na Figura 2.

Figura 1: Exemplo de uma visualização StarPlot

4. Sargas

4.1. Z-scores A comparação entre diferentes redes sociais é um aspecto que deve ser tratado com cuidado durante a visualização dos dados. Uma rede social gerada, por exemplo, a partir de uma lista de discussão pode ser diferente de uma outra rede social gerada a partir de surveys ou questionários. Por exemplo, se um ator possui um grau com valor 120 em uma rede de chat, mas possui um valor 20 em uma rede de código fonte, não é apropriado comparar esses valores devido ao fato de estarem baseados em medidas, potencialmente, diferentes de redes sociais diferentes. Em outras palavras, não é

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

62

possível comparar diretamente duas redes cujos dados de entrada, número de atores, média e desvios padrões sejam diferentes.

Visando solucionar este problema, Sargas utiliza um método estatístico, o Z-score, para comparar distribuições diferentes. Um z-score é um valor calculado para cada medida de um ator em uma rede social. Esses valores são calculados baseados na média e no desvio padrão de cada distribuição (ou seja, de cada rede social), tal que, através da utilização do z-score é possível referenciar um valor pelo número de desvios padrões que ele está acima ou abaixo da média de uma determinada rede social. Através da utilização deste método, torna-se possível comparar valores de diferentes redes sociais através da transformação destes em novos valores que refletem o quão longe os valores originais estão da média calculada para cada rede. A fórmula utilizada para a normalização encontra-se na Equação 1. O valor Z representa centralidade normalizada, o valor X representa o valor da métrica inicial, �� �� �� ������������ ���édia e desvio padrão da rede social respectivamente.

Z= X� µ�

Equação 1: Normalização através do z-score

4.2. Ferramenta

Sargas é uma ferramenta de visualização de múltiplas métricas de redes sociais desenvolvida em Java. O framework JUNG foi utilizado para calcular os valores das centralidades de redes sociais. O método de visualização construído é baseado na visualização StarPlot. Neste modelo, uma “estrela” é gerada para cada ator da rede social de forma que cada face da “estrela” apresenta uma informação, o valor de uma métrica, acerca de uma rede social específica. Concomitantemente, medidas de centralidade são utilizadas [Wasserman e Faust 1997] em cada face de cada estrela, assim é possível representar múltiplas métricas, uma para cada rede social, de um mesmo ator em uma única representação.

A partir desta visualização, é possível identificar se um ator com alta centralidade em uma rede social (por exemplo, de código fonte) também possui uma centralidade alta em outra rede social (de comunicação) através da simples inspeção visual das duas faces da “estrela” correspondentes às redes de código e de comunicação do referido ator. Posteriormente, quando atores diferentes, e suas respectivas “estrelas”, estão alinhados, é possível comparar facilmente a contribuição de vários atores em diferentes redes sociais ao mesmo tempo.

A Figura 2 abaixo apresenta um exemplo da visualização gerada pela Sargas. Utilizando a normalização, as médias das diferentes métricas podem ser representadas através de um círculo, tal que o círculo branco ao redor de cada estrela indica o valor em que as redes são equivalentes à média. Assim, é possível observar que o ator orutherfurd possui uma medida de centralidade abaixo da média na rede social representada pela face amarela. Em contraste, o ator spestov possui um valor de centralidade acima da média para a mesma rede social. Pode-se concluir facilmente que spestov é mais central do que orutherfurd na rede social representada pela face amarela de cada estrela. De maneira análoga, é possível notar que o ator copy_paste não possui representação nesta mesma rede social. Entretanto, a sua centralidade nas outras redes

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

63

excede ao valor médio em cada uma das diferentes redes sociais e distribuições de valores. Informações como estas servem para ilustrar o comportamento de um determinado grupo de atores, e também gerar questionamentos acerca deste comportamento que precisarão ser investigados em um passo posterior.

Figura 2: Um exemplo de uma visualização usando Sargas.

O funcionamento do Sargas se dá da seguinte forma. As entradas são redes sociais que podem ser encontradas em arquivos nos formatos dl ou csv. Para cada rede social, uma medida de centralidade (degree, betweenness ou information) pode ser selecionada. Uma rede gerada por discussão acerca de bugs ou chat pode ser analisada, por exemplo, usando a centralidade betweeness, de forma a identificar quem possui “controle” na comunicação entre dois atores não adjacentes [Wasserman e Faust 1997]. Em outro aspecto, em uma rede social extraída dos relacionamentos encontrados no código fonte, é possível calcular o grau de cada desenvolvedor de software para entender quão influente ele é na estrutura do código. Em resumo, Sargas permite a utilização de métricas diferentes para cada rede social analisada.

Objetivando facilitar a interação do usuário com a visualização, alguns controles foram implementados na ferramenta Sargas. Para ser mais específico, atualmente, Sargas possui os controles de zoom, seleção e drag dos componentes na tela. É possível, também, selecionar um conjunto de atores. Após a seleção, eles estarão destacados com um círculo branco com 25% de opacidade ao redor da estrela, assim como um retângulo arredondado sobre o nome do ator. A Figura 3 ilustra a seleção de atores.

Figura 3: Seleção dos atores na visualização

5. Resultados Iniciais

Como resultados iniciais, os projetos PMD [PMD 2008], ZK [ZK 2008] e Megamek [Megamek 2008] foram analisados em detalhes em [Sousa Júnior et al 2009]. A análise visual dos dados sugere a existência de grupos e papéis bem definidos em uma comunidade de software livre. Basicamente, alguns atores que apresentaram

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

64

participação significativa em todas as redes foram definidos como brokers, segundo a terminologia de redes sociais [Wasserman e Faust 1997]. Os brokers para o projeto ZK, no período entre as releases 2.3.0-RC e 3.0.0-RC, podem ser visualizados na Figura 4onde as redes sociais analisadas e suas cores são as seguintes:

� Cor branca: Rede social gerada a partir da lista de discussão e submissão de bugs (Bugs);

� Cor vermelha: Rede social gerada a partir da lista de discussão dos desenvolvedores (Developers);

� Cor amarela: Rede social gerada a partir da lista de discussão aberta (OpenDiscussion); e

� Cor rosa: Rede social gerada a partir do código fonte (Source).

Figura 4: Brokers identificados do projeto ZK

Um segundo grupo identificado representa os atores que estão presentes nas redes de submissão de bugs e discussão aberta. Uma possível interpretação para estes dados seria que estes atores são responsáveis por “traduzir” possíveis problemas encontrados pelos os atores da lista de discussão aberta para as detecções de bugs que serão discutidas no fórum de submissão de bugs. Os atores responsáveis por detecção e submissão de bugs para o projeto Megamek entre as releases 0.30.0 a 0.30.8 podem ser visualizados na Figura 5.

Figura 5: Grupo de submissão de bugs para projeto Megamek

� Cor branca: Rede social gerada a partir da lista de discussão e submissão de bugs (Bugs).

� Cor amarela: Rede social gerada a partir da lista de discussão aberta (OpenDiscussion).

Outros padrões de comportamento de atores de redes sociais analisados através da Sargas foram identificados (user proxies, development assistances, dentre outros) e são detalhados em [Sousa Júnior et al, 2009].

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

65

6. Conclusões e Trabalhos Futuros 

Ferramentas de visualização facilitam na análise de informações visto que diminuem a carga cognitiva do usuário ao representar visualmente as informações. Através da ferramenta Sargas, torna-se possível visualizar o comportamento de atores de redes sociais através da visualização de múltiplas métricas destas redes. Para isso, foi criada uma representação gráfica baseada em StarPlot de métricas de redes sociais. Cada ator apresenta o comportamento (medida de uma métrica) em cada rede social que participa, e assim, esse comportamento pode ser comparado entre as diferentes redes através da utilização do z-score. Na visualização, o valor representando a média de cada rede social é tornada explícita através de um círculo pontilhado.

Como trabalho futuro, pretende-se implementar funcionalidades extras, a saber:

� Uma nova visualização (temporal) será estendida para modelar dados através do tempo. Uma representação das mesmas redes em momentos diferentes do tempo poderá produzir potenciais resultados para a análise além da visualização pontual (atual formato da visualização, apenas em um dado momento do tempo);

� Outra forma de visualizar dados em StarPlot seria a utilização de um polígono. No método atual, os valores de cada face são desenhados partindo centro até o valor especificado, quanto maior o valor, maior será a face da estrela. Entretanto, os dados podem ser visualizados através de um polígono, onde todos os pontos de todas as faces serão interligados formando um polígono com o mesmo número de faces que a estrela. Entretanto, a visualização em formato de estrela será perdida;

� Uma visualização híbrida será criada integrando a visualização em estrela com a visualização em polígono;

� Filtros serão adicionados para permitir ao usuário remover (tornar invisível) uma determinada rede social. Por exemplo, dada as redes A, B, C, o usuário poderá escolher visualizar A, ou B ou C, ou ainda, A e B ou A e C ou B e C, bem como o modelo atual que apresenta todas as redes criadas; e

� Um modelo híbrido da visualização pontual de uma rede (apenas um momento do tempo) juntamente com a versão temporal (redes em diferentes momentos integradas) será criado culminando em um recurso de animação entre os diferentes estados das redes.

Agradecimentos

Este trabalho foi financiado pela Microsoft, pelo CNPq através do Edital Universal 20006 (projeto 479206/2006-6) e pela Universidade Federal do Pará através do programa PIBIC.

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

66

7. Referências

Balieiro, M. A.; Sousa Júnior, S. F.; de Souza, C. R. B. Facilitating Social Network Studies of FLOSS using the OSSNetwork. In: International Conference on Open Source Systems, 2008, Milan. Proceedings of International Conference on Open Source Systems, 2008.

Chambers, Cleveland, Kleiner, and Tukey, Wadsworth. Graphical Methods for Data Analysis, 1983.

Crowston, K. and Howison, J. The Social Structure of Open Source Software Development Teams. Seattle, WA : s.n., International Conference on Information Systems, 2003.

de Souza, C., Froehlich, J. and Dourish, P. Seeking the Source: Software Source Code as a Social and Technical Artifact. Sanibel Island, FL, ACM Conference on Supporting Group Work, 2005.

Elmqvist, N.; Stasko, J. ; Tsigas, P. DataMeadow: A Visual Canvas for Analysis of Large-Scale Multivariate Data. IEEE Symposium on Visual Analytics Science and Technology 2007, Sacramento, USA, 2007.

Gloor, P. Swarm Creativity – Competitive Advantage through Collaborative Innovation Networks. Oxford University Press, New York, January 2006.

JUNG. Java Universal Framework Graph. Disponível em: http://jung.sourceforge.net/. Acesso em 30/06/2008

Lopez-Fernandez, Luiz, Robles, Gregorio, Gonzalez-Barahona, Jesus M. Applying Social Network Analysis to the Information in CVS Repositories. GSyC, Universidad Rey Juan Carlos, 2004.

Madey, G., Freeh, V., and Tynan, R. (2002). Agent-Based Modeling of Open Source using Swarm. Paper presented at the Americas Conference on Information Systems (AMCIS2002), Dallas, TX.

Megamek. Disponivel em http://megamek.sourceforge.net. Acesso em 09/07/2008.

Pinzger, M.; Gall, H.; Fischer, M.; and Lanza, L. Visualizing multiple evolution metrics. St. Louis, Missouri, ACM Press, 2005.

PMD. Disponivel em http://pmd.sourceforge.net. Acesso em 09/07/2008.

Prefuse. Interactive Information Visualization Toolkit. Disponível em http://prefuse.org/. Acesso em 30/06/2008.

Sousa Júnior, S. F.; Balieiro, M. A.; Costa, J. M. dos R.; de Souza, C. R. B. Multiple Social Networks Study using Sargas. In: Hawaii International Conference on System Sciences (HICSS-42), Waikoloa, Big Island, Hawaii, 2009.

Sowe, S.K., Angelis, L., Stamelos, I. Identifying Knowledge Brokers that Yield Software Engineering Knowledge in OSS Projects, Information and Software Technology, Vol. 48, 2006.

UCINet. Software for Social Network Analysis. Disponível em http://www.analytictech.com/downloaduc6.htm Acesso em 30/06/2008.

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

67

Wasserman, S. and Faust, K. Social Network Analysis: Methods and Applications. Cambridge, UK and New York : Cambridge University Press, 1997.

ZK. Disponível em http://www.zkoss.org/. Acesso em 09/07/2008.

Workshop on Information Visualization and Analysis in Social Networks - WIVA 2008

68