Archives mensuelles : avril 2017

Les bibliothèques numériques sont-elles représentatives ?

Au terme de 20 ans de programmes de numérisation, les bibliothèques numériques atteignent des dimensions colossales : il y a 4 millions de documents en libre accès sur Gallica et 5 millions sur son équivalent américain, Hathi Trust.

Et pourtant “colossal” ne veut pas dire “représentatif”. Certains référendums en ligne illustrent bien cette nuance : tout en récolant parfois beaucoup plus de réponses que les sondages classiques, ils sont notoirement moins fiables. Ils mesurent surtout la propension de certains groupes politiques à se mobiliser pour y répondre — quand ils ne sont pas complètement détournés par des votes multiples, avec ou sans robots…

Si elle n’est pas détournée par des groupes de pression, la numérisation n’est non plus une activité purement “aléatoire”.  Elle découle la conjonction de choix documentaires, déterminés par plusieurs contraintes ou opportunités externes : “prestige” ressenti du corpus, état de conservation, articulation avec des projets de recherche, intégration dans des dispositifs d’indexation antérieurs — sans compter les restrictions budgétaires qui amplifient tout le reste…

Cet enjeu méthodologique de la représentativité déborde complètement du cadre des humanités numériques. La recherche par mots-clés dans les bibliothèques numériques s’est généralisée, devenant pour de nombreuses études une porte d’entrée par défaut. Sans même tenter de quantifier les occurrences, la consultation prioritaire des documents qui “remontent” dans le moteur de recherche affecte notre perception de l’objet ou du corpus étudié — même si cela n’exclut en rien des des retours critiques ultérieurs.

Transformer le Catalogue de la BNF en une collection de fichiers csv

Dans le cas de Gallica, une excellente ressource permet de lever un coin de voile : Data BNF. Dans la continuité du mouvement d’ouverture des données culturelles, une grande partie des métadonnées de la BNF est aujourd’hui disponible sous une licence ouverte.

Le format utilisé (du web sémantique en RDF) se prête bien à l’indexation de relations complexes. Typiquement, un livre peut avoir plusieurs auteurs, qui peuvent avoir contribué à plusieurs livres — sachant qu’il existe tout un dégradé de “contributions”, de la rédaction de l’ensemble du livre, à celle de sa préface, en passant par la coordination d’un ensemble textes dans le même ouvrage.

Exemple d’entrée RDF d’une édition dans Data BNF

Ce format complexe ne se prête pas très bien à l’analyse de données sur un ordinateur personnel (raison pour laquelle, la BNF met à disposition un point SPARQL) Notamment, les fichiers sont très volumineux (20 gigaoctets pour l’ensemble des “éditions” : soit bien au-dessus des capacités standards de mémoire vive) et rangés de manière arbitraire (apparemment l’ordre dans lequel les documents ont été rentrés dans le catalogue de la BNF).

Avec un petit script en python, j’ai procédé à l’extraction des principales métadonnées de toutes les éditions antérieures à 1900. Chaque édition a été rangé dans un document en csv correspondant à une année. La collection complète peut être téléchargée par ici : elle compile les métadonnées de 1665095 éditions et “pèse” 400 mégaoctets (100 mégaoctets en version compressée). Chaque année peut être ouverte dans un tableur classique de type excel, même si l’application risque de tousser un peu à mesure que l’on se rapproche de l’année 1900.

Extrait de la collection de fichiers csv

À noter qu’il s’agit ici des éditions et non des œuvres : un même écrit peut figurer à plusieurs reprises. Il existe bien un recensement des œuvres en RDF mais il est pour l’instant très incomplet. Pour l’instant les auteurs ne sont pas mentionnés : c’est au programme d’une version future — il faudrait que je croise les documents csv avec le fichier RDF des “contributions” et celui des “auteurs”. Enfin, j’ai laissé les années telles qu’indiquées et les documents antérieurs à 1000 sont manipuler avec précaution : la BNF utilise apparemment des abréviations (19…) en cas d’imprécision.

Une couverture variable selon les époques

