Etablierte Methoden und Verfahren müssen adaptiert werden:Wissensakquisition legt Grundstein für Systemqualität

02.10.1987

Expertensystem kann nur 80 gut sein wie das Know-how, das ihm zugrunde liegt. Die Phase der Wisensakquisition bestimmt deshalb maßgeblich die Qualität der künftigen SW-Entwicklung. In der Praxis erprobte Verfahren sind in diesem Bereich allerdings noch Mangelware. Es gilt folglich, auf vorhandene Methoden zurückzugreifen, diese zu kombinieren und so anzupassen, daß de sich für die neuen Aufgaben einsetzen lassen.

Noch sind DV-Praktiker mit der Einführung zeitgemäßer, rationeller Entwicklungsumgebungen mit einer Sprache der vierten Generation (4GL), Data-Dictionary, interaktiver Testumgebung und weiteren Werkzeugen befaßt. Doch schon kündigen sich die Methoden der fünften Computer-Generation und der Künstlichen Intelligenz (KI) in Theorie und Praxis an. Kritische Zeitgenossen werden folglich die Frage aufwerfen, ob sich die Datenverarbeitung nun selbst überholen wolle.

Bei genauer Analyse zeigt sich jedoch, daß die Sprachen der vierten Generation und die Methoden der Künstlichen Intelligenz in keiner Konkurrenz zueinander stehen und nur wenige Berührungspunkte haben. Zu unterschiedlich sind die Problemklassen, die mit den beiden Methoden und Lösungsansätzen bewältigt werden sollen: Zielen die 4GL-Werkzeuge mehr auf die klassischen Aufgaben der Datenverarbeitung, die operativen Systeme, so eröffnen die Methoden der Künstlichen Intelligenz neue Problemfelder, die nun lösbar sind.

Heuristiken, die sich in Daumenregeln ausdrücken lassen, und unsicheres Wissen können zur Lösung dispositiver und strategischer Probleme verwendet werden. Eine ähnliche Vorgehensweise, wie sie der Mensch bei der Bewältigung von Aufgaben anwendet (Hypothesenbildung und Inferenzmechanismus), kann eingesetzt werden.

Es drängt sich die Frage auf, ob die Methoden der Künstlichen Intelligenz in der Historie der Datenverarbeitung die konsequente Weiterentwicklung von den Maschinensprachen zu höheren Programmiersprachen, über die Einführung von Datenbanken (damit verbunden die Trennung von Daten und Programmarchitektur) bis hin zu den Expertensystemen mit der Aufteilung von Wissen und Problemlösungsstrategie

darstellen. Oder liegt gar eine radikale Änderung der Methodik vor? Die Tatsache, daß die Methoden der Kl auf traditionellen "von Neumann-Rechnern" implementierbar sind, laßt die Vermutung zu, daß eher eine evolutionäre Entwicklung vorliegt. Worin sich Expertensysteme von traditionellen Systemen unterscheiden, ist im Kasten "Grundlegende Aufgaben und Voraussetzungen" dargestellt.

Die Vertreter der Künstlichen Intelligenz lassen sich in zwei Lager einteilen: Die einen wollen den menschlichen Intellekt künstlich nachbilden; die anderen zielen darauf ab, durch wissensbasierte Systeme den Menschen zu unterstützen. Fest steht, daß wissensbasierte Systeme den menschlichen Experten nicht ersetzen können. Ein Expertensystem soll die menschliche Expertise vervielfältigen, den Computer besser nutzbar machen (Mensch/Maschine-Schnittstelle) und Problemlösungen auf der Basis von Heuristiken ermöglichen.

Dabei ist zu bedenken, daß im allgemeinen nur der relative Laie Nutzen aus einem solchen System ziehen kann, der absolute Laie dürfte schon an der verwendeten Fachsprache scheitern.

Interdisziplinärer Ansatz könnte notwendig werden

Methoden der Kl sind schon heute einsetzbar. Man darf die Erwartungen sicher nicht ins Unermeßliche schrauben, aber kleine bis mittlere Systeme sind keine Wunschvorstellung mehr. Expertensysteme lassen sich immer dann sinnvoll, einfach und wirtschaftlich einsetzen, wenn Probleme mit Erfahrungen gelost werden, keine genauen Algorithmen angegeben werden können oder die Algorithmen so komplex und rechenintensiv sind, daß Ergebnisse nicht in vernünftiger Zeit berechnet werden können.

