AGRUPAMENTO DE TEXTOS POR SIMILARIDADE
PARA SISTEMA DE CLIPPING WEB:
CLUSTERCLIPPING
Gesualdo Crocco <[email protected]>
Stanley Loh < [email protected]> – Orientador
Universidade Luterana do Brasil (Ulbra) – Curso de Ciência da Computação – Câmpus Canoas
Av. Farroupilha, 8.001 – Bairro São José – CEP 92425-900 – Canoas/RS
29 de novembro de 2010
RESUMO
Existe hoje na internet, uma quantidade infinita de informações, que crescem de acordo com a maior
interação dos usuários, sendo que o acompanhamento e a compreensão dos acontecimentos de uma notícia se tornam
uma tarefa mais complicada a cada dia. Tendo esta motivação em vista, neste trabalho realizou-se um estudo e a
implementação de um protótipo capaz de buscar notícias sobre tópicos específicos em fontes monitoradas e agrupálas em subtópicos, com a expectativa de facilitar a compreensão do desenvolver dos fatos do tópico em questão.
Buscando os principais conceitos de processamento de texto e de mineração de dados na literatura, diversas técnicas
e algoritmos foram estudados e analisados, com o intuito de escolher uma técnica e implementá-la num sistema
online de fácil utilização capaz de executar para o usuário tal tarefa. Neste documento serão apresentados os estudos
envolvidos neste trabalho, bem como a avaliação e os resultados da implementação deste sistema.
Palavras-chave: Clipping; Cluster; Clusterização; Agrupamento; Cliques; Star; Similaridade.
ABSTRACT
Title: “Grouping by similarity of texts for web clipping system: Cluster Clipping”
The Internet has an infinite amount of information, which grows according to user interaction, which makes
monitoring and understanding the events of a story a task more complicated every day. Having this motivation in
mind, this work was carried out the study and implementation of a prototype able to get news about specific topics in
monitored sources and group them into subtopics, expecting to facilitate understanding of the fact. Several
techniques and algorithms were used, seeking the main concepts of word processing and data mining literature, in
order to choose one and implement it in a user-friendly online system, capable of performing this task for the
user. This document will present the studies involved in this work, as well as assessment and results of implementing
this system.
Key-words: Clipping; Cluster; Clustering; Grouping; Clicks; Star; similarity.
1
INTRODUÇÃO
A internet é o meio de comunicação que está cada vez mais presente na vida das pessoas, no Brasil,
este índice chega a quase quarenta por cento da população.
É o que divulga a última pesquisa realizada pela consultoria comScore, mostrando que o número de
brasileiros que utilizam a internet chegou à marca de setenta e três milhões, levando em conta o acesso em
casa, no trabalho e em locais públicos como LAN houses e universidades. Isso representa trinta e oito por
cento da população brasileira estimada pelo IBGE (Instituto Brasileiro de Geografia e Estatística), que é de
193 milhões de habitantes. Os dados se referem ao mês de maio, do ano de 2010, e levam em conta
internautas de ao menos seis anos de idade.
Através da rede mundial de computadores, o acesso as informações torna-se ilimitado, e crescem de
acordo com a interação dos usuários em blogs, wikis (sites de colaboração para criação de conteúdo) e sites
de notícias.
Há serviços agregadores que coletam e fornecem muita informação, que nem sempre são
relacionadas ao assunto relevante, ou são repetidas, pois a mesma notícia pode ter sido publicada em mais
de um site.
Os buscadores e sistemas de clipping atuais propiciam uma gama de respostas muito ampla a cada
busca, sendo que um trabalho de seleção manual ainda tem que ser feito.
1
Porém, este trabalho de seleção e agrupamento de notícias ou informações é muito custoso em
termos de tempo para realmente separar a informação relevante, de conteúdo repetido ou mesmo de alguma
notícia que fuja ao tema.
Hoje se busca economizar ao máximo o tempo nas tarefas diárias, automatizando tudo aquilo que for
possível, de acordo com nossos esforços, portanto sistema de clipping torna-se muito útil. Para auxiliar na
obtenção das notícias diárias mais focadas nos interesses específicos, que faça isso de forma automatizada e
objetiva, fornecendo um conteúdo de notícias mais rápido com menos gasto de tempo por parte do usuário.
Clipping nada mais é que uma coleta selecionada de material de mídia, bem como: impressos,
material de rádio, reportagens de TV, notícias sobre um assunto, empresa, pessoa ou marca, podendo ser
resumos ou até mesmo o material completo.
Muitas empresas utilizam esta ferramenta para juntar material, pois auxilia no conhecimento da sua
área de atuação, bem como da própria organização, permitindo ter um panorama sobre determinado assunto,
até mesmo evitando a necessidade de procurar em diversas fontes, por ter um caráter compilador, prove
muitas informações sobre o mesmo assunto, agrupadas no mesmo lugar.
As ferramentas de manipulação eletrônica de conteúdo enfrentam um paradigma complexo, que
envolve a capacidade de uma máquina de reconhecer a necessidade do usuário e associar com informações
contidas na base de dados.
Para que seja possível essa funcionalidade em uma máquina há muito se estuda técnicas de
recuperação de informação, que segundo SALTON apud (KURAMOTO, 1996), consiste basicamente em
um processo dividido em três etapas: representação, armazenamento e acesso as informações, cujo propósito
final é encontrar conteúdo relevante ao usuário.
1.1
Motivação
Os sistemas de clipping de internet agregam e pesquisam notícias de acordo com os interesses dos
clientes. Essa busca é feita geralmente usando palavras-chave que definem o escopo, assunto e objetivo da
pesquisa.
Mesmo as notícias e informações que passaram por esse processo ainda podem ser revisadas por um
profissional qualificado para preparar e processar o material e compor o clipping. Esse processo manual é
lento e pode ser automatizado através de processamento de textos.
O processamento de textos é uma tarefa que abrange a área computacional de mineração de dados, e
possui diversas aplicações em tarefas de recuperação de informação, como agrupamento por tema ou
assunto.
Os buscadores e sistemas de clipping propiciam uma gama de respostas muito ampla a cada busca,
dificultando a aglomeração do conteúdo para o usuário que deseja se interar sobre diversos aspectos de um
assunto.
1.2
Objetivos
O foco principal desse projeto é a utilização de técnicas de avaliação de similaridade de texto para
agrupamento de notícias, utilizando a criação de um sistema de clipping web com condições de armazenar
notícias da internet, recebidas através de RSS em uma base de dados.
Também um estudo de técnicas relacionadas ao tema de classificação e agrupamento de textos, bem
como seus critérios de avaliação; a escolha e adaptação de algumas técnicas de agrupamento para o
desenvolvimento de em um ambiente online permitindo a familiarização com área de mineração de dados e
processamento de textos.
Agrupar as notícias de acordo com a proximidade calculada, através de uma função de similaridade
de texto e filtradas de acordo com o perfil do usuário, para a montagem de uma pagina de clipping
1.3
Organização do trabalho
No capítulo 2 deste trabalho, será apresentada a revisão bibliográfica feita no início do projeto, com
todas as informações relevantes sobre a área de mineração de dados, bem como os sistemas, algoritmos e
formatos de dados envolvidos no sistema.
2
No capítulo 3 será apresentado o desenvolvimento do projeto, com as considerações feitas em torno
da arquitetura do sistema, a divisão em módulos da arquitetura, as decisões e as particularidades da
implementação de cada módulo.
No capítulo 4 será apresentada uma análise e a apresentação dos resultados e de exemplos desta
análise. (tem que explicar mais)
Por fim, no capitulo 5 serão traçadas as conclusões deste trabalho, detalhando os conhecimentos
obtidos com a realização do projeto, os objetivos alcançados, as contribuições para a área e as possibilidades
de trabalhos futuros baseados no trabalho aqui realizado.
2
FUNDAMENTAÇÃO TEÓRICA
Esta seção apresenta uma revisão bibliográfica dos assuntos que estão envolvidos nesse projeto.
Primeiramente temos o sistema de clipping por ser uma das funcionalidades propostas. Também
apresenta um breve discorrer sobre RSS que servirá de fonte para alimentar a base de dados com notícias
que serão selecionadas através de uma técnica de recuperação de informações, associada com um
agrupamento por similaridade de texto, assim como as bibliotecas utilizadas e finalizando com clusterização
e avaliação da clusterização.
2.1
Clipping
Clip se origina do inglês e significa cortar, ou clipping que significa recortar de jornais. Essa
ferramenta tem como matéria prima os outros meios de comunicação.
Clipping ou Clipagem segundo (CEFETCE, 2009) "é a extração de notícias, notas e informações que
são publicadas na mídia, relacionadas à Instituição. A versão de clipping é uma forma rápida e econômica de
pesquisa aos sites, jornais, revistas e agências de notícias. O clipping funciona como um instrumento de
avaliação gerencial e, ainda, como um vasto material de consulta".
O clipping já é amplamente usado por diversas ferramentas na internet, por exemplo: Google Alerts
em www.googlealert.com, Clipping UOL em http://clipping.busca.uol.com.br/ e Baguete em
http://www.baguete.com.br.
2.2
RSS
O RSS (Really Simple Syndication) é um método que usa XML (Extensible Markup Lenguage) para
distribuição de conteúdo de um Web Site, para outros Web Sites ou sistemas agregadores.
O RSS é um padrão de organização, que facilita a identificação do conteúdo do arquivo por outras
máquinas. Foi criado para compartilhar informações como manchetes, links e resumos de textos, daí sua
popularidade nos sites de notícias e blogs (SOUZA, 2009).
Em 1999, a Netscape desenvolveu o RSS 0.90 esse era um simples XML com cabeçalho RDF (Rich
Data Format), em 2000, a empresa UserLand lançou a especificação oficial do RSS 0.91, em 2003, foi
lançada a especificação oficial do RSS 2.0. Sendo os dois últimos mais simples e de fácil entendimento
(SOUZA, 2009).
Os padrões atualmente mais utilizados são o RSS 0.91 e RSS 2.0 pela facilidade de uso, evitando
assim o uso da versão de RSS 1.0, por ser um padrão muito complicado, que requer conexões mais largas e
não é compatível com as versões mais populares.
2.3
XML
Devido ao grande crescimento da web, a linguagem HTML (Hyper Text Markup Language) passou
a não suprir as necessidades da mesma, então foram criadas extensões para ela, tais como, CSS (Cascading
Style Sheet), folhas de estilo em cascata e a XML (Extensible Markup Lenguage).
A linguagem XML foi criada em 1996, pelo organismo que define os padrões para a World Wide
Web, o W3C (World Wide Web Consortium), com o intuito de suprir algumas limitações encontradas no
HTML.
3
2.4
Sistemas de Recuperação de Informação
Nesta seção serão apresentados alguns conceitos básicos de recuperação e filtragem de informação.
2.4.1
Recuperação de informação
Foi conceituado em 1951 por Calvin Mooers que: “A Recuperação de Informações trata dos
aspectos intelectuais de descrição da informação e sua especificação para busca, e também de qualquer
sistema, técnicas ou máquinas que são empregadas para realizar esta operação” (FERNEDA, 2003)
Um sistema de recuperação de informação (SRI) consiste num programa que tem por finalidade a
busca das informações e apresentação das mesmas, conforme lhe foi especificado com o uso de palavras
chaves ou perfis pré-definidos. Essa busca pode ser feita tanto em dados estruturados (sistemas de arquivos
e bancos de dados) como em dados textuais e arquivos multimídia.
Os processos principais realizados por um SRI são dois basicamente: consulta, e a indexação. Esses
processos podem mudar de acordo com os modelos adotados.
A consulta é a parte responsável por fazer a conexão entre a necessidade do usuário e a sua forma de
se expressar ao realizar esse processo, para tornar possível uma conexão com os índices criados.
A indexação é a forma pela qual ocorre a organização dos dados no sistema para que seja possível
representar o conteúdo encontrado em uma futura recuperação de conteúdo.
2.4.2
Recuperação por filtragem
Através de um método de filtragem, um texto pode ou não ser bloqueado, e neste processo é retirada
a informação de interesse e descartando todo o resto.
Por esta lógica, o processo de filtragem de informação retira de um todo o que lhe for mais
pertinente. Tipicamente esse processo determina a relevância comparando as informações com o perfil do
usuário.
Em (BALASSIN, 2002) o modelo de filtragem de informação ou filtragem baseada em conteúdo,
utiliza filtros que são os perfis de usuários, montados a partir das necessidades dos mesmos, estes são de
suma importância, pois servem de base para definição da relevância da informação e também devem
representar um interesse de longo prazo. A criação dos perfis, com seus atributos, devem ser concluídos
antes da aplicação do filtro, senão inviabiliza o processo.
LEWIS Apud (LOH, 1999) afirma que independente de ser nos campos de texto, no banco de dados
ou em sistemas de arquivos a recuperação da informação pode ser utilizada com as mesmas técnicas de
filtragem.
Segundo KORFHAGE apud (LOH, 1999): "filtragem reduz a coleção de documentos para um
subconjunto com grande proporção de documentos relevantes. Depois outras técnicas mais precisas podem
ser usadas para encontrar os documentos relevantes ou então o usuário mesmo investiga todos os
documentos para encontrar a informação de que precisa".
Esse modelo apresenta uma facilidade para o usuário, pois reduz a necessidade de ter que apresentar
seu interesse no formato de expressões, usando uma busca pré-definida pelo perfil de acordo com seus
atributos e permitindo que o sistema execute a consulta automaticamente.
A sequência de filtros aplicados proporciona uma redução progressiva da coleção com que se
trabalha, permitindo selecionar a parte mais relevante. Os filtros podem aplicar técnicas diferentes para
obter o resultado, respeitando um limite definido para cada filtro aplicado (KORFHAGE apud LOH, 1999).
2.5
Medidas de Similaridade
São métricas que permitem avaliar quantitativamente a semelhança entre dois objetos.
Nesta seção serão apresentadas algumas das medidas de similaridade cujos algoritmos são
implementados na biblioteca SimMetrics utilizada para o desenvolvimento deste projeto.
2.5.1
Distância Levenshtein
A Distância Levenshtein apresenta bom desempenho ao estabelecer um grau de similaridade entre
textos.
4
Em (MANNING et. AL, 2008) é dito que o algoritmo mede a distância de edição entre dois strings,
calculando quantas operações são necessárias para transformar uma string em outra não importando o
tamanho. As operações podem ser entendidas como sendo: substituição, deleção e inserção, cada uma com
custo 1.
O processo se dá transformando os dois strings em vetores de uma matriz, logo após ele começa a
verificar cada posição da primeira com todas as outras da segunda string, para preencher os relacionamentos
com valores acrescidos do custo de cada operação, gerando no final o resultado da distância. Esta
similaridade pode variar de [0 a ∞] onde 0 um grau de similaridade que exprime igualdade ou caso o
resultado seja normalizado, uma variação ente 0 e 1.
2.5.2
Coeficiente de Jaccard
(CHAPMAN, 2009) afirma que este algoritmo é baseado em similaridade de vetores, a cada
ocorrência coincidente nos dois vetores V1 e V2, é incrementado o contador que irá gerar o grau de
similaridade. O conteúdo dos vetores é separado em três conjuntos diferentes:
• A- que contém somente os valores coincidentes entre V1 e V2;
• B- que contém somente os valores não coincidentes de V1;
• C- que contém somente os valores não coincidentes de V2;
Então o coeficiente é calculado pela seguinte fórmula:
Jaccard = A / (A+B+C)
2.5.3
Biblioteca Simmetrics
A SimMetrics, é uma biblioteca de licença livre GPL (General Public License) que implementa
algoritmos de similaridades entre strings. Utiliza métricas e resultados normalizados, que podem ser em
ponto flutuante entre 0 e 1, onde 0 é a desigualdade e 1 a igualdade, para facilitar comparações entre os
algoritmos.
Possui suporte para extensão de funcionalidades, dentre elas podemos destacar que possibilita
trabalhar com StopWords, que são palavras da língua que não apresentam importante significado semântico
nos textos e consequentemente prejudicam a análise.
Exemplos de palavras presentes na lista de StopWords utilizada são “a”, “cerca”, “com”, “de” “do”,
“este”, “que”, “o”, “para”, “pelo”, “sem”, etc. A lista atual utilizada compreende 256 palavras do português
brasileiro, adquirida no site: “http://miningtext.blogspot.com/2008/11/listas-de-stopwords-stoplistportugues.html”.
2.6
Algoritmos de clusterização
Segundo (WITTEN e FRANK, 2005), a clusterização, ou agrupamento de dados, consiste em aplicar
técnicas de aprendizado num conjunto de dados em que não se conhece previamente as suas possíveis
classes.
Dentre os algoritmos de clusterização podemos destacar o Cliques e o Star, que serão detalhados nas
subseções a seguir.
2.6.1
Star
Segundo (KOWALSKI, 2007),este algoritmo é baseado em grafos e recebe este nome porque ao
realizar o agrupamento lembra a formato de uma estrela, onde possui um elemento central, e os demais
ligados a ele, como mostra a Figura 1.
Portanto basta o elemento dianteiro ser similar apenas ao central para ser adicionado ao grupo.
O comportamento do algoritmo descrito em breves passos:
1. Seleciona 1º elemento e coloca em um novo cluster.
2. Procura todos os outros elementos e adiciona os similares a ele no cluster;
3. Para os elementos não alocados (semente de cluster), repetir o passo 1
5
Star
Figura 1 – Grafo do Algoritmo Star
2.6.2
Cliques
Segundo (KOWALSKI, 2007),o algoritmo Cliques, como ilustrado na Figura 2, também baseado em
grafo é parecido com o Star. Porém um elemento só será adicionado a um determinado grupo, se este for
similar a todos os demais. Pois com a utilização deste algoritmo torna-se evidente a busca por uma coesão
ao invés do uso de um elemento central.
Este algoritmo pode ter o seu comportamento descrito brevemente nos seguintes passos:
1. Seleciona 1º elemento e coloca em um novo cluster.
2. Procura próximo objeto similar
3. Se objeto é similar a todos os outros elementos do cluster, este objeto é agrupado
4. Enquanto houver objetos, retornar ao passo 2.
5. Para os elementos não alocados (semente de cluster), repetir o passo 1
Figura 2 – Grafo do Algoritmo Cliques
2.7
Avaliação de clusterização
As técnicas de avaliação consistem em aplicar o algoritmo de agrupamento num conjunto de dados,
para assim analisar os acertos e os erros.
As métricas para avaliar a qualidade de um algoritmo são muitas, com algumas descritas em
(MANNING et. AL, 2008) sobe avaliação de recuperação não ranqueada.
6
Nesses casos, como num agrupamento não se conhece inicialmente os clusters corretos, as técnicas
de avaliação consistem em aplicar o algoritmo de agrupamento num conjunto de dados de teste em que se
conhece previamente as classes, e analisar os acertos e erros do algoritmo.
Para tanto, é utilizado um conjunto de dados especificado. Então os dados resultantes são
fornecidos ao algoritmo de agrupamento. Ao término do algoritmo, os resultados do agrupamento são
comparados aos valores originais segundo diferentes possibilidades de métricas que dão pesos e
considerações diferentes para a quantidade de erros e acertos.
2.7.1
Precisão
A precisão e a fração de documentos recuperados que são relevantes, conforme (MANNING et. AL,
2008) que explica também como é calculada:
Precisão (P) é o resultado dos acertos ou itens relevantes (A) dividido pela soma total de itens
recuperados (R).
Precisão (P) = ∑ (A) / ∑ R
3
APRESENTAÇÃO DA SOLUÇÃO
Este projeto tem por objetivo testar técnicas de recuperação de informação e agrupamentos baseados
em grafos com critérios de similaridade.
Para tanto foi construído um protótipo para testar essas técnicas localmente. Na a avaliação foram
gerados agrupamentos utilizando alguns limiares para verificar a calibragem da sensibilidade do sistema
pela qualidade desses agrupamentos.
A atividade de clipping desperta interesse por sua característica objetiva de oferecer diversas fontes
segmentadas de informação. Portanto está sendo usada para apresentar os resultados do processamento do
sistema. Para gerar resultados o sistema necessita da interação com o usuário.
Figura 3: Casos de Uso
A Figura 3 apresenta um diagrama de caso de uso geral do sistema, onde se pode ver o papel do
usuário no processo e as funcionalidades básicas do sistema.
7
O usuário cadastrado alimenta a base de dados com endereços das fontes de que deseja manter-se
em contato para receber informação. Na construção do perfil o usuário informa uma palavra sobre a qual
tem interesse em monitorar.
O sistema é responsável pela busca de atualizações acrescentando quando necessário as novas
notícias á base de dados, também pela montagem do clipping com os resultados agrupados e do envio de
email para o endereço cadastrado pelo usuário.
3.1 IMPLEMENTAÇÃO
Para o desenvolvimento do Sistema Cluster Clipping, foi utilizado o Visual Studio 2008 com
linguagem C# e .Net Framework 3.5 com .Net Hibernate e SQL Server para o acesso a dados. Na interface
foi utilizado ASP.NET
A Figura 4, apresenta a arquitetura do sistema com seus componentes principais e a correlação entre
eles no contexto geral da aplicação da ferramenta com o ambiente.
Alimentação de
do Sistema
Busca de Notícias
RSS
XML
Internet
Fontes RSS
Base de Dados
Notícias
RSS
Aquisição de
Noticias
Recuperação da
informação
Filtro de Notícias
Clusterização
Algoritmo +
Similaridade
Avaliação
Figura 4: Arquitetura do sistema.
Como já apresentamos os componentes segue uma explicação sobre cada um deles.
3.1.1
Alimentação do Sistema
Este componente através da interface com o usuário é responsável pelo cadastro, dando suporte a
manutenção das informações do usuário.
O usuário para utilizar o sistema além de ter um login dado pelo administrador tem que efetuar os
cadastros:
8
• Usuário: Login e Senha provisória já cadastrada pelo administrador, faltando cadastrar o email, o
nome e a atualizar da senha
• Perfil: usuário informa o algoritmo, a palavra chave que esta buscando e o limiar em ponto
flutuante. Exemplo: Usuário Administrador, Algoritmo Star, Limiar 0,0200 (2%)
• Fontes: são todos os endereços de RSS os quais o usuário deseja buscar notícias, essas fontes
devem ser associadas a um perfil, para possibilitar a recuperação pelo módulo de busca de
notícias
3.1.2
Base de dados
Este componente dá suporte a todos os outros por ser responsável por armazenar as informações
necessárias ao funcionamento do sistema.
Através da Figura 5 compreende-se melhor a modelagem da base de dados e da forma em que os
dados são armazenados.
Figura 5 - Modelo Entidade-Relacionamento (ER)
3.1.3
Busca de notícias
Este componente é responsável por alimentar a base de dados recuperando as fontes de RSS
cadastradas pelos usuários do sistema e encaminhando para a aquisição de notícias.
Ele recupera os endereços das fontes cadastrados para o usuário no banco de dados do sistema e
cada um deles é enviado á aquisição de notícias. Por exemplo, um endereço que fornece notícias de cinema:
“http://rss.terra.com.br/0,,EI1176,00.xml”.
3.1.4
Aquisição de notícias
O componente obtém de cada fonte um arquivo XML organizado no formato de RSS, o decompõe
para extrair as notícias com seus atributos e inclui na base as inexistentes.
A decomposição do arquivo XML acontece pela necessidade de adequar o sistema a diversas
versões de RSS, para que fosse dinâmica a obtenção de notícias e até mesmo para trabalhar com arquivos
9
que não estejam estruturados adequadamente com os padrões de RSS.
Essa decisão tomada possibilitou que fossem absorvidos, sem gerar erro ao sistema, os diversos
formatos de distribuição de conteúdo sempre obtendo os atributos relevantes ao formato de armazenamento
adotado pela modelagem.
O Quadro. 1, apresenta os campos e a descrição do formato de notícia básico adotado neste
projeto,com esses valores o sistema pode salvar o registro na base de dados.
Quadro1: Campos Básicos a serem absorvidos
3.1.5
Campo
Descrição
Id
Identificação gerada pelo sistema,
controle interno
Title
Titulo da Notícia
Description
Descrição ou Resumo da Notícia
Link
Endereço da internet onde foi publicada
a notícia
Recuperação da informação
Ocorre uma consulta na base de dados buscando as notícias que possuem a palavra do perfil tanto no
título quanto no resumo da mesma.
O sistema forma uma grande coleção contendo todas as notícias recuperadas da base de dados. Essa
coleção é enviada para a Clusterização.
3.1.6
Clusterização
Subdivide a coleção de notícias em grupos menores ou clusters, de acordo com um o algoritmo e o
limiar da similaridade informado no perfil, estes algoritmos podem ser, Star ou Cliques.
De acordo com o perfil cadastrado, é selecionado um dos algoritmos já descritos, conforme
explicação breve.
Para uma maior compreensão do comportamento desta etapa, segue funcionamento dos algoritmos.
Star:
• Cria um cluster e adiciona a primeira notícia da coleção
• Para adicionar mais notícias a esse cluster ele obtém o índice de similaridade entre a próxima
notícia e o primeiro registro armazenado no cluster.
• Se o índice gerado for maior ou igual ao limiar, então essa notícia é armazenada no cluster e
assim sucessivamente com todas as outras notícias.
• Para as notícias que não foram clusterizadas, processo de criação dos clusters é reiniciado.
Cliques (que possui funcionamento semelhante ao Star, porém com uma diferença básica):
• No processo de seleção para a adição ao cluster criado, ao invés de comparar uma notícia
somente com o primeiro registro, é feita a comparação com todos os registros do cluster, e a
adição da notícia depende do alcance do índice de similaridade em todas as comparações.
Na etapa do cálculo de similaridade são retiradas as StopWords e logo após é calculado o coeficiente
de Jaccard sobre os textos.
O resultado da clusterização é enviado para avaliação.
3.1.7
Avaliação
Esta etapa recebe o conjunto de clusters com as notícias agrupadas e monta uma página web com o
resultado dos agrupamentos para mostrar ao usuário ou enviá-la por e-mail
4
EXPERIMENTOS
Para que fosse possível medir e comparar os testes optou-se por criar uma base dados com 36
10
notícias extraídas de fontes de RSS da internet.
Estas notícias são divididas em quatro temas Cinema, Receitas, Vôlei e Futebol, cada tema
contendo 9 notícias que são textos em português retirados de sites brasileiros, como segue visualização dos
Quadro 2 e Quadro 3, com os grupos e os títulos das notícias.
Quadro 2 – Grupos de Notícias dos Temas: Cinema, Receitas
Cinema
Id Titulo
0
Exclusivo: Saiba quem é Gem, a Sirens de 'Tron: O Legado'
1
Exclusivo: Conheça Castor, personagem de 'Tron: O Legado'
2
Exclusivo: Saiba quem é Clu, o software do mal em 'Tron'
3
Vem aí Atividade Paranormal 3, confira!
4
Atividade Paranormal 2 estreia batendo recordes
5
A nova aventura de Rapunzel, Enrolados, ganha novos pôster’s
6
'Atividade Paranormal 2' lidera bilheterias nos Estados Unidos
7
Mostra exibe o clássico 'Metrópolis' de graça no Ibirapuera
8
'Atividade Paranormal 2' bate recorde na noite de estreia
Receitas
Id Titulo
9
Surpresa de biscoitos
10 Drinque Tropical
11 Sobremesa Delícia de Morango
12 Chocolate para modelagem/efeite
13 Chantilly com creme de leite em lata
14 Flan de Uva
15 Torta Gelada de Gala
16 Filé em camadas
17 Peixe delícia à moda Cearense
11
Quadro 3 – Grupos de Notícias dos Temas: Vôlei e Futebol
Vôlei
Id
Titulo
18
Recuperado, líbero Alan inicia "nova carreira" em Londrina
19
Zé Roberto aponta Itália e Holanda como principais rivais na 1ª fase
20
Serginho cita "novas peças" e cogita aposentadoria da Seleção
21
Após "vacilo" em 2006, Jaqueline diz que só pensa no título mundial
22
Brasil vence Japão em último amistoso antes de Mundial
23
Osasco leva susto, mas supera São Caetano de virada
24
Após 25h de viagem, Seleção chega ao Japão e faz 1º treino
25
Seleção feminina embarca com pressão por título inédito
26
Adriana Behar e Shelda entram para o Hall da Fama do vôlei
Futebol
Id
Titulo
27
Torcida grita o nome de Jardel
28
Tricolor vence o Ypiranga em amistoso
29
Torcida faz carreata na chegada a Erechim
30
Emocionado, Júnior dá adeus ao Olímpico
31
Inter terá quatro desfalques para enfrentar o Atlético GO
32
Roth se preocupa: "está faltando competência na frente"
33
Goleiro evita derrota contra o Inter e Flu mantém liderança
34
Roth reforça foco do Internacional no Mundial de Clubes
35
Roth defende Alecsandro de protestos da torcida do Inter
Tendo por base essa organização torna possível avaliar os clusters formados, se estão de acordo com
os grupos de temas propostos, admitindo a subdivisão em assuntos específicos.
Para analise do comportamento dos agrupamentos, nos experimentos dos limiares com os algoritmos
Star e Cliques cada algoritmo, foram testados os limiares 2%, 3%, 4%, 5% e 6%, levando em conta a
presença ou não de StopWords (palavras muito comuns do vocabulário) no texto.
Para os resultados obtidos e tabulados foi aplicada a validação de precisão, descrita na seção 2.Para
os valores agrupados fora do tema não são considerados acertos, assim como as subdivisões de um assunto
em mais de um grupo.
Nos testes buscou-se espaço em branco “ ”, por existir em todas as notícias, forçando o sistema a
lidar com todas as notícias não importando o tema ou palavra específica.
12
4.1
Resultados
Nessa seção serão demonstrados os resultados obtidos com os testes mais significativos realizados
através do protótipo desenvolvido, comparando a execução e comentando o comportamento dos algoritmos
Cliques e Star.através dos limiares testados, bem como a relação com a adição da técnica de retirada de
StopWords para refino dos resultados com redução de ruído.
Primeiramente serão mostrados os resultados gerados com o algoritmo Star tendo as StopWords.
Quadro 4 – Algoritmo Star com limiar a 2%
Algoritmo
Limiar
Agrupamentos
Notícias
Gabarito/Tema
acertos
Star
2%
Grupo 0
0, 1, 2, 5, 7, 13
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
5
Star
2%
Grupo 1
3, 4, 6, 8, 10
4
Star
2%
Grupo 2
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
9, 10, 11, 12, 13, 14, 15, 16,
17/Receitas
Star
2%
Grupo 3
Star
2%
Grupo 4
9, 11, 12, 14, 15, 16, 17
18, 19, 20, 21, 22, 23, 24,
25, 26, 28, 34, 35
27, 29, 30, 31, 32, 33
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
27, 28, 29, 30, 31, 32, 33, 34,
35/Futebol
7
9
6
total:
31
Precisão %
86,111
Como mostra o Quadro 4, o limiar de 2% é baixo e o comportamento do algoritmo permite agrupar
uma notícia sem ter coesão com o grupo como ocorre nos grupos 0 e 1 de agrupar notícias por palavras em
comum, porém sem significado semântico dentro do tema.
Essa falta de coesão é provocada por palavras como: “ser”, “mais”, “aqui”.não foram retiradas dos
textos geraram similaridade suficiente entre os textos para que fossem agrupados.
Essas palavras podem ser cogitadas para a adição na lista de StopWords.
Podemos perceber que houve um agrupamento de notícias, correspondentes a temas diferentes,
devido à proximidade dos termos usados nos temas Vôlei e futebol, como “técnico” e “Seleção”.
Quadro 5 – Algoritmo Star com limiar a 4%
Algoritmo
Limiar
Agrupamentos
Notícias
Gabarito/Tema
acertos
Star
4%
Grupo 0
0, 1, 2
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
Star
4%
Grupo 1
3, 4, 6, 8
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
3
4
Star
4%
Grupo 2
5
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
Star
4%
Grupo 3
Star
4%
Grupo 4
7, 33
9, 10, 11, 12, 13, 14, 15,
16
Star
4%
Grupo 5
Star
4%
Star
0
0
17
9, 10, 11, 12, 13, 14, 15, 16,
17/Receitas
9, 10, 11, 12, 13, 14, 15, 16,
17/Receitas
Grupo 6
18, 19, 20, 21, 22, 24, 25
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
4%
Grupo 7
23
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
Star
4%
Grupo 8
4%
Grupo 9
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
27, 28, 29, 30, 31, 32, 33, 34,
35/Futebol
0
Star
26
27, 28, 29, 30, 31, 32, 34,
35
total:
Precisão %
16
13
8
0
7
0
9
44,444
O quadro 5 permite observar que ao executarmos o programa usando o agrupamento Star com um
limiar de 4% aparentemente subdividiu o tema cinema , porém cada grupo criado é muito coeso quando ao
assunto por exemplo:
Grupo 0 estão concentradas as notícias do filme “Tron”, já no Grupo1 ficaram todas as notícias
referentes ao filme, “Atividade paranormal”.
Quanto aos de mais grupos houve a concentração de um tema por grupo, exceto por notícias bastante
desconexas que acabaram se isolando.
Quadro 6 – Algoritmo Star com limiar a 6%
Algoritmo
Limiar
Agrupamentos
Notícias
Gabarito/Tema
acertos
Star
6%
Grupo 0
0, 1, 2
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
3
Star
6%
Grupo 1
3, 4
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Star
6%
Grupo 2
5
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Star
6%
Grupo 3
6, 8
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Star
6%
Grupo 4
6%
Grupo 5
Star
6%
Grupo 6
17
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
9, 10, 11, 12, 13, 14, 15, 16,
17/Receitas
9, 10, 11, 12, 13, 14, 15, 16,
17/Receitas
0
Star
7
9, 10, 11, 12, 13, 14, 15,
16
Star
6%
Grupo 7
18, 19, 20, 21
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
4
Star
6%
Grupo 8
22, 23, 24, 25
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
4
Star
6%
Grupo 9
26
0
Star
6%
Grupo 10
Star
6%
Grupo 11
Star
6%
Grupo 12
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
27, 28, 29, 30, 31, 32, 33, 34,
35/Futebol
27, 28, 29, 30, 31, 32, 33, 34,
35/Futebol
27, 28, 29, 30, 31, 32, 33, 34,
35/Futebol
total:
12
Precisão %
33,333
27, 29, 30, 31, 32, 35
28
33, 34
8
0
6
2
O resultado do agrupamento a 6 % apresentado pelo quadro 6 é a dispersão das notícias. A
subdivisão em grupos menores sem significado dentro do tema, isso não gera resultado satisfatório por que
separa notícias que deveriam estar juntas em um mesmo grupo.
Este teste mostra que ao elevar o limiar de agrupamento ocorre a formação de grupos cada vez mais
distintos no sentido de geração de grupos que contém poucas notícias ou ate mesmo grupos unitários.
Quando comparados esses resultados com os resultados gerados sem retirarmos as StopWods o
algoritmo Star na Tabela1 apresenta uma diferença brusca na qualidade dos agrupamentos, o que mostra que
esse algoritmo é mais sensível a interferências na qualidade dos textos.
Tabela 1 – Agrupamento Star
Algoritmo Star
Limiar Com StopWords
Sem StopWords
2%
0
86,11
3%
0
66,66
4%
0
44,44
5%
13,88
50
6%
8,33
33,33
14
Quadro 7 – Algoritmo Cliques com Limiar a 2%
Algoritmo Limiar Agrupamentos Notícias
Gabarito/Tema
Acertos
Cliques
2%
Grupo 0
0, 1, 2, 7
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
4
Cliques
2%
Grupo 1
3, 4, 6, 8
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
4
Cliques
2%
Grupo 2
5
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
Cliques
2%
Grupo 3
9, 10, 11, 12, 13, 14, 15, 16
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas
Cliques
2%
Grupo 4
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas
Cliques
2%
Grupo 5
17
18, 19, 20, 21, 22, 23, 24, 25,
26
Cliques
2%
Grupo 7
27, 28, 32, 33
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol
4
Cliques
2%
Grupo 8
29, 30, 31, 34, 35
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol
5
total:
34
Precisão %
94,444
8
9
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
O teste apresentado no Quadro7 que mostra o limiar de 2% permite ver que os agrupamentos foram
alem do esperado especializando o tema cinema em dois grupos coesos de assunto distinto dentro do mesmo
tema, comportamento esse bastante parecido com o algoritmo Star com o limiar de 4% como mostra o
quadro 5.
Obteve-se sob este limiar quase a excelência ao identificar o tema Receitas e um resultado excelente
no tema vôlei, isso auxiliou a elevar a precisão ao valor mais auto dos testes realizados.
Quadro 8 – Algoritmo Cliques com Limiar a 4%
Algoritmo Limiar Agrupamentos Notícias
Cliques
4%
Grupo 0
0, 1, 2
Gabarito/Tema
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
Acertos
3
Cliques
4%
Grupo 1
3, 4, 6, 8
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
4
Cliques
4%
Grupo 2
5
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Cliques
4%
Grupo 3
7, 33
Cliques
4%
Grupo 4
9, 10, 11, 12, 13,14, 15
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas
7
Cliques
4%
Grupo 5
16, 17
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas
2
Cliques
4%
Grupo 6
18, 19, 20, 21, 22, 24, 25, 26
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
8
Cliques
4%
Grupo 7
23
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
0
Cliques
4%
Grupo 8
26
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
0
Cliques
4%
Grupo 9
27, 28
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol
0
Cliques
4%
Grupo 10
29, 30
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol
0
Cliques
4%
Grupo 11
31, 32, 34, 35
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol
4
total:
Precisão %
28
0
77,778
No Quadro 8 pode se perceber que com o aumento do limiar os grupos que haviam sido formados no
limiar mais baixo começam a se dissolver em grupos menores, reduzindo a precisão do resultado obtido pelo
limiar.
15
Quadro 9 – Algoritmo Cliques com Limiar a 6%
Algoritmo Limiar Agrupamentos Notícias
Cliques
6%
Grupo 0
0, 1, 2
Gabarito/Tema
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
Acertos
3
Cliques
6%
Grupo 1
3, 4
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Cliques
6%
Grupo 2
5
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Cliques
6%
Grupo 3
6, 8
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
2
Cliques
6%
Grupo 4
7
0, 1, 2, 3, 4, 5, 6, 7, 8/Cinema
0
Cliques
6%
Grupo 5
9, 10, 11, 13,14
Cliques
6%
Grupo 6
12
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas 5
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas 0
Cliques
6%
Grupo 7
15
Cliques
6%
Grupo 8
16, 17
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas 0
9, 10, 11, 12, 13, 14, 15, 16, 17/Receitas 2
Cliques
6%
Grupo 9
18, 19, 20
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
3
Cliques
6%
Grupo 10
21, 22, 23, 25
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
4
Cliques
6%
Grupo 11
24, 26
18, 19, 20, 21, 22, 23, 24, 25, 26/Vôlei
2
Cliques
6%
Grupo 13
27, 29, 30
Cliques
6%
Grupo 14
28
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol 3
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol 0
Cliques
6%
Grupo 15
31, 33, 34, 35
Cliques
6%
Grupo 16
32
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol 4
27, 28, 29, 30, 31, 32, 33, 34, 35/Futebol 0
total:
Precisão %
28
77,778
O quadro 9, que mostra o teste do algoritmo com o limiar de 6%,permite perceber mais claramente
que ao elevar o limiar de agrupamento ocorre a formação de grupos cada vez mais distintos no sentido de
geração de grupos que contém poucas notícias ou ate mesmo grupos unitários.
Agora comparamos os resultados obtidos, fazendo um comparativo entre a retirada ou não de
StopWords,côo mostra a tabela 2 abaixo, podemos medir uma interferência menos no comportamento do
algoritmo Cliques em relação ao algoritmo Star.
Tabela 2 - Agrupamentos Cliques
Algoritmo Cliques
Limiar Com StopWords
Sem StopWords
2%
0
94,44
3%
27,77
83,33
4%
8,33
77,77
5%
33,33
69,44
6%
38,88
77,77
Concluindo a explanação dos resultados com a Figura 6, que mostra um comparativo geral das
precisões obtidas com os resultados de todos os testes realizados e salienta ainda mais o comportamento
comum que se apresentam nos dois algoritmos aqui comparados, que é a queda na qualidade das
clusterizações com o crescente aumento dos limiares
Porém demonstra também que no caso dos testes feitos com as StopWords o comportamento dentro
dos limiares testados é inverso, isso se dá por que com o aumento do limiar, ou seja, a falta de sensibilidade
do limiar a interferência gerada pelas palavras muito comuns faz com que as palavras de maior significado
semântico junto ao tema sejam valorizadas e tomadas com diferencial, sobressaindo o valor do limiar entre
os textos comparados
16
Figura 6 – Resumo dos Resultados
5
CONSIDERAÇÕES FINAIS
Esse trabalho objetivou aplicar as técnicas de avaliação de similaridade de texto para o agrupamento
de notícias utilizando um protótipo que permitisse armazenar em uma base de dados as notícias recebidas
através da internet.
Teve por objetivo também estudar técnicas de classificação e agrupamento de textos além de seus
critérios de avaliação, para permitir uma seleção de informação em torno de um interesse específico.
Conclui-se com os experimentos realizados localmente sob uma base de dados de teste que o uso da
técnica de agrupamento de texto Star, pode-se agrupar conteúdo textual, com uma boa coesão entre os
assuntos dos temas, mas que esse algoritmo e bastante sensível ao conteúdo podendo apresentar resultados
bastante diferentes de acordo com a qualidade das notícias recuperadas pelo filtro.
A partir dos resultados obtidos com os testes sobre o algoritmo cliques, conclui-se que ele provê
uma coesão maior nos resultados, não sendo tão suscetível a ordenação do grupo de notícias o qual se deseja
agrupar.
Sobre os agrupamentos gerados com os limiares associados aos algoritmos que foram testados
contra a base de dados de teste pode-se concluir que quanto maiores forem os limiares, maior será a
dispersão da informação tendendo a gerar grupos com cada vez menos elementos até que os grupos
contenham apenas uma notícia.
O desenvolvimento desse trabalho foi importante para se perceber a melhor associação de um dos
algoritmos de classificação e agrupamento textual conforme a base de dados de teste, que foi com o
algoritmo Cliques fazendo a retirada das StopWords e usando a similaridade de Jaccard com o limiar de 2%.
Foi observado na analise das notícias, que podem existir blocos de texto que não fazem parte da
notícia como, por exemplo, “saiba mais...” ou a assinatura da fonte do RSS, esses blocos de texto poderiam
ser retirados para melhorar a precisão do texto e assim o funcionamento dos algoritmos de similaridade
levaria em conta somente as palavras mais representativas contidas nos textos, a aplicação dessa técnica
poderia ser aplicado num trabalho futuro.
17
AGRADECIMENTOS
Muitas vezes acreditamos estar sozinhos na caminhada de uma vida, mas isso não passa de uma
impressão, pois aqueles que têm fé nunca estão sozinhos.
Gostaria de começar agradecendo a Deus por permitir que eu tivesse a quem agradecer.
Não poderia deixar de começar agradecendo a minha mãe que é uma fiel depositaria de confiança na
minha pessoa e que tem passado por poucas e boas ao meu lado e meu pai ter me ensinado a ver o melhor
nas pessoas.
Agradeço aos meus pais pelos irmãos que me deram pois sei que tenho dois grandes companheiros
de jornada
E indispensável agradecer a vida, pelos amigos irmãos que venho colecionando pelo meu caminho
dos quais, sem a presença esse trabalho não teria sido possível.
Finalizo agradecendo a meu orientador pela coragem, paciência e ensinamentos.
18
REFERÊNCIAS
BALASSIN, A. J. Uma Abordagem Baseada Em Agentes Para Filtragem De Correspondências
Eletrônicas. Revista Eletrônica de Iniciação Cientifica (REIC), v.II, n IV, Dezembro 2002.
CEFETCE, Centro Federal de Educação Tecnológica do Ceará.Clipagem Virtual. Disponível em
<http://www.etfce.br/Admin/Comunicacao/clipagem.php>. Acessado em Março de 2009.
COMSCORE, ComScore.Inc. Usuários da Internet com Idade entre 6 e 14 anos no Brasil Passam 60%
de seu Tempo Online em Sites de Comunicação e Entretenimento.Disponível em
<http://www.comscore.com/por/Press_Events/Press_Releases/2010/6/comScore_Expands_Capabilities_in_
Brazil/%28language%29/por-BR>. Acessado em Novembro de 2010.
CHAPMAN, Sam. SimMetrics. Disponível em:< http://www.dcs.shef.ac.uk/~sam/stringmetrics.html>,
04/2009.
FERNEDA, E. Recuperação de Informação: Análise sobre a contribuição da Ciência da Computação
para a Ciência da Informação. Universidade de São Paulo, Ciências da Comunicação, São Paulo 2003
(Tese de Doutorado).
GONÇALVES, Rodrigo. Similaridade entre documentos semi-estruturados. In: II ERBD (Escola
Regional de Banco de Dados), Passo Fundo – RS 2006.
IBGE, INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATISTICA. Censo 2010.Porto Alegre [s.n], 29
de novembro de 2010. Disponível em < http://www.ibge.gov.br/home/ >
KOWALSKI, G.Information Retrieval Systems: Theory and Implementation Boston: Kluwer
Academic, 1997.
KURAMOTO, H. Uma abordagem alternativa para o tratamento e a recuperação de informação
textual: os sintagmas nominais. Ciência da Informação, v 25, n2, Abril, 1995
LOH, Stanley. Descoberta de Conhecimento em Textos. UFRGS, Pós-Graduação, Porto Alegre – RS
1999.
LOH, Stanley. Text Mining – Lista de StopWords –Stoplists, Blog de Text Mining. Porto Alegre [s.n], 26
de Novembro de 2008. Disponivel em: <http://miningtext.blogspot.com/2008/11/listas-de-stopwordsstoplist-portugues.html>
MANNING, C. D., RAGHVAN, P., SCHÜTZE, H.: Introduction to Information Retrieval. Cambridge
University Press, 2008
SOUZA, S. J. S, Iniciando no RSS: Feed mania. Porto Alegre [s.n], 18 de março de 2009. Disponível em:
<http://www.htmlstaff.org/ver.php?id=1392>
WITTEN, I.H, FRANK, E. Data Mining: Practical Machine Learning Tools and Techniques.Morgan
Kaufmann, 2nd ED. 2005
19
Download

Agrupamento de Textos por Similaridade