Des nouvelles de TAMIS!

Ça fait plusieurs mois que nous n’avions pas donné des nouvelles du projet TAMIS. Ça ne signifie toutefois pas que l’outil n’évoluait pas pendant ce temps ! Nous sommes heureux d’annoncer quatre nouveautés maintenant disponibles dans la console TAMIS (et le retour d’un outil momentanément désactivé !).

Notons que ces nouveautés ont été rendues possibles grâce à la participation de la Société de développement des entreprises culturelles (SODEC).

Documentation en ligne

Le fonctionnement de la console n’est pas très compliqué, mais il est toujours utile d’avoir de la documentation lors de l’utilisation d’une nouvelle application ! Nous avons donc produit une documentation en ligne qui explique l’utilisation de la console. La documentation est volontairement brève : quelques minutes de lecture devraient suffire pour comprendre les outils disponibles. Elle est accessible depuis l’item « Aide et légal » du menu déroulant associé à l’utilisateur connecté (en haut à gauche de l’écran).

Extrait de la documentation

Export des textes vers un entrepôt numérique

La console TAMIS offre désormais deux outils pour faciliter la transmission des métadonnées enrichies vers l’Entrepôt numérique ANEL-De Marque. Les deux outils sont disponibles par le menu d’outils de la section Textes. Le premier permet de générer un rapport Excel dans un format compatible avec l’entrepôt numérique ; ce rapport peut par la suite y être importé. Le second transfère les données directement dans un compte de l’entrepôt numérique.

Plus d’information est disponible dans la section Exporter les textes de la documentation.

Import de textes de différentes sources

Auparavant, seuls des livres disponibles dans un entrepôt numérique, aux formats EPUB ou PDF, disposant de métadonnées au format ONIX 3.0, et identifiés par un ISBN, pouvaient être traités par TAMIS. Il est désormais possible d’importer n’importe quel texte, avec ou sans métadonnées. Le format texte brut est supporté, en plus du PDF et de l’EPUB.

Plus d’information est disponible dans la section Ajouter un texte de la documentation.

Conseils et bonnes pratiques

La console affiche désormais quelques conseils et bonnes pratiques tirées de différentes sources (comme le guide des services de diffusion de De Marque, ou la documentation en ligne de BISAC sur le site de BISG). Ces conseils sont personnalisés pour chaque titre, en fonction des métadonnées associées au titre au moment de son importation, en plus de celles qui sont choisies suite aux suggestions de TAMIS. 

Exemples de conseils et bonnes pratiques dans la fiche d’un texte

Tous les conseils s’affichent dans la fiche d’un texte. Des conseils spécifiques aux mots-clés ou aux codes BISAC s’affichent également dans les écrans dédiés à ces deux types d’enrichissements.

C’est tout ?

Non ! L’outil de suggestion de classifications BISAC, qui était indisponible depuis quelques mois, est de nouveau accessible. Si vous êtes curieux et souhaitez connaître les enjeux techniques (et économiques !) qui expliquent cet hiatus, lisez notre texte sur la nouvelle itération sur notre module de classification.

Une nouvelle technologie de classification pour l’outil de suggestions de code BISAC de TAMIS

Il y a quelques mois, nous avons dû retirer l’outil de suggestion de classifications BISAC de la console TAMIS. Nous avons en effet fait face à un problème : le modèle d’affaires de la technologie de classification que nous utilisions a changé… rendant le coût de traitement de chaque livre trop élevé pour qu’il soit possible de continuer à l’utiliser. Comme nous l’annoncions récemment, le problème est maintenant réglé. Pour nos lecteurs plus curieux qui veulent mieux comprendre comment ça se passe « sous le capot », voici plus d’information sur ce qui s’est passé.

En rappel : comment fonctionnait le classificateur

Nous avons déjà expliqué comment fonctionne notre classificateur BISAC. Il s’agit en fait d’un assemblage de plusieurs dizaines de classificateurs « spécialisés » dans différentes « branches » de l’arborescence BISAC. C’était notre façon d’utiliser des solutions de classification disponibles sur le marché tout en tenant compte de la complexité inhérente au domaine du livre (des textes très longs, des catégories très nombreuses et hiérarchisées, et des textes qui peuvent appartenir à plusieurs catégories).

