Intelligence Artificielle, gestion des connaissances, langage naturel
© 2004 Jean-Marc Vanel - e-mail: Vos commentaires - Ma page d'accueil

|

Cette page présente ma vision du présent et du futur de ces techniques (IA), ainsi que mes axes de recherche appliquée dans ces domaines. Ce n'est pas donc pas une introduction à ces sujets. Etant un développeur venant des mathématiques, j'ai toujours été sensible au côté formel des choses...  Et sensible au manque de formalisme de la plupart des projets. Depuis quelques années, au cours de mon projet "Worldwide Botanical Knowledge Base", j'ai expérimenté le traitement du langage naturel, ici des descriptions botaniques . Cela a déclanché un vif intérêt pour l'IA .

Mes axes de recherche appliquée: L'idée du Web Sémantique chère à Tim Berners-Lee a mis à la mode toutes ces techniques presques aussi vieilles que l'informatique. On se souvient aussi du grandiose projet Japonais dans les années 80 et 90. En 2005, il y a un hiatus énorme entre le niveau technique des projets informatiques courants et les possibilités de l'IA. Pendant que certains galèrent avec PHP ou J2EE, les moteurs d'inférences et la programmation à base de règles ont fait leurs preuves. Mais l'IA est encore perçue comme quelque chose de réservé à la recherche universitaire.

Il est vrai qu'il y a une reconnaissance du fait que moins on programme, et moins le projet est risqué. On en tire les conclusions qu'il faut soit déléguer aux prestataires off-shore, soit utiliser des environnements graphiques variés, en général propriétaires. Ma solution est tout autre: il faut réduire la distance entre les ingrédients: programmation procédurale, langage naturel, programmation déclarative, règles, représentation graphiques. Sans perdre de vue l'usage classique en IA: séparation entre les faits, les règles et le moteur d'inférence, il est possible et souhaitable d'avoir une vision globale. Il est par exemple possible de combiner une analyse prenant en compte le langage naturel avec une analyse standard pour un langage de programmation comme Java, pour en extraire une sémantique beaucoup plus riche. Ceci permettra de confronter le code avec des spécifications, et de faciliter la maintenance. Inversement on peut recourir à un langage naturel formalisé pour spécifier des règles, et donc remplacer tout ou partie de la programmation traditionnelle.


Les outils préconisés

Livres conseillés