mercredi 28 janvier 2015

A0603 Construisez vous-même votre moteur d'inférence

Je viens de publier sur Slideshare une version plus lisible de mon cours sur la construction d'un moteur d'inférence:

http://fr.slideshare.net/Jean_Rohmer/construire-un-moteur-dinfrence

Je reprends ici le texte associé à la première publication:

A0386 Moteur d'Inférence en logique des prédicats en Java ou C# pour les nuls

C'est très facile de construire soi-même son moteur d'inférence avec un langage orienté objet comme Java ou C#.
Voici le support du cours d'Intelligence Artificielle de l'ESILV ( 4 ème année) qui explique comment rédiger un tel moteur.
On explique en particulier comment tout se ramène à des opérations de jointure sur des tables.

Il s'agit d'un moteur sophistiqué, en logique des prédicats avec des variables, en chaînage avant.
On parle aussi de la Méthode d'Alexandre en Datalog, qui permet de faire du chaînage arrière à partir du chaînage avant.
On explique aussi comment ce moteur peut être le cœur d'un système réactif intelligent, de type "Complex Event Processing'.

La représentation des connaissances utilisée est le réseau sémantique, (ou triplets). Ceci permet au moteur de travailler sur des données de type RDF du Web sémantique.

L'expérience montre que la quasi-totalité des élèves terminent leur moteur d'inférence en 3 séances de TP.
Ecrire soi-même son moteur d'inférence plutôt qu'en utiliser un déjà tout fait offre évidemment de multiples avantages, entre autres ceux de pouvoir l'adapter, le faire évoluer, l'insérer dans n'importe quelle application.
Et évidemment le plaisir d'écrire soi-même un programme relativement complexe, et de comprendre à fond les mécanismes d'inférence !


1 commentaire:

Tibor a dit…

Bonjour M. Rohmer,

Connaissez-vous un projet qui chercherait à extraire d'articles Wikipedia ces relations SVC ou SVCI ?