Traitement de la langue et structures de données

En attendant les ordinateurs quantiques, l’informatique a peut-être eu son Newton, en tous cas les structures de données et leurs principaux algorithmes sont presque définitivement théorisées depuis les trois premiers volumes de The Art of Computer Programming de Donald Knuth (première édition en 1973). La théorie a pénétré l’enseignement, notamment avec Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms ; mais aussi l’industrie, il suffit de lire le niveau des programmeurs qui se répondent aux questions de performances sur StackOverflow. Si la théorie est complète, il reste pourtant des gisements d’optimisation, dans cette réalité où l’on se salit les mains, ce que des chercheurs en informatique appellent parfois : l’ingénierie. À partir du même système théorique, certains professionnels arrivent à régler plus efficacement les mêmes  problèmes, cela ne s’explique pas par la chance ou le mystère d’un tour de main, la théorie doit manquer des faits. Le traitement de gros corpus textuels s’analyse ainsi en une multitude d’objets avec beaucoup de propriétés, les mots. La difficulté principale du traitement de la langue n’est pas seulement de réduire la complexité computationnelle  (éviter O(n²), tirer O(n) vers O(log n), en espérant O(1)), mais aussi, dans la gestion de la mémoire. Toute la théorie de Knuth est établie sur un langage virtuel proche de l’assembleur, théoriquement irréprochable, mais même dans le déterminisme absolu de la gravitation universelle de Newton, il suffit de 3 planètes de masse équivalente pour produire des situations cahotiques (le problème des 3 corps). Tout utilisateur en fait l’expérience quotidienne sur un ordinateur abordable, avec pourtant les logiciels les mieux débogués, le moment arrive où la machine s’étouffe, où le disque grésille, le clavier gèle ; l’ordinateur range sa maison parce qu’il ne s’y retrouve plus. Après avoir écrit une librairie de traitement du français, Alix, il me semble que le secret de l’efficacité n’est pas seulement mathématique, mais physique, dans la gestion des flux. Cet article décrira quelques structures de données classiques, et d’autres moins documentées, selon leur utilité pour le traitement de la langue. Le texte sera tourné pour essayer d’intéresser tous types d’esprits, certes les programmeurs, mais aussi des linguistes, des littéraires, cet honnête homme introuvable de l’âge classique, ces humanistes dont la qualité est d’être leur nature, c’est-à-dire plus simplement, des curieux.  On disserte beaucoup sur les produits et les effets du Numérique, il est plus rare d’analyser le code qui en est la cause. Continuer la lecture de Traitement de la langue et structures de données

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Détournement sémantique du traitement de textes

Le traitement de textes est un logiciel bureautique, toute son histoire et ses fonctionnalités sont orientées vers les besoins des entreprises et des administrations, les clients payants. Cette cible n’est pas la plus compétente pour définir ce qu’est un texte, pourtant un logiciel porte nécessairement une définition, son modèle de données, qui conditionne les fonctionnalités possibles et efficaces. Toutefois, ce nombre d’utilisateurs assidus et exigeants sur leur productivité s’est accumulé dans une masse de temps et d’argent difficile à égaler. Un logiciel, surtout dans les moments de concurrence et d’innovation aiguë, est comme l’activité législative en période révolutionnaire, il fond tellement d’idées qu’il n’est pas possible de le remplacer sans attendre une nouvelle vague technologique. Les humanités peuvent essayer de démarrer leur branche de code, mais le temps qu’elles se mettent d’accord, il est plus rapide de détourner les logiciels tels qu’ils sont, sans attendre ce qu’ils devraient être, d’autant que ce ne sera peut-être plus ce qu’il faudra. Ce billet se présente comme un tutoriel rédigé, c’est-à-dire avec beaucoup de copies d’écran, mais aussi des paragraphes qui considèrent que le lecteur a un processeur entre son écran et sa souris. Le but serait de rester intéressant pour ceux qui savent faire, pour ceux qui ne comptaient pas faire, mais l’intention reste surtout d’élever la qualité sémantique des textes produits, afin de faciliter leur transformation automatique vers des formats plus ouverts et pérennes, comme XML/TEI.

