Catégories
Autour de Calenda Billets L'outil

« More Like This », les dessous de l’algorithme de recommandation de lecture de Calenda

À chaque événement publié sur Calenda sont associées des recommandations de lecture de contenus publiés sur les différentes plateformes d’OpenEdition sur le même thème. Ce billet rend précisément compte des choix que nous avons opérés dans l’élaboration de notre algorithme de recommandation et s’inscrit dans le sillage de l’Explainable Artificial Intelligence. Cette démarche vise à ce que les choix produits par des algorithmes restent compréhensibles – et donc contrôlables – pour les humains.

Un projet de système de recommandation de lecture complet

En 2016 naît, au sein de l’équipe de Calenda, un projet : permettre au lectorat du calendrier  de découvrir des documents publiés sur toutes les autres plateformes d’OpenEdition sur le même thème que l’événement consulté. Jusqu’alors, via une fonctionnalité nommée More Like This, étaient uniquement proposés à la lecture d’autres événements publiés sur Calenda. Pourquoi cantonner les recommandations de lecture à Calenda alors qu’OpenEdition regroupe des centaines de revues (OpenEdition Journals), des milliers de livres (OpenEdition Books) et de carnets de recherche (Hypothèses) ?

Il nous semblait intéressant de faire bénéficier plus largement du potentiel de connaissances disponibles sur les plateformes d’OpenEdition. Par exemple, un·e chercheur·e consultant un appel à contribution publié sur Calenda pourrait ainsi accéder directement à des articles de revues, à des chapitres de livres ou à des billets de carnets de recherche (dont une majeure partie en accès ouvert) sur le même thème pour l’aider à répondre à l’appel ou à constituer une bibliographie.  

Pour répondre à cet objectif, nous avons choisi de fonder ce nouveau More Like This sur l’analyse du contenu des documents publiés sur OpenEdition plutôt que sur celle des préférences des utilisateurs. Aujourd’hui, la plupart des systèmes de recommandation des sites web sont élaborés à partir de l’analyse de ces préférences : les personnes qui ont acheté ce livre, aiment potentiellement également tel et tel ouvrage. Les recommandations basées sur les préférences posent deux problèmes éthiques majeurs. D’une part, ils tendent à exclure exponentiellement les objets culturels (livres, albums musicaux, etc.) les moins aimés et donc à invisibiliser une partie des contenus produits. D’autre part, ils se fondent sur une analyse des données comportementales des utilisateurs, qui place ceux-ci au cœur d’un système de surveillance économiquement exploitable.

Une fois posé le principe d’une recommandation de lecture construite sur l’analyse des contenus, comment produire des résultats pertinents au regard des thèmes abordés dans l’événement consulté ? 

Les possibilités offertes par le text-mining

Alors même que l’idée de ce projet germait au sein de l’équipe de Calenda, nos collègues du Lab (service consacré à la recherche et développement à OpenEdition) travaillaient sur les possibilités offertes par le text-mining. Nous avons donc collaboré pour réaliser ce projet. 

La massification des données numériques a rendu nécessaire le développement d’outils et de techniques informatiques permettant aux humains de « fouiller » dans les textes. Ces techniques sont généralement désignées par les termes de « text-mining » ou d’« extraction de connaissances ». Elles constituent un « ensemble de traitements informatiques consistant à extraire des connaissances selon un critère de nouveauté ou de similarité dans des textes produits par des humains pour des humains » (source).

Parmi les possibilités offertes par le text-mining, se trouve le développement d’aides à la navigation dans de grands ensembles documentaires dont : 

  • la catégorisation et l’indexation automatiques des textes. C’est, par exemple, ce qui est produit par Isidore. Cet assistant de recherche donne accès à plus de 5 millions de ressources numériques en sciences humaines et sociales et les catégorise automatiquement selon 9 référentiels et thesaurus 
  • la détection de termes afin de mettre en lien des documents dont les contenus portent sur des thématiques similaires, à partir du repérage par les machines de termes « phares ». 