Die Anwendungsgebiete für Expertensysteme lassen sich in zwei Bereiche einteilen:

- analytische Aufgaben (Diagnose in/von technischen Anlagen, Bestimmung von Objekten);

- synthetische Aufgaben (Planung von Fertigungs- und Reparaturprozessen; Konfiguration komplexer Systeme, Qualitätssicherung).

Schon die grundsätzliche Vorstellung, Expertensysteme einzusetzen, wirft eine Reihe von Fragen auf. Den vielen theoretischen Überlegungen stehen wenig praktische Erfahrungen gegenüber. Insbesondere der Bereich der Wissensakquisition scheint nicht genügend Beachtung gefunden zu haben. Da für diese junge Disziplin lang erprobte Verfahren (noch) fehlen, muß man auf vorhandene Methoden und Techniken zurückgreifen, diese neu kombinieren und für die zu bewältigenden Aufgaben anpassen.

Vielleicht wird ein interdisziplinärer Ansatz notwendig sein, um grundlegende, neue Erkenntnisse und Methoden für die Entwicklung von Expertensystemen zu erhalten. Franco di Primio stellt Wissen als eine Frage mit der dazugehörigen Antwort dar, methodisches Wissen sieht er auf drei Ebenen angesiedelt: "Auf der ersten Ebene kann man von Inferenzmethoden oder von Inferenzschritten reden. Eine höhere Ebene beinhaltet Problemlösungsschritte oder Problemlösungsmethoden. Auf einer noch höher gelagerten Ebene spricht man von Strategien der Problemlösung".

Daraus leiten sich für die Praxis der Wissensakquisition pragmatische Regeln ab: Interviewtechniken mit offenen und geschlossenen Fragetypen und Zielausprägungen bestimmen den Prozeß des Wissenserwerbs. Zum einen muß die Kreativität des Experten bei der Problemlösung nachempfunden werden, zum anderen soll die Problemlösungsstrategie straff formuliert werden. Techniken wie Meta-Plan oder Interviewtechniken analog zu Basic-Synectics können in dieser Phase eingesetzt werden.

Beobachtungen/Befragungen des Experten bei/über seine Arbeit geben weitere wichtige Informationen. Variantenbildung über den Lösungsprozeß bezüglich verfügbarer Zeit und/oder verfügbaren Informationen bieten wichtige Hinweise auf die kognitive Strategie des Experten.

Der eigentliche Entwicklungsprozeß unterscheidet sich deutlich von der traditionellen Arbeitsweise bei der Software-Entwicklung, die mit wohldefinierten Phasen und Aufgaben mit exakten Phasenergebnissen aufwartet. Natürlich kann auf eine Operationalisierung des Entwicklungsprozesses nicht verzichtet werden; schon im Sinne eines geeigneten Projektmanagements ist dies notwendig.

Klassische Phasenkonzepte versagen für die Entwicklung von Expertensystemen. Die Antwort auf die Frage nach der Vorgehensweise bei der Erstellung von Expertensystemen lautet: evolutionäres, iteratives Vorgehen, verbunden mit einem Prototyping, das auf einer Beispielsammlung basiert (siehe Kasten "Entwicklungsschritte").

Die Trennung der einzelnen Phasen erfolgt nicht so scharf wie in herkömmlichen Vorgehensweisen; die Übergänge können fließend sein Iteration ist eine gewünschte Erscheinung in dem Prozeß der Systementwicklung.

Phase 1: Orientierung

In der ersten Phase wird ein Pflichtenheft erstellt, in dem der Problembereich genauer definiert und die Anforderungsbeschreibung des Systems erstellt wird. Der Experte wird bestimmt und der Wissensingenieur arbeitet sich anhand verschiedener Medien in die Domäne des Experten ein. Erste Sitzungen dienen der groben Begriffsbildung-/definition und der Beschreibung der Beziehungen zwischen diesen Begriffen. Ein Projektplan (gültig bis zum Ende der Phase 2) und eine Kosten/Nutzen-Analyse bilden den Abschluß der ersten Phase.

