Legilibre / salon

Un salon pour les discussions générales autour du projet Légilibre
https://github.com/Legilibre/salon/issues
2 stars 0 forks source link

Chemin le plus court pour de l'analyse lexicale #21

Open CarlosLegba777 opened 3 years ago

CarlosLegba777 commented 3 years ago

Salutations à toute la team Legilibre !

Avant toute chose je tiens à vous tirer mon chapeau pour le travail abattu ces dernières années, et à saluer votre intention de rendre accessible les textes juridiques à ceux qui souhaitent les appréhender de façon un peu systématique.

Je me permets de vous contacter car vous avez manifestement développé une grande expertise sur la manipulation des données de la DILA.

Présentation Je m'appelle Charles Claron, et je suis en première année de doctorat en économie écologique au CIRED. Mes recherches portent sur la transition écologique du régime foncier français, avec :

Régime foncier = rapport défini par la loi entre les individus (ou groupes d'individus) par rapport aux terres. C'est une institution, un ensemble de règles légales.

Dans le cadre de mon travail les textes juridiques constituent donc un matériau indispensable. Et c'est en explorant ces sources que j'ai fini par tomber sur votre travail.

Intention
Pour comprendre l'évolution du régime foncier j'aimerais conduire un certain nombre d'analyse sur le corpus des codes légaux. Une première étape serait notamment de faire une analyse lexicale pour retracer l'évolution du nombre d'occurrence de certains termes ("sol", "terre", "paysage" ...) dans le Codes. Les objectifs seraient de :

Question Sachant que je suis presque un illettré du code (j'ai fais des choses très très artisanales sur VBA et R) et que je travaille avec Windows, quelle approche me conseilleriez-vous pour mener à bien ce travail ?

L'API légifrance est-elle adapté à ce type de recherche ? Est-ce que l'un des programmes développé par LegiLibre peut s'avérer plus utile ? Quel niveau minimum est-ce que cela nécessite en terme de coding skills ?

Je vous remercie par avance pour votre considération. Bonne journée à toute la team. C.C charles.claron@enpc.fr

Seb35 commented 3 years ago

Bonjour @CarlosLegba777,

Content que notre travail puisse t’aider :)

Concernant les API Légifrance, je ne les connais pas assez bien pour savoir à quel point c’est adapté à de la recherche.

Selon tes objectifs et ce que tu connais (ou est disposé à apprendre), tu peux utiliser :

git clone --mirror https://archeo-lex.fr/codes/codes.git
git clone -c 'remote.origin.fetch=+refs/*:refs/*' codes.git
cd codes

# positionne dans le répertoire actuel le fichier contenant la version actuelle du code rural et de la pêche maritime
git checkout refs/codes/code_rural_et_de_la_pêche_maritime/texte

# positionne dans le répertoire actuel le fichier contenant l’avant-dernière version du code rural et de la pêche maritime
git checkout refs/codes/code_rural_et_de_la_pêche_maritime/texte~1

# affiche les dates des modifications successives faites sur le code rural
git log refs/codes/code_rural_et_de_la_pêche_maritime/texte

# affiche les modifications successives faites sur le code rural
git log -p refs/codes/code_rural_et_de_la_pêche_maritime/texte

# affiche la dernière modification faites sur le code rural
git show refs/codes/code_rural_et_de_la_pêche_maritime/texte

# affiche l’avant-dernière modification faites sur le code rural
git show refs/codes/code_rural_et_de_la_pêche_maritime/texte~1

Je me rends compte en faisant ces commandes que ce dépôt n’est pas à jour, la dernière modification y date de mars 2019 (alors qu’il y a plusieurs modifications par mois) ; si tu as besoin, je vais essayer de corriger ça dans les jours qui viennent.

Si tu as des questions supplémentaires, n’hésites pas, peut-être en précisant plus tes besoins spécifiques et si les outils mentionnés te sont accessibles (éventuellement avec l’aide de collègues ou du service informatique de ta structure).

PS: pour information, tu seras peut-être intéressé les deux projets suivants qui s’intéressent à abstraire certaines règles juridiques (pour les mettre en programme, mais si je comprend bien ta démarche, tu cherche à étudier l’évolution de règles juridiques, d’où une certaine ressemblance sur le processus d’abstraction) : publi.codes (formalisation du système socio-fiscal ou d’un bilan carbone) ou cette formalisation du calcul des impôts (domaine informatique théorique pour ce dernier).

revolunet commented 3 years ago

Bonjour,

je suis intéressé par la démarche d'analyse lexicale qui pourrait être portée sur d'autres codes

je complete avec quelques infos sur les APIs Légifrance :

l'API Legifrance permet de récupérer tous les textes (base LEGI) à n'importe quelle date. Il faut s'inscrire sur ce portail : https://developer.aife.economie.gouv.fr, demander l'accès à l'API DILA Légifrance, puis utiliser leur documentation pour faire les appels APIs. Le seul "souci" est qu'il faut reconstituer les textes car ils ne sont pas fournis de manière intégrale à une date T. Dans notre cas, on se base sur la table des matières puis on va chercher les articles en vigueur.

Quelques repos en rapport :

A dispo si besoin d'aide sur ces repos

CarlosLegba777 commented 2 years ago

Bonjour,

Je réalise à l'instant que j'avais omis de faire partir la réponse que j'avais préparé à vos commentaires. Je vous présente mes sincères excuses pour cet oubli. D'autant plus que vous avez, l'un et l'autre, apporté des réponses très complètes à ma demande.

Malheureusement, comme je le redoutais, je ne suis pas vraiment en mesure de pouvoir mettre vos conseils à profit pour le moment. Je ne dispose pas moi-même des compétences nécessaires (comme je l'indiquais je suis quasi illettrés en langages informatiques), et ne suis pas encore en position de faire appel à des stagiaires ou collègues pour m'épauler. Toutefois je ne désespère pas de pouvoir faire cette analyse un jour, je suis persuadé qu'elle peut fournir un éclairage utile aux recherches sur l'évolution du régime foncier en France.

Plus généralement je note qu'il y a un intérêt à développer des outils de recherches lexicales au sein des codes, et à travers leurs différentes versions. Ce type d'outil finira peut-être par voir le jour.

A nouveau : merci d'avoir pris le temps de me répondre !

CarlosLegba777 commented 2 years ago

Bonjour à tous les deux,

J'ai récemment fait appel à un ami pour m'épauler dans cette démarche d'analyse lexicale / sémantique des codes juridiques : @charlesdedampierre. Malheureusement, et malgré le fait qu'il soit bien plus compétent que moi en manipulation de données, nous ne sommes pas parvenu à utiliser legi.py pour obtenir une base SQL des textes de la base LEGI. D'après lui l'architecture technique de son Mac M1 Silicon pose problème en raison de sa nouveauté.

C'est la raison pour laquelle nous revenons vers vous afin de vous demander un service qui pourrait être salutaire pour faire avancer notre recherche. Vous serait-il possible, s'il vous plait, de nous faire parvenir un extract de la base LEGI actuelle (ou récente) parsée dans un format SQL (par exemple à partir de legi.py). Charles De Dampierre m'a mentionné en particulier les fichiers de format sqlite3 qu'il sait prendre en charge. A partir de là nous pourrions mettre en oeuvre la recherche lexicale et sémantique que nous envisageons à partir des outils que Charles De Dampierre développe à l'occasion de sa thèse.

Je reste à votre disposition si avez besoin de plus de renseignements sur notre démarche, Je vous souhaite une bonne journée,

Charles Claron charles.claron@enpc.fr

Changaco commented 2 years ago

J'ai mis une copie du fichier SQLite actuel sur mon serveur : https://changaco.oy.lc/webseed/legi-raw-20220412-214553.sqlite

Évidemment il ne sera déjà plus totalement à jour dans quelques heures, ce n'est qu'une solution temporaire.

CarlosLegba777 commented 2 years ago

Bonjour @Changaco !

Merci beaucoup pour cette réponse rapide. Même si le fichier ne sera rapidement plus à jour, il nous permet de faire une analyse sémantique sur l'ensemble des codes à un moment T. C'est déjà beaucoup, c'est même une très bonne base pour conduire une première étape de cette recherche.

Donc merci à nouveau, votre intervention nous sera sans doute très utile.

Je vous souhaite une bonne fin de journée, Bien à vous,

Charles