Archives par étiquette : catégorisation

Réinventer les référentiels

Lors d’un billet précédent, nous avons soulevé la question de l’avenir des référentiels dans un contexte où la recherche en texte intégral et l’avènement du Web 2.0 remettent en cause l’utilité et donc l’existence même de référentiels.

Ce que sont les référentiels

Référentiel : données structurées qui sont de référence (donc qui font autorité) et qui permettent à des applications de fonctionner ensemble.

Les plus connus sont certainement les référentiels terminologiques : dictionnaires, thésaurus, listes de synonymes…  Ils contiennent du vocabulaire, ils font référence pour l’orthographe et la définition des mots et ils permettent aux hommes de communiquer ensemble en définissant un sens commun au langage. Pas de doute, ils répondent à la définition : ce sont des référentiels.

Ces référentiels terminologiques peuvent être :

  • généralistes comme les dictionnaires : Littré : 78423 entrées, Larousse : 135 000 entrées, Wiktionnaire ;
  • encyclopédiques : Rameau, le répertoire autorité-matière édité par la BNF (100 000 noms communs) ;
  • spécialisés : Eurovoc le thésaurus multilingue édité par l’UE, Geonames pour les noms géographiques (8 millions d’entrées), Termsciences pour le vocabulaire scientifique (190 000 concepts, 650 000 termes)
  • métiers : Gemet dans l’environnement (200 000 descripteurs) ; MeSH, SNOMED-CT, WHOART, CIM-10, CCAM, MeDRA, … en santé.

Les systèmes d’information des entreprises regorgent également de référentiels qui parfois ne se savent pas eux-mêmes :

  • les annuaires (LDAP, ActiveDirectory) utilisés pour la sécurité sont des référentiels de personnes, de groupes et de rôles ;
  • les CRM (gestion de la relation client) sont aussi des référentiels de contacts, de clients, de secteurs ;
  • les ERP (gestion de la production) sont des référentiels de produits, de catégories, de références ;
  • les arborescences de fichiers, les structures même des sites web sont des plans de classement.

De l’usage des référentiels par les moteurs de recherche

Qu’ils soient techniques, ou conçus pour faciliter l’usage (classer, trier), ces référentiels sont très utiles aux bons moteurs de recherche qui savent les exploiter pour réaliser de nombreuses fonctions :

  • Extension sémantique : il s’agit d’élargir la recherche par mot clé de l’utilisateur en élargissant la recherche à des termes plus spécifiques ou a des synonymes. A la recherche « voiture », il est de bon ton de remonter des documents parlant également de « cabriolet » et d’ « automobiles ». Cette fonctionnalité est essentielle quand il s’agit de faire correspondre du vocabulaire technique avec celui des utilisateurs plus grand public.
  • Auto complétion : les suggestions de recherche proposées à l’utilisateur alors qu’il saisit les premiers caractères peuvent pour partie provenir des référentiels, ce qui a pour effet d’améliorer considérablement la qualité de sa requête.
  • Suggestions de recherches connexes : ces expressions affichées en marge des réponses afin de proposer à l’utilisateur des recherches similaires sont habituellement générées par analyse des contenus et des requêtes des utilisateurs. Ces suggestions peuvent être avantageusement contrôlées sur la base de la terminologie de référentiel métier afin d’en accentuer l’intérêt et le centrage sur le corpus.
  • Catégorisation : afin d’assurer une continuité entre l’univers informationnel de l’entreprise (la façon dont les données sont rangées dans le SI) et le moteur de recherche, ce dernier doit catégoriser les données de façon similaire et donc exploiter les plans de classement existants.
  • Recherche à facettes : les filtres actifs présentés à l’utilisateur en marge des réponses afin qu’il affine sa recherche par clics sont la plupart du temps issus de référentiels (listes d’autorité, plans de classement) qui doivent être familiers à l’utilisateur pour rendre évident le sens du filtre.
  • Annotation automatique : il s’agit là d’analyser automatiquement les données afin de les caractériser par des mots significatifs. Cette opération « autrefois » réalisée manuellement (indexation manuelle pour créer les fiches bibliographiques) peut être largement automatisée sur la base de l’analyse du texte intégral. Cette fonction permet par exemple de générer le « nuage de mots » significatif d’un document ou d’un ensemble de documents.