C’est la technologie générique utilisée, Auto ML de Google Cloud Natural Language qui nous a posé problème : son coût d’utilisation, dans notre contexte, a littéralement explosé.

La solution : créer notre propre classificateur générique

On le savait par les travaux que nous avions réalisés précédemment : il n’y a pas sur le marché d’alternative intéressante à la solution que nous avions retenue. Face à ce constat, nous avons entrepris de développer une solution de remplacement.

C’est évidemment plus facile à dire qu’à faire ! Et c’est ici qu’entre en jeu l’équipe de Baseline, une coopérative de travailleurs formée d’étudiants gradués provenant de sphères variées du milieu académique telles que l’informatique, les mathématiques, la physique, l’actuariat et la finance. Baseline est spécialisée, entre autres, en apprentissage automatique et en traitement automatique du langage naturel.

L’équipe de Baseline a rapidement compris nos enjeux et s’est affairée à développer une solution de remplacement qui réponde à plusieurs objectifs :

  1. s’intégrer harmonieusement dans l’architecture technique de TAMIS ;
  2. pouvoir être exploitée à des coûts raisonnables (autant pour la phase d’entraînement, que pour l’étape de classification) ;
  3. avoir des performances au moins aussi bonnes que la solution précédente.

Nous avons choisi de travailler de façon itérative. Une première itération a permis d’établir une première solution « de base », qui répondait au premier objectif et permettait de confirmer que le second objectif était atteignable. Par la suite, d’autres itérations ont permis de travailler sur le troisième objectif, celui de la précision de l’outil.

À cette étape, l’équipe de Baseline a testé plusieurs solutions, dont les principales différences sont la source des vecteurs de mots utilisés pour entraîner la solution. Nous avons testé des vecteurs de mots issus exclusivement de notre corpus, ainsi que d’autres vecteurs disponibles sur le web, dont des variantes du célèbre BERT (célèbre auprès d’un public un peu geek, on l’avoue). Puis, pour certains vecteurs, nous avons testé différentes combinaisons d’hyperparamètres (des choix de configuration sur la façon de procéder à l’apprentissage). Certaines combinaisons de vecteurs ou d’hyperparamètres ont été écartées parce qu’elles n’offraient pas de bonnes performances, ou parce qu’elles demandaient trop de ressources (mémoire, capacité des processeurs) pour respecter les contraintes de coûts d’exploitation.

Pour évaluer la performance de chaque variante, nous avons utilisé les techniques classiques : séparer le jeu de données pour réserver certaines données à des fins de tests, et observer les indicateurs de précision et de rappel (et leur moyenne pondérée, le « F1-score »).

Au final, il n’a pas été possible de trouver une combinaison qui performait bien sur tous nos classificateurs. Nous avons donc retenu des combinaisons de vecteurs et d’hyperparamètres différents pour chaque classificateur. La performance moyenne (encore une fois mesurée par la précision et le rappel) du système est légèrement supérieure à ce que nous obtenions avec la solution de Google. Il y a toutefois des écarts plus importants (positifs ou négatifs) pour certaines catégories. Quant aux coûts d’utilisation, ils sont revenus à des niveaux raisonnables.

Ça semble compliqué… 🤔

Ce l’est ! Classifier un livre demande de combiner habilement les résultats de plusieurs « sous classificateurs », interrogés en cascade en fonction du résultat du précédent, qui eux-mêmes sont tous issus d’un processus d’optimisation complexe et exploitent chacun une approche différente d’apprentissage ! 🤯

Et c’est sans compter que la préparation des classificateurs, le processus d’apprentissage, demande des heures, voir des jours…

Mais ça fonctionne !

Le résultat n’est évidemment pas parfait, mais nous pensons qu’il simplifiera la vie à ceux et celles qui veulent diversifier les classifications BISAC utilisées. Et en théorie, le résultat s’améliorera au fur et à mesure qu’il y aura plus de titres dans TAMIS. En effet, en science des données en général, et en particulier dans le cas qui nous occupe, la quantité de données d’entraînement est autant, sinon plus, importante que le choix des algorithmes. De plus, la solution constituera une base solide pour d’autres applications associées à la classification des textes par TAMIS…