• Nenhum resultado encontrado

Algoritmo de Agrupamento – Árvore Geradora Mínima

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 ld x x  peso x x (13) onde x e i xj são os elementos incidentes na aresta l; ( ,d x xij) é a distância euclidiana

entre esses elementos; e peso x x( ,ij) é o peso do relacionamento desses elementos. Como peso x x( ,ij)[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 lSSDSSD (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

SSDSSDSSD (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.