Technical Development of the Law factory Project

Un premier prototype de versionalisation, qui permet de retracer les différentes versions du texte de la loi et son historique — quelle partie du texte originel déposé par le gouvernement a été modifiée, par quel député et à travers quel amendement — et de visualisation de la loi a été mis en place par les membres de Regards Citoyens pour la première lecture de l’article 1 de la réforme de l’hôpital de 2009. Les données utilisées sont celles constitutives du site NosDéputés.fr et recueillies quotidiennement depuis le site de l’Assemblée nationale.

Cette loi a été choisie à partir de plusieurs critères : par sa taille, sa saillance, sa complexité et le nombre de modifications déposées par amendements; elle constitue le périmètre de travail idéal pour assurer au prototype le futur passage à l’échelle pour l’application à l’ensemble des projets de lois. Il s’agit donc d’une loi très volumineuse, comportant 4 chapitres et 135 articles, qui a été extrêmement modifiée au cours des différentes lectures au Parlement et très débattue par les médias.

Pour pouvoir étudier l’évolution de la loi dans ses moindres détails, le texte est analysé et divisé en ses plus petits éléments : les alinéas. Chaque article de la loi est représenté sous la forme d’un dossier portant pour nom le numéro d’article et hébergé dans des dossiers parents suivant l’arborescence de la loi en chapitres, sections et sous-sections. Au sein du dossier de l’article, se trouve un dossier contenant un fichier par amendement concernant cet article, et un fichier comportant une ligne par alinéa constitutif de l’article.

En utilisant Git, logiciel libre de gestion de versions décentralisé, le répertoire représentant la loi est enregistré et versionné de sorte que les fonctionnalités d’historicisation de git peuvent être appliquées au texte de loi modifié au fil du temps. Une première représentation sommaire peut dès lors être réalisée sur les différents outils préexistants, comme par exemple la plate-forme d’hébergement de projets libres Gitorious.

Qui a modifié quoi et comment ?

L’un des challenges rencontrés lors de l’élaboration de ce prototype révèle une première surprise notable. Si l’on applique rigoureusement chaque amendement adopté au texte proposé par le gouvernement, le texte résultant diffère de la version finale transmise par l’Assemblée au Sénat. En effet, avant l’insertion finale des amendements dans le texte, il arrive que la forme soit modifiée par les services légistiques des assemblées, notamment pour des questions de syntaxe. Le travail d’identification des correspondances entre modifications du texte et amendements s’avère en conséquence beaucoup plus difficile. La solution abordée consiste à mettre en œuvre des algorithmes d’intelligence artificielle afin d’« d’apprendre » au logiciel quel amendement correspond à quelle modification. Les premières expérimentations affichaient malheureusement des résultats d’environ 30% de faux-positifs, mais les dernières évolutions sont encourageantes pour arriver prochainement à des résultats valides.

Une fois l’identification réalisée, l’analyse des données associées aux amendements permet d’identifier précisément les auteurs d’une modification spécifique, ainsi que le débat associé et l’historique du texte.

À fins de démonstration pour la conférence Open Legislative Data que nous avons organisée cet été à Paris, nous avons appliqué les résultats de ce premier prototype au logiciel de visualisation de l’évolution d’un outil de versionnalisation comme git : en résulte la vidéo suivante visualisant le travail parlementaire en première lecture de l’article 1 du projet de loi de réforme de l’hôpital. On y observe successivement le dépôt du texte par le gouvernement, puis le dépôt d’amendements par les députés s’accélérant jusqu’à la date limite de dépôt. Les amendements sont ensuite votés lors des débats et ceux adoptés viennent modifier le texte du gouvernement un par un. La séance, service légistique de l’Assemblée, vient au final apporter ses modifications de forme.

 

This entry was posted in Articles. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


nine − 2 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>