Prenons un exemple

Une société dispose de 1.000.000 de fiches profils sur des individus. La fiche de définition des profils comprend 100 champs. Les données ont été collectées auprès de différentes sources et consolidées dans les fiches profil.

Un de ses clients a établi une description de profil recherché et demande qu’on lui adresse 5 profils pour opérer un choix. La description faite par le client comprend 10 champs.

Bien sûr, ce n’est ni la première ni la dernière demande de ce genre et l’entreprise souhaite disposer d’un algorithme de sélection des profils sur base de critères. Vu comme çà, la solution n’a pas l’air compliquée. Mais qu’en est-il réellement ?

Une solution hypothético-déductive

Produire un algorithme c’est utiliser à la fois des maths et des technologies informatiques. Ces deux disciplines font partie de l’épistémologie hypothético-déductive, dite « cartésienne ». La solution sera donc hypothético-déductive.

il existe pléthore d’algorithmes sur le marché permettant de calculer une distance entre la description du profil recherché et les descriptions des profils en base de données. On peut par exemple utiliser l’algorithme KNN qui recherche les K plus proches voisins.

L’épistémologie hypothético-déductive est confortable. Ses principes sont rigoureux, ses règles sont toujours appliquées. Pour pouvoir fonctionner, elle part du principe que ce qui a été fait avant respecte aussi ses canons.

Une problématique constructiviste

La problématique que l’on cherche à résoudre n’est pas hypothético-déductive comme l’informaticien ou le datascientist aime à le croire, elle est constructiviste. Il existe pour cela une épistémologie constructiviste dont les règles sont notablement différentes de l’épistémologie hypothético-déductive. La problématique diffère sur au moins 3 points :

1) la base est constructiviste

Compte tenu de leur volume et de la taille de leurs descriptions, les profils existants dans la base se sont construits au fil de la capture des informations, même si l’entreprise a acheté une base toute faite, celle-ci se sera construite avec des informations captées par des personnes ou des systèmes différents, à des moments différents, avec des règles et des interprétations différentes. Les profils n’ont aucune chance d’être complets et cohérents.

Il n’est pas possible d’interroger tous les jours les 1.000.000 de personnes pour leur demander si quelque chose a changé dans leur vie. La base est par essence constructiviste. Il ne s’agit pas de défauts que l’on pourrait traiter, de fiche que l’on pourrait remettre en conformité, de données que l’on pourrait nettoyer, la base est simplement vivante.

2) le client est constructiviste

Le client est un être humain, il fait face à sa propre problématique qui évolue de jour en jour, il avance ses réflexions, il accroit ses connaissances et son référentiel gnoséologique se construit. De fait, même de façon inconsciente, sa position change entre le moment ou il formalise sa demande et le moment ou il analyse les profils proposés. Ceux-ci le font réagir cognitivement parlant et ses critères évoluent. Lui aussi est vivant.

De plus aucun être humain ne sait exprimer un besoin, il exprime systématiquement une solution parmi celles dont il a connaissance. S’il avait explicité la mission qu’il compte confier au profil au lieu de fixer les 10 critères qu’il croit être représentatifs, d’autres profils auraient pu être sélectionnés selon certains des 90 autres critères parmi lesquels existent forcément certains dont il n’a pas conscience.

3) la sélection est constructiviste

Cela peut paraitre paradoxal, mais la solution hypothético-déductive présente un second défaut : elle cherche à répondre de façon précise à la demande.

En effet si l’on établi des distances entre la demande et les profils connus et que l’on demande 5 réponses, l’algorithme va classer les profils en fonction de leur distance a la cible et sélectionner les 5 « meilleurs », ceux dont la distance est la plus faible. Par conséquent, les 5 profils retenus seront très proches les uns des autres, et le client aura le sentiment de ne pas avoir le choix.

Implicitement, le client désirant faire un choix, s’attend a recevoir des profils correspondant a sa demande, mais variés. Il faut donc sélectionner des profils « moins bons » d’un point de vue hypothético-déductif, avec certains critères très différenciants, qui seront vus comme « meilleurs » d’un point de vue constructiviste.

Le grand écart

D’un coté nous sommes confronté à un environnement constructiviste duquel il est impossible de s’échapper et de l’autre nous disposons d’une équipe qui propose uniquement des outils hypothético-déductifs. ces deux domaines sont disjoints.

Tant que l’équipe d’informaticiens et de datascientists considérera la problématique comme un « biais humain » et non comme « la normalité », elle ne développera pas les solutions technologiques adaptées à ces problématiques.

On peut comprendre le désarroi de l’équipe de développement lorsqu’elle demande que l’on formalise une fois pour toutes les règles à appliquer et qu’on lui répond qu’elles changent au fil du temps dans des directions inconnues à l’avance.

On peut comprendre le désarroi de l’équipe métier lorsqu’elle constate que les profils fournis sont quasi-identiques et qu’ils sont rejetés massivement par son client alors qu’il existe de très bons profils mais qui ont été écartés par l’algorithme parce que leur description était incomplète ou incohérente.

Pourtant l’homme avec son petit cerveau sait trouver une solution efficace à la demande de son client, il n’aura aucune certitude du fait que cette solution sera « la meilleure » mais elle sera rapide et efficace. Et pour çà il applique un algorithme constructiviste.

Un algorithme constructiviste

Une équipe de développement hypothético-déductive nous dira systématiquement que puisque nos données ne sont pas fiables et que notre client ne sait pas ce qu’il veut il n’existe pas de solution à notre problème.

Pourtant lorsque l’on prend le temps d’analyser la problématique sous l’angle constructiviste et que l’on observe la façon dont le cerveau humain traite de cette problématique, on s’aperçoit que rien n’est ni déterministe, ni aléatoire. L’espace des possibles est constitué de variétés. Ces variétés portent en elles des éléments de cohérence qui constituent autant de modèles heuristiques que l’on peut construire et exploiter comme le font les êtres vivants depuis des millions d’années.

Jean Pierre MALLE