Intro
" The Global Database of Events, Language, and Tone (GDELT), est une initiative pour construire un catalogue de comportements et de croyances sociales à travers le monde, reliant chaque personne, organisation, lieu, dénombrement, thème, source d’information, et événement à travers la planète en un seul réseau massif qui capture ce qui se passe dans le monde, le contexte, les implications ainsi que la perception des gens sur chaque jour".
Cette base de données a eu beaucoup d’utilisations, pour mieux comprendre l’évolution et l’impact de la crise financière du 2008 (Bayesian dynamic financial networks with time-varying predictors) ou analyser l’évolution des relations entre des pays impliquées dans des conflits (Massive Media Event Data Analysis to Assess World-Wide Political Conflict and Instability ).
L’objectif du projet est de concevoir un système qui permet d’analyser l’evolution des relations entre les differents pays, en étudiant le ton des mentions (positives/negatives) dans les articles médias de chaque pays.

Contexte
A. Jeu de données
GDELT est composé de trois types de fichiers CSV:
-
les events (schema, CAMEO Ontology, documentation)
-
les mentions (schema, documentation)
-
le graph des relations ⇒ GKG, Global Knowledge Graph (schema, documentation)
La totalité des fichiers du jeu de données est indexé par deux fichiers:
Pour plus d’infos consulter la documentation.
Le jeu de données de GDELT v2.0 est disponible également sur Google BigQuery. Cependant vous ne devez pas l’utiliser directement pour votre projet. Vous pouvez cependant l’utiliser pour explorer la structure des données, la génération des types de données ou utiliser des données connexes (ex codes pays etc…) .
Objectif
L’objectif de ce projet est de proposer un système de stockage distribué, résilient et performant sur AWS pour les données de GDELT.
B. Fonctionnalités
Fonctionnalités de base
-
Votre systeme doit être capable de:
-
afficher le nombre d’articles/évènements qu’il y a eu pour chaque triplet (jour, pays de l’évènement, langue de l’article).
-
pour un acteur donné en paramètre, afficher les événements (valeurs de la table events) qui y font référence (dans les derniers 6 mois).
-
trouver les sujets (acteurs) qui ont eu le plus d’articles positifs/negatifs pour chaque triplet (mois, pays, langue de l’article).
-
trouver quels sont les acteurs/pays/organisations qui divisent le plus (par exemple ont eu une perception positive dans une partie du globe et une perception negative dans le rest du monde). Permettez une agrégation par jour/mois/annee.
-
Fonctionnalité supplémentaire
Vous devez proposer et implementer une fonctionnalité supplémentaire qui nous permettra de mieux comprendre l’évolution des relations entre les différents pays, en étudiant le ton des mentions (positives/negatives) dans les articles médias de chaque pays.
Par example: en donnant le nom de 2 acteurs/pays, afficher l’évolution du ton des articles qui contiennent les deux acteurs/pays.
C. Contraintes
-
Vous devez utiliser au moins 1 technologie vue en cours en expliquant les raisons de votre choix (SQL/Cassandra/MongoDB/Spark/Neo4j).
-
Vous devez concevoir un système distribué et tolérant aux pannes (le système doit pouvoir continuer après la perte d’un noeud).
-
Vous devez pre-charger une année de données dans votre cluster
-
Vous devez utiliser AWS pour déployer le cluster.
Budget AWS à ne pas depasser: 300E par groupe.
D. Les livrables
Vous devrez fournir:
-
une archive avec votre code source (ou un lien sur github…)
-
une courte présentation de votre architecture, modélisation, les avantages et inconvénients, des choix de modélisation et d’architecture, volumétrie, limites et contraintes (10 slides de présentation)
Notation
-
qualité et clarté de présentation (architecture/modelistation/choix/performances/budget) (5/20).
-
implémentation des fonctionnalités de base (10/20).
-
choix/implémentation de la fonctionnalité supplémentaire (5/20).
F. Organisation
Vous travaillerez par groupe de 6 personnes. La soutenance se déroulera de la manière suivante:
-
Présentation: 10 minutes
-
Démo: 10 minutes
-
Questions & Réponses : 10 minutes
Lors de la soutenance, les données devront être préalablement chargées dans votre cluster. Vous devez démontrer la résilience de votre système de stocquage en tuant un noeud de votre clusteur. |