Bonnes pratiques

Comme on le voit, loin d’être détrônés par l’annotation libre, les référentiels apportent aux moteurs des données essentielles que la folksonomie ne saurait fournir, et il faut donc voir ces approches « Web 1.0 » et « Web 2.0 » comme complémentaires.

Il est cependant nécessaire que les référentiels évoluent afin de s’adapter à l’usage qu’en fait l’informatique. En particulier les référentiels terminologiques qui ne doivent plus être pensés pour l’indexation manuelle, mais comme matière première des moteurs et autres outils de traitement de l’information.

Quant aux bonnes pratiques, nous n’en préconiserons que 6 :

  1. Evitez les gros référentiels généralistes fourre tout. Ils sont générateurs de trop de bruit.
  2. Préférez les petits référentiels métiers centrés sur des thématiques et des usages spécifiques. Ils n’en seront que plus faciles à maintenir.
  3. Réutilisez au maximum des référentiels terminologiques existants, publiés par les organismes de normalisation ou les groupements professionnels.
  4. Enrichissez-les avec votre vocabulaire maison spécifique que vous maintiendrez séparément dans un esprit « Small is beautiful ».
  5. N’oubliez pas que votre système d’information regorge de référentiels. Identifiez les.
  6. Et enfin, n’oubliez pas vos utilisateurs : construisez des petits plans de classements adaptés à leurs usages, et s’il y a plusieurs besoins, pas de problème, construisez plusieurs taxonomies. Cette multiplicité ne fait pas peur aux moteurs, et vos utilisateurs vous remercieront.

Des lettres et des chiffres

L’analyse formelle en bout de course

« Au commencement était le Verbe… et le Verbe s’est fait chair. » Puis les hommes se sont mis à assembler des mots entre eux pour s’exprimer. Le langage, cette fonction qui nous semble tellement élémentaire, a été l’un des premiers grands chantiers de l’Intelligence Artificielle. En effet, dès la fin des années cinquante, l’expérience de Georgetown, menée notamment par IBM, a suscité un espoir démesuré : « within three or five years, machine translation would be a solved problem ». Cet espoir fut à la hauteur de la désillusion provoquée par les faibles résultats constatés.

Cinquante ans plus tard, où en sommes-nous ? La description formelle des langues pour leur utilisation dans des systèmes automatisés a montré ses limites. L’utilisation exclusive de grammaires formelles est incapable de saisir la complexité d’une langue. La principale difficulté réside en un seul mot : ambiguïté. Les rustines techniques ne manquent pas pour tenter de contourner le problème et les années soixante-dix et quatre-vingt ont été particulièrement riches dans la mise en place de systèmes de règles sémantiques, supposées permettre une plus grande précision dans l’analyse de la langue. Ces systèmes n’ont pourtant apporté que des améliorations marginales dans le traitement automatisé de la langue.

L’arme fatale

En fait, la « balle d’argent » semble avoir été tirée par un curieux fusil que le monde de l’informatique et de l’IA semblait avoir négligé : la probabilité. Avec l’introduction de modèles de langue probabilistes, Google, pour sa première participation en 2008, a classé son système de traduction automatique à la première place de toutes les tâches de la campagne Open Machine Translation du NIST (arabe vers anglais, chinois vers anglais, ourdou vers anglais, anglais vers chinois).

En à peine vingt ans, les techniques probabilistes ont propulsé les capacités des systèmes de traduction automatiques à des hauteurs que quarante ans de systèmes formels n’avaient fait qu’entrevoir.

Le LDA pour les nuls

Ces résultats ont encouragé les chercheurs à appliquer le paradigme probabiliste à d’autres tâches au sein du traitement automatique du langage. Et l’un des concepts les plus prometteurs dans ce domaine est le LDA, ou Latent Dirichlet Allocation. Nous nous plaçons cette fois-ci dans le cadre d’un grand nombre de documents, ce qu’on appelle un corpus. Chaque document est vu comme un sac de mots. Le paragraphe précédent peut par exemple être vu comme un document dans lequel le mot « automatiques » apparaît 1 fois, et le mot « systèmes », 2 fois. On voit qu’il est assez trivial de considérer un document comme une distribution de probabilité sur l’ensemble des mots. Si j’ai le document « a b a c », je peux considérer ce document comme une distribution des mots « a », « b », « c »  et « d » avec les probabilités 2/4, 1/4,  1/4 et 0.