Avec plus de 45 000 événements mis en ligne, Calenda peut être considéré comme un grand ensemble documentaire. Pour améliorer notre système de recommandation de lecture, nous avons décidé de travailler sur la détection des termes ouverte à un plus grand nombre de documents. Pour cela, nous avons dû revoir notre algorithme de recommandation de lecture.

Les trois phases de fonctionnement de l’algorithme derrière More Like This

Les documents publiés sur les quatre plateformes d’OpenEdition sont organisés en base de données. Pour pouvoir les interroger, OpenEdition utilise un moteur de recherche interne appelé SolR distribué et conçu sous licence libre par la fondation Apache. C’est ce moteur de recherche unique que vient interroger l’algorithme derrière More Like This, le système de recommandation de lecture proposé sur Calenda. Cet algorithme fonctionne globalement en trois phases :

  • le calcul de la fréquence des mots au sein du texte de l’événement
  • le calcul de l’inverse document frequency
  • le calcul d’un score de proximité

Phase 1 : le calcul de la fréquence des mots

Dans un premier temps, l’algorithme de More Like This calcule la fréquence de chacun des mots contenus dans le texte de l’événement, c’est-à-dire qu’il compte le nombre de fois où un mot est répété dans le texte à l’exclusion des articles, pronoms, etc. (« la », « il », etc.). Supposons ainsi que le texte en question soit :

« Hors du champ des études sur les musiques populaires ou de celles sur le spectacle vivant où les recherches progressent depuis quelques années, la musique « live » demeure un objet quasiment absent de la recherche dans le domaine des industries de la culture et de la communication ou des études médiatiques. »

Source

L’algorithme va calculer pour ce texte la fréquence de chacun des mots (term frequency ou « tf »). Dans le texte donné plus haut en exemple, 24 mots vont être conservés. La fréquence du mot « musique » et du mot « étude » sera donc de 2 sur 24 quand celle du mot « spectacle » sera de 1 sur 24. 

Phase 2 : le calcul de l’inverse document frequency (idf)

Dans la deuxième phase, l’algorithme va calculer pour chacun de ces mots leur importance dans l’ensemble du corpus de documents (donc de toutes les plateformes d’OpenEdition) ou plutôt « l’inverse » de leur importance. Ce qui est appelé inverse document frequency ou idf.

En effet, un mot présent dans tous les documents ne sera pas discriminant. Par exemple, le mot « étude » a de fortes chances de se retrouver dans un grand nombre de textes du corpus tandis que celui de « musique » représente un marqueur singulier de notre document. 

Le calcul de l’idf – multiplié par le tf – va ensuite permettre de produire un classement de chacun des mots du texte pour lequel on veut proposer des recommandations, qui prend aussi bien en compte son importance dans le texte de départ que l’importance du mot dans l’ensemble du corpus.

Phase 3 : le calcul d’un score de proximité

L’algorithme va ensuite construire et faire une requête classique dans le moteur de recherche Solr à partir des mots qui ont été retenus plus haut, c’est-à-dire ceux qui ont été les mieux classés (par défaut, on ne garde que les 25 premiers termes). 

Cette recherche dite « classique » est comparable à la plupart des recherches que nous effectuons sur nos moteurs de recherche internet favoris, à la différence près qu’elle est un peu plus longue que d’habitude puisqu’elle contient 25 mots. Mais nous sommes maintenant sûrs que cette requête représentera au mieux les marqueurs intrinsèques du document en fonction de l’ensemble du corpus.

Solr retournera  ainsi une liste de résultats ordonnés grâce aux calculs d’un score de proximité de la requête avec chaque document (SolR utilise pour cela la méthode des modèles vectoriels). Ce nouveau classement correspond aux recommandations.

Paramétrer les requêtes pour optimiser le système de recommandation

De nombreux allers-retours entre l’équipe de Calenda et celle du Lab ont été effectués pour parvenir, par réglages successifs, aux recommandations les plus pertinentes possibles.

Nous avons d’abord sélectionné les types de documents et les champs à interroger par l’algorithme. Ensuite, nous avons décidé de faire des requêtes spécifiques pour chaque plateforme plutôt qu’une seule requête générale. Les paragraphes qui suivent expliquent ces deux décisions.

