Você está na página 1de 4

Clusterização de E-mails através do K-Medoides

Anderson Carlos Sousa e Santos∗


Anderson Rocha†

1. Introdução palavras contidas no documento são tomadas como carac-


terı́sticas para o vetor, dessa forma a dimensão do vetor será
A clusterização é um processo não supervisionado no igual a quantidade de palavras diferentes em todos os docu-
qual os dados são classificados em grupos denominados mentos. Isto incorre em um vetor muito grande e esparso.
clusters. Por não supervisionado entende-se que não há
Para resolver o problema da dimensionalidade foi uti-
dados marcados que possam indicar seu grupo, não há
lizada a abordagem de seleção de caracterı́sticas, procu-
treinamento. Este processo é útil em diversas aplicações
rando eliminar as palavras que não são significativas.
como: mineração de dados, recuperação de documentos,
Primeiro foi aplicada a remoção de stop words - as palavras
segmentação de imagens e classificação de padrões. Em
mais comuns do idioma, no caso inglês, que geralmente não
muitos destes casos muito pouco ou nada se sabe sobre os
contribuem para a semântica dos documentos.
dados, assim o caráter não supervisionado é uma vantagem,
para clusterização. Foram removidas também as pontuações e caracteres
especiais, de foma a também separar as palavras conec-
Este trabalho objetiva descobrir estruturas organiza-
tadas por eles. Isso visa revelar mais similaridades en-
cionais em um conjunto de dados não marcados e exercitar
tre documentos. Ex.: Os endereços de e-mail ander-
conceitos de aprendizado de máquina não supervisionado.
son@ic.unicamp.br e marcus@ic.unicamp.br são tratados,
Dessa forma foi utilizada uma base com 18829 emails, que
cada um, como uma palavra só e estando em documento
deveriam ser agrupados, tendo como principal desafio de-
diferentes não revelam a semelhança dos servidores de e-
terminar o numero de clusters apropriado.
mail. A separação das palavras visa contornar este tipo de
situação.
2. Solução Proposta Números foram removidos, pois na maior parte das
A solução aqui proposta é baseada no algortimo K- situações eles não são relevantes individualmente. No
medoides aplicado à um vetor de caracterı́sticas. Este ve- caso aqui desenvolvido (mensagens de e-mail) números po-
tor foi derivado de acordo o modelo bag-of-words. As duas dem significar muitas coisa diferentes: quantidades, CEP,
seções seguintes mostram mais detalhes do processo de pré- numeração de casas, valor monetário, etc. Assim números
processamento e agrupamento respectivamente. iguais podem não representar a mesma coisa.
Para reduzir palavras com um mesmo radical para
2.1. Pré-Processamento dos Documentos um único termo, tentando assim agrupar palavras com
semântica semelhante a uma mesma sintaxe, foi utilizada
A finalidade do pré-processamento é obter uma a técnica de steamming, utilizando o algoritmo de Poter.
representação do documento como um vetor de carac- Uma ultima seleção de caracterı́sticas foi realizada, de
terı́sticas. Isto permitirá a aplicação de algoritmos de acordo com o numero de documentos em que o termo apare-
classificação ou agrupamento, já que estes não conseguem cia. Foram removidas palavras que apareciam em menos de
trabalhar diretamente com o texto. A caracterı́stica é sim- 0.6% e as que apareciam em 100% dos documentos. Por-
plesmente uma entidade sem estrutura internal (uma di- tanto, esta seleção preservou termos com baixas-medidas
mensão no no espaço de caracterı́sticas). frequências, o que está de acordo com uma conhecida lei
O modelo mais comum - e o utilizado aqui - para repre- da recuperação de informação, a qual postula que termos
sentar um documento é o chamado bag-of-words. Neste, as de baixa à media frequência, são os mais informativos. Ao
∗ Is
final, dos iniciais 360 mil termos aproximadamente, foram
with the Institute of Computing, Uni-
selecionados 2625 termos.
versity of Campinas (Unicamp). Contact:
anderson.santos@students.ic.unicamp.br Definido o espaço de caracterı́sticas, é necessário a
† Is with the Institute of Computing, University of Campinas (Uni- atribuição de pesos associadas as caracterı́sticas de cada
camp). Contact: anderson.rocha@ic.unicamp.br documento. Aqui neste trabalho utilizamos a media de

1
frequência TF-IDF:

T F − IDF (w, d) = T ermF req(w, d) ∗ log(N/DocF req(w))

na qual T ermF req(w, d) é a frequência da palavra


w no documento d, N é o número de documentos to-
tal e DocF req(w) é o número de documentos contendo a
palavra w.
O TF-IDF é um peso bastante utilizado em diversas
técnicas de mineração de texto. A importância de uma
palavra aumenta com sua frequência no documento, mas é
contrabalanceada pela frequência da palavra no conjunto de
documentos.

