|
|
ANALYSE |
|
|
|
Le défi de la reconnaissance des formes et du sens |
Reconnaissance de formes dans les images, analyse sémantique des requêtes adressées aux moteurs de recherche : Comment automatiser informatiquement des processus que l'humain réalise avec le plus grand naturel ?
(25/11/2004)
|
|
La perception reste un obstacle majeur pour la machine, autant qu'un domaine de recherche fécond pour les applications informatiques. Perception de formes, d'abord, soit reconnaître des similitudes dans des collections d'images, trouvant des débouchés dans la numérisation (reconnaissance de caractères), l'identification (de tableaux, d'empreintes digitales...), ou, de manière plus générale, la classification.
Perception du sens également : c'est notamment le projet du "Web sémantique" où le seul lien hypertexte est insuffisant, et où s'épanouissent la structuration du contenu et la compréhension du "langage naturel".
1) L'image
La capacité d'un programme informatique à "saisir" une image (en isoler les caractéristiques et pourquoi pas la "comprendre" en analysant celles-ci) est un branche de l'intelligence artificielle (IA) baptisée par les anglo-saxons Computer vision ou parfois, dans une optique plus appliquée, Machine vision. Elle repose sur un ensemble de techniques et de procédures (voir l'encadré), les premières tirant profit de théorèmes mathématiques à l'exemple d'une part de la méthode bayesienne (que l'on retrouve également dans d'autres domaines de l'informatique comme le filtrage de pourriel), d'autre part de la transformée de Hough, deux illustrations supplémentaires de l'application de la théorie scientifique à l'informatique.
La méthode bayesienne correspond à une démarche d'acquisition de connaissances (apprentissage) utilisant la loi énoncé par Thomas Bayes (vers 1702-1761) : on associe des probabilités à des éléments que l'on cherche à reconnaître (qu'il s'agisse de formes ou de mots caractéristiques des pourriels), mais ces probabilités sont inférées à partir "d'éléments de connaissance" déjà acquis, ce qui les distinguent de probabilités calculées sans connaissance antérieure. Prenons un exemple : deux images sont composées à la fois de cercles et de lignes, mais la première comporte 3 fois plus de cercles que de lignes tandis que la seconde comporte autant de cercles et de lignes.
Bayes pour apprendre, Hough pour extraire |
La tâche assignée à l'ordinateur est de distinguer l'image 1 de l'image 2, sachant leurs propriétés différentes. Il procédera donc, algorithmiquement partant, en extrayant une forme : a priori, il y autant de chances que cette forme, quelle qu'elle soit, émane de l'image 1 ou de l'image 2. Mais une fois cette forme reconnue (disons que c'est un cercle), la probabilité qu'elle émane de l'image 1 (celle qui comporte plus de cercles) augmente. Le théorème de Bayes nous donne le résultat exact : de 0,5 (1 chance sur 2), la probabilité est passée à 0,6. C'est donc ce dernier chiffre, et non le premier, qui est associé à l'élément. Et ainsi de suite, ce qui permettra, à terme, de distinguer de manière certaine les deux images.
La transformée de Hough intervient plus directement dans la phase d'extraction : elle repose sur l'idée qu'en chaque point d'une image, une infinité de lignes "de potentiel" (pensez aux courbes de niveau sur une carte IGN) peuvent passer, chacune avec une orientation qui lui est propre au point concerné, et qu'il est possible de décrire (là intervient la transformation) une sélection de ces lignes de potentiels (celles qui, a priori, passent par le plus grand nombre possible de points de l'image) par une courbe sinusoïdale, propre à chaque point. Sans rentrer dans les détails, la comparaison de ces courbes (plus aisée grâce à leur nouvelle représentation) permet de valider quelles sont les lignes qui effectivement, passent par le plus grand nombre de points de l'image, et donc de déterminer les formes.
2) Le texte
Comparé à l'image, la reconnaissance de sens dans un texte est sur le principe beaucoup plus simple, car un texte est déjà, informatiquement, parfaitement segmenté, et se prête facilement à la structuration, c'est à dire le choix standardisé d'un ensemble de règles qui définissent ou associent à tels ensembles de mots un sens clair dans un contexte précis.
Plus besoin d'apprentissage itératif, il "suffit" de structurer, et pour cela un outil informatique existe : XML.
"Suffit" ? Car le chantier reste immense : un très grand nombre de documents dans l'entreprise ne sont pas structurés. Mais la structuration gagne du terrain sous la pression de l'ouverture : intranet, Internet, le Web habitue à la recherche, incite donc à l'indexation, et finalement plaide pour la structuration. Le consortium W3C, qui veille à établir un corpus de standards pour le Web, s'est penché sur le problème et sa réponse a été le Web sémantique, un ensemble de spécifications prometteuses mais encore expérimentales dans leur grande majorité.
Bienvenue dans le monde de la taxonomie, du thésaurus, de l'ontologie... |
Le propos n'est pas de les détailler ici, mais simplement d'insister sur l'aspect-clé du Web sémantique au regard de la problématique qui nous intéresse ici (la "compréhension" par la machine). Cet aspect-clé est la notion d'ontologie.
L'ontologie se distingue du "vocabulaire" (dont l'objectif est de labelliser, mais sans inclure une organisation logique des termes définis), de la "taxonomie" (qui organise le vocabulaire sous une forme hiérarchique, spécialisante), et du "thésaurus" (taxonomie élargie par l'introduction de liens entre termes "en rapport"). En effet, l'ontologie ajoute au thésaurus une formalisation explicite des relations créés entre les différents termes du vocabulaire. La langage RDF (pour Ressource Description Framework) remplit par exemple ce rôle formel.
Tout l'enjeu est de construire une ontologie : qu'il s'agisse par ce biais de "donner du sens" à une page Web, une fiche produit ou tout autre texte, le but ultime est la favorisation d'intéractions automatiques entre machines (serveurs Web et robots des moteurs de recherche par exemple). Belle remise au goût du jour pour le terme "ontologie", étymologiquement "science de l'être", ou, pour Aristote et Platon, la "science de l'être en tant qu'être".
Procédure d'automatisation de la recherche de forme
|
Rechercher une forme est parfois simple si celle-ci est décrite par une formule mathématique (courbe), ou plus complexe s'il s'agit de caractères, d'empreintes ou de contours. Il s'agit toujours d'associer un label à une classe de données, et donc au préalable d'établir ces classes (phase dite "d'apprentissage" qui s'effectue généralement à l'aide d'un ensemble d'exemples) puis d'assigner telle données (par exemple une lettre cursive écrite à la main - et bien sûr numérisée ensuite -, donc différemment suivant le scripteur) à telle classe (la lettre de l'alphabet, phase dite de "reconnaissance"). Il peut aussi intervenir la possibilité qu'une forme inconnue doivent être assignée à une classe (phase dite "d'analyse"), auquel cas il est nécessaire de valider la décision (qui est ici une "discrimination" plutôt qu'une "caractérisation") à partir des "connaissances" déjà apprises.
En amont de ce travail, il est bien entendu
souvent nécessaire d'isoler d'abord les formes de leur contexte (c'est la segmentation ou délimitation, et finalement une autre forme de reconnaissance). A l'inverse en aval, des procédures de contrôle et de remise en cause doivent être prévus, par exemple en introduisant une boucle dans le processus qui, suite par exemple au résultat de la phase de reconnaissance, invalide tout ou partie du travail de segmentation initial.
L'apprentissage permet d'obtenir une base de connaissances, le plus souvent de classes hiérarchisée (mots puis caractères, courbes fermées puis coniques puis ellipse, entre autres exemples), mais l'essentiel de la difficulté, telle qu'il ressort de ce que nous venons de décrire, vient dans la formalisation de la "ressemblance" (qui caractérise le fait que deux données appartiennent à la même classe, ou au contraire, si elles ne se "ressemblent pas", à deux classes différentes) : quand on prend un référent (prototype) auquel comparer les données (pattern matching), on obtient un moyen de mesurer cette ressemblance.
|
|
|
|