Continuer la lecture de Détournement sémantique du traitement de textes

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Pourquoi le traitement de textes ne convient pas à un éditeur de textes

une histoire de l’informatique vue par les lettres, plutôt que les chiffres

Dans chaque histoire, rien ne frappe plus que l’inertie des trajectoires, et la faiblesse des raisons qui ont fait choisir une branche des possibles. Tout aurait pu être autrement, et en même temps, tout est trop lourd à changer. Le traitement de textes a été le logiciel le plus utilisé au monde, il s’impose comme un tout évident, or chacun de ses éléments résulte d’une époque avec ses contraintes techniques et ses intérêts, qui aboutissent aujourd’hui à des limitations qui ne sont pourtant pas des impossibilités logiques. Un logiciel semble une pure potentialité mathématique, libre du meilleur, or c’est un texte qui prend du temps à écrire, avec toujours de l’existant, aussi lourd et difficile à réformer que la loi. Ce billet va parcourir une histoire du traitement informatique du texte du point de vue de l’ingénieur, avec ce travers du métier à voir le bug, et retenir le hack, l’astuce géniale qui peut encore inspirer aujourd’hui. On commencera par l’informatique avant l’ordinateur, pour aboutir à l’état stabilisé de Microsoft Word, au début des années 2000. L’objectif est de construire un rapport critique aux logiciels, afin de se représenter leur modèle du texte. Continuer la lecture de Pourquoi le traitement de textes ne convient pas à un éditeur de textes

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Data.bnf.fr, les documents

« il y devrait avoir quelque coercition des lois contre les écrivains ineptes et inutiles, comme il y a contre les vagabonds et fainéants. »
(Montaigne, Essais III,  « Chapitre IX. De la Vanité »)

Ce billet présente une application d’exploration des notices data.bnf.fr (livraison avril 2016), issues du catalogue général de la BNF. J’ai eu l’occasion de présenter cette base au LitLab de Franco Moretti (Stanford, 19 mai 2016), une question résumera leur impression. On m’a demandé : « connaissez-vous le délai d’acquisition d’un livre par la BnF ? », je n’ai pas tout de suite compris la question (en américain), Moretti a répondu pour moi : « il y a tout, avant même que cela soit en librairie, c’est la Loi ». Nous avons un instrument de recherche unique au monde, soyons fiers de la politique publique d’ouverture des données de la BnF. Ces explorations auraient pu commencer bien plus tôt, le catalogue est informatisé depuis les années 1990 (cf. Le Roy Ladurie 1995, 1996), mais l’ouverture des données élargit l’audience à plus de curiosités et de compétences. Évidemment les notices n’épuisent pas toute l’histoire de la pensée, il ignore ce qui s’est écrit dans les lettres, dans la presse, ce qui s’est dit dans les salons, et data.bnf.fr ne comporte que 80 % des notices du catalogue général (E. Cavalié 2016). Cette source est à considérer comme un fonds cohérent, avec ses biais et ses trous ; l’enquête qui suit est une tentative de prise en main globale, posant quelques précautions méthodologiques. Inévitablement, je touche à beaucoup de périodes et domaines où je ne suis pas compétent, mon intention est surtout de susciter l’intérêt des spécialistes pour ces données. Continuer la lecture de Data.bnf.fr, les documents

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Dramagraphie 0.2

