Universidade Federal de Santa Catarina
UFSC
Centro Tecnológico CTC
Departamento de Informática e Estatística INE
Seminário de Data Mining
Data mining na Web 2.0
Disciplina: Data Mining INE5644 Professor: Luis Otávio Campos Alvares Alunos: Alexandre Spengler Danielly Sorato Lucas Just Meller Maurício BrancoData mining na Web 2.0
1. Introdução
A necessidade de evolução de técnicas na área da informática é gerada por muitos fatores, na perspectiva do eixotemático deste trabalho, o fator predominante é a inequação das antigas técnicas utilizadas para mineiração de dados na web tendo em vista a evolução da mesma.
Na chamada “Web 1.0”, as características predominantes eram sites estáticos, não interativos e com aplicativos fechados, porém, com o avanço no conjunto de técnicas para design e execução de páginas da Web, geração de grandes volumes de dados em curto período de tempo, é apresentado um novo conceito de Web, proposto por Tim O’Reilly para designar uma segunda geração de comunidades e serviços baseados na plataforma Web, que foi denominada Web 2.0.
Não obstante, com esta nova fase da Web, surgiram problemas e desafios relacionados à redes sociais, agregação fácil e rápida de conteúdo de forma não significativa, tipos dos dados usados, prejudicando a maneira de filtrar o material relevante do irrelevante.
Em seu desenvolvimento, esse trabalho irá abordar aspectos de data mining, tais como dificuldades apresentadas, processos, aplicações e novos algoritmos em relação a essa evolução da Web.
2. Tipo de mineração
2.1. Mineração de ConteúdoA mineração de conteúdo é o processo de extração de conhecimento do conteúdo de documentos, dados e serviços encontrados na Web. O foco da mineração Web são os dados de texto e hipertexto, são os formatos de dados que constituem grande parte da Web.
Para extração de informações úteis em documentos de texto não estruturados é utilizada a Mineração de Textos, também conhecida como Descoberta de Conhecimento em Textos (Knowledge Discovered in Texts KDT). Podese definir KDT como sendo o processo de extrair padrões ou conhecimento, interessantes e não triviais, a partir de documentos textuais.
2.2. Mineração de estrutura
Mineração de estrutura é o processo de descoberta de conhecimento a partir da organização da Web, em especial através da ligação entre documentos na Web. A Web é como um grafo orientado, onde os nós representam páginas, e as arestas entre pares de nós representam vínculos entre as páginas.
Esta categoria envolve a estrutura que há por trás da interligação entre os documentos da Web. O que liga esses documentos são os vínculos de hipertexto (LINKS), os quais são os principais objetos de estudo nesta categoria.
Alguns algoritmos foram propostos para a modelagem da topologia da Web tais como o HITS (“Hyperlinked Induced Topic Search”) e o PageRank. Esses modelos são aplicados principalmente para calcular a qualidade ou relevância das páginas da Web. Uma das regras utilizadas é que quanto mais páginas estiverem apontando para uma determinada página, mais relevante ela será. O pageRank é famoso por causa do google.
2.3. Mineração de uso
A mineração de uso da Web focalizase em técnicas que possam prever o comportamento do usuário enquanto ele interage com a Web [Kosala, 2000]. O comportamento do usuário é estudado, através de logs de servidores web, logs de browsers, perfis de usuário, cookies e qualquer outro dado gerado pela interação do usuário, na busca de informações sobre a interação com a Web.
As aplicações da mineração de uso da Web podem ser classificadas em duas categorias principais: (KOSALA & BLOCKEEL, 2000):
• Aprendizado de perfil de usuário ou modelagem em interfaces adaptativas (personalização): Utiliza técnicas capazes de detectar suas necessidades e preferências, com possibilidade de personalização das páginas.
• Aprendizado de padrões de navegação de usuário: técnicas que os permitam promover melhorias no conteúdo e ergonomia, baseadas, por exemplo, no comportamento de seus usuários.
3. As fases do modelo de mineração na WEB
O modelo de mineração na WEB é realizado em quatro diferentes fases: 1. Obtenção dos dados 2. PréMineração 3. Mineração 4. Pós Mineração 3.1. Obtenção dos dadosEsta é a primeira fase do modelo, fase na qual ocorre a modelagem e estruturação da base de dados, que será a base para o modelo. Decidese nesta fase, a metodologia de obtenção dos dados, qual a fonte de obtenção, o tipo dos dados, além de variáveis que serão utilizadas para compor a análise, o raio de abrangência do projeto e a estrutura do banco de dados.
3.2. PréMineração
É importante que os dados incorporados às bases de dados, sejam de alta consistência e confiabilidade. Para que isso aconteça, rotinas são criadas para que executar essa incorporação, promovendo a validação dos resultados das análises estatísticas.
A partir dos critérios definidos pelo analista e os dados específicados na primeira etapa, dáse a entrada dos registros de dados. Um exemplo de registro, ocorre na mineração por uso, em que os registros de entrada são os dados de logs armazenados no servidor Web. Na mineração por conteúdo, os registros se dão pelos textos que compõem as páginas HTML, como diz o nome, seu conteúdo.
3.3. Mineração
Para a terceira etapa deste modelo, aplicase o algoritmo para extração de regras de associação sobre os dados registrados pré selecionados, por exemplo, os logs de um servidor Web. Medidas objetivas de interesse para regras de associação também podem ser criadas, como grau de confiança mínimo e suporte mínimo.
Utilizando as bases de dados operacionais, é recomendado que se crie uma Data Warehouse para auxiliar na realização da mineração de dados, pois tornase mais fácil e simples a análise de grandes quantidades de dados. Todos os dados de múltiplas fontes são integrados nessa etapa, mas mantendo a seguridade da qualidade dos dados que
serão minerados. A etapa de mineração é de extrema importância para validação dos dados que serão manipulados pelo Data Mining.
3.4. Pós Mineração
A fase corrente, é a responsável por tratar as regras extraídas na etapa de mineração antes que sejam mostradas ao analista, para que o analista tenha a interpretação mais facilitada e produtiva.
Critérios definidos pelo analista são levados em consideração para realizar esse processamento, além de informações extraídas a partir da estrutura do site.
As técnicas de Data Mining são aplicadas nessa etapa, tais como a otimização e estatística, com o objetivo de obter informações como padrões não percebidos em outras análises menos aprofundadas. Na pós mineração, é importante a validação dos resultados obtidos através de análises complementares, pois além de conhecer a elasticidade do conteúdo, podese obter o perfil dos consumidos das páginas na Web, traçando também as concorrências existentes entres as demais páginas Web.
4. Análise de redes
A partir dos conceitos básicos sobre redes, sabese que uma rede corresponde a um conjunto de vértices e arestas, e a relação entre vértices é representada por arestas. A teoria de redes estuda esses grafos formados por esse conjunto de vértices e arestas, estudando aspectos como sua simetria(ou assimetria).
Trazendo esses conceitos para o contexto presente neste trabalho, a análise de redes é aplicada, por exemplo, para mapear os relacionamentos entre usuários numa rede social, examinando a estrutura das relações entre entidades sociais(geralmente são pessoas, mas também podem ser grupos, organizações, nações, websites, publicações acadêmicas, etc).
Os principais aspectos que podem destacados em uma rede social são a grande
quantidade de informações envolvidas, degradação do aspecto semântico quando estas são interpretadas isoladamente, problemas quanto ao tratamento das informações e demandas por análises bem estruturadas.
4.1. Social Network Analysis(SNA)
O Social Network Analysis(SNA) é um estudo sobre a relação entre usuários, grupos ou instituições sociais, que visa formular algoritmos sobre estruturas de rede(normalmente capturadas em grafo).
Redes sociais como o Facebook usam elementos básicos do SNA para recomendações(de páginas, amigos, etc), que geram mais informações para facilitar o processo de mineração e a partir de mineração dos dados são identificadas possíveis preferências. De modo geral, o SNA testa hipóteses sobre o comportamento online entre os usuários.
5. Algoritmos voltados a redes sociais
Como foi apontado no tópico anterior, a representação de redes sociais foi bastante influenciada pela teoria grafos, nos quais o conjunto de vértices correspondem aos "atores" (pessoas, empresas, agentes sociais) e o conjunto de arestas correspondem as "ligações" ( relacionamentos, associações, links).
Os algoritmos aplicados em redes sociais continuam em evolução, devido a sua alta complexidade e necessidade de rapidez em sua aplicação, um exemplo de algorimo que precisa de aperfeiçoamentos e simplificações é o algoritmo da clique.
O número de clique de um grafo é igual à cardinalidade da maior clique do grafo G = (V, E) e é obtido pela resolução do problema NPdifícil da máxima clique, o qual possui alta complexidade.
A estrutura de clique, onde deve existir uma aresta para cada par de vértices, apresenta muitas restrições na modelação da vida real. Deste modo, abordagens alternativas têm sido sugeridas, como fim de relaxar o conceito de clique, como o kclique, kclã/kclub e kplex.
Para a relaxação correspondente ao kclique, o qual é um modelo baseado em distância onde k é o comprimento máximo do caminho entre cada par de vértices, temos que uma kclique é o subconjunto de C tal que para cada i e j pertencentes a C, a distância(i, j) é menor ou igual a k, logo uma 1clique seria idêntica a uma clique, pois a distância entre os vértices é igual a um e uma 2clique é o subgrafo completo maximal com um caminho de uma ou duas arestas, caminho cujo seria equivalente ao “amigo do amigo” em uma rede social.
As medidas utilizadas na análise de Redes Complexas e “Graph Mining” são baseadas em procedimentos de baixa complexidade computacional, como o diâmetro do grafo, o grau de distribuição dos nós e a verificação da conectividade, subestimando o conhecimento da estrutura das componentes do grafo, então para o exemplo citado, visando encontrar a cobertura mínima de kcliques é proposto um algoritmo de duas fases, no qual em primeiro lugar, todas as kcliques maximais do grafo são geradas, depois o subconjunto mínimo do kcliques é escolhido para cobrir todos os vértices do grafo.
5.1. O algoritmo de duas fases
O algoritmo de duas fases:
Procedimento 1: Algoritmo de duas fases para encontrar a cobertura de kcliques ● Entrada: distância k e grafo G
● Saída: cobertura de kcliques 1. Encontrar todas as kclique maximais do grafo G; 1.1. Transformação do grafo num kgrafo; 1.2. Aplicar o algoritmo da clique máxima; 2. Encontre a cobertura mínima de G com kcliques; 2.1. Aplicar o algoritmo da cobertura de conjuntos; 3.1. Encontrar as kcliques maximais no grafo G; Grafo Transformação:
É um grafo denominado kG(V, E), que corresponde transformação do grafo G(V, E) num grafo, tal que para cada i e j pertencentes à V, a distância d(i,j)≤ k. Para a criação do grafo kG(V,E) devese utilizar o Algoritmo Floyd, que considera todos os caminhos mais curtos num grafo, e, em seguida, para cada aresta inferior ou igual a k, será criada uma nova aresta no novo grafo. Procedimento 2: Transformação do Grafo ● Entrada: k, M[n,n] matriz de adjacência do grafo G ● Saída: D[n,n] a matriz com kdistâncias do grafo G (ou kGrafo) 1. D=M; 2. Para cada (h,i,j) D[i,j] = min(D[i,j], D[i,h]+D[h,j]); 3. Para cada (i,j) se (D[i,j] <=k) D[i,j]=1 senãoD[i,j]=0; 4.Retornar D; Algoritmo da Clique máxima:
O problema da Clique Máxima é um problema NPdifícil que visa encontrar o maior subgrafo completo em um determinado grafo, tendo em vista sua complexidade, a heurística proposta para resolver o problema é encontrar um limite inferior para o problema de maximização.
Sabendo que encontrar uma clique maximal num kgrafo é o mesmo que encontrar uma kclique maximal num grafo, para gerar um grande conjunto de kcliques maximais é usada a Heurística Tabu para resolver o Problema Clique Máxima.
Procedimento 3: Heurística Tabu para o Problema da Clique Máxima
● Entrada: kGrafo, S
1. iniciar T; S*=S; 2. enquanto não for condição de fim 2.1. se(N+(S)\T não é nulo) escolha a melhor S’ 2.2. senão se(N0(S)\T não é nulo) escolha a melhor S’; atualizar T 2.2.1. senão escolha a melhor S’ em N–(S); atualizar T 2.3. atualizar S = S’ 2.4. se (|S|>|S*|) S*=S; 3. fim ciclo enquanto; 4. retornar S*;
6. Conclusão
Com a evolução da Web para a geração chamada Web 2.0, as grandes quantidades de dados fornecidos geram necessidades de criar novas medidas para melhor compreender a estrutura das redes, o modo como os seus componentes estão organizados e o modo como evoluem ao longo do tempo. Essas grandes quantidades de informações, assim como as dificuldades referentes aos tipos de dados trabalhados tornam necessário que os métodos de mineiração usados evoluam, caso contrário, seriam inadequados à nova geração da Web.