Il y aurait beaucoup d’enseignements à tirer de cette collection mais nous nous limiterons ici : quelle est la représentativité de Gallica au regard du catalogue de la BNF ? Toujours avec un petit script en python, nous pouvons extraire le nombre d’éditions du catalogue de la BNF disposant également d’un lien sur Gallica (qui correspond à la propriété rdarelationships:electronicReproduction en RDF).

Au total, 17,56% des éditions sont numérisées sur Gallica. C’est loin d’être négligeable : il ne s’agit que d’une seule bibliothèque.  En prenant en compte la totalité des publications disponibles sur l’ensemble des bibliothèques numériques, nous ne sommes peut-être plus très loin de cet objectif utopique : accéder à la totalité des documents imprimés dans le domaine public.

Cette proportion n’est pas uniforme dans le temps. Le graphe ci-dessous témoigne de variations substantielles : de 3% en 1530 (24 éditions numérisées sur 785) à… 31% en 1731 (813 éditions numérisées sur 2574) :

Editions du Catalogue de la BNF numérisées dans Gallica

Ces variations ne sont pas purement arbitraires. La tendance globale (représentée ici avec une courbe de régression en méthode Loess) témoigne de l’existence de trois “périodes” distinctes : des taux initialement bas en hausse constante pendant les XVe, XVIe et XVIIe siècles ; un palier élevé, supérieur à 20%, pendant tout le XVIIIe siècle ; un déclin continu amorcé à partir de la Révolution française.

Il n’y a sans doute pas d’explication simple à ces tendances mais je serai tenté d’y voir la conjonction de deux phénomènes : les documents anciens sont probablement plus coûteux à numériser (notamment en raison de leur fragilité) ; à mesure que l’on se rapproche de 1900, la production documentaire s’accroît fortement (et l’on commence à voir poindre les incertitudes sur le droit d’auteur). Entre ces deux écueils, le XVIIIe siècle constituerait un optimum de représentativité.

Sauf que… Nous avons jusqu’ici considéré le Catalogue de la BNF comme une référence absolu (à laquelle se mesurait plus ou moins bien Gallica). Rien n’est si simple : le Catalogue hérite lui-même d’une longue histoire assez passionnante, qui se confond avec celle du dépôt légal. Bien que théoriquement établi au XVIe siècle, le dépôt légal est très mal appliqué en pratique jusqu’au début du XIXe siècle : le progrès des techniques d’indexation permet alors d’établir cette remarquable base de données périodique qu’est la Bibliographie de la France.

Nombre d’éditions dans le Catalogue de la BNF

Si le catalogue s’approche d’un niveau d’exhaustivité idéal pendant les XIXe et XXe siècle, rien n’est moins sûr en-deçà. Une rapide inspection de l’année la plus représentative, 1731, instille le doute. Parmi les documents numérisés, nous trouvons beaucoup de cartes et d’arrêts du conseil d’État. Ils n’est pas totalement exclu que ces éditions n’ont été intégrées au Catalogue de la BNF qu’à l’occasion de leur inclusion dans Gallica…

Titre des éditions numérisées sur Gallica en 1731
Titre des éditions numérisées sur Gallica en 1731

Dans la mesure où elle entraîne une redéfinition des notions de “texte” ou d’éditions, la numérisation concourt peut-être à “créer” (ou du moins “instaurer”) des documents. Dans une bibliothèque, un arrêt n’est qu’une feuille volante qui ne va pas nécessairement être signalé dans les catalogues. Dans un système informatique, il devient un document comme un autre.

Gallica préfère les textes longs

Il existe une autre manière de mesurer la représentativité avec les données dont nous disposons : par le nombre moyen de page. Cette donnée figure souvent (mais pas toujours)  dans champ “description” et peut être extraite systématiquement à l’aide d’une expression régulière (ici avec R) :

scan_years %>%
 mutate(page_number = str_match(description, "(\\d+) ?p\\.")[,2]) %>%
 filter(!is.na(page_number)) %>%
 mutate(page_number = as.numeric(page_number))