Phase 2: Realisierung des Prototyps

Beispiele werden gebildet und als Basis für die Klassifikation des Wissens verwendet. Anforderungen der Anwender, Ausprägungen der Benutzerschnittstelle und organisatorische Aspekte für die Einbindung des Systems in das Unternehmen finden in der Systembeschreibung Eingang. Ein geeignetes Shell-System oder eine Programmiersprache wird aufgrund der erarbeiteten Faktoren ausgewählt.

Der Wissensingenieur arbeitet sich unter Anleitung des Experten tiefer in das Gebiet des Experten ein, während dieser sich mit den Methoden der Wissensdarstellung und der Wissensstrukturierung vertraut macht.

Der Prototyp wird realisiert; mit ihm lassen sich die ausgewählten Beispiele lösen. Auf der Basis von Variationen (Zeit/Informationsbeschränkung und Informationsvariation) dieser Beispiele wird der Prototyp verfeinert und weiterer Wissenserwerb betrieben (was wäre wenn Betrachtungen). Die bestehende Dokumentation wird laufend aktualisiert und erweitert.

Phase 3: Realisierung des Gesamtsystems

In weiteren Sitzungen und Beobachtungen des Experten während seiner Arbeit werden neue Regeln und Fakten für die Problemlösung gesammelt und systemimmanent formuliert. Ständiger Kontakt zu den Anwendern, laufende Qualitätskontrollen und Tests ergänzen das System zu einem einsatzfähigen Komplex. Falls möglich werden weitere Experten für die Testfallermittlung hinzugezogen.

Phase 4:System-Verfeinerung

Der Wissensingenieur und der Experte verfeinern das System, während sie damit arbeiten. Neue Beispiele werden in die Beispielsammlung eingetragen, die Systembeschreibung ist zu ergänzen und zu erweitern.

Phase 5: Test

Das Expertensystem wird zunächst mit den Beispielen und Varianten aus der Beispielsammlung getestet. Spezielle Testmethoden erhöhen die Qualität und weisen die Praxistauglichkeit des Systems nach. Der folgende Praxistest unter Aufsicht von Experten soll den Produktionseinsatz vorbereiten und die Testphase abschließen.

Phase 6: Integration

Das Expertensystem wird in den Arbeitsablauf integriert. Flankierende Maßnahmen aus der ersten Phase der Wissensakquisition sind begleitend zu ergreifen.

Phase 7: Evaluation

Unabhängige Experten/Anwender, die das Expertensystem über einen gewissen Zeitraum parallel zu ihrem normalen Arbeitsablauf eingesetzt haben, bewerten das System. Die Software wird, falls es erforderlich sein sollte, überarbeitet.

Der Entwicklungsprozeß ist im wesentlichen bestimmt durch die Methoden und Techniken der Wissensakquisition. Experte und Wissensingenieur werden kooperieren und

Verständnis füreinander aufbringen müssen. Die erarbeiteten Ergebnisse und der Projektfortschritt, bedürfen einer guten und verständlichen Dokumentation, die im folgenden kurz beschrieben wird.

Dokument: Beschreibung der Anforderungen

Sie enthält:

- Eine Kurzbeschreibung;

- wer mit dem Expertensystem arbeiten soll (organisatorisches Umfeld);

- die Fragen, die das System beantworten soll;

- die möglichen Antworten des Systems;

- eine grobe Übersicht über die Arbeitsweise des Systems;

- Angaben über die Benutzerschnittstelle.

Dokument: Beispielsammlung

Die Beispielsammlung enthält alle Beispiele und Varianten mit Lösungen, die während der Entwicklung des Expertensystems entstanden sind.

Dokument: Systembeschreibung

Die Systembeschreibung besteht aus den folgenden Teilen:

- Definition der Begriffe und

- Beziehungen (Begriffslexikon);

- Regeln;

- Teilprobleme;

- Texte;

- Fragen des Systems;

- Fragen an das System;

- Antworten des Systems;

- feste Daten (Fakten);

