Slide 1

Slide 1 text

EVENT DETECTION A system to detect geo-tagged events in real-time through the analysis of social datas. Università degli Studi di Torino Department of Computer Science Graduate: Marco Sero Supervisor: Prof. Giancarlo Ruffo

Slide 2

Slide 2 text

MOBILE SOCIAL NETWORKING •  Leading social networks such as Facebook and Twitter are used mainly by mobile •  There is a bunch of other social networks born only for mobile (Instagram, Foursquare, Path)

Slide 3

Slide 3 text

GEOTAG •  Thanks to mobile, the main part of these datas is georeferenced with accurate GPS coordinate, the geotag •  Moreover, very often photos and tweets have one or more key-words, the #hashtag + HASHTAG

Slide 4

Slide 4 text

SOCIAL NETWORK and EVENTS

Slide 5

Slide 5 text

PROJECT To join tweets and photos with the same hashtag and geographically close so as to detect social georeferenced events in real time

Slide 6

Slide 6 text

HOW IT WORKS Reading from real-time endpoints Algorithm to detect the events Events

Slide 7

Slide 7 text

THE CLUSTERING ALGORITHM •  Undefined Clustering •  Noise •  Cons: - no concurrency DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

Slide 8

Slide 8 text

•  MapReduce: programming paradigm to support concurrent and distributed computation •  Hadoop: framework to implement MapReduce applications MAP MAP MAP INPUT REDUCE   REDUCE   OUTPUT   (K, V) MAPREDUCE and HADOOP

Slide 9

Slide 9 text

SIMULATION MAP MAP MAP MAP MAP REDUCE   REDUCE   MAP MAP #london2012 51, 0 #storm 40, -73 #storm 40, -73 #storm 40, -73 #london2012 51, 0 #london2012 51, 0 #london2012 51, 0 #storm 40, -73 #london2012 51, 0

Slide 10

Slide 10 text

MAP function map(P, eps, MinPts) if P is unvisited then mark P as visited NeighborPts = regionQuery(P, eps) if sizeof(NeighborPts) < MinPts then do nothing else mark P as clusterized prepare the key create new cluster C C.neighborPoints = NeighborPts C.points = P emit(key, C) Creation of the new cluster Search neighborhood

Slide 11

Slide 11 text

REDUCE function reduce(key, clusters, eps, MinPts) finalC is the final cluster for all C in clusters do finalC.points = finalC.points ∪ C.points for all P in C.neighborPoints do if P′ is not visited then mark P′ as visited NeighborPts′ = regionQuery(P′,eps) if sizeof(NeighborPts′) ≥ MinPts then NeighborPts = NeighborPts ∪ NeighborPts′ end if end if if P′ is not yet member of any cluster then add P′ to cluster finalC end if Clusters in input Neighborhood analysis for each cluster Cluster expansion Merge of points

Slide 12

Slide 12 text

THE CHOICE OF THE DATABASE •  GIS (Geographic Information System) •  Speed •  Scalability •  Open source

Slide 13

Slide 13 text

iOS APPLICATION

Slide 14

Slide 14 text

iOS APPLICATION •  View the events both on the map or on the list •  Scan social networks for each event •  Share the events

Slide 15

Slide 15 text

iOS APPLICATION •  View photos •  View tweets •  Comment •  Like •  Reply •  Retweet

Slide 16

Slide 16 text

Thanks.