quarta-feira, 25 de novembro de 2015

Redes de grupos de pessoas

Código Fonte: [ZIP]

O estudo das redes de colaboração acadêmica pode ser realizado em diferentes níveis, periodos e categorias. Algumas vezes é requerido analisar a colaboração entre grupos de pessoas, i.e., colaboração inter-grupos de pessoas. Veja na imagem um exemplo de agrupamento.




O scriptLattes gera diferentes dados intermediários que podem ser utilizados para criar redes de coautoria entre grupos de pessoas: Matriz de adjacência, lista de nomes completos e lista de rótulos.
Esses dados podem ser utilizados para "transformar" ou "converter" a rede de colaboração entre pessoas para redes de colaboração entre grupos.

O script matrizAdjacencia2grupos permite a geração da rede em formato GML (útil para análises com o software R-Project) e em formato GDF (útil para análises com o software Gephi). Veja no arquivo README.txt as instruções de execução.

Este script foi utilizado para estudar as redes de coautoria interprogramas de pós-graduação em Ciência da Informação. O artigo "A coautoria acadêmica interprogramas da pós-graduação em ciência da informação: Uma análise baseada em métricas" apresentado no ENANCIB é um exemplo de utilização do script.



Se utilizar este script talvez queira citar o trabalho:
AUTRAN, M.M.M.; BORGES, M.M.; MENA-CHALCO, J.P. A coautoria acadêmica interprogramas da pós-graduação em ciência da informação: Uma análise baseada em métricas em grafos. In: XVI Encontro Nacional de Pesquisa em Pós-Graduação em Ciência da Informação, 2015, Paraiba. XVI Enancib 2015, 2015. 

segunda-feira, 9 de novembro de 2015

Definição de bancas de concurso docente

As redes de coautoria (grafos de colaborações) podem ser explorados para auxiliar na tarefa inicial da
definição de bancas de avaliação para concursos acadêmicos.

Uma vez tendo a lista de CVs Lattes de candidatos concorrentes e a lista de CVs Lattes dos possíveis membros da banca de avaliação, pode ser examinada a rede de coautoria (sem pesos) para detetar as ligações acadêmicas entre candidatos concorrentes e possíveis membros da banca.



Podem ser escolhidos como membros da banca um subgrupo dentre os que não mantiveram nenhum vínculo de colaboração com algum candidato concorrente, i.e., dentre os vértices que não tenham nenhuma aresta ligada a algum candidato concorrente. Na figura anterior o Avaliador 2 não seria uma boa opção para a composição da banca. Especial atenção deve ser dada para a relação entre membros avaliadores que ja tenham colaborado (vértices na cor laranja). O ideal seria ter membros avaliadores sem nenhuma interação prévia entre eles?

Uma análise ainda mais refinada, para a identificação de relações acadêmicas de segunda ordem entre
candidatos concorrentes e possíveis membros de banca, refere-se à inclusão de uma abordagem de deteção de unicamente um nível de colaborador-de-colaborador (similar ao tratado na ontologia Friend-Of-A-Friend para correlacionar pessoas).

Resumo:
O scriptLattes pode ser utilizado como ferramenta para, de forma prelimininar, selecionar membros de banca que não colaboraram com os candidatos a uma vaga em um concurso docente.

domingo, 26 de maio de 2013

Instalação do scriptLattes no Ubuntu


O scriptLattes foi projetado inicialmente para ser utilizado no ambiente GNU/Linux. As últimas versões da ferramenta foram programadas usando a linguagem de programação Python que permite a criação de programas multiplataforma, i.e., os programas podem ser executados em diferentes sistemas operacionais.

Para programar o scriptLattes usamos alguns pacotes (livremente disponíveis) para o tratamento de arquivos, conversão de caracteres, criação de imagens e grafos (redes) de colaboração. Entretanto, esses pacotes requisitos não são fáceis de ser instalados em todos os sistemas operacionais (e.g. MS Windows ou MacOS).

Uma forma rápida e prática de testar o scriptLattes é através de sistema Linux Ubuntu instalado em uma Maquina Virtual. Nesse sentido, existe um ótimo material, produzido pelo Núcleo de Informação Tecnológica em Materiais (NIT/Materiais) da UFSCar, para criação de uma máquina virtual e execução do scriptLattes:


Meus agradecimentos ao Douglas H. Milanez e ao Prof. Leandro Innocentini Lopes pela criação do material!

domingo, 19 de maio de 2013

Criação de redes de co-autoria a partir de matrizes de adjacência


O scriptLattes, durante o processamento dos CVs Lattes, gera vários arquivos temporários que podem ser utilizados com outras ferramentas, como por exemplo R-Project, MS-Excel, Vantage Point, Ucinet, Pajek e Gephi.

Muitos arquivos (se não todos) gerados carecem de uma documentação apropriada. Para cobrir essa falta de informação e utilização/generalização dos dados gerados, serão tratados neste Blog vários assuntos relacionados à exploração dos dados da Plataforma Lattes.

Neste primeiro Post tratarei o uso das matrizes de adjacência para a criação de redes de co-autoria. De forma simplificada, uma matriz de adjacência é uma estrutura (arquivo de texto na forma de uma matriz bi-dimensional) que armazena o número de vezes que uma pessoa colaborou com uma outra. Veja na seguinte figura um exemplo de matriz de adjacência criado pelo scriptLattes após a análise de 10 CVs Lattes.

Exemplo de matriz de adjacência. Observe que a matriz é simétrica,
i.e., o valores na posição (i,j) é igual ao valor na posição (j,i), para i,j=1,...,10.

Cada linha e cada coluna está associada a uma pessoa. O valor na posição/célula (9,7) contém o valor inteiro 10. Esse valor indica que, a pessoa de índice 9 colaborou em dez produções (bibliográficas, técnicas ou artísticas) com a pessoa de índice 7.

O scriptLattes gera adicionalmente dois arquivos que podem ser úteis para a associação dos Nomes Completos e dos Rótulos de cada pessoa. Precisamente, esses três arquivos podem ser utilizados pelo Ucinet, Cytospace, R, e Gephi para a análise de redes. Entretanto, para alguns programas os dados devem ser tratados/adaptados (segundo o formato de entrada).

Os arquivos que serão aqui utilizados correspondem ao segundo exemplo de teste (teste-02) que acompanha a ferramenta. Para a criação de redes de co-autoria, úteis exclusivamente em R e Gephi, foi desenvolvido em Python um script denominado matrizAdjacencia2redes (precisa baixar e descompactar o arquivo .tgz).

A sintaxe para a execução do script é a seguinte:
$ python matrizAdjacencia2redes.py  arquivoComAMatrizDeAdjacencia  ArquivoComAListaDeNomes  arquivoComAListaDeRotulos  prefixoDeArquivosDeSaida

Exemplo de uso:
$ python matrizAdjacencia2redes.py  teste-02-matrizDeAdjacencia.txt  teste-02-listaDeNomes.txt  teste-02-listaDeRotulos.txt  teste-02

O script gerará dois arquivos, mantendo o prefixo dado como entrada. Para nosso exemplo de uso, serão gerados os seguintes arquivos: teste-02.gml e teste-02.gdf.

O arquivo .GML pode ser utilizado com a plataforma R, para a visualização e cálculo de métricas topológicas locais ou globais sobre redes. Já, o arquivo .GDF pode ser utilizado com o software Gephi.

Nota (nov/2015): O scriptLattes gera um arquivo com extensão .gdf que já incorpora a matriz de adjacência.