AI – CS364 Knowledge Representation Introduction to Knowledge Representation 12th September 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk AI – CS364 Knowledge Representation Contents • • • • • Defining Knowledge Representation Knowledge Representation Schemes Semantic Networks Taxonomy Ontology 12th September 2006 Bogdan L. Vrusias © 2006 2 AI – CS364 Knowledge Representation Knowledge Representation • 'A representation is a set of conventions about how to describe a class of things. A description makes use of the conventions of a representation to describe some particular thing.' (Winston 1992:16). • 'Good representations make important objects and relations explicit, expose natural constraints, and bring objects and relations together' (ibid: 45) • The representation principle: – Once a problem is described using an appropriate representation, the problem is almost solved. 12th September 2006 Bogdan L. Vrusias © 2006 3 AI – CS364 Knowledge Representation Starting with an Example • The Farmer, The Fox, The Goose and The Grain: – • The farmer must get a fox, a goose and a sack of grain across a river, however his boat is small and he can only carry one thing at a time. His problem is that if he leaves the fox with the goose the goose will be eaten, and if he leaves the goose with the grain, the grain will be eaten… A good representation makes it easier for us to solve the problem: 1. 2. 3. 4. Draw possible safe combinations in a diagram. Arrange appropriate combinations in order. Link appropriate arrangements to represent boat trips. Problem is solved! 12th September 2006 Bogdan L. Vrusias © 2006 4 AI – CS364 Knowledge Representation Farmer Fox Goose Grain Grain Farmer Goose Grain Fox Farmer Goose Fox Fox Grain Farmer Fox Grain Goose Farmer Goose Farmer Goose Goose Farmer Fox Grain Fox Grain 12th September 2006 Fox Farmer Fox Goose Farmer Goose Grain Grain Bogdan L. Vrusias © 2006 Farmer Goose Fox Grain 5 AI – CS364 Knowledge Representation Knowledge Representation Schemes • A number of knowledge representation schemes (or formalisms) have been used to represent the knowledge of humans in a systematic manner. This knowledge is represented in a knowledge base such that it can be retrieved for solving problems. Amongst the well-established knowledge representation schemes are: – – – – – – – – – Production Rules Semantic Networks Frames Conceptual Dependency Grammar Conceptual Graphs Ontology Predicate and Modal Logic Conceptual or Terminological Logics XML / RDF 12th September 2006 Bogdan L. Vrusias © 2006 6 AI – CS364 Knowledge Representation Semantic Networks • Ross Quillian (1966 and 1968) was among the early AI workers to develop a computational model which represented 'concepts' as hierarchical networks. • This model was amended with some additional psychological assumptions to characterise the structure of [human] semantic memory. 12th September 2006 Bogdan L. Vrusias © 2006 7 AI – CS364 Knowledge Representation Semantic Networks • Collins and Quillian (1969) proposed that: – Concepts can be represented as hierarchies of interconnected concept nodes (e.g. animal, bird, canary) – Any concept has a number of associated attributes at a given level (e.g. animal --> has skin; eats etc.) – Some concept nodes are superordinates of other nodes (e.g. animal > bird) and some are subordinates (canary < bird) 12th September 2006 Bogdan L. Vrusias © 2006 8 AI – CS364 Knowledge Representation Semantic Networks • For reasons of cognitive economy, subordinates inherit all the attributes of their superordinate concepts. • Some instances of a concept are excepted from the attributes that help [humans] to define the superordinates (e.g. ostrich is excepted from flying) • Various [psychological] processes search these hierarchies for information about the concepts represented. 12th September 2006 Bogdan L. Vrusias © 2006 9 AI – CS364 Knowledge Representation Semantic Network Example canary can sing, is yellow bird is-a can fly, has wings, has feathers ostrich animal can breathe, can eat, has skin is-a is-a runs fast, cannot fly, is tall salmon fish is-a can swim, has fins, has gills lays eggs; swims upstream, is pink, is edible is-a 12th September 2006 Bogdan L. Vrusias © 2006 10 AI – CS364 Knowledge Representation Semantic Network Example • From the above taxonomic organisation of knowledge about a number of different animals, one can conclude, by inheriting properties down the taxonomy, that canaries, ostriches and salmon all have skin and can breathe. • But we as humans can also make exceptions to inherited properties in that we can represent an not-flying bird in a (sub-) hierarchy of birds by simply noting the exception, can't fly. • Collins and Quillian carried out a number of tests on human subjects and found that the subjects recognise propositions lower down the hierarchy (canary is a yellow bird) more readily than propositions higher up the hierarchy (canary has skin). 12th September 2006 Bogdan L. Vrusias © 2006 11 AI – CS364 Knowledge Representation Defining Inheritance • AI researchers have refined the notion of inheritance: – It is called a specialised inferencing technique 'for representing properties of classes, exceptions to inherited properties, multiple superclasses, and structured concepts with specific relations among the structural elements' (Touretzky 1992:690). 12th September 2006 Bogdan L. Vrusias © 2006 12 AI – CS364 Knowledge Representation Semantic Networks • A semantic network is a structure for representing knowledge as a pattern of interconnected nodes and arcs. Nodes in the net represent concepts of entities, attributes, events, values. Arcs in the network represent relationships that hold between the concepts. • A semantic network is a graph theoretic data structure whose nodes represent word senses and whose arcs express semantic relationships between these word senses. • Quillian gave an account, perhaps first used by a computer scientist, of the associate features of human memory that incorporated a spreading activation model of computation. 12th September 2006 Bogdan L. Vrusias © 2006 13 AI – CS364 Knowledge Representation Networks and 'Meaning' Representation • The biosystematic notions of taxonomies, where the concept of superordinates and subordinates plays a major role on the knowledge representation literature. • TAXONOMY OF LIFE: The taxonomic organisation of species in a hierarchical structure: – Kingdom > Phylum (division in botany) > Class > Order > Family > Genus > Species • Carolus Linneaus (c.18th century Swedish botanist) devised the system of binomial nomenclature used for naming species: – each species has a two-part Latin name, formed by appending a specific epithet to the genus name. – The latter is capitalised and both parts italicised. 12th September 2006 Bogdan L. Vrusias © 2006 14 AI – CS364 Knowledge Representation Modern Taxonomy Example DOG SUGAR MAPLE BREAD MOULD INTESTINAL BACTERIUM POND ALGAE KINGDOM Animalia (animals) Plantae (plants) Fungi (fungi) Prokaryotae (bacteria) Protoctista (algae, protozoa, slim moulds) PHYLUM Chordata Magnoliophyta Zygomycota Omnibacteria Chlorophyta CLASS Mammalia Rosidae Zygomycetes Enterobacteria Euconjugatae ORDER Carnivora Sapindales Macorales Eubacteriales Zygnematales FAMILY Canidae Aceraceae Mucoraceae (E. coli does not have a family classification) Zygnemataceae GENUS Canis Acer Rhizopus Escherichia Spirogyra SPECIES C. familiaris A.saccharum R. stolonifer E. Coli S. crassa 12th September 2006 Bogdan L. Vrusias © 2006 15 AI – CS364 Knowledge Representation Representation and Biosystematics • Work in knowledge representation has been influenced by key notions in biosystematics. • However, there are crucial differences between what a taxonomist does and a knowledge engineer does. • The key difference is that of the intended audience in the two cases: – for the taxonomist the audience is intelligent and human – and for the knowledge engineer the primary 'audience' is a computer system, or more accurately the representation program. 12th September 2006 Bogdan L. Vrusias © 2006 16 AI – CS364 Knowledge Representation Ontology • Definition: – “The science or study of being; that department of metaphysics which relates to the being or essence of things, or to being in the abstract.” (OED online, http://www.oed.com/) 12th September 2006 Bogdan L. Vrusias © 2006 17 AI – CS364 Knowledge Representation Ontology • AI experts, like Tom Gruber, suggest that: – 'In the context of knowledge sharing, I use the term ontology to mean a specification of a conceptualization. That is, an ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agents. This definition is consistent with the usage of ontology as set-of-concept-definitions, but more general. And it is certainly a different sense of the word than its use in philosophy.‘ (www-ksl.stanford.edu/kst/what-is-an-ontology.html; last visited 10/09/06) 12th September 2006 Bogdan L. Vrusias © 2006 18 AI – CS364 Knowledge Representation Ontology • Also Tom Gruber, suggest that: 'An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence. For AI systems, what "exists" is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory.‘ (www-ksl.stanford.edu/kst/what-is-an-ontology.html; last visited 10/09/06) 12th September 2006 Bogdan L. Vrusias © 2006 19 AI – CS364 Knowledge Representation Ontology as a Specification Mechanism • A body of formally represented knowledge is based on a conceptualization: the objects, concepts, and other entities that are assumed to exist in some area of interest and the relationships that hold among them (Genesereth & Nilsson, 1987). • A conceptualization is an abstract, simplified view of the world that we wish to represent for some purpose. • Every knowledge base, knowledge-based system, or knowledge-level agent is committed to some conceptualization, explicitly or implicitly. 12th September 2006 Bogdan L. Vrusias © 2006 20 AI – CS364 Knowledge Representation Ontology 12th September 2006 Bogdan L. Vrusias © 2006 21 AI – CS364 Knowledge Representation Closing • • • • Questions??? Remarks??? Comments!!! Evaluation! 12th September 2006 Bogdan L. Vrusias © 2006 22