Ce billet préparait une intervention pour le séminaire UDPN Numériser le littéraire (7 avril 2016, 14h à 17h), à laquelle j’étais invité par Michel Bernard avec le sujet : « présenter des travaux liés au numérique et à l’informatique et en envisager les usages (constatés, escomptés, induits) ». Deux chercheurs du LABEX OBVIL étaient aussi présents. Didier Alexandre a présenté le LABEX et une étude de cas, 4 versions d’une même pièce de Claudel (L’Annonce faite à Marie), analysées avec plusieurs approches informatiques (déplacements de blocs de textes, et graphes ci-dessous). Marianne Reboul a présenté l’état de ses travaux sur 50 traductions françaises de l’Odyssée, l’amenant à programmer elle-même ses algorithmes. Faut-il que la critique littéraire soit toujours déçue par la raideur du numérique, doit-elle apprendre à programmer pour ne pas renier la finesse des humanités ? Je voudrais montrer  que cette aporie résulte d’une conception trop individualiste de la recherche, mais que l’organisation d’un travail en réseaux permet de développer des logiciels répondant mieux aux intérêt d’un public plus large. Ce texte fait suite au billet précédent sur un Pamphlet de Moretti, en analysant comment et pourquoi a été développée une version “0.2” d’un instrument de visualisation de textes de théâtre. Les textes et le code sont disponibles sur Github.

Continuer la lecture de Dramagraphie 0.2

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Dramagraphie (sur le Pamphlet 6 de Franco Moretti)

Franco Moretti est célèbre pour ses livres d’histoire littéraire employant des méthodes numériques, comme  Tree, Maps and Graphs (2007) ou Distant Reading (2013). Cette réflexion est assise sur l’activité d’un laboratoire, le Stanford Literary Lab, avec une équipe de chercheurs aimant autant la littérature que la programmation,  ce dont témoigne leurs articles collectifs, les Pamphlets. Ce billet va lire le Pamphlet 6 (2013), “Operationalizing”: or, the function of measurement in modern literary theory, selon une méthode classique en sciences de la matière et de la vie, c’est à dire en discutant les résultats avec des expériences, afin de les continuer pour déboucher sur des applications pratiques. Moretti illustre ici un titre épistémologique avec du théâtre (Racine, Shakespeare ou Sophocle) afin de visualiser la « collision tragique ». Les images produites sont convaincantes, si bien qu’on voudrait les généraliser à la comédie, et à tout le répertoire du théâtre français. Paul Fièvre sur son site Théâtre classique est ici un pionnier depuis 2007, avec maintenant 800 pièces en ligne et beaucoup d’outils statistiques. Plus modestement, le LABEX OBVIL établit une édition électronique de référence de Molière, sous la direction de George Forestier. C’est dans ce contexte que cette contribution évitera, comme à l’habitude, les conclusions littéraires mais cherchera surtout à prototyper des “vidgets” (de video « voir ») pour le théâtre en ligne. Toutes les données et programmes utilisés ici sont librement téléchargeables pour répéter ou réfuter les expériences (suivez les liens), c’est ainsi l’occasion d’annoncer la naissance d’une communauté toute jeune sur GitHub, dramacode, pour fédérer les initiatives d’éditions de théâtre classique en XML/TEI. Il sera montré que l’édition numérique n’est pas un but mais le moyen d’établir des données scientifiques de qualité, et qu’en retour les expériences relèvent des erreurs et approfondissent la qualité des éditions.

Continuer la lecture de Dramagraphie (sur le Pamphlet 6 de Franco Moretti)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Un exemple de programmation, les registres de la Comédie-Française (1680-1793)

Le projet Registres de la Comédie-Française associe le MIT, la Comédie-Française, l’Université Paris Ouest-Nanterre, Paris-Sorbonne, et quelques autres partenaires. Le site permet de consulter en ligne les registres de ce théâtre parisien unique, et notamment, ceux des recettes (qui ne sont pas les profits, car les registres de dépenses ne sont pas encore numérisés). Ces livres de compte suivent un formulaire imprimé, qui assure des informations manuscrites assez homogènes. Un énorme travail d’indexation a été réalisé, si bien qu’une base de données permet de calculer des recettes par auteur ou par pièce, sur la période 1680–1793. L’équipe est animée par un esprit de données ouvertes, plusieurs points de téléchargement sont ouverts. Je ne suis pas spécialiste mais cette histoire peut intéresser tout esprit cultivé, parce qu’elle raconte comment fonctionne une programmation. Que ce soit les films d’une chaîne de télé, les disques d’une radio, ou les partitions d’un orchestre, le problème informatique est similaire : remplir les mêmes cases de la semaine et de l’année avec un répertoire qui grossit avec le temps. J’ai mené cette enquête quantitative parce que le projet m’a invité à faire des suggestions d’interface pour le site (16 décembre 2015). Ce billet a donc surtout pour but de cerner des données en laissant les conclusions littéraires et théâtrales à des chercheurs plus autorisés.

