Jump to content

Knowledge engineering: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
remove copyright content copied from http://ieeexplore.ieee.org/document/8019989
mNo edit summary
 
(19 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{Short description|Methods for developing expert systems}}
{{about|methods for developing expert systems|application of knowledge based technology to the domain of manufacturing and CAD|Knowledge based engineering}}
{{about|methods for developing expert systems|application of knowledge based technology to the domain of manufacturing and CAD|Knowledge based engineering}}
'''Knowledge engineering''' ('''KE''') refers to all technical, scientific and social aspects involved in building, maintaining and using [[knowledge-based systems]].
'''Knowledge engineering''' ('''KE''') refers to all aspects involved in [[knowledge-based systems]].

A more specific definition of the domain restricts it to expert systems (ES) (frequently called [[knowledge-based systems]]). Although the terms sound very general, actually they have acquired a very technical, restricted meaning of referring to narrow set of computer systems fulfilling quite rigid conditions. Such definition is not representative of cornucopia of knowledge intensive applications and technologies flooding the digital world. A more general view regards KE as an area of engineering dealing with knowledge in general, beyond ES. The more general view extends and generalizes the definition of [[knowledge-based systems]].

The KE R&D takes place to a large degree in labs such as [[Ruppin Academic Center#Knowledge Engineering and Robotics|Ruppin Knowledge Engineering Lab]] lead by Rina Zviel-Girshin and Nate Rosenberg.


== Background ==
== Background ==
Line 11: Line 8:


Expert systems were first developed in artificial intelligence laboratories as an attempt to understand complex human decision making. Based on positive results from these initial prototypes, the technology was adopted by the US business community (and later worldwide) in the 1980s. The Stanford heuristic programming projects led by [[Edward Feigenbaum]] was one of the leaders in defining and developing the first expert systems.
Expert systems were first developed in artificial intelligence laboratories as an attempt to understand complex human decision making. Based on positive results from these initial prototypes, the technology was adopted by the US business community (and later worldwide) in the 1980s. The Stanford heuristic programming projects led by [[Edward Feigenbaum]] was one of the leaders in defining and developing the first expert systems.

=== Knowledge systems ===
Before the AI winter ES was the main example of KS. With the technological ICT advances and business and social changes (frequently called the fourth industrial revolution), more general non-algorithmic systems have been developed. The field witnesses awe-inspiring deluge of divergent technologies and applications.


== History ==
== History ==
In the earliest days of expert systems there was little or no formal process for the creation of the software. Researchers just sat down with domain experts and started programming, often developing the required tools (e.g. [[inference engine]]s) at the same time as the applications themselves. As expert systems moved from academic prototypes to deployed business systems it was realized that a methodology was required to bring predictability and control to the process of building the software. There were essentially two approaches that were attempted:
In the earliest days of expert systems, there was little or no formal process for the creation of the software. Researchers just sat down with domain experts and started programming, often developing the required tools (e.g. [[inference engine]]s) at the same time as the applications themselves. As expert systems moved from academic prototypes to deployed business systems it was realized that a methodology was required to bring predictability and control to the process of building the software. There were essentially two approaches that were attempted:


# Use conventional software development methodologies
# Use conventional software development methodologies
Line 27: Line 21:
The final issue with using conventional methods to develop expert systems was the need for [[knowledge acquisition]]. ''Knowledge acquisition'' refers to the process of gathering expert knowledge and capturing it in the form of rules and ontologies. Knowledge acquisition has special requirements beyond the conventional specification process used to capture most business requirements.
The final issue with using conventional methods to develop expert systems was the need for [[knowledge acquisition]]. ''Knowledge acquisition'' refers to the process of gathering expert knowledge and capturing it in the form of rules and ontologies. Knowledge acquisition has special requirements beyond the conventional specification process used to capture most business requirements.


These issues led to the second approach to knowledge engineering: development of custom methodologies specifically designed to build expert systems.<ref>{{cite book|last1=Feigenbaum|first1=Edward|last2=McCorduk|first2=Pamela|title=The Fifth Generation| edition = 1st | year = 1983 | publisher = [[Addison-Wesley]] | location = [[Reading, MA]] | isbn = 978-0-201-11519-2 | oclc = 9324691}}</ref> One of the first and most popular of such methodologies custom designed for expert systems was the [[Knowledge Acquisition and Documentation Structuring]] (KADS) methodology developed in Europe. KADS had great success in Europe and was also used in the United States.<ref>{{citation | last = Schreiber | first = August Th. | last2 = Akkermans | first2 = Hans | last3 = Anjewierden | first3 = Anjo | last4 = Dehoog | first4 = Robert | authorlink4 = Robert de Hoog (scientist) | last5 = Shadbolt | first5 = Nigel | authorlink5 = Nigel Shadbolt | last6 = Vandevelde | first6 = Walter | last7 = Wielinga | first7 = Bob | authorlink7 = Bob Wielinga | title = Knowledge engineering and management: the CommonKADS methodology | edition = 1st | year = 2000 | publisher = The MIT Press | location = [[Cambridge, MA]] | isbn = 978-0-262-19300-9 }}</ref>
These issues led to the second approach to knowledge engineering: development of custom methodologies specifically designed to build expert systems.<ref>{{cite book|last1=Feigenbaum|first1=Edward|last2=McCorduk|first2=Pamela|title=The Fifth Generation|url=https://archive.org/details/fifthgenerationa00feigrich|url-access=registration| edition = 1st | year = 1983 | publisher = [[Addison-Wesley]] | location = [[Reading, MA]] | isbn = 978-0-201-11519-2 | oclc = 9324691}}</ref> One of the first and most popular of such methodologies custom designed for expert systems was the [[Knowledge Acquisition and Documentation Structuring]] (KADS) methodology developed in Europe. KADS had great success in Europe and was also used in the United States.<ref>{{citation | last = Schreiber | first = August Th. | last2 = Akkermans | first2 = Hans | last3 = Anjewierden | first3 = Anjo | last4 = Dehoog | first4 = Robert | authorlink4 = Robert de Hoog (scientist) | last5 = Shadbolt | first5 = Nigel | authorlink5 = Nigel Shadbolt | last6 = Vandevelde | first6 = Walter | last7 = Wielinga | first7 = Bob | authorlink7 = Bob Wielinga | title = Knowledge engineering and management: the CommonKADS methodology | edition = 1st | year = 2000 | publisher = The MIT Press | location = [[Cambridge, MA]] | isbn = 978-0-262-19300-9 }}</ref>

== OK paradigm ==

=== Organic Knowledge Engineering ===
Organic Knowledge (OK) is a paradigm for OK systems engineering developed over the last two decades. Organic Knowledge (OK) system can be abstractly seen as advisory board of very different (even adversary) educators with mechanisms of cooperation that work together to suggest to the student the next game after constantly observing him.

In addition to using all the principles of SE, the organic SE adds another special layer of tools. It simulates and incorporates both the knowledge of the software engineer and the knowledge of the domain expert.

In a nutshell the organic approach is treating the problem and the solution process as a living organism (or ecology of organisms if more appropriate). The organic solution is non-algorithmic and evolving using feedback and data-to-knowledge mechanisms. It is as if the solution is like a child – in the beginning having no knowledge (except some basic mechanisms needed for evolution), and by process of feedback and Darwinian natural selection the solution gradually evolves into better and better reactions using the growing body of knowledge.<ref name=":0" />

The most basic aspects of the paradigm are the especially big body of organic knowledge and the organic life-cycle.

Organic knowledge is simulating as far as possible human knowledge and as such it is:

* Very big
* Evolving
* Dialectical
* Conflict-resolution included
* Organized
* Gestalt for prevention of divergence
* Default scripts and behaviors
* Mechanisms for self-awareness, study and reflection

Organic life-cycle is reminiscent of the prototype cycle but it is much more sophisticated. It simulates the growth of human intelligence, creating solutions more and more plausible using mechanisms of feedback and learning. The testing and maintenance stages become the most important. Human feedback, whether by the designer, the human domain experts or the users is crucial and remains vital part for the duration of the life-cycle (though as time goes by the system becomes more and more automated).

The Organic Knowledge (OK) system built using this organic paradigm can have, in principle, different degrees of automation, from totally automated systems to totally human operated solutions. But in real life a system will be situated on the scale somewhere between the two extremes, being partially automated, part that will continuously grow with time.

The main stages of the organic algorithm are:

# Initial raw data and reasoning techniques acquisition.
# Initial gestalt formation.
# Gestalt processing of the raw data stream into knowledge and reasoning multiplicity.
# Layering of multiplicity, layer formation through horizontal and vertical   classification, structuring, matching, clustering and abstraction.
# Global control manager formation (user, feedback, resources allocation).
# Evolutionary interactive incremental feedback - driven improvement.

In this fashion the paradigm allows building and simulation of intelligent systems in complex and not well defined domains, where the human experts are bewildered when required to give clear answers regarding the knowledge and reasoning process.

=== OK systems implementation ===
The computer implementation of such a system can be described in more precise terms. Organic Knowledge (OK) systems are ICT systems incorporating human expertise. One would be tempted to describe them as Expert Systems (ES) “on steroids” transforming them into Knowledge Systems (KS). If at all, they are an ecological system of many different and sometimes contradictory experts, called organs. But in reality the OK systems are so much more in almost every aspect that it is more correct to say they are the fulfillment of the ES vision. Other spiritual ancestors of OK system are Turing’s “child programs”<ref name=":1" /> and Minsky’s learning, evolving and non-algorithmic Society of Mind proposals<ref name=":2" />.

OK system is:
* intelligent
* evolving
* learning
* organized
* distributed
* dialectical
* very big knowledge base

Each organ is simulating an independent expert, and includes:

*     knowledge base (data, meta-data and procedures)
*     feedback apparatus:
**   knowledge acquisition mechanism (interfaces and communication)
**   learning mechanism (inference of new knowledge and processing)
**   evolution mechanism (creating and changing organs in view of the new knowledge)
*     interfaces:
**   environment (local)
*** subjective (user)
*** objective
**   communication (network)
*** with other organs (o2o)
*** with remote servers
*** with remote users (p2p)
*** with remote resources
*     execution (proactive)

== GML paradigm ==

=== General Outline ===
The Gestalt-Multiplex-Layering (GML) paradigm entails: gestalt – a deeper model of the expert knowledge and reasoning process; multiplicity – simultaneous use and cooperation of different and conflicting approaches; layering – use of a hierarchy of independent layers of control and processing, through which the input and intermediate results are propagated<ref>Zviel-Girshin, R., and Rosenberg, N. 2015. ''ICT for education – an OK approach.'' ILAIS, Israel, 61-64.</ref> <ref name=":1">Turing, A. M. 1950. Computing Machinery and Intelligence. ''Mind (49),'' pp.433-460.</ref><ref name=":2">Minsky, M. 1988. The ''Society of Mind''. New York: Simon and Schuster.</ref><ref>R. Zviel-Girshin, and N. Rosenberg, “Montessori + SE + ICT = SEET:using SE to teach SE,”  in ''Proceedings of the IEEE/ACM 5th International Workshop on Theory-Oriented Software Engineering'', TOSE 2016, 14 May 2016, pp.1-7, DOI: 10.1109/TOSE.2016.009</ref>.

The independence of each layer enables implementation of different approaches at different layers. The hierarchical layering of control and abstraction of lower by upper layers enables the cooperation and solution of contradictions arising from the use of a variety of different approaches<ref name=":0">Zviel-Girshin, R., and Rosenberg, N. 2015. ''Lego in Teaching Object Oriented Programming Course.'' (Hebrew),5<sup>th</sup> Conference Initiative for Advancement of Higher Education, (Israel, May 2015).</ref> <ref>Zviel-Girshin, R. 2004. Web-based Lab-Oriented Teaching of Internet Programming Course. In L. Cantoni & C. McLoughlin (Eds.), ''Proceedings of EdMedia: World Conference on Educational Media and Technology 2004'' (pp. 740-746). Association for the Advancement of Computing in Education (AACE).</ref>.

In very broad, plain terms, at each layer there is a small intelligent system controlling, generalizing and inducing the cooperation of different approaches in a larger intelligent system of the next layer<ref>Zviel-Girshin, R. 2005. Web Search as Interactive Learning Environment for Graduation Projects. ''Journal of Interactive Learning Research'' 16(1), 21-30.</ref>.

=== Gestalt ===
Gestalt is the skeleton, the deeper model, the concept, the meta-model of the lower layer, abstracting, generalizing, controlling and interfacing it, and mediating between the lower layer, the upper layers and the user<ref>Zviel-Girshin, R., Rosenberg, N., Kur, T., Peker, Y., and Walmsley, J.K. 2011. ''Maximizing the IP in Software Engineering,'' HVC, Haifa Verification Conference.</ref>.

IS are frequently built around ontology, schema, meta-model controlling and coordinating: ontologies and semantic schema coordinating a multi-agent ES; tentative designs, templates; scenario generation; knowledge acquisition filtered by models; story model; fuzzy model; active behavioral database of goals and rules coordinating the knowledge database; declarative and executable object-oriented model; data structure at object level ; frame templates; interaction manager; knowledge model used by agents to manage the others.

Gestalt has at least three facets: the declarative: the data and knowledge, the static aspect of knowledge; the procedural: the reasoning models, the data processing techniques, the inference engines, the dynamic aspect of knowledge; organizational: the interaction control of the multiplicity at the lower level, conflict resolution, user interface control, user involvement, feedback and the integration manager.

In general, the gestalt will involve a different approach than the lower level, and include more than one component. Architecturally it is quite a complex structure. It can be viewed as a small intelligent system at the heart of and controlling the larger one. In a multi-agent society, it’s the ruler and the governing strategy.

=== Multiplicity ===
The basic platitude: “two heads are better than one” is validated by such hard science approaches as dialectics, to become a central component in our basic approach. The cognitive science teaches us that the integration of a variety of different techniques in a soft approach has immense advantages.

Many modern IS integrate more than one basic method: multi-agent society of different behavior patterns and different roles; integrating inductive decision trees and neural networks; multiple input channels and methods; CBR with RBR discrepancies solution; three independent models of knowledge representation and inference; integrating CBR, neural networks and discrimenant analysis;  blackboard method of integrating multiple experts (sources of knowledge); integrating IS with DB approaches; integration of various rule paradigms into a single KBS; a hybrid neuro-fuzzy reasoning; voting over multiple different learners; multi-intelligent systems combining such different approaches as extensional and intentional; integration of conflicting schemas; integrating different analytical decision models; integrating semantic expressions with examples; combination of relational and object-oriented paradigms.

We can conclude, as a guideline, that the more different, even conflicting techniques we use, the wider and deeper view of the solution we will achieve. But this is too general and we need a more restrictive and precise method of integration.

First we prefer merging to compromise. While compromise loses some of the positive features of each ingredient, a price for one monolithic consistent approach, merging recruits all, as contradictory as they may be, and the larger the diversity, the softer and fuzzier the result.

This requires such components built into the system as conflict resolution, control manager of interaction, data flow and resource allocation, user transparency and involvement, priority indexing of approaches. These are among the components of our gestalt, deep model driven, structural, hierarchical, layered architecture paradigm, which transforms the chaotic multiplicity into a well behaved, disciplined one.

=== Layered Approach ===
The layered approach proved itself very useful in such different areas as computer networks (the reigning ISO OSI seven layers model and later Internet five layers model), operating systems (e.g. the UNIX kernel-shells model), compilers (the three layered: lexical, syntactical and semantic phases), client-server, front-end back-end approach. Among the many advantages are: independence, structuring, error protection, abstraction, precise interaction model, modularity, transparency, portability.

In the IS domain layering is now also widely used in such contexts as: structured libraries of behavior; client-server; hierarchical cases and domain specific indexing; two-level model with kernel and coordinating module; three layers: semantic, syntactic and lexical for structured processing; a hierarchical architecture modeling and inference; an object-oriented organizational layering; intentional layer over extentional; layering by generalization of schema; hierarchical structuring of models; dual hierarchy, by structure and logic of data; three layers structured by human-computer interaction; a layered agents society.

In the GML paradigm the layering permits structured abstraction, conflict solution by a higher level, different approaches at different layers, control and management, changeability and user involvement.


==See also==
==See also==
* [[Knowledge level modeling]]
* [[Knowledge level modeling]]
* [[Knowledge management]]
* [[Knowledge management]]
* [[Knowledge representation]]
* [[Knowledge representation and reasoning]]
* [[Knowledge retrieval]]
* [[Knowledge retrieval]]
* [[Knowledge tagging]]
* [[Knowledge tagging]]
Line 141: Line 32:


==References==
==References==
{{reflist}}
{{reflist}}


==External links==
==External links==
* [http://www.elsevier.com/wps/find/journaldescription.cws_home/505608/description#description Data & Knowledge Engineering] – Elsevier Journal
* [http://www.elsevier.com/wps/find/journaldescription.cws_home/505608/description#description Data & Knowledge Engineering] – Elsevier Journal
* [http://journals.cambridge.org/action/displayJournal?jid=KER Knowledge Engineering Review], Cambridge Journal
* [http://journals.cambridge.org/action/displayJournal?jid=KER Knowledge Engineering Review], Cambridge Journal
* [http://www.ksi.edu/ijsk.html The International Journal of Software Engineering and Knowledge Engineering] – World Scientific
* [https://web.archive.org/web/20080501180201/http://www.ksi.edu/ijsk.html The International Journal of Software Engineering and Knowledge Engineering] – World Scientific
* [http://www.informatik.uni-trier.de/~ley/db/journals/tkde/index.html IEEE Transactions on Knowledge and Data Engineering]
* [http://www.informatik.uni-trier.de/~ley/db/journals/tkde/index.html IEEE Transactions on Knowledge and Data Engineering]
* [http://www.blackwellpublishing.com/journal.asp?ref=0266-4720&site=1 Expert Systems: The Journal of Knowledge Engineering] – Wiley-Blackwell
* [https://web.archive.org/web/20080612045810/http://www.blackwellpublishing.com/journal.asp?ref=0266-4720&site=1 Expert Systems: The Journal of Knowledge Engineering] – Wiley-Blackwell


{{Computable knowledge}}
{{Automated reasoning}}
{{Authority control}}


{{DEFAULTSORT:Knowledge Engineering}}
{{DEFAULTSORT:Knowledge Engineering}}
[[Category:Knowledge engineering|*]]
[[Category:Knowledge engineering| ]]
[[Category:Semantic Web]]
[[Category:Semantic Web]]
[[Category:Ontology (information science)]]
[[Category:Ontology (information science)]]

Latest revision as of 08:00, 21 June 2024

Knowledge engineering (KE) refers to all aspects involved in knowledge-based systems.

Background

[edit]

Expert systems

[edit]

One of the first examples of an expert system was MYCIN, an application to perform medical diagnosis. In the MYCIN example, the domain experts were medical doctors and the knowledge represented was their expertise in diagnosis.

Expert systems were first developed in artificial intelligence laboratories as an attempt to understand complex human decision making. Based on positive results from these initial prototypes, the technology was adopted by the US business community (and later worldwide) in the 1980s. The Stanford heuristic programming projects led by Edward Feigenbaum was one of the leaders in defining and developing the first expert systems.

History

[edit]

In the earliest days of expert systems, there was little or no formal process for the creation of the software. Researchers just sat down with domain experts and started programming, often developing the required tools (e.g. inference engines) at the same time as the applications themselves. As expert systems moved from academic prototypes to deployed business systems it was realized that a methodology was required to bring predictability and control to the process of building the software. There were essentially two approaches that were attempted:

  1. Use conventional software development methodologies
  2. Develop special methodologies tuned to the requirements of building expert systems

Many of the early expert systems were developed by large consulting and system integration firms such as Andersen Consulting. These firms already had well tested conventional waterfall methodologies (e.g. Method/1 for Andersen) that they trained all their staff in and that were virtually always used to develop software for their clients. One trend in early expert systems development was to simply apply these waterfall methods to expert systems development.

Another issue with using conventional methods to develop expert systems was that due to the unprecedented nature of expert systems they were one of the first applications to adopt rapid application development methods that feature iteration and prototyping as well as or instead of detailed analysis and design. In the 1980s few conventional software methods supported this type of approach.

The final issue with using conventional methods to develop expert systems was the need for knowledge acquisition. Knowledge acquisition refers to the process of gathering expert knowledge and capturing it in the form of rules and ontologies. Knowledge acquisition has special requirements beyond the conventional specification process used to capture most business requirements.

These issues led to the second approach to knowledge engineering: development of custom methodologies specifically designed to build expert systems.[1] One of the first and most popular of such methodologies custom designed for expert systems was the Knowledge Acquisition and Documentation Structuring (KADS) methodology developed in Europe. KADS had great success in Europe and was also used in the United States.[2]

See also

[edit]

References

[edit]
  1. ^ Feigenbaum, Edward; McCorduk, Pamela (1983). The Fifth Generation (1st ed.). Reading, MA: Addison-Wesley. ISBN 978-0-201-11519-2. OCLC 9324691.
  2. ^ Schreiber, August Th.; Akkermans, Hans; Anjewierden, Anjo; Dehoog, Robert; Shadbolt, Nigel; Vandevelde, Walter; Wielinga, Bob (2000), Knowledge engineering and management: the CommonKADS methodology (1st ed.), Cambridge, MA: The MIT Press, ISBN 978-0-262-19300-9
[edit]