Le traçage de contacts : de la Covid-19 à la détection de fraude

Alors que partout dans le monde, les Etats ont mis en place des applications de traçage pour endiguer la pandémie de la Covid-19, la technologie des bases de données de graphes peut se révéler très utile sur ce sujet comme dans d'autres domaines plus conventionnels.

A l’heure où l’application StopCovid se présente comme un échec, ce n’est pas la technologie utilisée qui est à remettre en cause, mais bel et bien le consentement des populations à accepter de se faire "tracer". La technologie des bases de données de graphes quant à elle permet justement à ces applications de fonctionner rapidement et efficacement.

Retour sur le cas "Covid-19"

La mise en place d'une sorte de recherche des contacts, dit contact tracing, est une tactique adoptée par de nombreux pays. En utilisant la technologie de nos téléphones et notre connectivité Internet, il devient possible de mettre en œuvre la "distanciation" et l'isolement des personnes qui sont soit atteintes de la Covid-19, soit vulnérables à ce virus - au lieu de mettre en confinement tout un pays. Sur le papier, c’est une tactique logique et utile, qui pourrait empêcher un nouveau ralentissement économique, tout en ayant la volonté d’éviter que la "courbe" ne reparte à la hausse. Bien sûr, cette approche pose encore de nombreux problèmes, notamment en ce qui concerne la vie privée des patients et les libertés politiques, mais elle semble être une piste intéressante à explorer, a minima. De nombreuses organisations gouvernementales ont donc commencé à l'explorer et travaillent avec certains des géants du secteur comme Google et Apple pour en faire une réalité.

Quelle utilité des graphes alors ?

La technologie des graphes, parce qu’elle adresse les relations entre les données, nous permet de visualiser les contacts directs et indirects que des personnes saines et malades ont pu avoir ainsi que leurs effets associés. Elle permet également une analyse prédictive unique : la structure des contacts humains, le réseau/graphe qu'elle construit, en dit long sur l'importance que certaines parties de son réseau peuvent jouer dans l'évolution de la pandémie. La science des données de graphes peut nous donner rapidement et visuellement des indications quant à l'orientation de nos politiques sanitaires.

Dans leur ouvrage Connected, Christakis et Fowler expliquent que lors des épidémies de virus les contacts directs sont importants, mais ce n’est pas le seul facteur à prendre en compte. En effet, les contacts indirects, entre les amis des amis de nos amis, peuvent s’avérer tout aussi cruciaux. Avec les graphes, de nombreuses questions intéressantes se posent donc : comment pourrions-nous maximiser l'effet de nos mesures de distanciation et des applications de recherche des contacts que nous mettons en place ? Comment pourrions-nous utiliser l'excellent pouvoir prédictif des graphes pour savoir quelles sont les relations d'une personne qui pourraient être les plus risquées ? Comment pouvons-nous utiliser l'analyse des graphes pour mieux comprendre le pouvoir structurel et la faiblesse de nos liens sociaux ? Et bien d'autres encore.

Alimenter la base de données de graphes

Pour commencer à mettre en place une base de données de graphes de traçage des contacts, il faut commencer par définir les données dont nous aurons besoin, à savoir :

Pour la personne :

  • Le nom du contact
  • L’identifiant du contact
  • L’état de santé du contact
  • La date de son dernier test

Pour le lieu :

  • Le nom du lieu
  • L’identifiant du lieu
  • Le type du lieu
  • Les coordonnées GPS du lieu

Pour les visites :

  • Le type de visite
  • L’identifiant de la personne rencontrée
  • Le lieu de rencontre
  • L’heure de début de la visite
  • L’heure de fin de la visite

Une fois ces éléments créés, nous allons pouvoir les importer dans une base de données de graphes. Il est également possible, lorsque l’on importe les lieux de visite de les relier à des régions plus larges ou plus restreintes (aile d’un bâtiment, pièce, etc.), ce qui permettra de disposer d’éléments spécifiques sur des zones données.

Utiliser la science des données de graphes (Graph Data Science) pour exploiter le pouvoir prédictif des relations entre les données

Après avoir importé les données et créé un graphe de recherche des contacts, il est alors possible de requêter ce graphe.

Or, les graphes ont cette caractéristique unique de permettre, en dehors des données elles-mêmes, une compréhension à partir de la structure apportant un nouveau niveau d’informations. En effet, les caractéristiques structurelles, la façon dont les choses sont reliées entre elles, nous renseignent déjà sur l'ensemble des données. 

Pour travailler avec ces analyses structurelles, la communauté universitaire et l'industrie du logiciel ont mis au point toute une série d'algorithmes pour permettre certaines de ces analyses qui sont généralement classées en 4 catégories :

Algorithmes de centralité : il s'agit d'une catégorie d'analyse qui tente d'évaluer l'importance de nœuds distincts dans le réseau. Par exemple, l’algorithme de centralité intermédiaire (Betweenness) détecte les relations essentielles au sein du graphe afin que les entreprises puissent identifier des risques et optimiser des alternatives de façon proactive.

Algorithmes de recherche de chemin (pathfinding) : ils permettent de trouver le chemin le plus court entre deux ou plusieurs nœuds ou d’évaluer la disponibilité et la fiabilité des chemins. Ils sont utilisés notamment pour évaluer des itinéraires dans le cadre de la logistique ou du routage d’appels entre autres.

Algorithmes de similarité : ils permettent de faire des comparaisons d'ensembles pour évaluer la similitude des nœuds individuels en fonction de leurs voisins ou de leurs propriétés. Cette approche est utilisée dans des applications telles que les recommandations personnalisées par exemple.