Continuer la lecture de Un exemple de programmation, les registres de la Comédie-Française (1680-1793)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Auteurs français, éléments de démographie historique (data.bnf.fr 2015-04)

Lebras, Todd, ou Piketty, les sciences humaines vivent actuellement un renouvellement qui s’explique beaucoup par la loi de Moore, la puissance de calcul n’a jamais été aussi bon marché, mais aussi les données ! Nous ne travaillons pas autrement que Le Roy Ladurie pour Les paysans du Languedoc, sauf que nous allons beaucoup plus vite. Il n’est plus nécessaire de cultiver des vertus rares de persévérance pour dépouiller des fonds notariaux, nous sommes de plus en plus nombreux à pouvoir mouliner des masses de données (lorsqu’elles sont informatisées). Après un siècle d’énergie peu chère, nous entrons dans une ère d’information quasi gratuite. Ainsi la BNF ouvre désormais librement ses notices informatisées sur le site data.bnf.fr. On y trouve le catalogue des œuvres, mais aussi les autorités auteur. Ces noms, avec souvent des dates de naissance et de mort, constituent une sorte de recensement partiel de la vie culturelle, auquel peut être appliqué les méthodes de la démographie. Ces indications chiffrées sont une base indispensable pour que l’histoire littéraire ne se limite pas à l’épopée des grands auteurs, et connaisse mieux le fond de la toile sur laquelle se détache les personnages. Ce billet propose quelques chiffres nécessaires, et certainement à compléter, pour une démographie historique des auteurs en France. Continuer la lecture de Auteurs français, éléments de démographie historique (data.bnf.fr 2015-04)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Auteurs canoniques, graphes et conjonctions (and, et, und, y, e)

Les grands auteurs européens ont fini par faire concert en canon, se répondant les uns aux autres de siècle en siècle. L’établissement d’œuvres comme trésor d’une ou plusieurs langues poursuit des traditions antiques, comme Homère, la Bible, les Védas, ou les classiques chinois ; à la différence que les littératures de langues européennes sont encore vivantes, aucune rupture de l’histoire n’a amené à fermer le canon. La critique et les écoles établissent depuis longtemps des listes de lectures en ordre de priorité, des palmarès d’auteurs incontournables. Mais chaque langue, chaque époque, a un panthéon différent. Dante, Cervantes, Shakespeare et Goethe sont évidemment importants, mais Dostoïevski, Nietzsche, Proust, Joyce ou Kafka le resteront tout autant. L’objectif de ce billet est surtout méthodologique.  Il explique comment a été constitué un graphe d’auteurs canoniques reliés par une conjonction dans le corpus Google books (ex : Dante & Shakespeare). Le choix de ce produit d’une multinationale n’est en rien une apologie, mais simplement, c’est le plus gros corpus multilingue qui puisse être mobilisé rapidement pour cette expérience. Le plan est articulé  sur différentes définitions et options formelles pour constituer ce réseau (liens, nœuds…), ce qui n’empêche pas aux données de montrer quelques phénomènes pouvant relever de la critique littéraire comparée.

Continuer la lecture de Auteurs canoniques, graphes et conjonctions (and, et, und, y, e)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Santé du livre : titres, pages, mots

Personne ne peut lire deux mille livres. Depuis quatre siècles que je vis je n’ai pas dû en lire plus d’une demi-douzaine. D’ailleurs ce qui importe ce n’est pas de lire mais de relire. L’imprimerie, maintenant abolie, a été l’un des pires fléaux de l’humanité, car elle a tendu à multiplier jusqu’au vertige des textes inutiles. […] D’ailleurs, il n’y a plus de chronologie ni d’histoire. Il n’y a plus non plus de statistiques.
— Borges, « Utopie d’un homme qui est fatigué » le Livre de sable

