Utilisation d'Elastic Graph et Kibana pour analyser les données Panama Papers
Les nouvelles capacités d'Elastic Graph vous permettent d'analyser les liens entre les données. Qu'il s'agisse d'une enquête sur des arrangements financiers offshore dans le cadre des Panama Papers ou bien d'un aperçu général des clics d'utilisateurs sur un site Web populaire d'e-commerce, la technologie Graph vous permet de faire émerger des liens entre toutes ces données.
Graph est intégré aux plugins X-Pack de la suite Elastic. Il inclut également une application Kibana et une nouvelle API Elasticsearch. Dans cette première publication du blog Graph, nous jetterons un œil aux possibilités qu'offre la combinaison de l'application Kibana et de l'API.
Criminalistique : les Panama Papers
La publication des archives financières et judiciaires du cabinet d'avocats offshore Mossack Fonseca est l'un des scoops de l'année 2016. Ces dossiers dévoilent comment nombre d'hommes politiques, de membres de familles royales, de riches et leur entourage exploitent des réseaux de sociétés écran établies dans des paradis fiscaux offshore. Des journalistes et des institutions financières passent actuellement ces dossiers au peigne fin. Cependant, faire émerger des liens entre toutes ces données se révèle à la fois ardu et chronophage. L'application Graph Kibana permet de simplifier ce processus :
Ci-dessus, nous pouvons voir les entreprises et les individus en lien avec un ami proche de Vladimir Poutine, Sergei Roldugin. Obtenir ces informations n'a nécessité que quelques étapes :
Sélectionner la source de données
Il faut tout d'abord sélectionner « Panama » dans la liste des index, puis choisir un ou plusieurs champs dont nous voulons voir apparaître les valeurs dans le diagramme. Il est possible d'attribuer une icône et une couleur à chaque champ. Elles seront répercutées sur les sommets du diagramme.
Effectuer une recherche
Il est maintenant possible d'effectuer une recherche en plein texte pour récupérer tous les documents contenant le nom de l'ami de Poutine, « Roldugin ».
Les termes découverts dans les documents correspondants sont présentés sous la forme d'un réseau. Chaque ligne représente un ou plusieurs documents qui font le lien entre deux termes.
Les journalistes de l'ICIJ qui examinent les données ont tenté d'attribuer un identifiant unique aux entités réelles (personne physique/entreprise/adresse). Cet identifiant est rattaché à chaque document qui fait mention de cette entité.
Malheureusement, il n'est pas facile d'associer des noms et des adresses. Les journalistes ont identifié correctement trois documents reliés à la personne 12180773. Cependant, il existe deux autres personnes portant un nom similaire, mais qui possèdent des identifiants différents. De la même façon, il y a deux adresses qui se ressemblent, mais elles ont également reçu deux identifiants différents. Dans un prochain article u, nous parlerons de l'utilisation de l'API Graph à des fins de résolution automatique des entités. Pour l'instant, tentons de résoudre ceci manuellement à l'aide de l'outil de regroupement.
Regrouper des sommets
Au moyen des outils du mode avancé, il est possible de cliquer le bouton « regrouper » pour fusionner des sommets. Le diagramme devient ainsi plus clair.
Si nous le voulions, nous pourrions fusionner des éléments déjà regroupés, par exemple : regrouper des personnes avec différents identifiants en des sommets uniques puis les fusionner avec les sommets des entreprises.
Ramifications
Imaginons que nous voulons identifier d'autres connexions avec ces entités. Nous pouvons continuer à explorer les liens entre les données au moyen du bouton « + » situé dans la barre d'outils. Ce bouton permet d'ajouter d'autres entités apparentées.
Il est également possible de développer le diagramme en cliquant plusieurs fois sur « + », et d'utiliser les sélections pour ne développer que certaines sections du graphe. Les boutons « annuler » et « rétablir » servent à retirer les résultats inintéressants. De plus, les boutons « supprimer » et « blacklister » permettent de contrôler l'affichage des sommets. Enfin, il est possible d'afficher des extraits de documents derrière des sommets choisis.
Si vous souhaitez explorer vous-même les données des Panama Papers, procurez-vous Elasticsearch, Kibana et le Graph plugin, puis suivez les instructions relatives à l'index sur bit.ly/espanama.
La sagesse se trouve dans les grands nombres
Les Panama Papers sont un exemple d'investigation criminelle détaillée, où chaque document peut révéler un lien capital.
Toutefois, la technologie Elastic Graph révèle son véritable potentiel dans sa capacité à synthétiser le comportement de grands groupes d'utilisateurs, comme les logs de clics. Ce type d'analyse est régulièrement décrit comme de « l'intelligence collective » ou « la sagesse des grands nombres ». Dans ces cas de figure, un document isolé n'est pas vraiment pertinent. Ce sont les schémas qui émergent des comportements des utilisateurs qui peuvent permettre d'améliorer les recommandations comme « le client qui a acheté le produit X a tendance à acquérir aussi le produit Y ». Dans ces cas-ci, il faut éviter les documents isolés qui font émerger de fausses connexions, mais aussi les associations évidentes telles que « les clients qui ont acheté le produit X ont aussi acheté du lait » (la plupart des gens achètent du lait). C'est pourquoi les paramètres par défaut de l'exploration des graphes sont configurés pour identifier les associations les plus pertinentes.
Prenons l'exemple d'un cas d'utilisation de recommandation qui utilise les données LastFM. Si nous élaborons un index axé sur l'utilisateur, nous n'avons qu'un document par auditeur, au sein duquel apparaissent les musiciens appréciés. Recherchons dans l'index les utilisateurs qui aiment « Chopin » pour découvrir quels autres artistes ils écoutent.
Les artistes classiques qui apparaissent dans la recherche sont évidemment interconnectés. En cliquant sur la ligne entre deux sommets, vous pouvez voir combien d'auditeurs partagent ces intérêts. Près de la moitié de ceux qui écoutent Mendelssohn aiment aussi Chopin.
L'API Graph n'a identifié que les associations pertinentes. C'est ce qui le rend unique par rapport à d'autres technologies d'explorations de graphes.
Populaire ≠ Pertinent
Voyons maintenant ce qui se passe lorsque nous ouvrons l'onglet des paramètres et que nous désactivons la fonctionnalité de recherche des liens pertinents.
Une fois cette fonction désactivée, interrogeons à nouveau l'index à propos des utilisateurs aimant « Chopin ». Vous voyez que les résultats sont très différents.
Les artistes à renommée internationale, tels que Radiohead et Coldplay apparaissent maintenant dans les résultats. Parmi les 5 721 fans de Chopin, 1 843 aiment les Beatles. Il ne fait aucun doute que c'est un choix populaire, mais c'est ce que nous qualifions de « lien commun », tout comme le fait d'acheter du lait. Lorsque la fonctionnalité « liens pertinents » est activée, les interférences sont supprimées. C'est ce qui permet de faire émerger ce que nous appelons des "liens rares". Pour ceux qui ont une formation en théorie de l'information, l'algorithme TF-IDF à l'origine des moteurs de recherche se base sur les mêmes principes.
En réutilisant ces techniques de classement par pertinence, la recherche de liens entre les données reste focalisée. C'est une distinction importante vis-à-vis des bases de graphes qui n'utilisent pas le concept de pertinence et doivent simplement se résoudre à supprimer les résultats populaires (cf. problème des « supernodes »).
Remarque : lors de l'analyse détaillée dans le cadre d'une affaire criminelle telle que les Panama Papers, il peut être utile d'activer la fonction « liens pertinents » afin d'éviter les entreprises très connues. Cependant, le paramètre « certitude » (certainty) doit être rabaissé de trois à un. Pour les cas de figure relevant de la « sagesse des grands nombres », il faut qu'au moins trois documents prouvent un lien avant de le valider, alors qu'en criminalistique, chaque document peut se révéler intéressant.
Récapitulatif
Nous espérons que cette publication vous a donné un avant-goût des deux modes principaux d'utilisation de Graph :
- Criminalistique : chaque document peut se révéler pertinent. La recherche se concentre sur des documents et des acteurs individuels, aucun détail n'est négligé.
- Sagesse des grands nombres : aperçu général des comportements de masse. Il y a trop de liens inutiles, il faut ainsi se focaliser sur le récapitulatif des liens les plus pertinents.
Dans de prochains articles nous examinerons en détail des cas d'utilisation spécifiques, afin de bien comprendre l'API Elasticsearch qui est sous-jacente à l'application Kibana.
Restez à l'écoute !