L’idée de LDA est qu’au lieu de considérer un document comme une distribution sur des mots, on le considère comme une distribution de probabilité sur des topics (sujets), eux-mêmes vus comme des distributions sur les mots. Je ne rentrerai pas dans les détails du modèle et je me contenterai de l’illustrer sur un cas concret.

Un exemple de LDA

J’ai effectué un LDA sur la presse quotidienne nationale sur la période du 18 au 23 janvier 2010, à partir de l’excellent site Pikanews. Le résultat de l’algorithme du LDA appliqué à ce corpus génère un ensemble de topics, caractérisés eux-mêmes par des mots. Voici un extrait de ces topics générés :

Topic 92

Topic 103

Topic 68

Topic 48

Topic 90

Renault

Flins

Clio

Carlos Ghosn

Usine

Turquie

Bursa

Production

Automobile

Numérique

Apple

Google

Mobile

Microsoft

Opérateurs

Taxe

Iphone

ARCEP

Haïti

Port au Prince

Séisme

Haïtiens

ONU

Humanitaire

Blessés

Secours

Morts

Barack Obama

Démocrates

Massachusetts

Sénat

Scott Brown

Républicains

Maison blanche

Ted Kennedy

Congrès

Scrutin

Réforme

Collectivités

Conseiller territorial

Élus

Sénat

Départements

Collectivités locales

On constate par exemple que le mot « Sénat » se retrouve dans deux topics différents.

Dans l’extrait suivant, le mot « sénat » apparaît dans le contexte de l’élection du Massachusetts :

La détermination de l’administration Obama à brider Wall Street risque toutefois de butter contre une nouvelle réalité politique : comme pour le projet d’une taxe spéciale sur les banques, ces mesures doivent être approuvées par le Congrès. Et le revers électoral subi par les démocrates, mardi, dans l’Etat du Massachusetts leur a fait perdre la majorité qualifiée au Sénat. Une majorité pourtant indispensable afin de faire adopter leurs projets sans risquer une obstruction républicaine.

Alors que dans l’extrait suivant le mot « Sénat » est raccroché au projet de réforme des collectivités territoriales :

Après avoir sillonné les fédérations UMP pendant des semaines pour promouvoir la réforme territoriale, Dominique Perben ne cache pas sa déception : le texte que les sénateurs ont commencé à examiner hier, en séance plénière, est, selon lui, bien en deçà des ambitions du projet gouvernemental. Invité du « Talk Orange-Le Figaro », il a regretté en particulier que « le texte du Sénat soit très en retrait sur les métropoles ».

L’analyse effectuée par le LDA, sans aucune intervention humaine, sans aucune modélisation a priori ni connaissance linguistique autre que l’isolation de tokens (mots) à l’intérieur d’un texte, est remarquable. Le LDA identifie automatiquement l’usage du mot « Sénat » dans différents contextes. On voit l’intérêt que l’on pourrait retirer d’une telle analyse dans le cadre, par exemple, de la désambigüisation de termes ou de fonctions.

Le LDA sert d’ailleurs déjà de socle à différents traitements classiques dans le traitement automatique du langage : clusterisation, catégorisation automatique, annotation morpho-syntaxique, etc. Les études publiées depuis environ cinq ans à ce sujet montrent que le gain apporté par la démarche est souvent très significatif. Assistera-t-on à la même explosion des performances de ces outils que celle dont a bénéficié la traduction automatique ?

En tout cas, chez Antidot, nous y croyons. Nous travaillons sur le sujet depuis un moment déjà,  et la prochaine version d’AFS – la v7 qui sortira en avril 2010 – inclut les premiers résultats de nos recherches. Si vous voulez en savoir plus, venez nous rendre visite sur le salon Documation. Croyez-moi, c’est bluffant !