What is Knowledge?

advertisement
Knowledge Modeling and
Management
M1 2011-2012
Objectives for this session
History & theory of Knowledge
Management (KM)
 KM models
 Ontology and its design methodology.
 OWL.

What is Knowledge Modeling?


Knowledge modeling is a process of
creating a standard and computer
interpretable specifications of a given
domain knowledge.
Computer interpretable: it is expressed in
some knowledge representation language
that enables the knowledge to be
interpreted by software and to be stored.
Seek knowledge from the
cradle to the grave

Expertise, and skills acquired by a person
through experience or education; The
theoretical or practical understanding of a
subject:
 Knowing
that.
 Knowing how.
What is Knowledge?
It originates from the minds of knowers.
 In organizations it often becomes
embedded in documents, repositories,
organizational processes, practices and
norms. Davenport, T.H. & Prusak, L (1998). Working Knowledge.
 Knowledge is information in action. O’Dell C. &

Grayson Jr., C.J. (1998). If only we knew what we know.
Two types of knowledge
Know-how & learning
embedded within the minds
people.
Documented information
that can facilitate action.
Explicit knowledge

Formal or codified
 Documents: reports, policy
manuals, white papers,
standard procedures
 Databases
 Books, magazines, journals
(library)
Implicit (Tacit) knowledge




Informal and uncodified
Values, perspectives &
culture
Knowledge in heads
Memories of staff, suppliers
and vendors
Knowledge supports decisions and actions.
Sources: Polanyi, M. (1967). The tacit dimension. Leonard, D. & Sensiper, S. (1998). The Role of Tacit Knowledge in Group
Innovation. California Management Review.
Layers of knowledge
Explicit
Implicit (Tacit)
In people’s heads.
Individual
Personal documents
on my C:\
• Undocumented ways
• Formalized process.
of working.
• Cultural, conventions Organizational
• Corporate polices and
known and followed
procedures.
but not formalized.
Source: Luan, J & Serban, A. (2002, June). Knowledge management concepts, models and applications. Paper presented
at Annual AIR Forum, Toronto.
One Perspective of KM

“Knowledge Management involves
turning a company’s information into
actionable knowledge via a technology
platform.”
Susan DiMattia and Norman Oder in Library Journal,
September 15, 1997.
Understanding KM
Wisdom
Knowledge
Information
Data
From Facts to Wisdom
Knowledge Management Models
 Documentalist?
 Technologist?
 Learner
& Communicator?
Documentalists

In the first part of the twentieth
century, documentalists had grand
visions of collecting, codifying and
organizing the knowledge in form of
structural linguistics and semiotics.”.
Caution
 It
would be a mistake, though,
to define KM as solely the
domain of documents and
documentalists.
KM as a Technological Solution

KM is:
Big business.
A competitive advantage.
Intellectual capital.
An intranet solution.
An asset dimension.
A technological infrastructure.
Content nets
KM applications
As knowledge repositories for tacit
knowledge that has been made explicit
 For best practices databases or expert
“yellow pages”
 Online learning and knowledge sharing
 Knowledge sharing “boards”

The Challenges of Collaboration &
Knowledge Sharing


“Focusing exclusively on the technical issues of
knowledge sharing is a vey good way to a very
expensive failure.”
“A focus on the people issues dramatically increases
the potential for success.”
David Coleman, IBM Manager, San Francisco in Knowledge
Management, a Real Business Guide, London:IBM, nd.
Peoplenets & Processnets






For group learning applications
To connect individuals with each other for mentoring
and knowledge sharing
For decision support & decision making
To sense, share, and respond to the “signals” coming
from the environment
To capture ideas and turn them into action.
The eventual goal is to share knowledge
among members of the organization.
Caution
 It
would be a mistake, though,
to define KM as solely the KM’s
technology infrastructure.
Is it a mistake?
 “Processing
data can be
performed by machine, but only
the human mind can process
knowledge”!!!!
Jesse Shera in Machlup and Mansfield’s
The Study of Information: Interdisciplinary
Messages. NY: Wiley, 1983.
How to represent the knowledge

Links and structures

Notation

