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

advertisement
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?
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.
INF 384 C, Spring 2009
Reasoning with class hierarchy
With 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.
INF 384 C, Spring 2009
Reasoning with slot values
If 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.
INF 384 C, Spring 2009
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.)
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.
Ontology relationships
Subclasses of Script are related to languages through a slot in the
Language class.
INF 384 C, Spring 2009
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.
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.
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.
The Semantic Web
The Semantic Web, envisioned by Tim BernersLee 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.
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”
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).
RDF statements
An 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.”
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.
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.
Download