Identifier les rubriques de presse ancienne avec du topic modeling

Depuis vingt ans, les bibliothèques numériques ont multiplié les grands programmes de numérisation des archives de presse ancienne. Il est aujourd’hui possible de consulter en ligne n’importe quel numéro paru des principaux quotidiens français du XIXe et de la première moitié du XXe siècle. Il est même possible de les télécharger en masse : le corpus Europeana Newspaper propose ainsi des dumps massifs des principaux quotidiens européens (environ 5 go pour l’intégralité du Journal des débats de 1815 à 1940).

Ces ressources présentent des opportunités considérables pour la recherche. Tout en étant en eux même des objets de recherche de premier plan, les journaux généralistes agrègent également des « bases de données » périodiques permettant de récupérer les cours de la Bourse, les listes de spectacles, les nécrologies, les relevés météorologiques…

De l’inconvénient de lire au fil du texte…

Il y a cependant une contrainte non négligeable : les journaux sont numérisés « en masse ». Publicités, chroniques, reportages et débats parlementaires se fondent dans un fil textuel continu et imparfait. En règle général un mot sur dix n’est pas correctement restitué par les algorithmes de reconnaissance optique des caractères (OCR) ; cela descend jusqu’à un mot sur trois, voire sur deux, pour les publicités.

Cette confusion pénalise notamment les études ciblées de genres ou de rubriques journalistiques, mais aussi l’extraction de données ou d’informations spécifiques. Pour ma thèse consacrée à la chronique boursière, j’avais été ainsi contraint de séparer le corpus à la main. Pyllica pouvait certes récupérer automatiquement une page entière (généralement la page 3 et la page 4, lieu de localisation usuelle de la chronique). Au sein de cette page, rien ne dissocie la chronique du reste du texte : son titre en petites majuscules (« Bourse de Paris. Revue de la semaine ») est très mal retranscrit par l’OCR.

Il existe une solution à long terme : l’Optical Layout Recognition (soit la reconnaissance automatisée des agencements typographiques). À la différence des OCRs standards, la structure visuelle est également prise en compte ce qui permet de différencier d’emblée les articles, les tableaux, les images de presse1 … Malheureusement, pour obtenir l’OLR il est nécessaire de renumériser les corpus de presse (ce qui représente un investissement non négligeable…). Nous devrons encore composer avec de l’OCR standard pour les dix à vingts à venir…

Il y a pourtant un recours : miser sur la cohérence lexicale des rubriques  et genres. Le dispositif journalistique est en effet fondamentalement hétérogène et polyphonique. Il associe dans un même document des textes écrits par des rédacteurs distincts et ayant des objets et des thématiques nettement différenciés. Sans avoir aucune idée du découpage visuel originel du journal, un algorithme pourrait le restituer en détectant ces « signatures » lexicales, nées de l’emploi préférentiel, voire exclusif, de certains mots.

(Re)Construire les rubriques

Il existe une méthode pour repérer spontanément ces cohérences : le « topic modeling », soit, littéralement, le « modelage » de sujets ou thématiques récurrentes. Concrètement, le chercheur indique d’emblée un nombre prédéfini de « topics » à retrouver : l’algorithme tente ensuite de définir un arrangement optimal entre les mots et les documents pour faire émerger un découpage structurel et régulier.

J’ai mené plusieurs tests concluants de « topic modeling » dans le corpus d’Europeana Newspaper. J’ai eu ici recours à plusieurs extensions du langage statistique R (en particulier « topicmodels » et l’excellent « tidy text ») ainsi qu’à un script python ad hoc pour faire un peu de nettoyage en amont (notamment pour supprimer les variations syntaxiques/verbales et ne garder que les lemmes, ainsi que pour limiter la part des erreurs OCR en ne gardant que les termes ayant plus de cinq occurrences). Je reviendrai dans un billet ultérieur sur la marche à suivre : venons-en tout de suite à l’essentiel.

