arthur.bebou

Le site arthur.bebou.netlib.re - retour accueil

git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |

index.sh (7307B)


      1 #! page
      2 title: Comment j\'ai volé le DES au CRISCO
      3 author: Arthur Pons
      4 description: Argent publique = Recherche publique, libérons le contenu du dictionnaire électronique des synonymes de sa cage webeuse
      5 publication: 2024-05-24
      6 
      7 sectionmd: main
      8 
      9 ## Les résultats
     10 
     11 [La base de données du DES en json - 6Mo](des.json.gz)\
     12 [Un TSV du top 10 des synonymes pour chaque mot - 4Mo](data)
     13 
     14 ## Pourquoi ?
     15 
     16 Parce que l'on veut pouvoir avoir des synonymes sans avoir besoin d'internet.
     17 Cela favorise la résilience, la sobriété et l'interopérabilité des  usages
     18 numériques. Initialement je pensais que ce serait fatiguant à faire et/ou que
     19 ça prendrait trop de place et/ou que ça n'était pas nécessaire au vu des
     20 besoins (personne n'a besoin de la totalité des synonymes de la langue
     21 française sous la main). Puis une amie m'a convaincu de l'inverse, notamment
     22 que ça ne devrait pas représenter de grosses quantités de données, alors j'ai
     23 essayé. Merci à elle !
     24 
     25 Sur la [page d'accueil] on retrouve ce texte :
     26 
     27 > Constitué à partir de données – mots et liens – extraites de dictionnaires et
     28 > des recherches de l’ELSAP, laboratoire associé au CNRS, puis du CRISCO, le DÉS
     29 > constitue dans sa forme actuelle une œuvre originale, propriété de
     30 > l’université de Caen Normandie. La consultation du DÉS et la reproduction de
     31 > ses pages sont libres, mais la base de données reste la propriété exclusive de
     32 > l’université. L’utilisation de copies de cette base de données ne peut se
     33 > faire que sous contrat de licence avec l’université. En conséquence, toute
     34 > requête automatique visant à collecter les données du DÉS est strictement
     35 > interdite.
     36 
     37 Ce qui va suivre dans cet article est donc illégal 😲
     38 
     39 Pourtant le CRISCO est financé par de l'argent publique et rend déjà accessible
     40 la totalité des données du DES via son interface web. De plus le ministère de
     41 l'enseignement supérieur et de la recherche dispose d'un [Plan national pour la
     42 science ouverte] qui stipule à plusieurs reprises qu'il faudrait ouvrir autant
     43 que possible les données de la recherche. En réalité le DES est déjà remarquable
     44 en cela qu'il rend tout accessible via au moins une interface, même si ce n'est
     45 pas celle que je préfère, communique bien sur les statistiques d'utilisation du
     46 service, la vie du projet et permet même à n'importe qui de proposer des
     47 modifications.  Compte tenu des efforts déjà consentis par le CRISCO, j'ai du
     48 mal à comprendre pourquoi tracer une ligne rouge aux requêtes automatiques[^1].
     49 Je vais donc, l'esprit tranquille, procéder à utiliser une copie de cette base
     50 de donnée sans contrat de licence. Et sans faire de requête automatique.
     51 
     52 ## Comment ?
     53 
     54 Je pense que la première et bonne façon de faire aurait été d'envoyer un
     55 mail à l'équipe de recherche expliquant le besoin. Il est assez probable que
     56 l'équipe réponde favorablement. Cela dit j'avais à cœur de vérifier si c'était
     57 possible autrement, via un bête lien quelque part dans la documentation.
     58 
     59 En l'occurrence je ne suis pas parvenu à trouver ce que je voulais ni sur la [page
     60 d'accueil] ni [la page de présentation] ni [la page du dictionnaire elle-même].
     61 Je n'ai peut-être pas les yeux en face des trous.
     62 
     63 Je suis toujours un peu tiraillé entre deux sentiments dans ce genre de cas.
     64 D'un côté je ne suis plus surpris de voir encore un service, une donnée, rendue
     65 d'abord via une interface web avant même de se soucier si la donnée est
     66 accessible sous sa forme initiale et de l'autre je suis toujours surpris de voir
     67 que même le monde universitaire tombe dans ce travers. On me permet de partager
     68 la page web dans linkedin mais pas de télécharger la base de donnée.
     69 
     70 ### La version autonome
     71 
     72 Heureusement il existe une version dîtes "autonome" disponible [ici]. Qui dit
     73 pas de connexion internet dit toutes les données en locale. Il devrait donc
     74 exister un fichier contenant ce qu'il nous faut. On télécharge 54Mo de données
     75 zippées, 207Mo décompressés :
     76 
     77     $ curl -Ls https://crisco4.unicaen.fr/des/a_DES.zip > des.zip
     78     $ unzip des.zip
     79     $ du -hs des
     80     207Mo
     81 
     82 Pour explorer le contenu du dossier on fait ensuite un grep un peu massif là
     83 dedans et on le pipe dans fzy dont la sortie sera ouverte dans vim :
     84 
     85     grep -rnIH |
     86         fzy -l 100 |
     87         cut -d':' -f-2 | sed 's/:/ +/' |
     88         xargs -or vim
     89 
     90 Si vous êtes sur un ordi pas très puissant ça n'est probablement pas l'idée du
     91 siècle mais passons. En cherchant un mot comme "machin" je trouve des occurrences
     92 intéressantes dans le fichier `sortieDES.txt`, on le sélectionne pour l'ouvrir.
     93 Effectivement on y trouve un gros objet json du type :
     94 
     95     {
     96     mot : {
     97     synonymes: [
     98     1,
     99     2,
    100     ...],
    101     liste10: [
    102     1,
    103     chiffre,
    104     2,
    105     chiffre2,
    106     ...];
    107 
    108 Nous avons trouvé notre base de donnée ! Le fichier fait 36Mo en tout. Si vous
    109 le voulez sans avoir à télécharger l'application java en entier je propose une
    110 [version compressée](des.json.gz) que vous pouvez décompresser avec `gunzip
    111 des.json.gz`.
    112 
    113 ### TSViser le fichier
    114 
    115 [J'aime bien le TSV](/amourtsv/) et en réalité ne suis qu'intéressé par la
    116 "liste10", c'est à dire le top 10 des synonymes les plus "proches". J'ai
    117 donc créé un format TSV un peu moche pour contenir ces infos :
    118 
    119     cat sortieDES.txt | jq 'keys_unsorted' | sed '1 d;$ d' > mots
    120     cat sortieDES.txt | jq '.[].liste10|join(";")' > synonymes
    121     paste mots synonymes | tr -d '",' | sed -E 's/([0-9]);([^0-9])/\1\t\2/'g > data
    122 
    123 Je suppose que l'on peut faire ça avec une seule commande jq mais j'y comprends
    124 pas grand chose. Au final `data` ressemble à :
    125 
    126     abaisse-langue	spatule;50
    127     abaissement	baisse;41	dégénérescence;31	décadence;31	déclin;29	avilissement;28	diminution;26	dégradation;26	déchéance;22	dépréciation;22	affaiblissement;19	détérioration;14	affaissement;14	rabaissement;14	honte;11	bassesse;11	indignité;10
    128     abaisser	rabaisser;49	avilir;41	déprécier;23	humilier;23	baisser;20	dégrader;20	diminuer;17	flétrir;15	ravaler;14	réduire;13	courber;13	abâtardir;11	salir;11	rabattre;11	rapetisser;9	affaiblir;9
    129     abajoue	bajoue;200	joue;40
    130 
    131 C'est un format qu'on peut requêter avec par exemple :
    132 
    133     $ grep "^manger\t" data | cut -f2- | tr ';\t' '\t\n'
    134     bouffer	20
    135     dévorer	19
    136     engloutir	14
    137     avaler	14
    138     croquer	13
    139     consumer	13
    140     s'empiffrer	11
    141     dépenser	11
    142     absorber	10
    143     dissiper	9
    144     user	9
    145     ronger	8
    146     se gaver	8
    147     engouffrer	8
    148     dilapider	8
    149     se gorger	8
    150 
    151 Ce format est disponible [ici](data).
    152 
    153 [page d'accueil]: https://crisco.unicaen.fr/dictionnaire-electronique-des-synonymes-des/
    154 [la page de présentation]: https://crisco.unicaen.fr/dictionnaire-electronique-des-synonymes-des/presentation-du-dictionnaire-electronique-des-synonymes/
    155 [la page du dictionnaire elle-même]: https://crisco4.unicaen.fr/des/
    156 [Plan national pour la science ouverte]: https://www.enseignementsup-recherche.gouv.fr/fr/le-plan-national-pour-la-science-ouverte-2021-2024-vers-une-generalisation-de-la-science-ouverte-en-48525
    157 [^1]: contre lesquelles rien n'est fait par ailleurs
    158 [ici]: https://crisco.unicaen.fr/dictionnaire-electronique-des-synonymes-des/version-autonome-du-dictionnaire-electronique-des-synonymes/
    159 
    160 endsection