Chaque année, les statistiques du livre en France se félicitent de voir augmenter le nombre de titres sortis, même si les ventes globales baissent en nombre. Le phénomène est mondial, les chiffres de Google books offrent une perspective plus longue. Quelques précautions sont nécessaires avant de sauter sur la moindre courbe, mais la continuité et l’homogénéité des  séries invite à une enquête, et à des surprises.

Continuer la lecture de Santé du livre : titres, pages, mots

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Borges expliqué par Zipf, TP pour tous

Ce penseur observa que tous les livres, quelque divers qu’ils soient, comportent des éléments égaux : l’espace, le point, la virgule, les vingt deux lettres de l’alphabet. Il fit également état d’un fait que tous les voyageurs ont confirmé : il n’y a pas, dans la vaste Bibliothèque, deux livres identiques. De ces prémisses incontroversables il déduisit que la Bibliothèque est totale, et que ses étagères consignent toutes les combinaisons possibles des vingt et quelques symboles orthographiques (nombre, quoique très vaste, non infini), c’est-à-dire tout ce qu’il est possible d’exprimer, dans toutes les langues.
(Borges, Fictions, « La Bibliothèque de Babel », 1941, traduction de Nestor Ibarra)

Continuer la lecture de Borges expliqué par Zipf, TP pour tous

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Pronoms personnels et genres littéraires (Artfl-Frantext, PhiloLogic 4)

Chacun s’entend à estimer qu’un roman n’est pas une thèse, et d’ailleurs, les romans à thèse ne sont pas toujours appréciés. Il n’est pourtant pas commode de définir strictement un genre si bien que l’on pourrait apprendre ces critères à une machine. Il existe des approches aveugles et statistiques, qui effectuent très efficacement certaines catégorisations, mais ces procédés n’expliquent par leurs raisons. Or, pour perfectionner, il faut comprendre. Même si le programme ne marche pas mieux, notre intelligence de la langue et des textes s’affine. Suite à une expérience sur la deixis de Benveniste (appliquée à Michelet), j’ai constaté un comportement très différents des pronoms personnels selon les composants d’un livre d’histoire (paratexte, paroles rapportées, récit). Est-ce que les pronoms personnels peuvent suffire à trier automatiquement : théâtre, roman, mémoires… ? L’objectif est a priori futile, n’importe quelle notice bibliographique le fait mieux, mais ce qui est intéressant, ce sont justement les erreurs de classification de la machine. Soit le programme est à perfectionner, et c’est la définition des traits du genre qui progresse, soit c’est un texte relativement original à ceux de son genre, dont on mesure mieux la différence.

Continuer la lecture de Pronoms personnels et genres littéraires (Artfl-Frantext, PhiloLogic 4)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Le traitement de textes (odt) pour produire des documents structurés (XML/TEI) — Odette

Le traitement de textes est à peu près universellement employé comme outil de création de textes. Ce succès auprès du grand public a surtout été obtenu par Microsoft, au début des années 1990, avec un Word WYSIWYG (What You See Is What You Get). Ce qu’on voit, c’est ce qu’on aura… sur l’imprimante ; l’ordinateur est réduit à une machine à écrire avancée. La victoire de Word a été un tournant visuel, et une régression de la structuration intellectuelle du texte, ré-attaché au format contingent d’une page de papier. Le concurrent principal, WordPerfect, avait un modèle de texte plus précis, et plus fluide, à une époque où les formats d’impression étaient beaucoup moins normalisés. Pour le vaincre, il fallait, au moins en apparence, satisfaire ses utilisateurs. Le vaincu survit encore à l’état de traces dans MS.Word, par des fonctionnalités avancées, reprises par les logiciels libres qui l’ont imité par la suite (OpenOffice.org, LibreOffice). Cet article détaille les structures textuelles qu’un logiciel bureautique permet de produire, et qu’un programme peut extraire (conversion automatique vers un XML sémantique). Ces pratiques ne servent pas seulement à augmenter la qualité invisible des documents produits, elles accroissent aussi l’efficacité et la qualité du visible. Espérons qu’il est encore temps, car ces bonnes pratiques sont en train de disparaître « dans les nuages » (Cloud). Le succès attendu des éditeurs connectés, type Google.docs ou Apple.Pages, annonce une nouvelle régression dans la structuration du texte, et la perte voulue par les grandes compagnie de la compatibilité entre les formats.

