Web Communities and their identificaton

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Flusso Massimo Applicazione di algoritmi
Ricorsione in SQL-99.
L’algoritmo PageRank.
Strutture dati per insiemi disgiunti
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Il problema del minimo albero ricoprente in un grafo non cooperativo
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
Algoritmi e Strutture Dati
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Cammini minimi con sorgente singola
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati
Esercizi su alberi binari
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Progetto e Sviluppo di un algoritmo per la gestione della Federazione Interdominio in unarchitettura di Service Discovery Candidato: XXX Roma, Febbraio.
Algoritmi e Strutture Dati
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Intelligenza Artificiale
Strutture dati per insiemi disgiunti
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi e Strutture Dati
Motori di Ricerca presente e futuro prossimo
2. Grafi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Valutazione delle prstazioni di un sistema di retrieval
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
Grafi Rappresentazione mediante liste di adiacenza:
Cammini minimi da un sorgente
Ordinamento topologico Cammino minimo dalla sorgente
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
AlgoLab - MST code binomiali Algoritmi per il calcolo di MST: uso di code unificabili Laboratorio di Algoritmi 02/03 Prof. Ugo de’ Liguoro.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Linguistica computazionale: task sul linguaggio naturale Cristina Bosco 2015 Informatica applicata alla comunicazione multimediale.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Università degli Studi di Roma Tor Vergata
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
algoritmi approssimati
Flusso Massimo Applicazione di algoritmi
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Prof. Cerulli – Dott. Carrabs
Algoritmi approssimati. Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi ottime”.
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Grafi: rappresentazione e visita
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

Web Communities and their identificaton Giorgio Zoppi zoppi@cli.di.unipi.it 1-25 Web Communities Mining Dati Web

Problema con le ricerche sul web! I motori di ricerca odierni (Yahoo!, AltaVista, Google) restituiscono piu informazioni di quelle richieste. Per esempio se cercate Wassily Kandinsky otterrete 1.320.000 di pagine Web da Google, circa 681.000 da Yahoo!...come restringere i risultati? Web Communities 2-25 Mining Dati Web

Problema con le ricerche sul web! I motori di ricerca odierni (Yahoo!, AltaVista, Google) restituiscono piu informazioni di quelle ricieste. Per esempio se cercate Wassily Kandinsky otterrete 1.320.000 di pagine Web da Google, circa 681.000 da Yahoo!...come restringere i risultati? Agli utenti interessa solo un sottoinsieme rilevante dei risultati della ricerca. Web Communities 2-25 Mining Dati Web

Problema con le ricerche sul web! I motori di ricerca odierni (Yahoo!, AltaVista, Google) restituiscono piu informazioni di quelle richieste. Per esempio se cercate Wassily Kandinsky otterrete 1.320.000 di pagine Web da Google, circa 681.000 da Yahoo!...come restringere i risultati? Agli utenti interessa solo un sottoinsieme rilevante dei risultati della ricerca. Occorre ottenere un buon bilanciamento tra la precision e la recall dei risultati di una query. I motori tendono a fornire alta recall (quanti rilevanti su tutti quelli rilevanti?) e bassa precision ( quanti rilevanti su tutti?) perche' fanno il rank dei risultati. Web Communities 2-25 Mining Dati Web

Problema con le ricerche sul web! I motori di ricerca odierni (Yahoo!, AltaVista, Google) restituiscono piu informazioni di quelle richieste. Per esempio se cercate Wassily Kandinsky otterrete 1.320.000 di pagine Web da Google, circa 681.000 da Yahoo!...come restringere i risultati? Agli utenti interessa solo un sottoinsieme rilevante dei risultati della ricerca. Occorre ottenere un buon bilanciamento tra la precision e la recall dei risultati di una query. I motori tendono a fornire alta recall alle spese della precision I motori di ricerca non possono comprire tutto il web, e hanno risultati non aggiornati date le dimensioni Risulta necessario costruire web communities. Web Communities 2-25 Mining Dati Web

