Internship Proposal

Extending a Knowledge Representation Language with Relations

 

Keywords

knowledge representation, relations, object-oriented modeling, C++

Context and Objectives

For representing expert knowledge in Artificial Intelligence, one may use dedicated object-oriented languages known as "frame languages". These languages make it possible to describe the objects of the application domain using classes (the "frames") and their attributes (known as "slots"). This information is used by an inference engine to mimic the expert reasoning.

However the description of the individual properties of objects (frames and their slots) is not sufficient. We would like to add a notion of structural relation between objects. For instance two objects of class Person may be connected by a relation "wedlock", two objects in a scene may be connected by a spatial relation "on top of", etc. These relations are to be recognized, their constraints verified, and their contents filled up along the reasoning.

The purpose of this internship is to introduce relations as first-class citizen into our frame language: describe them, their properties, the means to express their constraints (e.g., cardinality, naviguability, optionality, etc.), and implement these concepts (in C++).

Work to be Done

The student will have to achieve the following tasks:

  1. Get acquainted with our frame-based knowledge representation language and some targeted applications;
  2. Define the various types of relations useful to support the intended applications, remaining at the domain abstraction level (expert level);
  3. Propose a model of relations compatible with the frame language that makes structural information and constraints (mandatory or optional) easy to express and to check;
  4. Implement this model in C++ and test it on some examples;
  5. Finally propose a concrete syntax for the expert and extend the existing parser to support it and generate the corresponding C++ code.

Prerequisite

Good knowledge of object-oriented design and programming, good practice of C++; notions about knowledge representation are a plus.

Location

ORION Team, INRIA Sophia-Antipolis.

Supervisor

5 to 6 months.

Sabine MOISAN
Projet ORION, INRIA-Sophia Antipolis
2004 route des Lucioles BP 93
06902 Sophia Antipolis Cedex
 
Contact

Email : Sabine.Moisan@sophia.inria.fr
Tel: 04 92 38 78 47