Continuer la lecture de Le traitement de textes (odt) pour produire des documents structurés (XML/TEI) — Odette

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Texte électronique : niveaux d’informatisation (sur un calligramme d’Apollinaire)

Entre un pdf d’images, un OCR rempli d’erreurs, un site internet correct, un livre électronique avec tables des matières, ou un texte indexé et lemmatisé, il y a différents niveaux de structuration (et de travail). La confusion est entretenue par un marché de dupes entre les fournisseurs de textes (Google Books, Archive.org, Gallica…) et les utilisateurs qui préfèrent s’entendre sur un nombre important de livres qu’ils pourraient un jour utiliser, plutôt que de mesurer exactement ce qu’ils pourraient en faire. L’objet de cet article est de définir des niveaux de structuration informatique, et le temps (ou le coût), que représente le passage d’un niveau à un autre. Ces seuils sont issus de l’expérience acquise au LABEX OBVIL, dans la constitution de corpus textuels informatisés pour la recherche (en XML/TEI).

Continuer la lecture de Texte électronique : niveaux d’informatisation (sur un calligramme d’Apollinaire)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Michelet critique de Benveniste (histoire et deixis)

Il nous faudrait des statistiques précises, fondées sur de larges dépouillements de textes de toutes sortes […] (Benveniste, 1966, Problèmes de linguistique générales, 1 : 243)

« Les relations de temps des verbes français » (1966 [1959] : 237) est un article très lu de Benveniste abordant initialement l’articulation du passé simple en français, mais donnant aussi des formules particulièrement nettes et générales sur sa théorie de l’énonciation. L’objet ici n’est pas la linguistique générale, mais la fouille de documents, qui a besoin d’un cadre théorique pour interpréter des statistiques lexicales. Benveniste propose une hypothèse très forte sur l’importance des pronoms personnels comme marque d’un genre textuel. Les pronoms sont faciles à compter, mais que peut-on en conclure ?

Le plan historique de l’énonciation se reconnaît à ce qu’il impose une délimitation particulière aux deux catégories verbales du temps et de la personne pris ensemble. Nous définirons le récit historique comme le mode d’énonciation qui exclut toute forme linguistique « autobiographique ». L’historien ne dira jamais je ni tu, ni ici, ni maintenant, parce qu’il n’empruntera jamais l’appareil formel du discours, qui consiste d’abord dans la relation de personne je : tu. On ne constatera donc dans le récit strictement poursuivi que des formes de « 3e personne ». (Benveniste, 1966 [1959] : 239)

Michelet — « L’historien ne dira Jamais je ni tu, ni ici, ni maintenant ». Il suffit théoriquement d’un contre-exemple pour réfuter une assertion aussi catégorique. J’ai donc pris toute l’Histoire de France de Michelet sur Gutenberg (1833-1867, 19 volumes, 2 millions de mots), pour étudier les occurrences de : je, tu, ici et maintenant. Continuer la lecture de Michelet critique de Benveniste (histoire et deixis)

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr

Google Ngram, masses et universaux

Ngram Viewer est un produit gratuit de Google qui trace des courbes chronologiques pour comparer la fréquences de différents mots ou expressions sur un corpus d’environ 800 000 livres en français [2012a] (783 424 selon nos calculs). Une fois déjouées plusieurs limites documentaires et techniques, la rapidité de l’outil est impressionnante, les fonctionnalités en progrès continu, mais est-ce que la masse du corpus suffit vraiment à toucher des universaux, “la” langue, et non seulement des paroles dans l’histoire ?

Continuer la lecture de Google Ngram, masses et universaux

Frédéric Glorieux

Ingénieur informatique

More Posts - Twitter - Flickr