Towards a collaboratively-built knowledge base of&for
scalable knowledge sharing and retrieval


Vers une base de connaissance - construite collaborativement - sur&pour
des partages et recherches de connaissances passant à l'échelle


HDR de l'université de La Réunion


Dr Philippe Martin


MCF à l'ESIROI - STIM, école d'ingénieur à l'université de La Réunion

"Collaborateur extérieur" de l'équipe KEWI (I3S - UNSA-CNRS) et
du département informatique de l'Université de Griffith (Australie)

Ex/futur collaborateur de l'équipe Edelweiss (INRIA Sophia Antipolis),
de Eurécom (Sophia Antipolis) et du RMIT (université de Melbourne)

Plan

1. Introduction 1.1. CV 1.2. Problématique : passer à l'échelle dans l'organisation collaborative des connaissances -> créer un "Web de connaissances" 1.3. Approches usuelles ("orientées données") de gestion de connaissances : -> peu d'organisation collaborative 1.4. Briques de solution pour un "Web de connaissances" : protocoles, ontologie multi-sources, langages 2. Protocoles de collaboration 2.1. Protocole pour l'édition collaborative d'une BC 2.2. Protocole pour l'évaluation collaborative de connaissances et de leurs auteurs 2.3. Protocole pour le partage de connaissances entre BCs 3. Ontologie/BC multi-sources 3.1. Normalisation 3.2. Organisation des catégories de haut niveau 3.3. Intégration de WordNet 4. Langages 4.1. Des langages concis et expressifs pour différentes familles de notations 4.2. Une seule grammaire LR(1) et un seul modèle de (re-)présentation 4.3. - Combinaison via un langage de script - insertion dans des documents et indexation de n'importe quelle partie de document - un ensemble d'opérateurs pour rechercher et comparer des catégories ou des assertions - génération de menus d'entrée ou de recherche à partir de l'ontologie 5. Conclusion 5.1. Supports de ces techniques via deux serveurs de connaissances 5.2. Exemples d'applications effectuées 5.3. Extensions, applications, e.g., pour chercheurs Web Sémantique, pour biologistes

1.1. CV


1.1. CV




Résumé quantitatif de contributions :
- 37 publications   (30 en tant que premier auteur ; 3 en France)
- 3 logiciels de recherche (CGKAT, WebKB-1, WebKB-2 ; plus de 100.000 lignes de code source)
  appliqués dans divers domaines (enseignement, tourisme, ...), avec 3 entreprises
