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
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