La thèse se place dans le cadre du projet InterViews du LIMSI. Ce projet est proposé pour aborder les nouveaux domaines de recherche découlant de l'évolution du web sur Internet. Dans ce cadre, nous nous intéressons au problème de l'hétérogénéité sémantique entre agents dialogiques. Un agent dialogique est un composant logiciel qui est capable d'interagir à un haut niveau sémantique avec d'autres agents (logiciels ou humains). Pour cela, il doit être capable de se représenter son fonctionnement et de raisonner dessus pour recevoir des requêtes, fournir des explications et participer à des tâches d'assistance.
Notre travail a commencé par l'identification d'un nouveau problème entre agents interagissant par dialogisme : l'hétérogénéité sémantique. Ce problème, reconnu comme fondamental aujourd'hui par la communauté des systèmes multi-agents, doit être distingué du problème de l'intégration de bases de données hétérogènes. Il a donc fallu délimiter, définir et formaliser ce problème nouveau. Pour cela nous avons utilisé la logique des descriptions.
Nous avons proposé une solution nouvelle et originale qui est d'utiliser un raisonnement à partir de cas afin de trouver une interprétation aux termes hétérogènes dans une requête. Cela nous a conduit à étudier plus spécifiquement l'étape d'adaptation dans le raisonnement par analogie, pour laquelle nous avons fourni un modèle fondé sur des outils de la topologie algébrique. Ce modèle a mené à l'implémentation d'un système de résolution automatique d'analogies simples.
Ce travail, qui se veut précurseur, mérite d'être poursuivi afin de le mener vers des étapes plus implémentatoires ; en particulier, nous souhaiterions : implémenter les différents algorithmes présentés dans la langage développé pour la plateforme InterViews, puis les tester lors de l'interaction dialogiques d'agents.
Première Partie : Formaliser le problème de l'hétérogénéité sémantique entre agents dialogiques
Chapitre 1 : La Problématique de l'Hétérogénéité Sémantique entre Agents dans le projet InterViews
De plus en plus d'applications sont distribuées et interagissent au travers du web. Par ailleurs, de nouvelles contraintes imposent une recherche pour une interaction plus naturelle entre l'utilisateur de telles applications et les applications elles-mêmes. Enfin, les applications dont il s'agit contiennent de plus en plus de composants dynamiques.
Ainsi, le projet InterViews vise l'étude et la mise en oeuvre de l'interaction dialogique entre plusieurs composants logiciels via le web. Pour cela, il paraît intéressant et naturel de modéliser ce type de problématique comme un système multi-agent dont les agents sont des composants logiciels dynamiques disposant d'une représentation des connaissances et de capacités de raisonnement et d'interaction. L'interaction entre de tels agents est alors dialogique, dans le sens où elle est un sous-ensemble de la langue naturelle et où elle permet la communication à un haut niveau sémantique. Ce champ applicatif se répartit alors en plusieurs domaines de recherche : l'interaction dialogique dans un système multi-agents ; la représentation des connaissances ; le raisonnement sur le fonctionnement.
Dans ce cadre, un problème qui se pose immédiatement est l'hétérogénéité sémantique lors de l'interaction dialogique entre deux agents. Le problème de l'Hétérogénéité Sémantique (HS), qui a depuis été reconnu comme crucial par la communauté agent, est à différencier de l'hétérogénéité logicielle et matérielle (problèmes qui ont déjà été abordés et pour lesquels des solutions efficaces sont déjà mises en oeuvre), et de l'intégration de bases de données hétérogènes (domaine où l'on vise à homogénéiser deux sources présentant une hétérogénéité sémantique).
En effet, la subtilité de la gestion du problème de la HS dans InterViews est de gérer l'hétérogénéité lors d'une interaction pour rendre la communication possible, tout en préservant les différences et en évitant le plus possible une homogénéisation, qui est toujours difficile à mettre en oeuvre en evironnement contrôlé, et impossible à atteindre dans les cas généraux des systèmes ouverts de l'Internet. Pour ces raisons, il est délicat et important de bien délimiter et bien définir le problème de la HS entre agents avec un formalisme rigoureux et ayant fait ses preuves en représentation des connaissances.
Chapitre 2 : Les Logiques de Descriptions comme Formalisme de Représentation des Connaissances
La question est alors de savoir avec quels outils de formalisation nous pourrions proposer une définition formelle de ce problème. Le plus naturel semble de choisir un formalisme de représentation des connaissances qui possède une sémantique bien définie. Ainsi nous pouvons modéliser la base de connaissances (KBase) de chaque agent et poser le problème de l'hétérogénéité sémantique qui existe entre eux.
On remarque que la gestion d'une telle HS passe par la gestion de la HS au niveau terminologique. Il est alors encore plus normal d'utiliser un formalisme adapté à la représentation des terminologies. Le formalisme choisi est donc la Logique des Descriptions (LD), que nous présentons historiquement, syntaxiquement et sémantiquement dans ce chapitre.
Chapitre 3 : Formaliser l'Hétérogénéité Sémantique en Logique de Descriptions
Dans un premier temps, nous reprenons la définition des agents dialogiques formulée dans le chapitre 1, que nous formalisons en LD. Nous en déduisons la définition en LD d'une interaction entre agents dialogiques.
Ensuite, nous posons les hypothèses de la gestion de l'hétérogénéité sémantique entre agents dialogiques modélisés en LD, par opposition à sa résolution qui mènerait à l'homogénéisation des Kbases. Compte tenu de ces contraintes, nous définissons ensuite formellement la HS entre agents dans InterViews
Enfin, nous synthétisons les deux principaux types de problèmes de HS qui peuvent émerger entre agents en LD : la HS terminologique, et la HS référentielle. Nous les illustrons par des exemples d'interactions dialogiques, et nous proposons une stratégie de gestion pour chacun d'eux : l'adaptation pour la HS terminologique et l'accès par le contenu pour la HS référentielle.
Deuxième Partie : Un modèle topologique pour l'adaptation
Chapitre 4 : Le Raisonnement à Partir de Cas et L'Adaptation en Intelligence Artificielle
Nous sommes alors amenés à nous intéresser au raisonnement à partir de cas. Le RàPC se décompose en cycles de raisonnement qui incluent les étapes suivantes : 1) stocker les cas, 2) retrouver un cas (sélectionner), 3) adapter la solution, et enfin 4) l'apprentissage du cas avec sa solution.
Afin de transposer ce type de raisonnement à une Kbase écrite en LD, nous nous intéressons à l'implémentation de ces étapes dans un système informatique d'écriture de Kbases en LD. Grâce aux moteurs de classification fournis par les systèmes de LD, comme LOOM par exemple, nous disposons d'algorithmes pour les étapes de stockage et recherche de cas. Une étape devient alors cruciale et nouvelle : c'est celle de l'adaptation de la solution.
Notre idée originale se transforme alors en : comment effectuer l'étape d'adaptation structurelle d'un cycle RaPC avec une base écrite en LD en vue de traiter des termes nouveaux à l'aide de termes connus dans une requête hétérogène ?
Nous restreignons alors notre étude à l'adaptation : pour l'étudier nous nous intéressons au raisonnement simple dit par analogie. Nous en donnons une présentation, avec les modèles pour l'analogie développés en Intelligence Artificielle.
A ce stade, nous voudrions pouvoir avoir un algorithme qui nous permette d'effectuer une adaptation sur des définitions structurelles (car c'est la caractéristique intéressante d'une représentation avec les LD). On considère alors l'analogie comme un appariement structurel, ce qui nous permet d'utiliser une métaphore spatiale pour engendrer l'algorithme en question.
Chapitre 5 : Outils de Topologie Algébrique pour l'Adaptation : Représentation Simpliciale des Connaissances
La métaphore spatiale nous mène à l'utilisation de la la topologie algébrique que l'on présente comme formalisme de représentation des connaissances dans ce chapitre.
Nous introduisons les concepts élémentaires de topologie algébrique utilisés par la suite : les complexes simpliciaux (CS). Nous présentons une méthode de représentation de relations binaires avec les CS : la Q-Analyse. Nous proposons ensuite un moyen d'utiliser cette Q-analyse pour représenter les prédicats et les concepts. Nous donnons des exemples pour argumenter notre proposition et la comparer à d'autres systèmes. Cette méthode de représentation des connaissances est appelée CAT pour Combinatorial Algebraic Topology. Nous fournissons également une processus de construction d'une telle représentation, par catégorisation, pour un agent disposant de détecteurs assimilés à des prédicats unaires.
Chapitre 6 : Un Système Topologique pour la Résolution Automatique d'Analogies : Le Système ESQIMO
Avec le formalisme de représentation des connaissances CAT, basé sur la topologie algébrique, nous proposons un algorithme d'adaptation de structures pour l'analogie et nous l'illustrons par la programmation d'un petit système de résolution automatique d'analogies simples : ESQIMO. ESQIMO a été prototypé en Mathematica puis programmé en Caml, et testé avec succès sur des exemples simples.
Dans ce système, nous choisissons l'application paradigmatique des tests de QI géométriques, que nous testons d'abord sur des humains afin de trouver des heuristiques de résolution intéressantes à inclure dans l'algorithme. Nous modélisons ensuite les connaissances pertinentes d'un tel problème à l'aide de complexes simpliciaux. Enfin nous exposons dans le détail l'algorithme lui-même qui modélise une adaptation comme une déformation, c'est-à-dire une transformation composée de transformations élémentaires d'un simplexe en un autre le long d'un chemin polygonal, le tout plongé dans une représentation simpliciale plus grande représentant l'espace des possibles lié au problème.
Troisième Partie : L'adaptation pour la gestion de l'hétérogénéité sémantique formalisée en logique de descriptions.
Chapitre 7 : Les Complexes Simpliciaux pour Représenter les Relations d'une Base en Logique de Descriptions Artificielle
Le but de ce chapitre est de comparer le formalisme CAT des Complexes Simpliciaux à la LD pour éventuellement les proposer comme représentation des connaissances alternative ou complémentaire afin de résoudre les deux types de HS entre agents. Pour cela, nous utilisons le fait qu'une base LD peut être exprimée en Logique des Prédicats du Premier Ordre (LPO), il nous reste alors à savoir si une base en LPO peut s'exprimer sous la forme des CS.
Notons qu'une fois la correspondance entre LPO et CS établie, nous ne cherchons pas à calculer une correspondance entre la LD et les CS, en passant par la LPO. Nous utilisons ce résultat seulement pour confirmer qu'il est possible d'exprimer des connaissances contenues dans une KBase écrite en LD, à l'aide de complexes simpliciaux. Nous nous attacherons à montrer comment on peut alors exprimer les relations d'une Tbox et d'une Abox. En d'autres termes, la LPO sert ici pour une comparaison en termes d'expressivité.
Nous présentons quelques rappels de LPO, en particulier sur les aspects de sémantique dénotationnelle. Nous proposons ensuite une correspondance avec le formalisme CAT introduit au chapitre 5. Nous verrons que cette correspondance se traduit soit par une extraction de complexes à partir directement des relations d'inclusion de la Tbox, ou alors par une interprétation des formules de LD en termes de complexes simpliciaux (qui sont alors les extensions).
Chapitre 8 : Intégration des outils et exemples.
Nous illustrons dans ce chapitre l'intégration des outils proposés aux chapitre 3, 5 et 6, en nous appuyant sur les correspondances établies au chapitre 7. Pour cela, nous détaillons toutes les étapes du traitement d'une requête (hétérogène ou pas) par un agent récepteur : depuis l'extraction d'une représentation simpliciale jusqu'à la production d'une substitution valide.
Pour cela, nous nous concentrons dans un premier temps sur l'illustration de tous les processus d'extraction des complexes simpliciaux en fonction des relations de la KBase écrite en LD. Une fois ces processus illustrés, nous pouvons utiliser ces représentations simpliciales pour traiter explicitement les différentes requêtes qu'il est possible de poser à un agent. Pour cela, nous listons toutes les requêtes syntaxiquement correctes, et nous nous intéressons aux opérations simpliciales qu'il faut effectuer pour y répondre.
Finalement, nous essayons d'élargir notre illustration en sortant du cadre d'un seul pas d'interaction et en traitant une interaction entre deux applications réelles de InterViews.