- travaux de standardisation (avec le NIST, l'ISO/IEC JTC1 SC32, le SUO et John Sowa)
- co-auteur du document de l'OMG décrivant un modèle de représentation d'ontologies (2005)
- (co-)encadrements : 3 doctorants (1 en début de thèse), 1 master


Reconnaissance internationale :
- OMS : ontologie élue "candidate pour un standard" par le groupe IEEE P1600.1 SUO (2004)
- 2 prix d'excellence Asia-Pacific Oracle IT&T dans la catégorie R&D (1999 et 2001)
- participation à des projets internationaux : Text Outline Project, Person Ontology, PORT
- professeur invité au LOA (Italie, 2004)
- collaborations avec des universités en Australie (Griffith, RMIT, ...), aux États-Unis (NIST, ...) et en France (I3S, L3I, ...)

1.2. But : passer à l'échelle dans l'organisation collaborative des connaissances


1.3. Approches usuelles ("orientées données") : peu ou pas d'organisation collaborative


Web/wikis/grilles sémantiques, réseaux sociaux, e-democracy, (e-)learning, gestionnaires de contenu, ...
-> - contenus et indexations essentiellement informels
- indexations de modules (non-atomiques) d'informations : BCs, BDDs, documents, paragraphes, ...
- créations semi-indépendantes de modules
- intégrations de modules par leurs utilisateurs (au lieu de leurs créateurs)

Avantages : - exploitation des ressources actuelles par extraction/indexation automatique
- pas d'apprentissage par les utilisateurs de notions de représentation de connaissances

Problèmes : organisation inter-modules (et intra-modules) très limitée
  -> recherches/comparaisons/intégrations difficiles, pas de capitalisation
  -> ne passe pas à l'échelle : plus il y a de modules, plus il y a de problèmes

1.4. Apports pour une approche "orientée connaissances" :
protocoles/techniques, ontologie multi-sources, langages


  1. Protocoles/techniques pour intégrer, rechercher ou évaluer des connaissances,
    collaborativement, dans une même base physique/virtuelle sans diminuer son organisation
     
  2. Ontologie multi-sources intégrant "sans perte" des ontologies
    de haut-niveau, de langages, de méthodologies, lexicales, ...
     
  3. Un ou des langages concis, expressifs et paramétrables
    pour représenter, rechercher, comparer et combiner des connaissances


Hypothèses :

- tout ceci est nécessaire pour passer à l'échelle dans le partage de connaissances

- un nombre suffisant de fournisseurs d'informations pourront/accepteront de voir/suivre tout cela
  afin que leurs informations soient beaucoup plus facilement trouvées, comparées, (ré-)utilisées, ...
    -> chercheurs, enseignants, étudiants, candidats à des subventions, ...

- tous les conflits sémantiques peuvent être résolus en ajoutant plus de précision
 jusqu'à aboutir à exprimer des observations ou des préférences,
    => résoudre des conflits augmente l'organisation de la base de connaissances (BC)

2.1. Protocole pour l'édition collaborative d'une BC


Problématique : maintien de l'organisation ; collaboration sans discussion, compromis, comité de sélection

Approche :


Complément de : approches basées sur des modules


Intérêts : wikis, états de l'art, mémoires d'entreprise, catalogues, ressource d'apprentissage, ...


Publié dans : ICCS 2001 (WebKB-2), ICCS 2005 (protocoles), WSEAS 2007, LO handbook 2008

2.1. Protocole pour l'édition collaborative d'une BC


Détection de conflits ou de redondances



no bird can be               at least 1 bird can
agent of a flight ########## be agent of a flight
                               |
                               |
 75% of birds can be           |
  agent of a flight            |
    |                          |
    |                      2 birds can be 
    |                      agent of a flight 
 any bird can be            /
 agent of a flight         /
             \            /
              \          /
               \        /
             Tweety can be
             agent of a flight

2.2. Protocole pour l'évaluation collaborative de connaissances et de leurs auteurs



Problématique : précision, flexibilité

Approche : représentation des évaluations individuelles, des fonctions d'évaluations et de leur résultats Example : l'utilité d'une croyance


Intérêts pour : enseignants, chercheurs, ...


Complément de : Co4, CHAO, DILIGENT, CoAKTinG, SomeWhere, Knowledge Zone, ...


Publié dans : ICCS 2005, E-learn 2006

2.3. Protocole pour le partage de connaissances entre BCs


Problématique : BC virtuelle ; pas de redondances / contradiction implicites entre BCs (combinaison des avantages de la distribution physique et la centralisation informationelle)

Approche : le choix de la BC pour une requête ne doit pas avoir d'importance -> réplication de connaissances (et transmission de requêtes) entre serveurs de BCs -> chaque serveur définit son domaine et doit publier + intégrer les informations relatives -> integrating_all_published_information_specified_as_parameter supporting_the_cooperative_building_of_the_KB_specified_as_output


Complément de : SomeWhere, KB-Grid, S-OGSA, DOGMA, HCOME, ...


Intérêts : compétition + centralisation + distribution


Publié dans : ICCS 2005, ICUT 2007

3. Ontologie/BC multi-sources



Problématique : intégration forte et sans perte + normalisation


Hypothèse : toujours possible si les sources sont sans contradiction interne
      (utilisation de "relations de spécialisation étendue" lorsque nécessaire)


Contenu actuel :

3.1. Normalisation



Problématique : maximiser la précision, organisation, comparabilité, ré-utilisabilité

Publié dans : WebNet 2000 (pour RDF), ICCS 2000, WWW 2002

3.2. Organisation des catégories de haut niveau



Problématique : hiérarchisation (et exclusion) intuitive et systématique des catégories ; représentations simples


Approche pour les concepts - distinction situation/entity|role, spatial/non-spatial - non distinction: attribute_or_quality_or_measure, description_content/medium/container, catégories pour nouns, verbes, adverbes, adjectifs - catégorisation par relations associées


Approche pour les relations - catégorization par signature et usage d'expressions régulières - dérivation à partir de concepts avec signatures associées


Publié dans : ICCS 2003, KMO 2006

3.2.1. Organisation des types de concept de haut niveau


1. Things (categorization of uppermost concept types or 2nd order types)
  1.1. Situations (either processes or states) 
    1.1.1. Genuine processes (actions, tasks, ...)
    1.1.2. States
    1.1.3. Situations w.r.t. to their roles: achievement, ...
    1.1.4. Other categorizations for situations: perdurants, ...
  1.2. Entities (things that are not situations)
    1.2.1. Spatial objects
      1.2.1.1. Space areas/regions
      1.2.1.2. Physical endurants: agentive entities, substances, ...
    1.2.2. Non-spatial objects
      1.2.2.1. Attributes and measures (temporal, spatial, ...)
      1.2.2.2. Non-spatial objects that are not attributes/measures
        1.2.2.2.1. Description content/mediums/containers
        1.2.2.2.2. True collections: bags, sets, types, ...
      1.2.2.3. Non-spatial objects w.r.t. their roles
      1.2.2.4. Other categorizations for non-spatial objects: abstract entities, ...
    1.2.3. Entities w.r.t. to their roles
    1.2.4. Other categorizations for entities
      1.2.4.1. Endurants
      1.2.4.2. Entities w.r.t. to their (un-)divisibility: collections, ...
      1.2.4.3. Entities w.r.t. to their source ontologies
  1.3. Things w.r.t. to their roles
    1.3.1. Concept types usable for generating relation types
    1.3.2. Things w.r.t. to other roles: mediating things, created things, ...
  1.4. Other categorizations for things: continuants/occurrents, divisible/indivisible, ...

3.2.2. Organisation des types de relation de haut niveau


2. Relations
  2.1. Categorization of relations w.r.t. their source/destination arguments
    2.1.1. Relations from situations: to time measures, to situations, case relations
    2.1.2. Spatial relations from entities with spatial features
    2.1.3. Relations from collections (lists, types, ontologies, ...): member, union, size...
    2.1.4. Relations (logical/rhetorical/...) from description_content/mediums/containers
    2.1.5. Relations from attributes or measures
    2.1.6. Relations to situations
    2.1.7. Relations to entities with spatial features
    2.1.8. Relations to time measures
    2.1.9. Relations to collections (lists, types, ontologies, strings, ...)
    2.1.10. Relations to attributes or measures
  2.2. Categorization of relations w.r.t. their roles
    2.2.1. Attributive relations
    2.2.2. Mereological relations
    2.2.3. Intentional relations
    2.2.4. Temporal relations
    2.2.5. Object relations
    2.2.6. Conceptual relations
    2.2.7. Relations for particular applications
  2.3. Categorization of relations w.r.t. what/who/why/.../how questions
  2.4. Categorization of relations w.r.t. particular properties
    2.4.1. Relations with particular mathematical properties (transitivity, reflexivity, ...)
    2.4.2. Relations categorized w.r.t. their fixed or variable arities
    2.4.3. Relations using a world as argument

3.3. Intégration de WordNet



Problématique : transformation en véritable ontologie lexicale


Approche :
- génération d'identificateurs intuitifs basée sur le (non-)partage de noms entre catégories
- distinction entre types et instances de types du 1er ordre
- correction des problèmes lexicaux et sémantiques (cycles, exclusions violées, ...)
- extensions


Complément de : OntoWordNet


Publié dans : ICCS 2003

4. Langages



4.1. Des langages concis et expressifs pour différentes familles de notations


4.2. Une seule grammaire LR(1) et un seul modèle de (re-)présentation Complément de : modèles (CG, RDF+OWL, CL, GRIWES, Ontology Definition Meta-model, ADL, SIMILE, ...), notations, GRDDL Intérêts : génération/personnalisation de notations/(re-)présentations 1 seul parseur


4.3. - combination via un langage de script - insertion dans des documents et indexation de n'importe quelle partie de document - un ensemble d'opérateurs pour rechercher et comparer des catégories ou des assertions - génération de menus d'entrée ou de recherche à partir de l'ontologie Publié dans : ICIPS 1998, WWW 1999, ICCS 1999a, ICCS 1999b (Sisyphus-I), ICCS 2005 "Computer Networks" (1999), "IEEE Intelligent Systems" (2000)

4.1. Des langages complémentaires, concis et expressifs



Problématique : intégrations, extensions et simplifications de CGLF, CGIF, KIF, N3, ...
    -> réunion+amélioration des langages de graphes, frames, avec/sans quantificateurs,
        S-expressions, languages contrôlés


Approche : expressivité (quantificateurs numériques, collections, ...) valeur par défaut configurables, non-répétition de relations sucre syntaxique pour position variable des contextes -> aussi simples pour les cas simples que des langages peu expressifs -> plus "normalisants" que RDF+OWL/XML, N3 et KIF


Résultats : FE (Formalized-English), FCG (Frame-CGs), FL (For-Links)
    Illustration/comparaison sur divers types de quantificateurs, définitions, collections, méta-assertions, ...


Publié dans : ICCS 2002

2.1. Des langages complémentaires, concis et expressifs - Example


En:  According to John, any human_body is a body and has at most 1 head and 2 arms.
     According to Jack, every human_body happens to have exactly 1 head and conversely.
     According to Jo, male_body and female_body is a complete subpartition of human_body.

FE:  `Any human_body is a body and has for part {at most 1 head, at most 2 arms}'_[John].
     `Every human_body has for part 1 head'_[Jack].  `Any head is part of 1 human_body'_[Jack].
     `Human_body has for subtype {( male_body  female_body )}'_[Jo].

FL:  human_body  supertype:  body __[believer: John],
                 part     :  0..2 arm __[John]
                             head __[ any->0..1 _[John],  every->1 _[Jack],  1<-every _[Jack]],
                 subtype  :  {( male_body  female_body )} __[Jo];


    FL nécessaire pour visualiser, naviguer et éditer une quantité réaliste de connaissances.


FS pour combiner tous les langages

2.1. Des langages complémentaires, concis et expressifs - Example


N3:  :armPart  a rdf:Property;  rdfs:subPropertyOf :part;  rdfs:range :Arm;
                                owl:inverseOf :armPartOf.
     :headPart a rdf:Property;  rdfs:subPropertyOf :part;  rdfs:range :Head;
                                owl:inverseOf :headPartOf.
     :StuffWith1Head
        rdfs:subClassOf [a owl:Restriction;  owl:onProperty :headPart;  owl:cardinality 1].
     :StuffOf1HumanBody
        rdfs:subClassOf [a owl:Restriction;  owl:onProperty :headPartOf;  owl:cardinality 1].
     {:human_body  a owl:Class;  rdfs:subClassOf :body;}  :believer :John.
     {:human_body  a owl:Class;  rdfs:subClassOf :body; 
         rdfs:subClassOf  [a owl:Restriction;  owl:onProperty :headPart owl:maxCardinality 1]
         rdfs:subClassOf  [a owl:Restriction;  owl:onProperty :armPart  owl:maxCardinality 2]
     } :believer :John.
     {@forAll :b . {:a rdf:type :human_body;  rdf:type :StuffWith1Head;} } :believer :Jack.
     {@forAll :h . {:a rdf:type :head;  rdf:type :StuffOf1HumanBody;} } :believer :Jack.
     {:male_body  rdfs:subClassOf :body;   owl:disjointWith :female_body} :believer :Jo.
     {:female_body  rdfs:subClassOf :body;} :believer :Jo.


FL:  human_body  supertype:  body __[believer: John],
                 part     :  0..2 arm __[John]
                             head __[ any->0..1 _[John],  every->1 _[Jack],  1<-every _[Jack]],
                 subtype  :  {( male_body  female_body )} __[Jo];

Des langages complémentaires, concis et expressifs - Example



    En KIF :

(believer '(defconcept human_body (?b)  (body ?b)) John)
(believer '(defconcept human_body (?b)  (atMostN  1 '?a head (part ?b '?a))) John)
(believer '(defconcept human_body (?b)  (atMostN  2 '?a arm  (part ?b '?a))) John)
(believer '(forall ((?b human_body))    (exactlyN 1 '?a head (part ?b '?a))) Jack)
(believer '(forall ((?a head))          (atMostN  1 '?b human_body (part '?b ?a)))  John)
(believer '(forall ((?a head))          (exactlyN 1 '?b human_body (part '?b ?a)))  Jack)
(believer '(defconcept male_body (?b)   (and (human_body) (not (female_body ?b))))  Jo)
(believer '(defconcept female_body (?b) (and (human_body) (not (male_body ?b))))    Jo)

    avec

(defrelation atMostN (?num ?var ?type ?predicate)  :=
  (exists ((?s set)(?n)) (and (size ?s ?n) (=< ?n ?num)
    (truth ^(forall (,?var) (=> (member ,?var ,?s)
                                (and (,?type ,?var) ,?predicate)))))))

Des langages complémentaires, concis et expressifs - Example


    Traduction complète (mais ad-hoc) en RDF+OWL des 3 lignes en FL :

<rdf:Property rdf:ID="armPart"><rdfs:subPropertyOf rdf:resource="Part"/>
                               <owl:inverseOf rdf:ID="armPartOf"/>
                               <rdfs:range rdf:resource="Arm"/></rdf:Property>
<rdf:Property rdf:ID="headPart"><rdfs:subPropertyOf rdf:resource="Part"/>
                               <owl:inverseOf rdf:ID="headPartOf"/>
                               <rdfs:range rdf:resource="Head"/></rdf:Property>

<owl:Class rdf:about="HumanBody"><rdfs:subClassOf rdf:resource="Body" dc:creator="John"/>
  <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#headPart"/>
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger" dc:creator="Jack">1
        </owl:cardinality></owl:Restriction> </rdfs:subClassOf>
  <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#headPart"/>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger" dc:creator="John">1
        </owl:maxCardinality></owl:Restriction> </rdfs:subClassOf>
  <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#armPart"/>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger" dc:creator="John">2
        </owl:maxCardinality></owl:Restriction> </rdfs:subClassOf> </owl:Class>
<owl:Class rdf:about="Head">
  <rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#headPartOf"/>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger" dc:creator="Jack">1
        </owl:maxCardinality></owl:Restriction> </rdfs:subClassOf> </owl:Class>

<owl:Class rdf:about="MaleBody"><rdfs:subClassOf rdf:resource="Body" dc:creator="Jo"/>
        <owl:disjointWith rdf:resource="FemaleBody" dc:creator="Jo"/> </owl:Class>
<owl:Class rdf:about="FemaleBody"><rdfs:subClassOf rdf:resource="Body" dc:creator="Jo"/>
        </owl:Class>

Des langages complémentaires, concis et expressifs - Example


    FL peut aussi être utilisé pour des discussions structurées.

"knowledge_sharing_with_an_XML-based_language is advantageous"
   generalization: "knowledge_sharing_with_an_XML-based_language
                                is possible" __[pm],
   argument: - "XML is a standard" __[pm]
             - ("knowledge_management_with_classic_XML_tools is possible"
                   corrective_restriction:
                     "syntactic_knowledge_management_with_classic_XML_tools is possible" __[pm]
               )__[pm],
   argument: "the use of URIs and Unicode is possible in XML"
             (fg, objection: "the use of URIs and Unicode can easily be made possible in
                              most syntaxes" __[tbl _[pm]]
             ),
   objection: - ("the use_of_XML_by_KBSs implies several tasks to manage"
                    argument: "the internal_model_of_KBSs is rarely XML" __[pm]
                )__[pm],
              - ` "an increase of the number of tasks *t to_manage" has for consequence
                  "an increase of the difficulty to develop a software to manage *t" '__[pm],
   objection: - "knowledge_sharing_with_an_XML-based_language will force
                 many persons (developers, specialists, etc.) to understand
                 complex_XML-based_knowledge_representations" __[pm]
              - ("understanding complex_XML-based_knowledge_representations is difficult"
                   argument: "XML is verbose" __[pm]
                )__[pm];

Plan

Comparaison de connaissances

Une manière "passant à l'échelle" d'afficher une comparaison d'un ensemble d'objets.

> compare pm#WebKB-2 km#Ontolingua on 
    (support of: a is#IR_task, output_language: a km#KR_notation,
     part: a is#user_interface), maxdepth 5


                                               WebKB-2         Ontolingua 
support of: 
  is#IR_task                                      +                 + 
    is#lexical_search                             +                 + 
      is#regular_expression_based_search          +                 . 
    km#knowledge_retrieval_task                   +                 . 
      km#generalization_structural_retrieval      +                 . 
    ...
output_language: 
  km#KR_notation                                  +                 + 
    (expressivity: km#FOL)                        +                 + 
      km#FCG                                      +                 . 
      km#KIF                                      .                 + 
    km#XML-based notation                         +                 . 
      km#RDF                                      +                 - 
    ...

retour

5. Conclusion



5.1. Supports de ces techniques via deux serveurs de connaissances


5.2. Exemples d'applications effectuées


5.3. Extensions, applications, e.g., pour chercheurs Web Sémantique, pour biologistes

5.1. Supports via deux serveurs de connaissances


5.2. Exemples d'applications effectuées


6. Annexes


6.1. Thèses co-supervisées