Algorithmes de détection de communautés : ils sont utilisés pour évaluer la manière dont les groupes de nœuds sont regroupés ou partitionnés, ainsi que leur tendance à se renforcer ou à se séparer. Ces informations permettent de prédire des comportements ou des préférences similaires, de trouver des entités doubles ou simplement de préparer des données pour d'autres analyses.  

Algorithmes de prédiction de liens : ils aident à déterminer la proximité d'une paire de nœuds. Les scores calculés peuvent ensuite être utilisés pour prédire de nouvelles relations entre eux. Ils ont de nombreuses applications, de l’adaptation de médicaments aux investigations de fraude notamment.

La science des données de graphes ouvre de nombreuses autres possibilités d’analyses possibles. Cependant, sont listées ci-dessus les catégories que l’on retrouve le plus fréquemment et qui permettent une expérimentation et une mise en oeuvre très efficace de ces analyses. 

Grâce à ces analyses structurelles, et comme les données sont connectées entre elles par des "relations", la base de données va être capable de parcourir l’ensemble de ces connections, en fonction des algorithmes utilisés. Si une personne est identifiée comme "malade", alors la base de données va parcourir l’ensemble des relations et informer tous les "nœuds – personnes" qui se seront trouvés dans les "nœuds – lieux" que la personne malade a préalablement visité.

En fonction du temps de visite et du nombre de personnes "malades" rencontrées, la base de données de graphes va être en mesure de qualifier le risque de maladie d’une personne donnée. En effet, le risque pour les personnes en bonne santé augmente avec le temps de chevauchement de visites avec les personnes malades. La base de données de graphes va ainsi proposer une sorte de "classement" des risques pour les personnes en bonne santé. Et bien sûr, cela se consulte visuellement et en temps réel.

Par ailleurs, ce système de relations entre les données va permettre d’identifier les "points chauds" ou les endroits qui ont reçu le plus de visites de personnes malades ou à fort risque de contamination.

Sécurité et vie privée dans le graphe

L’un des frein majeur concernant l’adoption de ce type d’application par la population repose dans la crainte d’une violation de la vie privée. Dans une base de données de recherche de contacts, telle que détaillée plus haut, nous pouvons supposer que les informations de recherche soient être entièrement accessibles aux analystes gouvernementaux ou au personnel médical mais que les patients ou utilisateurs finaux ne dispose que d'un accès partiel aux données du graphe. Or la technologie des graphes permet justement une mise en oeuvre rapide de cette fonctionnalité. Il est également possible d’ajouter des restrictions supplémentaires quant à la façon dont l'utilisateur peut accéder au graphe.

Le traçage de contact, parfaitement adaptable au business

Le traçage de contacts dans une optique de limitation d’une pandémie s’adapte parfaitement à des problématiques plus commerciales comme les recommandations en temps réel, la détection de fraude, les opérations informatiques et réseaux, la gestion des données critiques, des identités et des accès, ainsi qu’à la gestion de la connaissance de façon plus générale. Par soucis de concision, nous aborderons ci-après deux cas d’usage : la recommandation en temps réel et la détection de fraude à la TVA.

Dans le cadre de la recommandation, nos trois éléments (personne, visite et lieu) vont être remplacés par les éléments personne, achat et produit. La base de données de graphes, dans ce cas d’usage, au lieu de s’intéresser à la question du "nœud-personne" qui effectue un "nœud-visite" vers un "nœud-lieu"  pour en déduire les niveaux de risques de contamination ; va ici s’intéresser à un "nœud-personne" qui effectue un "nœud-achat" d’un "nœud-produit". Ainsi, toute personne qui aura acheté un produit sera relié par le graphe à une autre personne qui aura acheté ce même produit. Plus ces personnes feront le même type d’achats, plus il y aura de chances pour que ces personnes aient les mêmes habitudes et préférences de consommation. En recherchant des similarités, la base de données de graphes sera capable d’identifier spontanément l’intérêt potentiel de la 1ère personne pour un produit acheté par la 2ème personne. Ce sont les recommandations que l’on retrouve fréquemment sur les sites de e-commerce à la différence près qu’elles proposent une pertinence accrue et en temps réel lorsqu’elles sont basées sur les graphes. Comme dans le cas de la Covid-19 pour lequel une personne ayant visité le même endroit qu’une autre personne malade aura un risque plus élevé de contamination, ici, une personne ayant acheté le même produit qu’une autre aura de fortes chances d’aimer d’autres produits achetés par cette autre personne.

Dans le cadre de la détection de fraude à la TVA, on va remplacer le modèle : "la personne rencontre une autre personne dans un lieu" par "une entreprise facture une autre entreprise". Dans la base de données de graphes, on va donc remplacer les "nœuds-personnes" par des "nœuds-entreprises" et remplacer la relation de "rencontre" par la relation de "facturation". Avec cette représentation par les graphes, un enquêteur financier pourra identifier rapidement qu’une société A facture une société B qui facture une société C qui elle, facture à son tour la société A. Ces 3 sociétés vont ainsi pouvoir récupérer la TVA qu’elles doivent à l’Etat. Pour mettre en parallèle l’exemple de la pandémie où le temps a un impact sur la probabilité d’avoir été contaminé, ici, plus une entreprise réalise de boucles de facturation pour au final être refacturé, plus il y a de risques que l’entreprise en question ait mis au point ce dispositif pour frauder la TVA. Avec les graphes, les enquêteurs et analystes  pourront alors identifier plus facilement ce type d'opérations voire faire de la prévention si certains schémas sont récurrents. 

En conclusion

L’application de traçage des contacts dans une optique de pandémie mondiale dépasse largement le domaine de la santé. Les Etats comme les entreprises peuvent utiliser cette technologie dans d’autres domaines telles que la détection de fraude, la gestion des identités et des accès ou encore les recommandations en temps réel.