Ontology.
What is an Ontology?
•A written, formal description of a set of concepts and
relationships in a domain of interest. (Peter Karp (2000)
Bioinformatics).
• It is a formal explicit description of concepts in a domain,
properties of each concept describing various features and
attributes of the concept (slots (sometimes called roles
or properties)), and restrictions on slots (facets
(sometimes called role restrictions)).
• An ontology together with a set of individual instances
of classes constitutes a knowledge base.
• In reality, there is a fine line where the ontology ends and
the knowledge base begins.
Ontology is a system of concepts
Knowledge
Base
Ontology
An explicit specification of
a hidden conceptualization
of the target domain
The fundamental role of an ontology



An ontology is not directly used for problem
solving.
It gives a specification of knowledge/models in
a system.
The role of an ontology to a knowledge base is
to give definitions of concepts used in the
knowledge representation and constraints
among concepts
 to
make the knowledge base consistent and
transparent.

Knowledge Amplifier systems.
Why?
To share common understanding of the
structure of information among people or
software agents.
 Enabling reuse of domain knowledge.
 Making explicit domain assumptions
underlying an implementation.
 Separating the domain knowledge from the
operational knowledge is another common
use of ontologies.
 BI: analyzing domain knowledge.

Knowledge Eng. VS. Ontological
Eng.

KE is the research on:
 Domain-specific
heuristics for a standalone problem solver (AI).

OE is the research on:
 General/reusable/sharable/long-lasting
concepts for building a KB/model for
helping people solve problems.
Ontology types

Light-weight Ontology
 One
like Yahoo ontology
 Vocabulary rather than concepts
 Annotation-oriented ontology
 Used for Information search

