inf 384 c, spring 2009 ontologies knowledge representation to support computer reasoning

17
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Upload: cecil-parrish

Post on 29-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

INF 384 C, Spring 2009

Ontologies

Knowledge representation to support computer reasoning

Page 2: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

INF 384 C, Spring 2009

Outline

• What is an ontology? • How are ontologies different from other forms

of organizational schemes? • What is the Semantic Web, and how does it

relate to ontologies?

Page 3: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

INF 384 C, Spring 2009

Ontology basics

An ontology is a system of related concepts (or classes; essentially categories of things) in a particular domain. The ontology specifies attributes (or slots, or roles, or properties) pertinent to the concepts.

The structure provided by the ontology (via both relationships and constraints on attribute values) enables the generation of inferences, or conclusions, based on logical reasoning.

Page 4: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

INF 384 C, Spring 2009

Reasoning with class hierarchyWith an ontology of languages, I could reason, based on the principle of hierarchical inheiritance and the degree of relationship, that, as an English speaker, it would be easier for me to learn French than to learn Arabic, because French is more closely related to English.

Page 5: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

INF 384 C, Spring 2009

Reasoning with slot valuesIf a slot in the Language class specifies the script each language instance uses, then we know, via the ontology, that English and French are written using the Roman alphabet, while Russian uses the Cyrillic alphabet. Based on this information, one might reason that French is easier for an English speaker to learn than Russian, even though Russian and French are both Indo-European.

Page 6: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Ontology elements

Ontologies consist of classes. Each class defines a category of entities (for example, Indo-European Languages). Slots (such as Script) define attributes for each class.

Subclasses, related taxonomically to a class (such as Romance Languages for Indo-European Languages), inheirit the slots of the superclass. (So if Script is a slot for the root class Languages, then Romance Languages also have a slot for Script.)

Page 7: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Ontology structure

Ontologies are often composed of multiple hierarchies that are linked in a web of associative relationships. For example, a Languages ontology might include a class that defines scripts, or systems of writing.

The Script class is not a subclass of the Language class. The Script class provides values for the Script slot in the Language class. The Script class may itself have subclasses, such as Alphabet and Syllabary.

Page 8: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Ontology relationships

INF 384 C, Spring 2009

Subclasses of Script are related to languages through a slot in the Language class.

Page 9: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Classes and instances

A class is like a schema; it defines and category and associated properties. Actual entities (such as English and French) are instances of particular classes (Germanic Languages and Romance Languages, respectively).

In the Languages example, English, French, and Russian share common superclasses, including Indo-European Languages and Languages. They thus all have the slots specified by these superclasses, including Script. English and French have the same value—the Roman alphabet—for the Script slot, while Russian has the Cyrillic alphabet as its value for Script.

Page 10: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Properties of slots

Slots may be defined independently from classes (and thus used in multiple classes).

The range specifies the values that can apply to the slot. The values for a Script slot might be restricted to instances of a Script class. (Values might also be simple strings or numbers, not class instances; a Name slot might be just a string.) The domain specifies the classes that can include the slot. A Script slot’s domain might be the Language class.

A slot’s cardinality indicates how many values the slot can have.

Page 11: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Ontologies and other organizational schemes

Ontologies may sound complicated, but they are similar to other organizational schemes that we have seen. Ontologies include more information about concepts than taxonomies do (via slots) and include more complex relationships (also via slots).

In a typical metadata schema, attribute values are just values: strings, numbers. In an ontology, slots are often members of a defined class, which may themselves have slots that are members of a defined class, forming a web of structured information.

Page 12: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

The Semantic Web

The Semantic Web, envisioned by Tim Berners-Lee and others, describes a version of the Web where statements can be made about identified resources.

The statements then make up a sort of knowledge base that can computers can use for logical reasoning.

Page 13: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Semantic Web statements: RDF

Statements in the Semantic Web are made using the Resource Description Framework, or RDF.

RDF encodes triples, or simple sentences, that indicate the subject, verb (or predicate), and object of a statement. An RDF statement might indicate that a Web page (the subject) has an author (the verb) who is me (the object).

A statement: http://www.ischool.utexas.edu/~feinberg/ has a creator whose value is “Melanie Feinberg”

Page 14: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Semantic Web identifiers: URIs

Any element of an RDF statement can be indicated with a URI, or Uniform Resource Identifier.

The URI uniquely identifies each element. The resource identified with each URI is therefore precisely defined (e.g., the URI for “is an author of” might indicate what authorship means, encoded in RDF/XML; the URI for “Melanie Feinberg” might provide information about me).

Page 15: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

RDF statementsAn RDF statement that assigns authorship of my Web site to me might look like this, using URIs:

<http://www.ischool.utexas.edu/~feinberg/> <http://purl.org/dc/elements/1.1/creator> <http://www.ischool.utexas.edu/people/person_details.php?PersonID=134>

When RDF statements refer to URIs, the values associated with any URI can change without invalidating associated statements. (For example, the Dublin Core could change its definition of “Creator.”) Also you specify the “Melanie Feinberg” who is me, and not another “Melanie Feinberg.”

Page 16: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Semantic Web data structures

More sophisticated data structures can be defined with RDF Schema, a way of encoding properties (such as “Creator”) and classes (such as “Person”) with RDF/XML.

One example of such a data structure is the Simple Knowledge Organization System (SKOS), with which one can encode thesauri and other organizational schemes in RDF, to be more easily manipulated by computers.

Page 17: INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning

Your mission

• Continue creating the classified structure of your subject language.

• Begin creating the alphabetical display and writing up your introduction.

• Bring a draft of your classified and alphabetic schedules to class next week for peer feedback sessions.