SCS 412 Knowledge Based Systems
Chapter 3 Knowledge Engineering
Knowledge engineering
process of
– eliciting,
– structuring,
– formalizing,
– operationalizing
information and knowledge involved in a
knowledge-intensive problem domain,
in order to construct a program that can
perform a difficult task adequately
Introduction
Objectives:
• The primary goal of knowledge engineering is
to create systems that can reason, learn, and
solve complex problems by leveraging human-
like knowledge and expertise.
• Knowledge engineers aim to formalize and
encode domain-specific knowledge into a
format that can be processed and utilized by
computers
Introduction 3
Process (Key Components)
• Knowledge Acquisition: Knowledge engineers elicit,
capture, and formalize knowledge from domain
experts using various techniques such as interviews,
surveys, observations, and documentation analysis.
• Knowledge Representation: Knowledge engineering
involves selecting appropriate representation
languages and formalisms to model and organize
knowledge within the system. Common
representations include rules, frames, semantic
networks, ontologies, and logic-based formalisms.
Introduction 4
Process (Key Components)
• Inference Mechanisms: Knowledge-based systems
employ inference engines and reasoning algorithms
to derive new knowledge from existing knowledge
and make decisions based on available information.
• Knowledge Validation and Verification: Knowledge
engineers ensure that the knowledge encoded
within the system is accurate, consistent, and
reliable. They employ validation and verification
techniques to assess the correctness and quality of
the knowledge base.
Introduction 5
Process (Key Components)
• Knowledge Maintenance: Knowledge
engineering involves mechanisms for
updating, revising, and evolving the
knowledge base over time to reflect changes
in the domain or user requirements.
Introduction 6
Applications:
• Knowledge engineering finds applications in
various domains, including:
– Expert systems: Intelligent systems that emulate
the decision-making capabilities of human experts
in specific domains, such as medicine, finance,
engineering, and diagnostics.
– Decision support systems: Systems that assist
users in making decisions by providing relevant
information, analysis, and recommendations.
Introduction 7
Applications:
• Natural language processing: Systems that
understand, interpret, and generate human
language, enabling communication and
interaction between humans and machines.
• Semantic web: Technologies that enable the
representation, sharing, and integration of
knowledge on the World Wide Web using
standardized formats and ontologies.
Introduction 8
Challenges and Considerations:
• Knowledge engineering, like any field, faces
several challenges and considerations. These
factors can affect the effectiveness, reliability,
and usability of knowledge-based systems.
• Addressing these challenges requires
interdisciplinary collaboration, continuous
learning, and advancements in AI, machine
learning, and cognitive science.
Introduction 9
Challenges and Considerations:
• Knowledge Acquisition:
– Acquiring knowledge from human experts can be
challenging due to the tacit nature of expertise and
the difficulty in articulating implicit knowledge.
– Experts may have different perspectives,
interpretations, and levels of expertise, leading to
inconsistencies or biases in the knowledge base.
– Knowledge acquisition processes may be time-
consuming, resource-intensive, and susceptible to
errors or misunderstandings.
Introduction 10
Challenges and Considerations:
• Knowledge Representation:
– Selecting appropriate representation schemes and
formalisms for encoding knowledge can be complex
and domain-specific.
– Representing uncertainty, ambiguity, and context-
dependent knowledge poses challenges, particularly in
domains with incomplete or conflicting information.
– Knowledge representation languages may lack
expressiveness or scalability for capturing complex
domain structures and relationships.
Introduction 11
Challenges and Considerations:
• Inference and Reasoning:
– Designing efficient and effective inference mechanisms for
deriving new knowledge and making decisions requires
expertise in logic, probability theory, and computational
reasoning.
– Handling uncertainty, inconsistency, and conflicting
evidence in the reasoning process can be challenging,
necessitating advanced techniques for uncertainty
management and belief revision.
– Inference algorithms may encounter scalability issues when
dealing with large-scale knowledge bases or complex
reasoning tasks.
Introduction 12
Challenges and Considerations:
• Validation and Verification:
– Ensuring the accuracy, consistency, and reliability of
the knowledge base and reasoning mechanisms is
essential but challenging.
– Validation and verification processes may require
domain expertise, rigorous testing procedures, and
validation against benchmark datasets or expert
judgments.
– Overfitting, bias, and data quality issues in the
knowledge base can undermine the reliability and
robustness of the system.
Introduction 13
Challenges and Considerations:
• Ethical and Societal Considerations:
– Knowledge-based systems raise ethical concerns
related to privacy, transparency, accountability, and
fairness.
– Biases in the knowledge base or inference mechanisms
can lead to discriminatory outcomes or reinforce
existing social inequalities.
– Ensuring transparency and accountability in system
design, decision-making processes, and user
interactions is critical for building trust and mitigating
ethical risks.
Introduction 14
Challenges and Considerations:
• Knowledge Maintenance and Evolution:
– Knowledge-based systems require continuous
maintenance and evolution to adapt to changing
environments, user needs, and technological
advancements.
– Updating the knowledge base, refining inference
mechanisms, and addressing performance issues
require ongoing resources, expertise, and collaboration.
– Balancing the need for stability with the demand for
innovation and adaptation poses challenges in system
design and management.
Introduction 15
Challenges and Considerations:
• Interdisciplinary Collaboration:
– Knowledge engineering involves collaboration
across multiple disciplines, including artificial
intelligence, cognitive science, domain expertise,
and software engineering.
– Bridging disciplinary boundaries, aligning goals
and methodologies, and fostering effective
communication among stakeholders require
coordination and shared understanding.
Introduction 16
Importance of proper knowledge
engineering
• Enhanced Decision-Making:
– Proper knowledge engineering enables the
creation of knowledge-based systems that can
support decision-making processes across various
domains.
– By formalizing and organizing domain-specific
knowledge, these systems can provide insights,
recommendations, and solutions to complex
problems, leading to informed and effective
decision-making.
Introduction
Importance of proper knowledge
engineering
• Efficient Problem Solving:
– Knowledge engineering allows for the codification
of problem-solving strategies, heuristics, and best
practices within computational systems.
– This facilitates efficient problem-solving by
automating routine tasks, identifying patterns, and
generating solutions based on established rules
and guidelines.
Introduction 18
Importance of proper knowledge
engineering
• Knowledge Sharing and Transfer:
– Properly engineered knowledge systems enable
the sharing and transfer of expertise and insights
across individuals, teams, and organizations.
– By capturing and formalizing knowledge in a
structured format, these systems facilitate
collaboration, learning, and innovation by making
knowledge accessible and reusable.
Introduction 19
Importance of proper knowledge
engineering
• Improved Learning and Adaptation:
– Knowledge engineering supports continuous
learning and adaptation by enabling systems to
acquire, assimilate, and apply new knowledge
over time.
– Through feedback mechanisms and iterative
refinement, these systems can update their
knowledge bases, improve their performance, and
adapt to changing environments and
requirements.
Introduction 20
Importance of proper knowledge
engineering
• Risk Mitigation and Compliance:
– Knowledge engineering helps mitigate risks and
ensure compliance with regulatory standards and
industry best practices.
– By encoding rules, policies, and guidelines within
computational systems, organizations can enforce
compliance, mitigate errors, and reduce the
likelihood of costly mistakes or legal liabilities.
Introduction 21
Importance of proper knowledge
engineering
• Innovation and Creativity:
– Properly engineered knowledge systems can
foster innovation and creativity by providing a
foundation for exploration, experimentation, and
discovery.
– By facilitating access to diverse perspectives,
insights, and resources, these systems can inspire
novel ideas, approaches, and solutions to
emerging challenges and opportunities.
Introduction 22
Importance of proper knowledge
engineering
• Efficient Resource Utilization:
– Knowledge engineering promotes efficient
resource utilization by automating repetitive tasks,
streamlining processes, and optimizing resource
allocation.
– By leveraging computational power and intelligent
algorithms, these systems can enhance
productivity, reduce costs, and maximize the value
of available resources.
Introduction 23
Importance of proper knowledge
engineering
• Empowerment:
– Proper knowledge engineering empowers
individuals, teams, and organizations to harness
the collective intelligence and expertise within
their communities.
– By providing access to relevant information,
insights, and tools, these systems empower users
to make informed decisions, solve problems, and
achieve their goals effectively.
Introduction 24
Transfer View of KE
• Extracting knowledge from a human expert
– “mining the jewels in the expert’s head”’
• Transferring this knowledge into KS.
– expert is asked what rules are applicable
– translation of natural language into rule format
Introduction
Problems with transfer view
The knowledge providers, the knowledge
engineer and the knowledge-system
developer should share
– a common view on the problem solving process
and
– a common vocabulary
in order to make knowledge transfer a viable
way of knowledge engineering
Introduction
Methodological pyramid
case studies
application projects use feedback
CASE tools
tools
implementation environments
life-cycle model, process model,
methods
guidelines, elicitation techniques
graphical/textual notations
worksheets, document structure theory
model-based knowledge engineering world view
reuse of knowledge patterns
Introduction
World view: Model-Based KE
• The knowledge-engineering space of choices
and tools can to some extent be controlled by
the introduction of a number of models
• Each model emphasizes certain aspects of the
system to be built and abstracts from others.
• Models provide a decomposition of
knowledge-engineering tasks: while building
one model, the knowledge engineer can
temporarily neglect certain other aspects.
Introduction
CommonKADS principles
• Knowledge engineering is not some kind of `mining
from the expert's head', but consists of constructing
different aspect models of human knowledge
• The knowledge-level principle: in knowledge
modeling, first concentrate on the conceptual
structure of knowledge, and leave the programming
details for later
• Knowledge has a stable internal structure that is
analyzable by distinguishing specific knowledge
types and roles.
Introduction
CommonKADS theory
• KBS construction entails the construction of a
number of models that together constitute part
of the product delivered by the project.
• Supplies the KBS developer with a set of model
templates.
• This template structure can be configured,
refined and filled during project work.
• The number and level of elaboration of models
depends on the specific project context.
Introduction
CommonKADS Model Set
Organization Task Agent
Context
Model Model Model
Knowledge Communication
Concept
Model Model
Design
Artefact
Model
Introduction
Model Set Overview (1)
• Organization model
– supports analysis of an organization,
– Goal: discover problems, opportunities and possible
impacts of KBS development.
• Task model
– describes tasks that are performed or will be performed
in the organizational environment
• Agent model
– describes capabilities, norms, preferences and
permissions of agents (agent = executor of task).
Introduction
Model Set Overview (2)
• Knowledge model
– gives an implementation-independent description
of knowledge involved in a task.
• Communication model
– models the communicative transactions between
agents.
• Design model
– describes the structure of the system that needs
to be constructed.
Introduction
Principles of the Model Set
• Divide and conquer.
• Configuration of an adequate model set for a
specific application.
• Models evolve through well defined states.
• The model set supports project management.
• Model development is driven by project
objectives and risk.
• Models can be developed in parallel.
Introduction
Models exist in various forms
• Model template
– predefined, fixed structure, can be configured
• Model instance
– objects manipulated during a project.
• Model versions
– versions of a model instance can exist.
• Multiple model instances
– separate instances can be developed
– example: ''current'' and ''future'' organization
Introduction
The Product
• Instantiated models
– represent the important aspects of the
environment and the delivered knowledge based
system.
• Additional documentation
– information not represented in the filled model
templates (e.g. project management information)
• Software
Introduction
Roles in knowledge-system development
• Knowledge engineering involves collaboration
among various stakeholders who contribute
their expertise, skills, and perspectives
throughout the development lifecycle of
knowledge-based systems.
• Here are the key roles and stakeholders
involved in knowledge engineering:
Introduction
Knowledge provider/specialist
• “traditional” expert
• person with extensive experience in an
application domain
• can provide also plan for domain
familiarization
– “where would you advise a beginner to start?”
• inter-provider differences are common
• need to assure cooperatio
Introduction
Knowledge engineer
• Knowledge engineers are responsible for
designing, developing, and maintaining
knowledge-based systems.
• They facilitate the acquisition, representation,
and utilization of domain knowledge within
computational systems, employing various
methodologies, techniques, and tools from
artificial intelligence, knowledge representation,
and software engineering domains.
Introduction
Knowledge-system developer
• person that implements a knowledge system
on a particular target platform
• needs to have general design/implementation
expertise
• needs to understand knowledge analysis
– but only on the “use”-level
• role is often played by knowledge engineer
Introduction
Data Scientists and Analysts:
• Data scientists and analysts may be involved in
knowledge engineering projects that
incorporate machine learning, data mining, or
statistical analysis techniques.
• They contribute to data-driven knowledge
acquisition, pattern recognition, predictive
modeling, and decision-making processes
within the knowledge-based system.
Introduction 41
Knowledge user
• Primary users
– interact with the prospective system
• Secondary users
– are affected indirectly by the system
• Level of skill/knowledge is important factor
• May need extensive interacting facilities
– explanation
• His/her work is often affected by the system
– consider attitude / active tole
Introduction
User Experience (UX) Designers:
• UX designers focus on creating intuitive, user-
friendly interfaces and interactions that
enhance the usability and accessibility of the
knowledge-based system.
• They collaborate with knowledge engineers to
design user interfaces, navigation flows, and
interaction patterns that support efficient
knowledge access, exploration, and utilization
Introduction 43
Project manager
• Project managers oversee the planning,
execution, and delivery of knowledge
engineering projects, ensuring that they are
completed on time, within budget, and
according to quality standards.
• They coordinate activities, manage resources,
mitigate risks, and communicate with
stakeholders to ensure project success and
alignment with organizational goals.
Introduction
Knowledge manager
• background role
• monitors organizational purpose of
– system(s) developed in a project
– knowledge assets developed/refined
• initiates (follow-up) projects
• should play key role in reuse
• may help in setting up the right project team
Introduction
Ethics and Governance Experts:
• Ethics and governance experts may provide
guidance on ethical considerations, regulatory
compliance, and responsible use of
knowledge-based systems.
• They help identify potential biases, privacy
concerns, and societal implications associated
with system deployment and usage,
promoting transparency, accountability, and
fairness in knowledge engineering practices.
Introduction 46
Roles in knowledge-system development
knowledge
manager
defines knowledge strategy
initiates knowledge development projects
facilitates knowledge distribution
knowledge
engineer/
knowledge elicits knowledge analyst
provider/ from project
specialist manager
manages
elicits
requirements
from
validates
delivers
analysis models
to
KS manages
uses
knowledge
user
designs &
implements
knowledge
system developer
Introduction