Exclure les types de documents peu pertinents

Parmi les types de documents consultables sur OpenEdition Books et OpenEdition Journals, on trouve des documents dont la recommandation nous paraissait peu pertinente. Ainsi, ont été exclues les pages de présentation des revues, les pages liminaires, les bibliographies et les annexes des livres, ou de revues.

Sélectionner les champs pour produire des résultats solides

Nous avons effectué une série de tests pour déterminer les champs les plus pertinents à interroger. Suite à ces tests, nous avons décidé de restreindre les requêtes au titre et au résumé des documents. Un effet de ce choix est que la qualité des résultats dépend fortement de la qualité des titres et des résumés. De ce point de vue, les personnes qui suggèrent des événements en fournissant des résumés qui synthétisent le contenu de l’annonce nous aident à améliorer les résultats proposés par le système de recommandation.

Les billets des carnets de recherche Hypothèses constituent un cas particulier. En effet, si les chapitres de livres en ligne sur OpenEdition Books et les articles publiés sur OpenEdition Journals comptent bien des champs « titre » et « résumé », les billets proposent un titre et le contenu du texte, mais pas de champ « résumé ». Il a donc été nécessaire de développer une solution « maison » pour intégrer la plateforme de carnets dans notre corpus. Un script permettant d’effectuer la requête sur l’ensemble du texte pour les billets a donc été écrit.

Faire des recommandations par plateforme

Pour permettre aux lecteurs et lectrices de Calenda d’accéder à la diversité des documents d’OpenEdition, le choix a par ailleurs été fait d’effectuer une requête spécifique pour chaque plateforme plutôt que d’effectuer une seule requête générale sur l’ensemble du corpus. En effet, lors de la phase de test, nous nous sommes aperçu·e·s qu’une requête unique sur l’ensemble des documents, toutes plateformes confondues, conduisait souvent à des résultats où prédominent une seule et même plateforme. Ainsi, pour certains événements, seuls des articles de revues étaient proposés et aucun chapitre de livres ou aucun billet de carnets Hypothèses. Or, il nous semblait important d’offrir une variété de résultats et d’objets documentaires. C’est pourquoi nous avons fait le choix d’effectuer des requêtes par plateforme et de les afficher de manière différenciée. 

Exemples de recommandations de lecture produites par More Like This

Conclusion

Notre système de recommandation, mis en production en mars 2018, opère par rapprochement des contenus et se situe, de ce point de vue, au plus près de ce que ferait une chercheuse ou un chercheur réalisant une recherche bibliographique. Sa limite est qu’il ne prend pas en compte le sens d’un texte tel que pourrait le faire un humain : l’ordre des mots n’a ici par exemple aucune importance. Il s’agit d’une méthode de quantification des termes dans un texte, fondée sur l’hypothèse que les fréquences d’occurrences des termes d’un texte donnent une représentation relativement pertinente du contenu de celui-ci.

Nous avons souhaité rendre ce texte d’explication de nos choix techniques le plus compréhensible possible. Si des questions persistent sur notre système de recommandation, n’hésitez pas à les poser en commentaire ou à nous écrire à calenda@openedition.org.

[N.B.] L’écriture de ce texte a débuté en janvier 2018. Au départ, il a été pensé pour accompagner la mise en production de la nouvelle version de More Like This. Depuis cette date, plusieurs personnes ont participé à sa rédaction qui avait été quelque peu laissée à l’abandon.

Il a principalement été écrit à dix mains :

  • Elsa Zotian
  • Anastasia Giardinelli
  • Céline Guilleux 
  • Mathieu Orban
  • Joao Fernandes

L’ouverture du carnet de recherche a été l’occasion de le finaliser.

Merci à nos relecteurs et relectrices

Pour citer cet article: Elsa Zotian, « « More Like This », les dessous de l’algorithme de recommandation de lecture de Calenda », in Le carnet de Calenda, mis en ligne 14/10/2020, https://calendablog.hypotheses.org/92.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.