My research question: how to organise and share information in an efficient and scalable way?
Plan
Need For a Well-Structured Cooperatively-Updated Semantic Network
How should information be written and shared to permit
Minimal Requirements
A large lexical ontology and an initial well organized domain ontology
Knowledge modelling guidelines, for example:
- whenever possible, use singular nouns for concept/relations names
- whenever possible, use "subtype" relations instead of "instance" relations
- whenever possible, use basic relations (especially transitive ones such as "subtask")
Relations such as "proposes" and "proposedBy" are typical of small and un-scalable schemas.
Concise, expressive and normalising textual/ notations
Methods to detect and resolve redundancies and inconsistencies. Example:
` `any wn#bird is pm#agent of a wn#flight'(John) has for pm#corrective_restriction
`most healthy wn#French wn#bird are able to be pm#agent of a pm#flight' '(Joe).
Procedures to value contributions and contributors, and hence ease knowledge filtering
Typical Counter-example: the Semantic Web Topics Ontology of ISWC 2006
RDF+OWL ontology of "topics", "techniques" and "projects", built via Protege and a wiki,
for document indexation purposes.
Extract translated in FL:
Knowledge_Representation topic_usesTechnique: neural_networks heuristic_question_answering, topic_usedIn: "library classification" "information processing", topic_relatedTo: Knowledge_Discovery, (Artificial_Intelligence topic_supports: Web_Services_Composition, topic_usedIn: "Pattern Recognition" "Computer Vision", topic_subtopic: Machine_Learning);
Example of Details about Processes
km#KM_task__knowledge_management__KM__knowledge_engineering__KE__conceptual_knowledge_processing__CKP supertype: is#information_sciences_task, subtype: km#knowledge_comparison km#knowledge_inference/reasoning/generation km#knowledge_validation km#knowledge_representation km#knowledge_retrieval_task km#knowledge_sharing km#knowledge_mapping/merging/federation km#knowledge_import/export km#teaching_a_KM_related_subject km#language/structure_specific_task km#KM_methodology_task, object: km#KB; km#knowledge_inference/reasoning/generation subtype: {km#generalizing km#specializing} km#analogy_making {km#monotonic_reasoning km#non_monotonic_reasoning} {km#consistent_inference km#inconsistent_inference} {km#complete_inference km#incomplete_inference} {km#structure-only_based_inference km#rule_based_inference}, subtask: (km#knowledge_comparison subtype: (km#graph_matching subtype: km#CG_matching)); km#generalizing__generalization__generalising__generalisation subtype: km#deduction km#abduction km#induction;
Example of Details about Structures
km#KM_structure supertype: is#symbolic_structure, subtype: {km#base_of_facts/beliefs km#ontology km#KB_category km#KB_statement} km#KB km#KA_model km#KR_language km#language_specific_structure; km#CG_structure supertype: km#language_specific_structure, subtype: km#CG_statement km#CG_language;
Example of Argumentation Structures
"XML is useless for knowledge representation, exchange or storage" argument: ("using XML tools for KBSs is a useless additional task" argument: "KBSs do not use XML internally" (pm, objection: "XML can be used for knowledge exchange or storage" (joe, objection: "it is as easy to use other formats for knowledge exchange or storage" (pm), objection: "a KBS (also) has to use other formats for knowledge exchange or storage" (pm))) )(pm); "XML can be used for knowledge exchange or storage" argument: - "an XML notation permits classic XML tools (parsers, XSLT, ...) to be re-used" (pm) - "classic XML tools are usable even if a graph-based model is used" (pm), argument of: ("a KRL should (also) have an XML notation", specialization: "the Semantic Web KRL should have an XML notation" (pm), specialization of: "a KRL (Knowledge Representation Language) can have an XML notation" (pm), )(pm);
Annex 1: Querying
Category querying: WebKB permits to find categories (types or instances) according to their names, creators, relations connected to them, and permits to display all the objects (categories and statements) directly or indirectly connected to them on a single screen. Most other tools impose much more browsing to access information and hence make it difficult to retrieve and compare information in any realistic amount of knowledge.
Category comparison: WebKB permits to find which relations exist between two given categories (this feature is sometimes useful but not very common).
Statement querying:
FCG (instead of FL) can be used to express and retrieve statements that are more complex
than relations between categories. Various search operators are provided: "spec", "gen",
"?" (a combination of "spec" and "gen"), etc.
? [a person, agent of: a sell]
[Ned, agent of: (a sell, object: a car)](pm, 21/2/2001);
[3 cars, object of: (2 sells, agent: Ned, time:21/1/2001)](pm,12/7/2005);
[John, believer of: not [Ned, agent of: a sell]](jj,3/12/2004);
Annex 2: Comparing statements in a scalable way
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 + - ...