Heavy-weight Ontology (,
 Koru,
Wolfram Alpha.
 Concepts rather than vocabulary
 for understanding the target world
 for building Knowledge-Based systems.
Know that Ontologies’
Design principles
Building Ontologies

In practical terms, developing an ontology
includes:
 defining
classes in the ontology,
 arranging the classes in a taxonomic
(subclass–superclass) hierarchy,
 defining slots and describing allowed values
for these slots,
 filling in the values for slots for instances.
Fundamental rules
There is no one correct way to model a
domain— there are always viable
alternatives.
 The best solution depends on the
application that you have in mind and the
extensions that you anticipate.

Fundamental rules
Ontology development is iterative.
 Concepts in the ontology are: objects and
relationships in a domain of interest.
 Objects are most likely to be nouns, the
relationships are verbs in sentences that
describe your domain.

Step 1. Determine the domain and
scope of the ontology
What is the domain that the ontology will
cover?
 For what we are going to use the ontology?
 For what types of questions the information
in the ontology should provide answers?
 Who will use and maintain the ontology?

Example





Consider an ontology which helps representing the
best combination (wine/ food).
Representation of food and wines is the domain of
the ontology.
We plan to use this ontology for the applications that
suggest good combinations of wines and food.
It is unlikely that the ontology will include concepts for
managing inventory in a winery or employees in a
restaurant.
If it helps restaurant customers decide which wine to
order, we need to include retail-pricing information.
Step 1 Example

Competency question
 Which
wine characteristics I consider when
choosing a wine?
 Is Bordeaux a red or white wine?
 Does it go well with seafood?
 What is the best choice of wine for grilled meat?
 Which characteristics of a wine affect its
appropriateness for a dish?
 Does a bouquet or body of a specific wine change
with vintage year?
Step 2. Consider reusing
existing ontologies

Sure, if they exist!!!
Step 3. Enumerate important
terms in the ontology




What are the terms we would like to talk about?
 wine, grape, winery, location, fish and red meat;
 subtypes of wine such as white wine, and so.
What properties do those terms have?
 a wine’s color, body, flavor and sugar content;
What would we like to say about those terms?
Constitute a list of terms without worrying about overlap
between concepts, relations among the terms, or whether
the concepts are classes or slots.
Step 4. Define the classes and the
class hierarchy

Methods
 Top-down: start with the most general
concepts in the domain and then their
domain and sub-classes.

For example creating classes for the general
concepts of Wine and Food. Then we
specialize the Wine class by creating some of
its subclasses: White wine, Red wine, Rosé
wine.
Step 4. Define the classes and
the class hierarchy
Bottom-up: starts with the most specific
classes, the leaves of the hierarchy, with
grouping of these classes into more general
concepts.
 Combination: it is a combination of the topdown and bottom-up approaches: We define
the more salient concepts first and then
generalize and specialize them appropriately.
Step 4. Define the classes and
the class hierarchy

Top-down
 Food
and Wine -- followed by White, Blush and
Red

Bottom-up
 define
specific wine class first and the work your
way up

Combination
Step 4. Define the classes and
the class hierarchy



From the list we select the terms that describe
objects having independent existence rather than
terms that describe these objects. These terms will
be classes in the ontology.
We organize the classes into a hierarchical taxonomy
by asking if by being an instance of one class, the
object will be by definition an instance of some other
classes.
A super class of B means that class B represents a
concept that is a “kind of” A.”
Step 5. Define the properties
of classes—slots

Types of properties
 “intrinsic”
properties such as the flavor of a wine;
 “extrinsic” properties such as a wine’s name,
 parts, if the object is structured; these can be both
physical and abstract “parts” (e.g., the courses of a
meal)
 relationships to other individuals; these are the
relationships between individual members of the class
and other items.
Step 5. Define the properties
of classes—slots




We have already selected classes from the list of terms we
created in step3. Most of the remaining terms are likely to be
properties of these classes.
For each property in the list, we must determine which class
it describes.
Describe the internal structure of concepts.
Examples
 a wine’s
 color,
 body,
 flavor
 sugar content
 location of a winery.
Completing slots

In addition to the properties we have identified
earlier, we need to add the following slots to the
Wine class: name, area, maker, grape.
Inheritance


All subclasses of a class inherit the slot of that class.
For example, all the slots of the class Wine will be
inherited to the subclasses Red Wine and White
Wine.
We will add an additional slot, tannin level (low,
moderate, or high), to the Red Wine class.
 The
tannin level slot will be inherited by all the classes
representing red wines (such as Bordeaux and Beaujolais).
Step 6. Define the facets of the slots


Slot cardinality
 defines how many values a slot can have.
 sometimes it may be useful to set the maximum
cardinality to 0 (why?)
Slot-value type
 what types of values can fill in the slot.
 allowed

values
other features of the values the slot can take.
Step 6. Define the facets of
the slots
 common
value types:
 String
 Number
 Boolean
 Enumerated
 Domain-range (instance- type) slots allow
definition of relationships between individuals.
Step 6 - Domain and Ranges




When defining a domain or a range for a slot, find the most
general classes or class that can be respectively the domain or
the range for the slots .
If a list of classes defining a range or a domain of a slot
includes a class and its subclass, remove the subclass.
If a list of classes defining a range or a domain of a slot
contains all subclasses of a class A, but not the class A itself,
the range should contain only the class A and not the
subclasses.
If a list of classes defining a range or a domain of a slot
contains all but a few subclasses of a class A, consider if the
class A would make a more appropriate range definition.
Step 7 - Creating Instances
Body: Light
 Color: Red
 Flavor: Delicate
 Tannin level: Low
 Grape: Gamay (instance of the Wine grape class)
 Maker: Chateau-Morgon (instance of the Winery
class)
 Region: Beaujolais (instance of the Wine-Region
class)
 Sugar: Dry

DONE??
Consistency/validity/sanity checks
Step 8 - Classes and a class
hierarchy

Ensuring that the class hierarchy is correct
 An “is-a” relation
 A subclass of a class represents a concept that is
a “kind of” the concept that the superclass
represents.
 Restrictions (transitivity, …) of the hierarchical
relations.
 Distinction between classes and their names
(synonyms of concept name do not represent different
classes.)
 Avoid class hierarchy cycles.
 All the siblings in the hierarchy must be at the same
level of generality.
Step 8 - Classes and a class
hierarchy

How many is too many and how few are
too few?
 If
a class has only one direct subclass there
may be a modeling problem or the ontology is
not complete.
 If there are a lot of subclasses for a given
class then additional intermediate categories
may be necessary.
Step 8 - Classes and a class
hierarchy
Multiple Inheritance is possible.
 When do you introduce a new level?

 Subclasses
of a class usually
(1) have additional properties that the super-class
does not have, or
 (2) restrictions different from those of the superclass, or
 (3) participate in different relationships than the
super-classes

Step 8 - Defining classes and a
class hierarchy


A new class or a property value?
 Depends on how important a concept
White Wine is in the domain
An instance or a class?
 starts with deciding what is the lowest level
of granularity in the representation.
 Individual instances are the most specific
concepts represented in a knowledge
base.
Step 8 - Limiting the scope
 The
ontology should not contain all the
possible information about the domain:

you need only to specialize (or generalize) more
than you need for your application at most one
extra level each way.
 The
ontology should not contain all the
possible properties of and distinctions among
classes in the hierarchy.
Details
Inverse slots
 Naming conventions
 Synonyms
 Defaults
 Disjoint subclasses

Next
Choose domain IN WHICH YOU ARE
EXPERT.
 Requirements

 Identify
intended use
 Show all steps mentioned so far…
OWL


OWL, Web Ontology Language, the language
that is aimed to be the standardised and broadly
accepted ontology language of the Semantic
Web.
RDF and RDFS allow the representation of:
 Subclass
and subproperty relationships,
 Domain and range restrictions, and,
 instances of classes.

A number of other features are missing:
OWL vs. RDF





Local scope of properties: rdfs:range defines the range
of a property, say eats, for all classes.
Disjointness of classes: Sometimes we wish to say that
classes are disjoint.
Boolean combinations of classes: Sometimes we wish to
build new classes by combining other classes using
union, intersection and complement.
Cardinality restrictions: Sometimes we wish to place
restrictions on how many distinct values a property may
or must take.
Special characteristics of properties: Sometimes it is
useful to say that a property is transitive.
OWL and RDF

OWL constructors like owl:Class,
owl:DatatypeProperty and owl:ObjectProperty
are all specialisations of their RDF
counterparts.
OWL
owl:Ontology element which contains comments,
version controls and inclusion of other
ontologies.
<owl:imports
rdf:resource="http://www.mydomain.org/persons
"/>
<rdfs:label>University Ontology</rdfs:label>
</owl:Ontology>
 Imports is a transitive property.

Class elements

There are two built-in classes, owl:Thing and
owl:Nothing.


The former contains everything (everything is a thing), the latter
is the empty class.
Classes are defined using a owl:Class element. For
example, we can define a class associateProfessor as
follows:
<owl:Class rdf:ID="associateProfessor">
<rdfs:subClassOf rdf:resource="#academicStaffMember"/>
</owl:Class>
Disjoint and Equivalence
- Equivalence:
<owl:Class rdf:ID="faculty">
<owl:equivalentClass
rdf:resource="#academicStaffMember"/>
</owl:Class>
- Disjoint:
<owl:Class rdf:about="associateProfessor">
<owl:disjointWith rdf:resource="#professor"/>
<owl:disjointWith rdf:resource="#assistantProfessor"/>
</owl:Class>
Property elements
In OWL there are two kinds of properties:

Object properties which relate objects to other items:
<owl:ObjectProperty rdf:ID="isTaughtBy">
<owl:domain rdf:resource="#course"/>
<owl:range rdf:resource="#academicStaffMember"/>
<rdfs:subPropertyOf rdf:resource="#involves"/>
</owl:ObjectProperty>

Datatype properties which relate objects to datatype values.
 OWL does not have any predefined data types, Instead it allows one to use XML
Schema data types:
<owl:DatatypeProperty rdf:ID="age">
<rdfs:range rdf:resource="http://www.w3.org/2001/XLMSchema
#nonNegativeInteger"/>
</owl:DatatypeProperty>

User-defined data types will usually be collected in an XML schema, and then
used in an OWL ontology.
Built-in properties

OWL allows us to describe « inverse properties ».
<owl:ObjectProperty rdf:ID="teaches">
<rdfs:range rdf:resource="#course"/>
<rdfs:domain rdf:resource="#academicStaffMember"/>
<owl:inverseOf rdf:resource="#isTaughtBy"/>
</owl:ObjectProperty>

Equivalence of properties:
<owl:ObjectProperty rdf:ID="lecturesIn">
<owl:equivalentProperty rdf:resource="#teaches"/>
</owl:ObjectProperty>
Built-in properties




owl:TransitiveProperty defines a transitive property.
owl:SymmetricProperty defines a symmetric
property.
owl:FunctionalProperty defines a property that has
at most one unique value for each object.
owl:InverseFunctionalProperty defines a property for
which two different objects cannot have the same
value.
Built-in properties
Example:
<owl:ObjectProperty rdf:ID="hasSameGradeAs">
<rdf:type rdf:resource="&owl;TransitiveProperty" />
<rdf:type rdf:resource="&owl;SymmetricProperty" />
<rdfs:domain rdf:resource="#student" />
<rdfs:range rdf:resource="#student" />
</owl:ObjectProperty>

Exercises: Define « Age» and « IdNumber » using
FunctionalProperty and InverseFunctionalProperty.

Is there another way to define « Age » cardinality?
Property restrictions



owl:Restriction defines an anonymous class which has
no id, is not defined by owl:Class and can only be used
in the one place where the restriction appears.
In general, an owl:Restriction element contains an
owl:onProperty element, and one or more restriction
declarations.
One type of restriction declarations are those that define
restrictions on the kinds of values the property can take:

owl:allValuesFrom, owl:hasValue and owl:someValuesFrom.
Universal quantification
<owl:Class rdf:about="#firstYearCourse">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#isTaughtBy"/>
<owl:allValuesFrom rdf:resource="#Professor"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Existential quantification
<owl:Class rdf:about="#academicStaffMember">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#teaches"/>
<owl:someValuesFrom
rdf:resource="#undergraduateCourse"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
hasValue
<owl:Class rdf:about="#mathCourse">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#isTaughtBy"/>
<owl:hasValue rdf:resource="#949352"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Cardinality restrictions
<owl:Class rdf:about="#course">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#isTaughtBy"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">
1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

Here we require every course to be taught by at least someone.
Cardinality restrictions
<owl:Class rdf:about="#department">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMember"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">
10
</owl:minCardinality>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">
30
</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
 Here we specify that, for practical reasons, a department must have
at least ten and at most thirty members.

Exercise: a PhD student must have exactly two supervisors.
Enumerations

An enumeration is a owl:oneOf element, and is used to
define a class by listing all its elements.
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Monday"/>
<owl:Thing rdf:about="#Tuesday"/>
<owl:Thing rdf:about="#Wednesday"/>
<owl:Thing rdf:about="#Thursday"/>
<owl:Thing rdf:about="#Friday"/>
<owl:Thing rdf:about="#Saturday"/>
<owl:Thing rdf:about="#Sunday"/>
</owl:oneOf>
Boolean combinations

union, intersection, complement of classes.
<owl:Class rdf:about="#student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:complementOf rdf:resource="#staffMember"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
 This says that every student is an instance of the complement of
staff members, that is, no student is a staff member.
Boolean combinations
<owl:Class rdf:ID="peopleAtUni">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#staffMember"/>
<owl:Class rdf:about="#student"/>
</owl:unionOf>
</owl:Class>
 As we did not specify that the two classes must
be disjoint, it is, in this case, possible that a staff
member is also a student!
Explain this!
<owl:Class rdf:ID="adminStaff">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#staffMember"/>
<owl:complementOf>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#faculty"/>
<owl:Class rdf:about="#techSupportStaff"/>
</owl:unionOf>
</owl:complementOf>
</owl:intersectionOf>
</owl:Class>
 defines
administrative staff to be those staff members
that are neither faculty nor technical support staff.
Instances
Defined as the following:
<academicStaffMember rdf:ID="949352">
<uni:name rdf:datatype="&xsd;string">Ford<uni:name>
</academicStaffMember>
For all instances you should use pairwise inequality:
<owl:allDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<lecturer rdf:about="949318">
<lecturer rdf:about="949352">
<lecturer rdf:about="949111">
</owl:distinctMembers>
</owl:allDifferent>
References
ASIS KM Website
http://www.asis.org/SIG/sigkm/index.html

Brint.com Knowledge Portal
http://www.brint.com/ym.html

Knowledge Management Research Center
http://www.cio.com/research/knowledge/

Karl-Erik Sveiby and Knowledge Associates
http://www.sveiby.com.au/

University of Arizona
http://www.cmi.arizona.edu/research/kno_mgmt/

Riichiro MizoguchiSIR, Osaka University
http://www.ei.sanken.osaka-u.ac.jp

Canadian Institutional Research and Planning Association.

Cartic Ramakrishnan, LSDIS Lab, University of Georgia.

Ontology Working Group.

Web Ontology Language: OWL, Grigoris Antoniou1 and Frank van Harmelen2

Download