Les référentiels ont-il un avenir ?

March 10th, 2010

Thésaurus, listes d’autorité, plans de classement… depuis bien longtemps les référentiels ont prouvé leur utilité dans le domaine documentaire. Ils ont été le fondement de la gestion et de l’organisation de l’information dans les cellules documentaires, les bibliothèques, chez les éditeurs de contenus. L’avènement de l’informatique et d’Internet a sensiblement modifié leur usage et a nécessité une refonte de leur format et parfois de leur contenu.

Jusqu’au jour où le Web 2.0 est venu remettre en cause leur existence. Avec la « folksonomie », c’est l’utilisateur qui tagge, qui étiquette, qui décrit. Chacun annote comme il veut et classe comme il l’entend. L’ordre né de l’entropie. Une vraie révolution copernicienne.

« Le pouvoir au peuple ! à bas la dictature des référentiels ! ». En des temps pas si lointains où tout était politique, le référentiel aurait-il été qualifié de bourgeois ? Outil d’asservissement de l’utilisateur ignorant des choses subtiles de la classification et de l’indexation, réservé à une élite sachante ?

La recherche en texte intégral n’est-elle pas la solution idéale ? Le Graal qui délivre la connaissance ? Après Google qui met à mal les cellules de veille, Internet va-t-il tuer les référentiels ? Le référentiel a-t-il vécu ? Il est vrai que si l’on regarde de près des services comme Flickr ou Delicious, les résultats sont plutôt probants.

Lors de la conférence que nous tenons à Documation le 17 mars à 14h30, nous aborderons ce sujet en détail et essayerons de comprendre l’intérêt des référentiels à l’heure du Web 2.0 et de la montée en puissance du Web Sémantique (Web 3.0).

Des lettres et des chiffres

February 10th, 2010

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 !

Le prix de la chose

January 6th, 2010

Avec l’arrivée prochaine d’une nouvelle version de notre solution AFS et avec le changement d’année, donc d’exercice commercial, se pose immanquablement la question de la grille tarifaire.

La difficulté pour un éditeur de logiciels comme Antidot n’est pas tant de fixer un prix que de définir les variables qui permettent de calculer une valeur. Quelles sont les métriques à utiliser, sachant que les objectifs sont :

  • Clarté de l’offre : le prix doit être compréhensible et sa variation doit pouvoir être anticipée par le client.
  • Progressivité : en fonction de la richesse fonctionnelle, du volume, de l’usage, du nombre d’utilisateurs, de la valeur créée, …
  • Adaptabilité : l’offre doit être suffisamment modulaire pour que le client ne paye que ce qui est nécessaire à son besoin.

Les pratiques du marché, en tout cas en ce qui concerne les moteurs de recherche, sont variées mais pas forcément adaptées à l’environnement actuel.

Dans un contexte où les technologies évoluent très vite, les métriques basées sur le matériel ou la volumétrie sont dépassées. Ainsi :

  • La tarification au serveur, au processeur ou au gigahertz n’est plus envisageable avec la généralisation des multi-cœurs et la diversité des plateformes.
  • La tarification au volume indexé (compté en volume de données ou en nombre de documents) est également difficile à appliquer : une image pèse lourd mais n’a que peu d’information à fournir ; un catalogue très complexe de 100 000 produits ne pèse que quelques dizaines de mégaoctets, soit moins qu’un gros fichier PDF. La disparité informationnelle et l’écart de valeur entre les sources sont des obstacles insurmontables.
  • Un prix basé sur la taille de l’index de recherche est ‘créatif’ mais il ne répond pas du tout au critère de clarté et de lisibilité de l’offre. Il est trop dépendant de la technologie et il est incertain : en effet le changement d’un paramètre de configuration peut faire varier la taille de l’index généré de façon sensible, de même qu’un changement de version logicielle peut du jour au lendemain ajouter 30% à la facture.

A l’opposé de ces « métriques techniques », il y a la tarification basée sur l’usage ou la valeur créée. Cette approche demande une analyse, une connaissance et une segmentation très fine des marchés. Et là aussi les écueils sont nombreux :

  • Un prix au nombre d’utilisateurs n’est pas adapté dans les environnements Web, et la transposition en nombre de sessions simultanées ne convient pas pour les architectures SOA à base de Web Services.
  • La tarification au pourcentage du chiffre d’affaires ressemble par trop à une dime, et ne convient qu’aux logiciels qui structurent l’entreprise et sont à la base de sa génération de valeur.
  • En outre, le risque existe qu’une telle tarification soit ressentie comme un prix à la bonne mine du client, laissant la porte ouverte à toutes les dérives commerciales possibles.

Et si l’on ajoute à cela des modes d’utilisation du logiciel variés, allant de la classique licence et son support pour les logiciels installés sur le site du client,  au mode ASP (le fameux SaaS, où le logiciel est vendu comme un service), la complexité n’est que plus grande.

Je ne sais pas si la définition d’une grille tarifaire est un art, comme certains le prétendent, mais c’est en tout cas un sacré casse-tête. Voilà en tout cas un problème que ne connaît pas le logiciel libre et qui ne doit pas m’empecher de vous souhaiter à tous une excellente année 2010 !