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.

gdelt linguistic geography
Locations mentioned in global news coverage monitored by GDELT 2015-2018, colored by the primary language of coverage mentioning each location ( Seeing The World Through The Eyes Of Others: Mass Machine Translation, KALEV LEETARU)

Contexte

A. Jeu de données

GDELT est composé de trois types de fichiers CSV:

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

  1. Votre systeme doit être capable de:

    1. 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).

    2. 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).

    3. trouver les sujets (acteurs) qui ont eu le plus d’articles positifs/negatifs pour chaque triplet (mois, pays, langue de l’article).

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

  1. Vous devez utiliser au moins 1 technologie vue en cours en expliquant les raisons de votre choix (SQL/Cassandra/MongoDB/Spark/Neo4j).

  2. 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).

  3. Vous devez pre-charger une année de données dans votre cluster

  4. 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:

  1. Présentation: 10 minutes

  2. Démo: 10 minutes

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

Ressources