Che cosa è una web community? Definizione: A community consiste di membri che hanno più link all'interno della community che fuori dalla community. Esempio: Un sito su Molierè è tale che collega o è collegato da più siti che parlano di Moliere rispetto a siti web che non parlano di Moliere. L'identificazione di una community cosi definita è un problema NP-completo, perche rientra nei problemi di ripartizionamento dei grafi. balanced-minimum-cut graph partition: rimuovi un insieme di archi in maniera tale che il numero rimosso sia minimale, assicurando che i due sottografi disconnessi rimanenti abbiano almeno m vertici ciascuno Web Communities 3-25 Mining Dati Web

E allora come le trovo? Proviamo a rilassare il problema come: Assumiamo l'esistenza di semi (sicuri rappresentanti di una community) che possono trovati mediante HITS. Sfruttiamo le regolarita del grafo web (bow-tie). Usando questo due ipotesi possiamo riformulare il problema come un problema di flusso massimo. Vedremo il perche.....:) Web Communities 4-25 Mining Dati Web

Definizione formale Definizione: Sia G=<V,E> un grafo orientato con |V| = n nodi e |E| = m archi, tale che: Ogni vertice corrisponde ad una pagina web e ciascun arco orientato corrisponde ad un hyperlink. Ogni arco e = (u,v) ha un peso w(e) = w(u,v) Una web community è un insieme di nodi C⊂V tale che: Web Communities 5-25 Mining Dati Web

Trovare le communities: Teorema. Dato un grafo orientato G = (V,E), C⊂V : Siano #(s) il numero di archi da s ad ogni altro nodo in C \ {s}. Siamo #(t) il numero di archi da t ad ogni atro nodo V \ C \ {s} Una community puo essere identificata calcolando il minimo taglio T di G tra s e t tale che #(s) > | T | e #(s) > | T | La condizione su #s non funziona sul web ( causa rumore): uso semi multipli collegati ad una sorgente virtuale. Per scegliere il pozzo, scelgo un sito tale che sia genericamente collegato all'intero web. Loro hanno usato Yahoo!. Web Communities 6-25 Mining Dati Web

s-t Flusso Massimo Dato un grafo orientato pesato G = (V,E) e dati due nodi s (sorgente) e t(pozzo) trovare il flusso massimo che puo' essere instradato dalla sorgente s al pozzo t: Intuizione: pensate ad un acquedotto Flusso massimo = Taglio di capacita minima Possibili soluzioni: Algoritmo sui Preflussi: e' la soluzione piu efficiente ma non e' addattabile al nostro caso perche' non conosco la topologia Cammini Aumentanti: Trovo il cammino minimo tra sorgente e pozzo ed aumento la capacita' 7-25 Web Communities Mining Dati Web

Communities con Flusso Massimo 8-25 Web Communities Mining di dati Web

Come calcolare le communities: Tutti i metodi richiedono un insieme di siti semi: Esatto: Prendere una sito al centro del grafo web come pozzo (es. Yahoo!) e svolgere il flusso massimo sull'intero web. Approssimato: Usare un sottografo con una dimensione fissata di profondita del crawl. Iterato (EM): Trovare una comunita approssimata e utilizzare i risultati per migliorare l'iterazione successiva. 9-25 Web Communities Mining di dati Web

Exact Flow communities "" Let G = (V,E), S is a subset of V "" def exact_flow(G, S, k): "" create artificial vertices, s and t, and add to V "" foreach v in S: add(s,v) in E with c(s, v) = infinite foreach (u,v) in E: c(u,v) = k if (v,u) is not in E: add(u,v) in E with c(u,v) = k ExtendedS = add(S,s,t) foreach v in V, v is not in ExtendedS: add(v,t) in E with c(v,t) = 1 Cut = AugmentedMax-Flow(G,s,t) # Cut are all v in V connected to S return Cut Web Communities 10-25 Mining di dati Web

Approximate Flow communities "" Let G = (V,E), S is a subset of V, d depth of the crawl "" def approximate_flow(S, k): "" h max iterations "" while i<=h: "" crawl the web until depth d "" G = crawl_web(S,d) k=|S| C=exact_flow(G, S, k) "" rank all v in c by number of edges in C"" rankedSet = rank(C) add(Highest_Rank_NotSeed(rankSet),S) return C Web Communities 11-25 Mining di dati Web

Max Flow Focused Crawler +2 Pozzo +1 Sorgent e Siti semi 12-25 Web Communities Mining di dati Web

