Capítulo 5 – Algoritmos de Agrupamento
5.1 Algoritmo de Agrupamento – Árvore Geradora Mínima
Nesta seção, será apresentado o primeiro método desenvolvido neste trabalho para a detecção de grupos em Redes Sociais. Esse método visa identificar grupos de pessoas em redes sociais, que têm perfis semelhantes, e um forte relacionamento entre elas. Esse método utiliza uma abordagem em grafo que reduz o problema de agrupamento a um problema de particionamento em grafo.
As redes sociais utilizadas neste trabalho foram modeladas como um grafo chamado de grafo social. Em um grafo social cada nó representa uma pessoa e cada aresta mantém uma relação social existente entre duas pessoas. A fim de identificar grupos de pessoas, o método segue uma estratégia baseada na poda das arestas do grafo social.
O algoritmo de agrupamento utilizado é baseado no método de aglomeração espacial descrito em (Assunção, Neves, Câmara and Freitas, 2006). A topologia espacial pode ser entendida como uma rede social de objetos espaciais, na qual os objetos espaciais são os nós e seus relacionamentos são as arestas da rede social. Assim, é possível usar as etapas do método de agrupamento espacial para identificar os grupos em redes sociais.
78
A principal diferença entre o método utilizado neste trabalho e o método original é a modelagem do gráfico de entrada. O peso das arestas usado no algoritmo de agrupamento espacial é uma medida de dissimilaridade entre os nós ligados por essas arestas. No método utilizado, o peso da aresta é definido pelos atributos de perfil, conforme apresentado no capítulo anterior. O algoritmo é composto de três etapas, que serão apresentadas nas próximas subseções.
5.1.1 Modelagem do Grafo Social
Os dados nas redes sociais podem ser divididos em dois tipos: perfil de cada pessoa e os relacionamentos entre essas pessoas. O perfil de cada pessoa é formado por um vetor que armazena as características ou atributos das pessoas, tais como idade, peso, altura, etc. Assim, as características e os atributos descrevem uma pessoa, já os relacionamentos representam uma relação social existente entre duas pessoas.
A etapa de modelagem consiste em transformar a rede social em um grafo chamado grafo social. Essa modelagem diz respeito aos dois tipos de dados apresentados anteriormente. No grafo social, cada nó representa uma pessoa e cada aresta indica uma conexão entre duas pessoas.
A força do relacionamento social é representada por pesos nas arestas. Portanto, o grafo social tem pesos em todas as suas arestas, os quais devem pertencer ao intervalo (0,1), onde os pesos perto de 1 indicam uma forte relação e o oposto, ou seja, o peso próximo de 0, indica um relacionamento fraco. A regra utilizada para o cálculo dos pesos foi descrita no Capítulo 4.
No desenvolvimento desse algoritmo foram utilizados os seguintes atributos de perfil: número de orientações, número de participações em bancas, e número de publicações (congressos e revistas). Foi utilizado inicialmente apenas o número de publicações em comum dos pesquisadores como critério para dar pesos aos relacionamentos, em um segundo momento foram usados, além do relacionamento de co- autoria, mais 3 tipos de relacionamentos diferentes. Os atributos de perfil e os relacionamentos também foram definidos detalhadamente no Capítulo 4.
79
No algoritmo de agrupamento via árvore geradora mínima, o peso final das arestas do grafo social será definido pela distância euclidiana entre os elementos e pelos pesos dos relacionamentos. O peso final de uma aresta l do grafo social é dado como segue:
( ) ( ,i j).(2 ( ,i j))
custo l d x x peso x x (13) onde x e i xj são os elementos incidentes na aresta l; ( ,d x xi j) é a distância euclidiana
entre esses elementos; e peso x x( ,i j) é o peso do relacionamento desses elementos. Como peso x x( ,i j)[0,1] , faz-se dois menos esse valor para que a distância dos elementos seja mantida constante, caso o peso do relacionamento seja muito forte (igual a 1), ou para que a distância dobre, caso o peso do relacionamento seja muito fraco (igual a 0). Dessa maneira, o custo da aresta será sempre maior ou igual à distância euclidiana entre os elementos.
Vale observar que neste algoritmo o peso final da aresta recebe uma forte influência dos atributos de perfil dos elementos, pois o cálculo da distância euclidiana é obtido através desses dados.
5.1.2 Árvore Geradora Mínima
Nesta etapa, a Árvore Geradora Mínima (AGM) é construída. O agrupamento de pessoas em Redes Sociais pode ser definido assim como o problema de identificar subgrafos em um grafo. Considerando que o particionamento em grafo é um problema NP – difícil, para reduzir a complexidade, a AGM foi gerada utilizando-se os pesos das arestas do grafo.
Existem vários algoritmos para a geração da AGM. O algoritmo PRIM é um deles (Cormen, Leiserson, Rivest and Stein, 2001), e consiste em remover as arestas de acordo com seus pesos. No grafo social, a AGM representa a rede social com apenas os relacionamentos mais fortes. Com a criação da árvore geradora mínima, ao ir removendo as arestas, o grafo vai se tornando desconexo e os grupos vão sendo formados. Na próxima seção o processo de remoção das arestas é explicado mais detalhadamente.
80
5.1.3 Poda da Árvore Geradora Mínima
O objetivo nessa etapa é remover algumas arestas da AGM para encontrar os grupos de pessoas que estejam fortemente relacionadas e que possuam perfis semelhantes. Para isso, calcula-se o custo das arestas relacionadas à homogeneidade do grupo. Cada vez que uma aresta é removida é formado um novo grupo de pessoas.
A dificuldade nessa etapa é estabelecer os critérios para selecionar as arestas que devem ser eliminadas. Neste trabalho, esse critério foi definido com a seguinte fórmula:
( ) T l,
custo l SSD SSD (14)
onde SSDT é a soma dos desvios quadráticos dos atributos de perfil na árvore T e l é uma aresta dessa árvore. Já SSDl é obtido com a seguinte fórmula:
2 1 1 , m n ij j T j i SQD x x
(15)onde n é o número de nós (pessoas) na árvore T, xij é o jth atributo da pessoa ith, m é o número total de atributos de perfil considerados no agrupamento, e xj é o valor médio do
atributo jth entre todos os indivíduos da árvore.
l
SSD é a soma dos desvios quadráticos das duas sub-árvores que estão conectadas pela aresta l. Esse cálculo é feito como segue:
a b
T T
l
SSD SSD SSD (16)
onde SSDTa é a soma dos desvios quadrados da árvore Ta e
b
T
SSD é a soma dos desvios quadrados da árvore Tb, como mostrado na Figura 29.
Considerando o que foi exposto anteriormente, pode-se dizer que o custo de uma aresta representa uma medida de homogeneidade. Dessa forma, as arestas com os custos mais elevados são as candidatas a serem podas. Depois que uma aresta é removida, os cálculos dos custos devem ser refeitos para todas as arestas do grafo social podado, pois a ausência da aresta removida afeta os resultados do cálculo.
81
Figura 29 - Cálculo da aresta l.
O custo da aresta foi definido baseando-se na função objetivo do algoritmo k-
medoids (Newman, 2001c). Portanto, a poda da aresta com o custo mais alto aumenta a
homogeneidade das sub-árvores resultantes, ou seja, ele gera grupos de pessoas mais homogêneos.