Le graphe ci-dessous représente les principaux mots associés à douze « sujets » reconstitués à partir des paragraphes du journal Le Matin pendant une partie de l’année 19052 .

Principaux sujets (« topics ») repérés dans Le Matin

Comme on le voit les sujets n’ont aucune identité spécifique : ce sont juste des numéros. Par contre, en fonction des termes associés, ils correspondent manifestement à certaines thématiques ou certaines rubriques attendues. « Président, ministre, conseil » ressort nettement de l’actualité politique et « fr, côter, or, acheteur » du suivi des séances boursières. Toujours avec R, nous pouvons renommer ces numéros arbitraires en rubriques hypothétiques.

Essai de dénomination des sujets repérés dans Le Matin

Il s’agit là évidemment d’un premier essai d’interprétation personnel : autant il y a assez peu de doute pour la Bourse ou la Politique, autant certaines étiquettes (« professions » par exemple) restent très approximatives. C’est ici qu’intervient un premier mode de vérification très simple : identifier pour chaque sujet les documents (en réalité les « paragraphes ») ayant la plus forte probabilité d’attribution. Pour le reportage/étranger, cette dépêche du 3 janvier 1905 en lien avec la chute de Port-Arthur obtient une probabilité de 99,9% :

Visualiser l’architecture journalistique

Je pourrais ainsi effectuer une série de relectures manuelles des paragraphes identifié automatiquement pour affiner ma classification. L’extension tidy text de R permet d’envisager une procédure de vérification alternative : projeter la répartition des « sujets » dans les pages du journal. Les métadonnées (page, date de parution) sont en effet constamment maintenues. La liste des sujets attribués à chaque document peut ainsi prendre la forme suivante :

Sujets pour chaque document (avec date de parution, page, nombre de mots…). « Gamma » indique la probabilité d’attribution.

Dans la visualisation ci-dessous, chaque paragraphe du numéro du 1er janvier 1905 devient un petite section d’un grand rectangle : la page du journal (numérotée de 1 à 6). La couleur du paragraphe renvoie à un « sujet » identifié automatiquement (ordonné très approximativement selon ce que je m’attends à trouver en premier dans le journal) :

Répartition des « topics » dans l’exemplaire du Matin du 1er janvier 1905

D’emblée, la page 4 accroche l’œil. Elle est toute entière occupée par l’un des découpages les plus exotiques : les « professions ». Une consultation de l’exemplaire d’origine dans Gallica révèle que la page contient in extenso la liste des « palmes académiques » — sans doute un lointain ancêtre de la liste des résultats du baccalauréats.

Au-delà de la vérification des résultats du « topic modeling », cette visualisation sert d’outil de navigation. Le fil continu du texte laisse place à des arrangements de structures discursives, certes hypothétiques mais néanmoins aptes à guider par anticipation la recherche — soit faire de la « lecture distante » au sens strict.

La même procédure peut en effet être appliquée à n’importe quel exemplaire. Un mois plus tard, le dispositif journalistique prend une tournure légèrement différente3 :

Répartition des rubriques dans Le Matin du 1er février.

La « politique » joue ici un rôle essentiel. Une consultation de l’exemplaire d’origine montre que l’actualité politique intérieure (les attentats anarchistes) a effectivement pris le dessus sur l’actualité internationale (la guerre russo-japonaise en janvier).

Il est possible de monter encore plus en abstraction et d’identifier l’enchaînement structurel des rubriques sur l’ensemble du corpus et de la période analysée. Malgré les divergences entre les visualisations du 1er janvier et du 1er février, il y a aussi quelques continuités marquées : le reportage/étranger se maintient sur la page 3 (consacré au dépêches : les « dernières nouvelles ») ; les annonces sont contenues sur la toute fin du journal (en page 6 : on parlait alors du « mur » des annonces).