Sur la période 1815-1870, le nombre moyen de pages des éditions numérisées est presque systématiquement plus élevé. Le différentiel avec les éditions non numérisées atteint même 30-40 pages pendant le Second Empire.

Les documents numérisés sur Gallica ont une pagination plus élevée

Cette préférence structurelle pour le texte long pourrait découler d’une préférence pour les grandes monographies. D’expérience, je retrouve bien plus souvent des textes romanesques, des traités scientifiques ou des annuaires que de petits opuscules ou pamphlets.

Comment “construire” la représentativité ?

Je pourrai poursuivre cet exercice avec d’autres données (notamment les éditeurs ou les lieux de publication, en attendant les auteurs), mais il deviendrait vite un peu frustrant. Deux informations essentielles manquent toujours à l’appel : les “genres” et les “sujets” abordés. La BNF dispose certes d’un référentiel prévu à cet effet, le RAMEAU. Il reste très peu employé pour les documents antérieurs à 1900 : dans le point SPARQL de Data BNF, quasiment aucun “roman” n’apparaît avant 1850. Or, manifestement, les variations constatées dans le temps ou sur le nombre de pages découlent au moins pour partie de prédilections plus ou moins explicites en faveur de tels ou tels corpus.

La représentativité reste encore aujourd’hui à “construire”. Elle ne peut uniquement s’adosser à des outils documentaires préexistants (qui sont eux même faillibles et incomplets) : il faut également repartir des textes eux-mêmes.

C’est là l’intuition fondamentale de la lecture distante. Chaque texte porte en quelque sorte sa “carte d’identité” : le lexique employé constitue une série d’indices stylistiques ou sémantiques permettant de classer et d’indexer le document. Une équipe de recherche américaine, coordonnée notamment par Ted Underwood, est ainsi parvenue à “cataloguer” automatiquement 13 millions d’ouvrages (dans le domaine public et sous droit d’auteur) d’Hathi Trust à partir du décompte du lexique. À partir de ces corpus libre accès, il devient envisageable, par exemple, d’observer la sédimentation sur le temps d’un genre littéraire comme la science fiction :

Probabilité d'attribution à la science fiction (Underwood, The Life Cycle of Genres)
Probabilité d’attribution à la science fiction (Underwood, The Life Cycle of Genres)

Ces nouvelles approches ne nécessitent pas seulement de lever des barrières techniques mais aussi légales. La revendication de droits de propriété intellectuelle sur des textes dans le domaine public (ou copyfraud) s’accompagnent bien souvent de restrictions contre le téléchargement.

Gallica restreint ainsi l’usage commercial des documents numérisés. Il n’existe pas d’API ou de dumps (soit de collections textuelles complètes) de Gallica : l’application Pyllica que j’avais développé avec Julien Schuh contourne cette difficulté en extrayant directement les pages web1 . À contrario, les métadonnées sont disponibles sous licence ouverte sur data BNF (et peuvent être téléchargées en une seule fois).

Néanmoins les bibliothèques numériques réduisent graduellement ces restrictions indues, en partie pour tenir compte de ces nouveaux enjeux. Alors que le copyfraud tend à s’insinuer dans la loi (notamment au travers de la Loi Valter), les bibliothèques passent graduellement à “une libre diffusion du domaine public numérisé” (ce qu’illustre notamment la conversion récente de la Bibliothèque de l’INHA à la Licence ouverte). Pour mes projets de recherche sur la presse quotidienne nationale, j’ai la chance de disposer du corpus Europeana Newspaper (disponible sous forme de dumps complets sous licence CC0).

Dans ce contexte, la levée de ces barrières et enclosures devient un enjeu scientifique majeur. La plupart des publications du domaine public sont peut-être aujourd’hui disponibles en ligne mais nous ne le savons pas. Pour être visibles et correctement indexés, ces immenses corpus doivent devenir mobiles : circuler librement d’un projet de recherche à l’autre, d’une infrastructure à l’autre et être continuellement enrichis au gré de ces passages.

  1. Pyllica va d’ailleurs bientôt recevoir une mise à jour substantielle : stay tuned []