- variable Daten.

Der Wissenserwerb bildet das Herzstück bei der Entwicklung von Expertensystemen. Ihm muß besondere Beachtung geschenkt werden. Es bedarf geeigneter Methoden und Techniken, dieses Wissen von einem Experten zu erhalten.

Unstrukturierte Befragungen können in der ersten Phase der Wissensakquisition eine gute einführende Beispielsammlung ergeben. Beobachtungen des Experten bei der Arbeit unter ungewöhnlichen Bedingungen, zum Beispiel unter Zeitdruck, geben Hinweise auf seine Lösungsstrategie.

Hier werden folgende Vorgehensweisen angewendet:

- Interviews mit verschiedenen Fragetypen und -techniken;

- Beobachtungen des Experten wahrend seiner "normalen" Arbeit mit und ohne Erklärungen;

- Beobachtungen des Experten, der mit beschränkten Informationen oder in verkürzter Zeit eine Aufgabe losen muß;

- Beobachtungen des Experten, der schwierige Aufgaben lösen muß (weniger vertraute Probleme);

- Kombinationen der angeführten Möglichkeiten.

Methodisch werden die Interviews, zum Beispiel durch Meta-Plan gestützt. Die verwendeten Methoden liefern verschiedene Formen von Wissen. Faktenwissen, Prozeßwissen, Problemlösungsstrategien und Hypothesenbildungen müssen bei dem Wissenserwerb herausgearbeitet werden.

Die Wissensformen sind beim Experten unterschiedlich ausgeprägt; ist das Faktenwissen direkt und bewußt verfügbar, so kann es bei den verwendeten Problemlösungsprozessen zur Anwendung von "unbewußtem" Wissen kommen. Dieses Wissen ist schwer zu erhalten.

Die verwendeten Methoden sind unterschiedlich effektiv, da sie auf den Erwerb aller Wissensformen abzielen (erhaltene Regeln pro aufgewendeter Zeiteinheit). Wichtig scheint eine gelungene Mischung und angeführten Ansätze zu sein. So wird sich der Experte nicht langweilen und motiviert mitarbeiten.

Führt der Experte neue Begriffe oder Beziehungen ein, so muß der Wissensingenieur feststellen, wie diese einzuordnen sind (Begriffslexikon). Der Experte soll zu jeder möglichen Antwort des Expertensystems ein Beispiel angeben.

Der Wissensingenieur und der Experte arbeiten ein Beispiel Schritt für Schritt durch, das heißt der Experte sagt laut, was er tut; der Wissensingenieur stellt ergänzende Fragen. Die Schritte sollen so klein wie möglich sein. Der Wissensingenieur muß herausfinden, welche Ziele verfolgt, welche Hypothesen gebildet und welche Fakten/Daten benutzt werden. Der Wissensingenieur schreibt jeden Schritt genau auf.

Der Wissensingenieur bildet auf der Basis der durchgearbeiteten Beispiele Varianten, das heißt er verändert die Daten des Beispiels, um zu sehen, wie sich die Aktionen des Experten ändern (Was-wäre-wenn). Ferner lost er mit Hilfe des bis dahin extrahierten Wissen Beispielprobleme unter der Aufsicht des Experten. So läßt sich feststellen, ob das Wissen vollständig und widerspruchsfrei ist. Es sind Beispiele so zu konstruieren, daß ein vorgegebenes Ergebnis beziehungsweise Zwischenergebnis erreicht wird.

Die Regeln, die das Wissen zur Problemlösung beinhalten, werden um die Steuerregeln des Expertensystems ergänzt (technischer Aspekt, zum Beispiel Shell-System). Mit Hilfe der logischen Datenanalyse lassen sich die Begriffe aus dem Begriffslexikon funktional strukturieren und zu Relationen zusammenfassen. Die Überführung in die dritte Normalform schließt diesen Prozeß ab. Der Name der Relation wird zu einem Steuerparameter, mögliche Werte der Attribute dieser Relation werden für die Regelbildung verwendet. Über die Wissenserwerbskomponente gelangen Parameter, Regeln und Texte in die Wissensbasis des Expertensystems.