Une autre méthode permet de modéliser ces enchaînements : les chaînes de Markov. Le réseau ci-dessous reproduit tous les passages d’une rubrique à l’autre dans la page du journal dès lors que la probabilité du passage excède 10% (les liens en tourbillon indique qu’une rubrique s’enchaîne avec elle-même). Nous voyons ainsi nettement que les annonce sont complètement isolées et n’interagissent quasiment pas avec les autres rubriques du journal.

Réseau des « topics » du Matin (avec des chaînes de Markov)

Le « topic modeling » comme outil expérimental

On perçoit ici la force et la faiblesse du « topic modeling » : il s’agit d’une restitution « spontanée » des cohérences lexicales.

Ce procédé fait émerger des découpages auquel je n’aurais pas forcément pensé (comme les « professions » que j’hésite encore à qualifier). Il invite à cultiver une approche critique des catégorisations usuelles des textes de presse qui ne sont pas universellement valides et ne se prêtent pas également à tous les corpus. Un autre test mené sur le Journal des débats en 1825 aboutit ainsi à des résultats bien différents :

Les principaux « topics » du Journal des débats en 1825

Même dans les cas où les rubriques se recoupent apparemment (comme pour la politique, la Bourse ou les annonces), l’identification repose sur un vocabulaire distinct. La définition-même de ce qu’est un énoncé « politique » varie grandement entre 1825 et 1905. La religion joue un rôle fondamental dans la terminologie du débat politique pendant la Restauration qu’elle n’a plus du tout 80 ans plus tard, alors que la République s’apprête à introduire le principe de laïcité.

Par compensation, les repérages sont fluctuants4 . Non seulement, nous n’obtenons pas exactement les mêmes rubriques d’un journal à l’autre, mais il suffit de changer très légèrement le corpus d’origine (en enlevant, par exemple, certains « mots vides » ou stop words) pour altérer les cohérences repérées.

Pour développer un dispositif d’identification automatisée des rubriques à grande échelle, il serait nécessaire de changer de méthode : adopter un modèle d’apprentissage supervisé. Au lieu de laisser l’algorithme définir de lui-même les agencements cohérents, ils sont prédéfinis en amont. Un corpus déjà classé de textes journalistiques indique ainsi un « état lexical » idéal du reportage, de la chronique boursière ou des publicités.

Les distant readers américains sont parvenus à d’excellents résultats avec cette méthode pour analyser l’émergence et la cohérence de grands genres littéraires. Ted Underwood a démontré que la science fiction et le roman policier disposent déjà d’une cohérence lexicale remarquable dès le XIXe siècle (soit bien avant leur institutionnalisation comme « genre »).

Probabilité d’attribution des romans de science fiction (Underwood)

Cette approche présente le risque évident de réifier une typologie qui étaient plus fluctuantes en pratique5 . Ce n’est néanmoins qu’avec ce référent « absolu » que nous pourrions comparer l’emprise de certaines rubriques dans différents journaux et repérer les phases successives de leur introduction et de leur expansion dans le texte journalistique.

À cet égard, le topic modeling aurait une vertu essentiellement expérimentale : éclairer en amont la définition des rubriques, pour s’assurer que l’on ne perd pas de vue certains découpages de facto fondamentaux.

  1. Voir l’excellente synthèse de Jean-Philippe Moreux sur les opportunités offertes par l’OLR []
  2. Avec Julien Schuh, nous considérons de plus en plus que le « paragraphe », plus que l’article — souvent difficile à identifier — constitue l’unité d’analyse la plus propice à une lecture distante de la presse ancienne []
  3. L’outil de visualisation utilisé, « treemap » de R, ne gère pas l’ordre des pages : à défaut les numéros autorisent une comparaison []
  4. Pour une bonne évaluation critique des topic modeling côté humanités numériques, voir Underwood, Topic Modeling made simple just simple enough []
  5. Peut-être faudrait-il prévoir des modèles différents selon les décennies mais cela risque de représenter un travail conséquent []

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *