De la complexité de créer un moteur de recommandation de lecture en bibliothèque

Alors que plus de 60 000 livres sont publiés annuellement en France, la recommandation automatisée apparaît comme un enjeu capital pour favoriser la découverte de livres. Les sites de ventes en ligne l’ont bien compris, eux qui proposent depuis longtemps des fonctionnalités qui ont tout à la fois pour objectif d’aiguiller les consommateurs dans leur choix et, bien évidemment, de pousser à l’achat. Comme le fameux “Ceux qui ont acheté ce livre ont aussi acheté…” d’un commerçant en ligne bien connu.

Si la mission des bibliothèques publiques passera toujours par une médiation humaine, par du conseil personnalisé, ou par une mise en avant éditorialisée des nouvelles acquisitions, il est devenu de plus en plus important d’offrir également des outils qui orientent l’usager dans des catalogues de titres très profonds. A titre d’illustration, une bibliothèque publique comme la Médiathèque Cabanis de Toulouse dispose d’un catalogue de 337 000 titres différents (du moins c’est le nombre d’ISBN déclarés dans le service Babelthèque). A ce compte, seul le bibliothécaire de L’homme sans qualités de Robert Musil pourrait réellement offrir un conseil, lui qui avouait que “Le secret de tout bon bibliothécaire est de ne jamais lire, de toute la littérature qui lui est confiée, que les titres et les tables des matières”. Et les outils numériques et automatisés permettent de favoriser la découverte devant un tel volume de contenus.

Depuis plus de 7 ans maintenant, nous travaillons chez Babelio sur des programmes de recherche et développement qui visent à intégrer la puissance des algorithmes de recommandation au sein des bibliothèques publiques. Nous profitons donc de ce billet pour rendre compte de certains des enjeux propres à notre moteur de découverte de livres.

 

fg

 

Recommandations de lecture personnalisées sur Babelio

Des algorithmes aux données

Historiquement, c’est Netflix – l’opérateur de vidéos à la demande – qui fut l’un des premiers services à populariser ces outils, notamment en proposant le fameux Netflix Prize,  prix offert à l’équipe de chercheurs proposant le meilleur algorithme de recommandation. Mais outre que les résultats de l’équipe gagnante ne furent jamais utilisés (les évolutions des usages liés à la consommation en streaming ayant rendu caducs les résultats de cet algorithme) les technologies initialement fondées sur une surenchère de puissance et d’intelligence algorithmique se sont progressivement réorientées vers une meilleure utilisation des données.

En effet, que l’on se fonde sur des données d’achat (“Ceux qui ont acheté ce livre ont aussi acheté”), de goût (“Ceux qui ont aimé ce livre ont aussi aimé”) ou sur des données descriptives (“Découvrez d’autres livres traitant des mêmes sujets”), l’enjeu capital – avant même le traitement des données- est de capter une masse critique de métadonnées de qualité.

Les moteurs de recommandation fondés sur des statistiques d’emprunt ne disposent pas d’une base suffisante d’informations pour proposer des suggestions pertinentes. D’après les Données d’activité des bibliothèques municipales 2010 on a en moyenne 38263 emprunts par bibliothèque (niveau 1 à 3) et par an. Outre le fait que c’est un volume beaucoup trop faible, ces données sont biaisées : si un parent emprunte pour lui et pour son enfant, si un lecteur emprunte deux livres de la rentrée littéraire etc. les titres composants ces paniers d’emprunt sont rapprochés dans les moteurs, pour de mauvaises raisons. Enfin ces données ne rendent pas compte de la lecture effective d’un titre, encore moins de son appréciation réelle, mais simplement de l’emprunt.

L’émergence des réseaux sociaux de lecteurs tels que Babelio a créé une rupture technologique, passant d’une rareté à une surabondance de métadonnées en tous genres. Des dizaines de millions d’informations en tous genres (notes, mots clés de classement, lectures, typologie de lecteurs etc.) doivent ainsi être traitées et force est de reconnaître que si le terme est parfois utilisé de manière abusive, nous mettons en place des technologies de Big Data sans le savoir, en monsieur Jourdain de l’algorithmie.

Quelles données sont utilisées ?

Nous exploitons les données suivantes afin de nourrir le moteur de suggestion le plus précis et le plus pertinent possible

Métadonnées d’usage : ces métadonnées sont relatives aux usages des lecteurs. En effet on analyse notamment :

-les lectures des internautes : qui a lu quoi ? Avec une base de plusieurs millions de livres lus par les membres de Babelio, nous avons un panel suffisant pour réaliser des traitements tels que décrits par la suite. A noter que l’on interprète aussi bien la lecture effective que les intentions de lecture (mesurée par les livres ajoutés aux listes de “livres à lire” sur Babelio).

-les notes attribuées aux livres : quelles sont les apprécisations des lecteurs ? En effet, qu’un usager ait lu un livre ne signifie pas qu’il l’ait apprécié. Il est nécessaire d’interpréter les goûts effectifs pour recommander ou ne pas recommander un titre à un lecteur.

-les données implicites. Enfin nous sommes en mesure d’exploiter des informations d’usage telles que les pages de livres consultées, les clics sur les recommandations ou encore le temps de consultation, qui permettent de mesurer l’intérêt pour un livre.

dfg

Lecteurs ayant apprécié La Peste d’Albert Camus

 

Métadonnées descriptives communautaires : comment les internautes classent les livres (les étiquettes ou “tags”). Nous avions déjà eu l’occasion de publier un livre blanc sur l’indexation communautaire en bibliothèque. Ce sont aujourd’hui 5 millions de mots clés utilisés par les internautes pour classer leur bibliothèque (de manhwa, le manga coréen aux livres qualifiés de tranches de vie en passant par le polar islandais ou les réécritures) qui sont analysés, traités, filtrés.

fgdfg

Nuage (non exhaustif) de mots clés sur La conjuration des imbéciles de John Kennedy Toole

 

Métadonnées non structurées : tous les textes non structurés, tels que les critiques de lecteurs, les résumés, les titres des livres etc. sont analysés afin de compléter les métadonnées communautaires. On pourra par exemple deviner que tel livre traite de “développement informatique” si l’on retrouve des éléments sémantiques propres à cette thématique dans le descriptif et le titre du livre.

Métadonnées structurées : dates de parution, nationalité de l’auteur, taxinomies professionnelles etc. Toutes ces informations sont interprétées pour affiner les recommandations de lecture.

 

Quels algorithmes sont utilisés ?

Trois grandes familles d’algorithmes sont utilisées :

Le filtrage collaboratif

Derrière ce mot savant se cache l’ensemble des méthodes qui visent à construire des systèmes de recommandation utilisant les opinions et évaluations d’un groupe. C’est la logique appliquée sur les algorithmes de type “Ceux qui ont aimé ce livre ont également aimé…” Au delà des caractéristiques descriptives d’un titre on analyse en effet les populations de lecteurs intéressées par un livre donné. Par exemple le terme “roman d’amour” qualifie aussi bien Belle du Seigneur d’Albert Cohen ou Les Camarades d’Erich Maria Remarque que Les promesses de la passion de Danielle Steel ou Parce que je t’aime de Guillaume Musso. Le filtrage collaboratif nous permettra de comprendre que ces titres sont lus de facto par des populations de lecteurs très différentes et par conséquent d’affiner le type de recommandation de lecture en fonction.

L’analyse du contenu

Nous nous fondons là sur l’ensemble des mots clés ajoutés par les internautes pour qualifier une oeuvre, et sur toutes les données descriptives relatives à un titre. Les difficultés propres à cette analyse seront décrites dans un prochain billet.

Capture

Comparaison par mots clés des titres proches du livre d’Eric Hazan, L’invention de Paris

 

Algorithmes de réduction

Chaque titre peut être représenté métaphoriquement comme l’ensemble de caractéristiques évoquées ci-dessus. Par exemple : Limonov d’Emmanuel Carrère est un titre caractérisé par l’ensemble des mots clés qui le composent (biographie, roman, urss, politique, new york etc.). Toutefois, la comparaison de deux titres ne pourrait se faire par la comparaison naïve de la totalité de ces caractéristiques, d’une part car plusieurs dizaine de milliers de critères seraient à prendre en compte, d’autre part car de nombreux critères sont redondants. En effet, il sera plus pertinent de rapprocher Limonov d’un titre partageant les critères “russie”, “biographie romancée” et “littérature française que d’autres titres partageant les critères “urss”, “livre sur la russie”, “russie”, ces 3 derniers mots clés relevant d’une caractéristique similaire voire redondante.
Inline image 1
Illustration des mots clés proches sur la thématique “littérature anglais”
Notre troisième série d’algorithme permet précisément d’éviter ces écueils en réalisant une projection des milliers de caractéristiques dans un espace aux dimensions réduites. Schématiquement chaque livre est assimilé à un polytope (un polygone en plusieurs dimensions) où chaque sommet représente un mot clé caractéristique, et où les mots clés similaires sont proches dans l’espace. On comparera ainsi deux livres en cherchant les polytopes similaires, assurant une meilleure pertinence de recommandation.
Inline image 2
Illustration très schématique du polytope relatif à Limonov d’Emmanuel Carrère

 

L’ensemble des logiques présentées ci-dessus reste schématique et simplifié, mais cela permettra, nous l’espérons, de mieux rendre compte des techniques mises en oeuvre au sein du moteur de recommandation proposé aux bibliothèques publiques à travers Babelthèque. Après cette introduction assez généraliste, nous reviendrons plus en détail dans un second billet sur les difficultés auxquelles nous avons été confrontées dans la construction d’un moteur spécifiquement adapté au monde du livre.

 

 

 

 

One thought on “De la complexité de créer un moteur de recommandation de lecture en bibliothèque

  • Jon Chetail

    Merci Pierre pour ce super article très instructif pouvant aussi s’appliquer en dehors du monde du livre ! Il me manque juste une petite information, les deux illustrations pour la partie Algorithmes de réduction ne s’affichent pas, du coup il me manque une petite pièce au puzzle pour bien comprendre. Pensez-vous que vous pourriez me les envoyer ?
    Merci beaucoup par avance !

    Répondre

Leave a comment

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