Espansione del grafo Usa un pozzo artificiale che e' connesso a tutti i vertici molto distanti dalla sorgente, perche'? Supponiamo di poter trovare il seguente taglio usando il centro del grafo: Obiettivo: approssimare il taglio non conoscendo il centro del grafo 13-25 Web Communities Mining Dati Web

Espansione del grafo Obiettivo: approssimare il taglio non conoscendo il centro del grafo Per approssimare il taglio: Il pozzo virtuale t e' connesso con tutti i nodi in V, eccetto i semi S e se stesso con capacita 1 Moltiplico tutte le capacita degli archi per un fattore k. Sotto quali condizioni riesco a produrre lo stesso partizionamento? Web Communities 14-25 Mining Dati Web

Teorema approssimazione del taglio Il taglio approssimato e' identico a quello ideale anche quando il centro del grafo non e' noto, se vale la seguente condizione: 1<k<Nt/c virtual sink outside of the community graph center community source cut set Web Communities 15-25 Mining Dati Web

Espansione del grafo Obiettivo: approssimare il taglio non conoscendo il centro del grafo Per approssimare il taglio: Il pozzo virtuale t e' connesso con tutti i nodi in V, eccetto i semi S e se stesso con capacita 1 Moltiplico tutte le capacita degli archi per un fattore k. Sotto quali condizioni riesco a produrre lo stesso partizionamento? Web Communities 16-25 Mining Dati Web

Expect Maximization ( Iterated Flow) Problema: Con un numero limitato di semi, solo un limitato sottoinsieme della community puo' essere trovato, per le limitazioni poste nel trovare il taglio. Abbiamo bisogno di un metodo per trovare nuovi semi. Expect : Uso l'algoritmo di flusso massimo per trovare un sottoinsieme della community. Maximization: Quelli che hanno outdegree massimo diventano i nuovi semi. Ripeto l'algoritmo approssimato con questi nuovi semi. Web Communities 17-25 Mining Dati Web

Seeds: SVM community Web Communities 18-25 Mining Dati Web

Results: SVM community Web Communities 19-25 Mining Dati Web

Seeds: Internet Archive community Web Communities 20-25 Mining Dati Web

Results: Internet Archive community Web Communities 21-25 Mining Dati Web

Problema: come determino le capacita degli archi? Le capacita degli archi sono importanti e loro non dicono come determinarle se sono impostate tutte allo stesso valore: non riesco in alcuni casi a determinare nuovi membri perche' anche un link valido per estendere la community diventa un arco di taglio per l'algoritmo di flusso massimo. Altri (Kitsuregawa,Imafujii) hanno dimostrato alcune proprieta' sulle capacita degli archi: Aumentare la capacita degli archi puo' aumentarare la dimensione della community introducendo rumore. E' difficile determinare una adeguata capacita degli archi, loro hanno comunque notato un punto fisso detto quantum jump point:. Quando la capacita degli archi e' minore del quantum jump point, la web community, basata su un insieme di nodi e' troppo piccola.. Quando la capacita degli archi e' maggiore o uguale al quantum jump, l'intero grafo sara la web community. Web Communities 22-25 Mining Dati Web

Stimo il quantum jump point q Siano tutti gli archi con capacita' q-1. Considera un nodo v tale che abbia il grado piu grande d, allora: Allora: 23-25 Web Communities Mining Dati Web

Come assegno le capacita' agli archi? Uso HITS per trovare i punteggi di authority e hub. avl e hvk sono rispettivamente i punteggi di hub e autority. rh =max(avk)/max(hvl). ra =q. Test hanno dimostrato che usando questo modo, si riduce il rumore. Web Communities 24-25 Mining Dati Web

Abbiamo definito un nuovo tipo di web community. Conclusioni Abbiamo definito un nuovo tipo di web community. Abbiamo usato il flusso massimo per calcolarlo. Abbiamo usato il focused crawler per approssimare le community. Abbiamo notato che impostare le capacita del grafo aumentato usando gli score di HITS, riduce il rumore Web Communities 25-25 Mining Dati Web

Reference Efficient Identification of Web Communities Gary William Flake, Steve Lawrence, C. Lee Giles Self-Organization and Identification of Web Communities (2002)  Gary William Flake, Steve Lawrence, C. Lee Giles, Frans M. Coetzee Finding a web community by maximum flow algorithm with HITS score based capacity N.Imafuji, M.Kitsuregawa