Knowledge representation and reasoning
The K team is interested in deductive and hypothetical reasoning. A deductive reasoning is a reasoning for which the conclusions are certain if the premises are certain (or, by contraposition, if the conclusions are questioned, so must be the premises). Hypothetical reasoning is, by definition, a non-deductive reasoning: even if the premises are considered as certain, the conclusions are hypothetical. The three types of hypothetical reasoning the most studied by the K members are case-based reasoning (CBR), reasoning by analogy and belief change.
- CBR is a hypothetical reasoning based on the reuse of a past experience in a particular domain, this experience is represented by a set of solved problems called cases.
A classical CBR process consists, given a new problem to solve (called the target problem), in retrieving a case in the case base which is similar to the target problem (retrieval step) and in modifying this case so that it is a solution to the target problem (adaptation step).
- Reasoning by analogy is based on quaternary relations of the form “A is to B as C is to D”, usually to infer D knowing A, B and C.
- The belief change is a research domain interested in belief variations of agents. For example, the belief revision consists, given the beliefs of an agent about the world (supposed to be static) to introduce new beliefs supposed to have priority: obtaining a set of consistent beliefs requires sometimes to modify the initial set of beliefs and the change must be minimal.
Works on reasoning in the K team use various knowledge representation formalisms: description logics (and OWL DL, the semantic web standard equivalent to the SROIQ(D) description logics), RDFS (another semantic web standard), formalisms for representing imprecise knowledge (which semantic is based on the fuzzy subset theory), qualitative algebras (Allen algebra, INDU, RCC8), linear constraints, the propositional closures of these two last formalisms, etc.
Data science to feed knowledge-based systems
Data science is considered in the K team as knowledge discovery in databases (KDD). The central step of the knowledge extraction process is data mining which objective is to automatically build patterns describing regularities in data. Data mining takes place after a selection step (consisting in building a data set from databases) and a data transformation step consisting in formatting data for being used by the data mining process and in filtering noisy and irrelevant data. The data mining process is followed by a step of interpretation and validation of its results. The interpretation intends to associate knowledge units to patterns built by the data mining process (e.g. ontology formulas or adaptation rules). This step is difficult to fully automatize and the set of patterns to explore is often huge. The validation of knowledge units coming from the interpretation is usually done with the help of domain experts.
The issues related to data science studied by the K team are mostly data selection and preparation, and data interpretation and knowledge validation. For the data mining process, we use existing tools for frequent closed itemset extraction, association rule extraction, formal concept analysis and sequencial pattern extraction.
Knowledge engineering covers methodologies and technologies required to build a knowledge based system. Knowledge acquisition is an important point of knowledge engineering. It usually involves experts of the domain of the application or uses knowledge discovery approaches.
Knowledge engineering for a CBR system addresses the following points. The CBR knowledge base is usually composed of four parts: the case base, the domain ontology, the similatity knowledge, and the adaptation knowledge. Building and managing such a knowledge constitutes four interdependant issues of knowledge engineering for building a CBR system.
The semantic web provides useful recommandations and tools for knowledge engineering (e.g the Protégé ontology editor and semantic wiki engines). They are used in some of our works.
Finally, the integration of the differents components of a knowledge based system (knowledge bases, inference engines and user interfaces) is also an knowledge engineering issue addressed by the K team.