expertensysteme. was ist ein expertensystem? allgemeine definition: system von softwaretechnologien,...
TRANSCRIPT
ExpertensystemeExpertensysteme
Was ist ein Was ist ein Expertensystem?Expertensystem?
Allgemeine Definition:Allgemeine Definition:
System von Softwaretechnologien, das auf System von Softwaretechnologien, das auf der Basis von der Basis von Expertenwissen Expertenwissen Problemlösungsstrategien anbietetProblemlösungsstrategien anbietet
Systeme zur Unterstützung medizinischer Systeme zur Unterstützung medizinischer DiagnosenDiagnosen
Analyse wissenschaftlicher DatenAnalyse wissenschaftlicher Daten
Sinn: Maschinelles Verarbeitungsvermögen Sinn: Maschinelles Verarbeitungsvermögen wird genutzt, sobald menschliches wird genutzt, sobald menschliches Berechnungs- und Berechnungs- und Problemlösungsvermögen überfordert istProblemlösungsvermögen überfordert ist
Wichtig hierbei ist jedoch die sinnhafte, Wichtig hierbei ist jedoch die sinnhafte, vorteilhafte und verständliche vorteilhafte und verständliche Kommunikation zwischen Mensch und Kommunikation zwischen Mensch und MaschineMaschine
Die Qualität eines Expertensystems hängt Die Qualität eines Expertensystems hängt von der hohen bzw. geringen Fehlerquote von der hohen bzw. geringen Fehlerquote von Problemlösungen abvon Problemlösungen ab
Die WissensbasisDie Wissensbasis
Die für ein Expertensystem generierte Die für ein Expertensystem generierte Wissensbasis (knowledge base) Wissensbasis (knowledge base) dient nicht dient nicht zu deren ausschließlicher Repräsentation, zu deren ausschließlicher Repräsentation, sondern soll auf deren Grundlage weitere sondern soll auf deren Grundlage weitere Schlussfolgerungen zulassenSchlussfolgerungen zulassen
Wissensbasis repräsentiert das wichtigste Wissensbasis repräsentiert das wichtigste Modul innerhalb eines ExpertensystemsModul innerhalb eines Expertensystems
Die Die knowledge base knowledge base enthält das Fachwissen enthält das Fachwissen einer beliebigen Repräsentationsformeiner beliebigen Repräsentationsform
Die Die knowledge base knowledge base wird durch eine wird durch eine Inferenzmaschine ergänztInferenzmaschine ergänzt
Diese Inferenzmaschine bezeichnet eine Diese Inferenzmaschine bezeichnet eine Softwarestruktur mit deren Hilfe die Softwarestruktur mit deren Hilfe die Wissensbasis nutzbar gemacht wirdWissensbasis nutzbar gemacht wird
Aufgaben von Aufgaben von ExpertensystemenExpertensystemen
DateninterpretationDateninterpretation ÜberwachungÜberwachung DiagnoseDiagnose TherapieTherapie PlanungPlanung EntwurfEntwurf PrognosePrognose
RealisierungRealisierung
Fallbasierte SystemeFallbasierte Systeme
Regelbasierte Systeme (Wenn- Dann- Regelbasierte Systeme (Wenn- Dann- Beziehung als Problemlösungsstrategie)Beziehung als Problemlösungsstrategie)
EntscheidungsbäumeEntscheidungsbäume
Die Entwicklung bzw. der Aufbau eines Die Entwicklung bzw. der Aufbau eines Expertensystem erfolgt bzw. besteht ausExpertensystem erfolgt bzw. besteht aus
essentiellen Bestandteilen:essentiellen Bestandteilen:
1. knowledge- based system1. knowledge- based system
2. inference engine2. inference engine
3. user interface3. user interface
Zu 1. generiert das Wissen, das für den Zu 1. generiert das Wissen, das für den Aufbau und die Arbeit des entsprechenden Aufbau und die Arbeit des entsprechenden Expertensystems vorgesehen istExpertensystems vorgesehen ist
Dazu zählen ausserdem Regeln, Dazu zählen ausserdem Regeln, Besonderheiten und Relationen im Besonderheiten und Relationen im WissenssystemWissenssystem
Zu 2. Eine Inferenzmaschine dient dazu, Zu 2. Eine Inferenzmaschine dient dazu, das generierte Wissen zu das generierte Wissen zu Anwendungszwecken nutzbar zu machenAnwendungszwecken nutzbar zu machen
Zu 3. dient zur Kommunikation zwischen Zu 3. dient zur Kommunikation zwischen dem System und dem Benutzerdem System und dem Benutzer
Unterstützendes Aggregat während des Unterstützendes Aggregat während des Problemlösungsprozess (Problemlösungsprozess (problem-solving-problem-solving-processprocess))
Die Die inference engineinference engine und das und das user interfaceuser interface
werden auch als werden auch als ein Modul (shell)ein Modul (shell) bezeichnetbezeichnet
Die Die knowledge baseknowledge base ist abhängig von der ist abhängig von der jeweiligen Applikationjeweiligen Applikation
Die Die shellshell ist abhängig vom jeweilgen ist abhängig vom jeweilgen Aufgaben- oder Fachgebiet der generierten Aufgaben- oder Fachgebiet der generierten knowledge baseknowledge base
Knowledge base
Inference engine
User interface User
Shell
Regelbasierte Regelbasierte Expertensysteme Expertensysteme
if-then-rulesif-then-rules
Fokus auf Regelbasierte ExpertensystemeFokus auf Regelbasierte Expertensysteme
Wichtigstes Merkmal hierbei: Die Wichtigstes Merkmal hierbei: Die Repräsentation von Wissen durch ein Repräsentation von Wissen durch ein Regelgefüge von Wenn-Dann- BeziehungenRegelgefüge von Wenn-Dann- Beziehungen
if-then-rulesif-then-rules oder oder production rulesproduction rules
If- then- rulesIf- then- rules sind durch verschiedene sind durch verschiedene Formalismen interpretierbar:Formalismen interpretierbar:
IfIf precondition P precondition P thenthen conclusion C conclusion C
IfIf situation S situation S thenthen action A action A
IfIf conditions C1 and C2 hold conditions C1 and C2 hold thenthen condition condition C does not holdC does not hold
Eigenschaften von Eigenschaften von if-then- rules:if-then- rules:
ModularityModularity: each rule defines a small, : each rule defines a small, relatively independent piece of knowledgerelatively independent piece of knowledge
IncrementabilityIncrementability: new rules can be added to : new rules can be added to the knowledge base relatively independently the knowledge base relatively independently to other rulesto other rules
ModifiabilityModifiability: (as a consequence of : (as a consequence of modularity): old rules can be changed modularity): old rules can be changed relatively independent of other rulesrelatively independent of other rules
Support system‘s Support system‘s transparencytransparency
Die Eigenschaft der Transparenz eines Die Eigenschaft der Transparenz eines Expertensystems gestaltet sich als äußerst Expertensystems gestaltet sich als äußerst wichtig, da dadurch die wichtig, da dadurch die Kommunikationsfähigkeit zwischen System Kommunikationsfähigkeit zwischen System und menschlichem Benutzer und mit und menschlichem Benutzer und mit positivem Ausgang abhängtpositivem Ausgang abhängt
D.h. Transparenz dient dem Verständnis D.h. Transparenz dient dem Verständnis und der Anwendungsmöglichkeit von und der Anwendungsmöglichkeit von ProblemlösungsstrategienProblemlösungsstrategien
If- then- rulesIf- then- rules haben zudem die Eigenschaft haben zudem die Eigenschaft folgende folgende user‘s questionsuser‘s questions zu beantworten: zu beantworten:
1. ‘How‘ questions: 1. ‘How‘ questions: HowHow did you reach this did you reach this conclusion?conclusion?
2. ‘Why‘ questions: 2. ‘Why‘ questions: WhyWhy are you interested are you interested in this information? in this information?
Zwei wichtige Zwei wichtige features features um um Schlussfolgerungen aus der Schlussfolgerungen aus der knowledge knowledge base base ziehen zu können, lassen sich ziehen zu können, lassen sich folgendermaßen bennen:folgendermaßen bennen:
1. Forward chaining in rule-based systems1. Forward chaining in rule-based systems
2. Backward chaining in rule-based systems2. Backward chaining in rule-based systems
Zu 1. (Forward chaining): Startet nicht (wie Zu 1. (Forward chaining): Startet nicht (wie Backward chaining) mit einer Hypothese, Backward chaining) mit einer Hypothese, sondern es wird jede Aussage in sondern es wird jede Aussage in Verbindung mit der Folgeaussage Verbindung mit der Folgeaussage interpretiertinterpretiert
Forward chaining lässt sich in Prolog leicht Forward chaining lässt sich in Prolog leicht realisieren durch die Anwendung von:realisieren durch die Anwendung von:
IfIf Condition Condition thenthen Conclusion Conclusion
Zu 2.(Backward chaining): Es wird eine Zu 2.(Backward chaining): Es wird eine Hypothese erstellt und es wird in Anlehnung Hypothese erstellt und es wird in Anlehnung an die Wissensbasis „rückwärts“ gearbeitetan die Wissensbasis „rückwärts“ gearbeitet
Eine Hypothese wird erstelltEine Hypothese wird erstellt
Die Inferenzmaschine kommt zum Einsatz Die Inferenzmaschine kommt zum Einsatz und es wird ausgehend von der Hypothese und es wird ausgehend von der Hypothese backwards der Weg zur Schlussfolgerung backwards der Weg zur Schlussfolgerung gesuchtgesucht
If- then-rules sind Regeln, deren Richtung If- then-rules sind Regeln, deren Richtung von links nach rechts zu betrachten istvon links nach rechts zu betrachten ist
Die Elemente auf der linken Seite werden Die Elemente auf der linken Seite werden als als input information (data)input information (data) bezeichnet bezeichnet
Die Elemente auf der rechten Seite werden Die Elemente auf der rechten Seite werden als als derived information (hypotheses)derived information (hypotheses) bezeichnetbezeichnet
Beispiele:Beispiele:
Data Data …… goals goals
Evidence Evidence …… hypotheses hypotheses
Findings, observations Findings, observations ……explanations, explanations, diagnosesdiagnoses
Manifestations Manifestations …… diagnoses, causes diagnoses, causes
APESAPESA Prolog Expert SystemA Prolog Expert System
AllgemeinesAllgemeines
Apes Apes nutzt als Eingabeformat eine nutzt als Eingabeformat eine Repräsentation in natürlicher SpracheRepräsentation in natürlicher Sprache
Das System orientiert sich an gezielten Das System orientiert sich an gezielten FragestellungenFragestellungen
Beispiel aus der Systembeschreibung:Beispiel aus der Systembeschreibung:
““What is Object-01“ oder “Is Object-A a What is Object-01“ oder “Is Object-A a bird?“bird?“
Diesem Fragestellungsmuster entsprechend Diesem Fragestellungsmuster entsprechend beginnt der Problemlösungsprozessbeginnt der Problemlösungsprozess
Das System sucht nach Regeln und Das System sucht nach Regeln und Antworten als SchlussfolgerungenAntworten als Schlussfolgerungen
Wenn eine Lösung gefunden worden ist, so Wenn eine Lösung gefunden worden ist, so leitet die Inferenzmaschine zur leitet die Inferenzmaschine zur SchlussfolgerungSchlussfolgerung
Das Eingabeformat ist definiert als Definite Das Eingabeformat ist definiert als Definite Clause Grammar (DCG)Clause Grammar (DCG)
Definite Clause Definite Clause Grammar (DCG)Grammar (DCG)
DCG: Prolog erlaubt die Arbeit mit DCG: Prolog erlaubt die Arbeit mit kontextfreien Grammatikenkontextfreien Grammatiken
Die Umsetzung einfacherer Regeln ist daher Die Umsetzung einfacherer Regeln ist daher in Prolog möglichin Prolog möglich
Kontextfreie Regeln haben auf der linken Kontextfreie Regeln haben auf der linken Seite immer genau ein nichtterminales Seite immer genau ein nichtterminales SymbolSymbol
Auf der rechten Seite können ein oder Auf der rechten Seite können ein oder mehrere nichtterminale und terminale mehrere nichtterminale und terminale Symbole stehen (SSymbole stehen (S NP VP usw.) NP VP usw.)
DCGs sind in den meisten Prolog- DCGs sind in den meisten Prolog- Anwendungen enthaltenAnwendungen enthalten
Beispiel für die Darstellung von DCG in Beispiel für die Darstellung von DCG in Prolog:Prolog:
DCG Darstellung in Prolog
s --> np, vp s(X,Z) :- np(X,Y), vp(Y,Z).
np --> det, n np(X,Z) :- det(X,Y), n(Y,Z).
vp --> v np vp(X,Z) :- v(X,Y), np(Y,Z).
vp --> v vp(X,Z) :- v(X,Z).
det --> [die] det([die|W],W).
n --> [frau] n([frau|W],W).
v --> [läuft] v([läuft|W],W).
Komponenten von Komponenten von ApesApes
src src knowledge knowledge knowledge.pl knowledge.pl src src knowledge knowledge groups groups feline.pl feline.pl src src knowledge knowledge groups groups pet.pl pet.pl src src engine.pl engine.pl src src helpers.pl helpers.pl src src main.pl main.pl src src parser.pl parser.pl src src processor.pl processor.pl src src tokenizer.pl tokenizer.pl
Knowledge-base (Knowledge-base (knowledge.plknowledge.pl):):
Bezeichnet die Wissensbasis des Bezeichnet die Wissensbasis des ExpertensystemsExpertensystems
Darin enthalten ist der Code eines Darin enthalten ist der Code eines regelbasierten Expertensystems regelbasierten Expertensystems repräsentiert durch die Darstellung von repräsentiert durch die Darstellung von if-if-then rulesthen rules
Prolog-based domain-specific language Prolog-based domain-specific language (DSL)(DSL)
engine.pl:engine.pl:
helpers.pl: helpers.pl: Eine Hilfsdatei, um den Zugang Eine Hilfsdatei, um den Zugang zu den in der zu den in der knowledge-baseknowledge-base generierten generierten if-then-rulesif-then-rules zu ermöglichen zu ermöglichen
main.pl: main.pl: vereint alle in Apes enthaltenen vereint alle in Apes enthaltenen Prolog- Dateien zum ProgrammstartProlog- Dateien zum Programmstart
parser.pl: parser.pl: Diese Datei dient dazu das input Diese Datei dient dazu das input format in DCG zu generierenformat in DCG zu generieren
processor.pl: processor.pl:
tokenizer.pl: tokenizer.pl: Dient dazu, Zeichenketten in Dient dazu, Zeichenketten in einzelne Tokens zu zerlegeneinzelne Tokens zu zerlegen
AnforderungenAnforderungen
Die wichtigste Anforderung an den Benutzer Die wichtigste Anforderung an den Benutzer des Expertensystems fungiert über korrekte des Expertensystems fungiert über korrekte AnweisungenAnweisungen
Die wichtigsten Fragestellungen sind Die wichtigsten Fragestellungen sind hierbei:hierbei:
““What is Object-A?“ und “Is Object-A What is Object-A?“ und “Is Object-A somethingsomething?“?“
Ist das Programm gestartet erfolgt die Ist das Programm gestartet erfolgt die Kommunikation zwischen System und Kommunikation zwischen System und Nutzer über die Abfragen:Nutzer über die Abfragen:
““yes.“ oder “y.“yes.“ oder “y.“
““no.“ oder “y“.no.“ oder “y“.
““why.“ oder “w.“why.“ oder “w.“
Auf diese Weise wird (soll) auf die „Fragen“ Auf diese Weise wird (soll) auf die „Fragen“ des Benutzers geantwortet werdendes Benutzers geantwortet werden
Bei entsprechender Eingabe (also Bei entsprechender Eingabe (also whywhy) ) sollen Schlussfolgerungen gezogen werden, sollen Schlussfolgerungen gezogen werden, inwiefern das Expertensystem auf die inwiefern das Expertensystem auf die Lösung gekommen istLösung gekommen ist
Zum Aufbau der Zum Aufbau der knowledge-base knowledge-base dient das dient das Hinzufügen von:Hinzufügen von:
rules rules
(Beispiel: "if animal has scales and animal (Beispiel: "if animal has scales and animal has cold-blood then animal is a reptile.“) has cold-blood then animal is a reptile.“)
factsfacts
(Beispiel: “a dog is a pet.“)(Beispiel: “a dog is a pet.“)
Ebenso sind Gruppen (Ebenso sind Gruppen (groupsgroups) zu bilden, ) zu bilden, die entsprechende vom Benutzer definierte die entsprechende vom Benutzer definierte Objekte unter eine Gemeinschaft von Objekte unter eine Gemeinschaft von Objekten mit gleichen oder ähnlichen Objekten mit gleichen oder ähnlichen Merkmalen stellenMerkmalen stellen
rulesrules sind unter sind unter knowledgle.plknowledgle.pl gespeichert gespeichert
factsfacts sind unter sind unter knowledge/groupsknowledge/groups generiert generiert
Wichtiges Hilfsmittel zum Aufbau der Wichtiges Hilfsmittel zum Aufbau der knowledge-baseknowledge-base ist der ist der Debugger Debugger
Dieser erlaubt das Überprüfen der Dieser erlaubt das Überprüfen der generierten Regeln im Zusammenspiel der generierten Regeln im Zusammenspiel der einzelnenn Dateien, d.h. einzelnenn Dateien, d.h. parser, tokenizer, parser, tokenizer, processor, knowledge, helpers, engine und processor, knowledge, helpers, engine und mainmain