2.2. Clusterização
O método de clusterização escolhido foi o k-medoides,
utilizando a implementação mais comum: PAM (Parti-
tioning Around Medoids), fornecida pelo pacote ’cluster’,
presente no repositório oficial da linguagem R. Este algo-
Figure 1. Gráfico que mostra o custo em função da quantidade de
ritmo é semelhante ao k-means, o algoritmo mais utilizado
grupos .
para particionamento hard. Contudo o k-medoides, uti-
liza como representantes dos grupos, dados do próprio con-
junto, ao invés de criar um novo dado. Para aplicação em K avg(s(i))
documento, isto faz muito sentido, visto que a utilização do 2 0.0006473802
k-means geraria novos vetores de caracterı́sticas que não 25 0.0031229310
correspondem a um documento verdadeiro. 50 0.0066754110
Outro aspecto que contribuiu para escolha deste método, 75 0.0114818200
é a possibilidade de utilizar uma matriz de distâncias Table 1. Silhouette
previamente computadas. Isto acelera o processamento,
possuindo grande vantagem principalmente quando são
necessárias diversas execuções. k[1, 100]. O primeiro teste para determinar o melhor k, foi
A medida de similaridade utilizada no agrupamento foi a tentativa de utilizar a regra do cotovelo, que consiste em
o cosseno entre dois vetores. Esta é uma medida bastante encontrar o numero de clusters k que provoca uma maior
comum na mineração de texto pois retorna similaridade de inflexão na curva da função objetivo. Porém como pode ser
forma invariante a escala. Esta medida é calculada como: observado na Figura 1, a curva é suave e não permite inferir
A·B k.
S(A, B) = Outra técnica empregada na analise dos clusters é
kAk kBk
chamada Silhouette e definida como a seguir:
Quando comparada as distancias de Minkowski, como
por exemplo a distancia Euclidiana, o cosseno se mostrou b(i) − a(i)
melhor para clusterização de documentos. s(i) =
max{a(i), b(i)}
Para utilização com o k-medoides, foi computada uma
matriz de similaridades utilizando o cosseno. Esta, por sua Onde a(i) representa a dissimilaridade media do dado
vez é dada como entrada para o algoritmo que retorna, os i com todos os outros dados e b(i) a menor dissimilaridade
medoides, o valor da função objetivo, uma matriz de per- media de i em relação aos dados de outros clusters. Portanto
tinência e algumas outras informações para analise. Estas s(i) próximo a 1 indica que o dado i está no grupo certo.
outras informações foram utilizadas para determinar o nu- Em nosso experimento constatou-se que para todos os ks a
mero de clusters ótimo, e são exploradas na próxima seção. media de s(i) ficou muito abaixo de 1. A tabela 1, mostra
os valores para quatro valores de K.
3. Experimentos e Discussão A Figura 2 mostra um exemplo do gráfico para k=15, os
demais apresentam este mesmo perfil. Para um bom agru-
Visto que os dados podem ser agrupados em 1 até pamento deveria ser possı́vel visualizar a distinção entre os
cem grupos, foi então realizada a clusterização para cada grupos. É possı́vel ver ainda valores negativos, que indicam
4. Conclusão
A determinação do numero de grupos para uma
clusterização em partições hard, é uma tarefa complexa e
que requer muita analise e conhecimento dos dados com
que se trabalha. Em nossos experimentos não foi possı́vel
determinar o numero de clusters ótimo. Porém constato-se
que o problema se deu pela não representatividade dos da-
dos. Dessa forma, como trabalhos futuros deve-se reformu-
lar o pre-processamento de forma a refletir melhor as carac-
terı́sticas distinguı́veis entre documentos.

Figure 2. Agrupamento para k=15

Figure 3. Exemplo de bom agrupamento para k=2

fortemente a errônea clusterização do individuo. A Figura


3 mostra um exemplo de um gráfico para o qual houve um
bom agrupamento.
Poderı́amos concluir que é necessário um k > 100, con-
tudo é sabido que o k = 100 é máximo para este conjunto
de dados. Dessa forma podemos constatar que os dados
não estão estruturados da maneira adequada. Ou seja, a
etapa de pre-processamento não foi capaz de fornecer ve-
tores, que pudessem ser facilmente agrupados e assim os
dados diferem mais do que deveriam.
Em anexo estão expostos os medoides e seus 3 vizinhos
mais próximos para um k = 2, escolhido para exemplificar
a clusterização.
. 5. ANEXO
MEDOIDES [1] ”e127bd7b6d4cd33afd7c6bf06d115789.txt”

From: skucera@prstorm.bison.mb.ca (stan kucera)


Subject: MONOUMB.386

Does anyone know where the program MONOUMB.386 is a


checked my Windows system disks and MONOUMB2.386 is
other one.. Thanks..

Stan Kucera

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
skucera@prstorm.bison.mb.ca (stan kucera)

MEDOIDES [2] ”60257dbf070fa86b9a052b3eef673444.txt”

Subject: MONITOR
From: mike.damico@cccbbs.UUCP (Mike Damico)

Tracy your monitor is on its way. Mike Damico

Você também pode gostar