Experten, die geeignete Domäne und die geeigneten Wissensingenieure sollten sorgfältig ausgewählt werden. Die Wahl der Entwicklungsumgebung (welches Shell-System, welche Programmiersprache?) sollte problemadäquat erfolgen. Dazu muß das Wissen klassifiziert und strukturiert werden.

Für Expertensysteme kommt die Technik der evolutionären Entwicklung zum Einsatz. Zunächst wird ein Prototyp entwickelt und dieser zu dem Gesamtsystem erweitert. Der Experte und der Wissensingenieur verfeinern das System, während sie damit arbeiten.

Wenn möglich sollte die Entwicklung eines Expertensystems auf der Basis einer Shell erfolgen. Dies hat positive Auswirkungen auf die Projektlaufzeit und damit auch auf die anfallenden Kosten: Bei der Entwicklung von größeren Expertensystemen sollte man das Problem in Teilbereiche zerlegen und die Teilprobleme sowie das Gesamtproblem iterativ bearbeiten.

Herausforderungen an DV-Praktiker sind groß

Die Möglichkeiten der Künstlichen Intelligenz stellen eine enorme Herausforderung an die DV-Praktiker dar. Nur wer rechtzeitig die Weichen stellt, wird sich diese zukunftsträchtigen Optionen sichern.

Will man das Gebiet neu erschließen, so empfiehlt sich ein moderates Tempo und ein nicht allzu komplexes Problem. Vor allem die psychologischen Schwierigkeiten sind nicht zu unterschätzen. Experte und Wissensingenieur werden sehr eng zusammenarbeiten müssen. Der Wissensingenieur sollte eine schnelle Auffassungsgabe haben, sonst kann der Experte leicht die Geduld verlieren. Eine Zusammenarbeit wäre dann nicht mehr möglich.

Insgesamt sind die erzielten Ergebnisse vielversprechend, auch wenn sie nicht immer direkt auf andere Problemstellungen übertragbar sein werden. Insbesondere der Prozeß der Wissensakquisition ist problemabhängig und bedarf vielleicht in einigen Fällen einer Anpassung an die bestehende Situation.

Die erarbeitete Vorgehensweise, verbunden mit den angepaßten Methoden, ergibt eine strukturierte und durch bewahrte Techniken abgesicherte Entwicklungsumgebung für die Erstellung von Expertensystemen. So können die anstehenden Aufgaben professionell bewältigt werden.

Entwicklungsschritte

Orientierung Phase 1

Realisierung Prototyp Phase 2

Realisierung Gesamtsystem Phase 3

System-Verfeinerung Phase 4

Test/Qualitätssicherung Phase 5

Integration Phase 6

Evaluation Phase 7

Grundlegende Aufgaben und Voraussetzungen

Als relevante Aufgaben, im Umfeld der Systementwicklung von Expertensystemen haben sich erwiesen:

- Themenauswahl und Identifikation von grundsätzlich geeigneten Problemfeldern im Unternehmen.

- Machbarkeitsuntersuchung: ist ein Expertensystem ein problemadäquates Werkzeug für die Problemlösung?

- Gibt es frankierende Maßnahmen bei der Einführung von Expertensystemen?

- Was ist Wissen?

- Wie gebraucht der Experte sein Wissen?

- Wie kann man Wissen klassifizieren, methodisch anwenden, abbilden, erhalten (Wissensakquisition)?

- Was zeichnet den geeigneten Experten aus?

- Welche Eigenschaften muß der Wissensingenieur haben?

- Welchen Anforderungen muß die Entwicklungsumgebung (Shell, Programmiersprache,

Hardware) genügen?

- Welche Vorgehensweise wendet man für die Entwicklung von Expertensystemen an; gibt es Unterschiede zu der Entwicklung von klassischen DV-Systemen?

- Wie sehen Maßnahmen zur Qualitätssicherung eines Expertensystems aus?

- Gibt es Methoden der Projektabsicherung?

- Wie Überwindet man psychologische Schranken?

Kernprobleme sind die Fragen um den Begriff Wissen, die Frage nach der Vorgehensweise bei der Entwicklung von Expertensystemen und dabei insbesondere die Thematik der Wissensakquisition.