“Algocate” : un système de contestation et de justification
Le cadre général introduit dans la partie précédente peut être rendu opérationnel de différentes manières pour construire un système de contestation et de justification. Cette partie décrit les principaux choix effectués dans la conception d’Algocate, une implémentation du type “preuve de concept”. En premier lieu, nous présentons dans la Partie 4.4.1 les principales étapes du protocole et montrons les possibilités d’interactions avec le système. La relation de force utilisée dans Algocate est détaillée dans la Partie 4.4.2 puis son utilisation pour la génération d’affirmations dans la Partie 4.4.3.
Le protocole Algocate
Une session Algocate est toujours associée à une décision, qui est appelée décision initiale dans la suite. Pour reprendre la terminologie des explications, il s’agit donc ici de justifications “locales” d’algorithmes. Toutes les parties prenantes (concepteur, opérateur, décideur humain, personne affectée par la décision, auditeur, etc.) peuvent utiliser Algocate et leurs motivations peuvent être variées. Il peut s’agir par exemple de trouver des arguments pour soutenir la décision initiale, pour la contester ou pour tester son bien-fondé. En cas de désaccord, l’intervention d’un arbitre humain pour trancher peut toujours être exigée, en accord avec la réglementation européenne. Enfin, Algocate fait l’hypothèse qu’un ensemble de normes ont été énoncées par les parties prenantes et/ou par des tiers indépendants (par exemple, des organismes de réglementation). Cependant, aucune hypothèse n’est faite sur l’exhaustivité de cet ensemble initial de normes ni sur leur acceptation par tous les utilisateurs. Comme indiqué ci-dessous, cet ensemble de normes peut évoluer, notamment pour tenir compte des verdicts de l’arbitre. 1. L’interaction avec Algocate commence par une affirmation initiale par un utilisateur (appelée affirmation de l’utilisateur). Si l’utilisateur a une norme spécifique à l’esprit pour appuyer son affirmation, il peut également la fournir, mais cette information n’est pas obligatoire. Dans ce qui suit, c’est la situation la plus courante (et la plus complexe) qui est considérée, celle dans laquelle l’utilisateur fournit seulement une affirmation. 2. Algocate analyse l’affirmation de l’utilisateur et recherche les normes et les preuves les plus appropriées pour générer les arguments valables les plus forts soutenant cette affirmation. Comme la relation de force n’est que partielle (cf. Partie 4.4.2), il est possible que certains arguments ne soient pas comparables. Dans ce cas, Algocate renvoie plusieurs arguments. 3. Dans l’étape suivante, Algocate tente de renforcer les arguments en cherchant de nouvelles affirmations. Algocate adopte une position neutre et considère à la fois les arguments qui soutiennent l’affirmation initiale et ceux qui la contredisent. Algocate renvoie les arguments valables les plus forts basés sur ces nouvelles affirmations (appelées affirmations générées). La génération des affirmations est décrite plus précisément dans la Partie 4.4.3. Plusieurs options sont possibles pour l’utilisateur à ce stade. La situation la plus éclairante est le cas d’un utilisateur qui cherche à contester la décision initiale :— Si Algocate a généré des preuves solides soutenant l’affirmation contestataire de l’utilisateur (à l’étape (2) ou l’étape (3)), alors celui-ci peut fournir ces preuves à l’arbitre pour demander une révision de la décision initiale. — Si Algocate a généré des preuves solides allant à l’encontre de l’affirmation de l’utilisateur (à l’étape (3)), alors deux situations se présentent : soit l’utilisateur est convaincu que la décision initiale est légitime, soit il ne l’est pas. Dans le premier cas, le protocole s’arrête puisque le désaccord a été résolu. Dans le second cas, la première option pour l’utilisateur est d’essayer de contester la décision sur une base différente (avec une nouvelle affirmation), déclenchant une nouvelle itération du protocole. La deuxième option, s’il estime que l’argument généré par Algocate n’est pas légitime, est de le soumettre à l’arbitre. Cela peut être le cas, par exemple, si l’argument repose sur une norme jugée illégitime par l’utilisateur. Typiquement, l’utilisateur peut estimer que les données de référence ne représentent pas des décisions vertueuses (décisions discriminantes par exemple) ou tout simplement dénigrer le bien-fondé des règles invoquées. Dans ce cas, si l’arbitre confirme que la norme n’est pas acceptable, l’impact de son verdict va au-delà de la décision contestée par l’utilisateur : l’opérateur du SDA doit modifier le système pour corriger la situation (et l’ensemble des normes utilisées par Algocate doit être mis à jour en conséquence).
Relation de force pour les normes impliquant des données
La relation de force utilisée pour comparer les arguments doit répondre à deux critères : elle doit refléter l’intuition des parties et elle doit permettre de comparer le plus d’arguments possibles. Ces deux critères peuvent être en tension, comme le montre la Partie 4.3.4 qui introduit une relation simple et intuitive, mais qui laisse de nombreux arguments incomparables. Pour résoudre cette tension, Algocate s’appuie sur un score t mesurant la force des preuves basées sur des données : [∆, γ, µ] >e [∆, γ 0 , µ 0 ] ⇔ t(∆, γ, µ) ≥ t(∆, γ 0 , µ 0 ) (4.14) Cette thèse est accessible à l’adresse : http://theses.insa-lyon.fr/publication/2021LYSEI058/these.pdf © [C. Henin], [2021], INSA Lyon, tous droits réservés 108 Chapitre 4. Justifications et contestations t(∆, γ, µ) = µ √ γ (4.15) Intuitivement, la preuve est considérée forte si l’écart µ est élevé, puisque cela signifie que la condition C a un fort impact sur la moyenne. Cependant, si la taille γ de ∆|C est trop petite, l’écart observé pourrait être seulement dû au hasard. Ainsi, une preuve impliquant un ensemble de seulement deux cas doit être considérée plus faible qu’une preuve s’appuyant sur un sous-ensemble de 100 cas. Pour en tenir compte, il est courant de comparer la valeur moyenne de ∆|C[o] avec l’espérance de la valeur moyenne d’un tirage aléatoire de même taille dans ∆[o]. Selon la loi des grands nombres, l’écart-type moyen de ce sous-ensemble aléatoire est proportionnel à 1/√ γ. La valeur t mesure donc l’écart de moyenne observé en échelle d’écart-type moyen d’un tirage aléatoire 6 . La définition (4.15) rappelle le test de Student qui peut être facilement converti en p-valeur 7 . Même si la définition (4.15) est intuitive et semble posséder des propriétés statistiques raisonnables, d’autres choix sont possibles pour mesurer la force des preuves dans Algocate .
Génération d’affirmations
Le système de contestation et de justification ayant vocation à être neutre, il doit considérer indifféremment les arguments qui soutiennent l’affirmation de l’utilisateur et les arguments qui la contredisent. L’objectif de la procédure de génération d’affirmations d’Algocate est illustré par la Figure 4.3 pour une norme basée sur une référence. La partie gauche de la Figure représente les données de référence ∆R, la décision initiale en rouge et l’affirmation de l’utilisateur (indiquant que les décisions dans la zone hachurée orange, qui représente ∆|C, devraient être 1). Cette affirmation est faiblement soutenue par la norme. La partie centrale de la Figure montre un argument plus fort soutenant la même conclusion (avec une condition supplémentaire représentée par la barre horizontale). Cependant, la partie droite de la figure fournit un argument encore plus fort (représenté par les deux barres verticales).