Expertsystemen
Marco Wiering
CGN A126
Tel. 030−2539209
marco@cs.uu.nl
Inleiding en inperking (1)
Expertsystemen en Artificial Intelligence (AI)
Wat is intelligentie?
Inleiding en inperking (2)
Inleiding en inperking (3)
Herkennen versus definiëren van intelligentie
AI is the study of the computations that make it
possible to perceive, reason and act”
Data
Knowledge
Databases
Opslag, queries
Knowledge−based systems
Redeneren
Opbouw (1)
Expertsystemen
Definitie en architectuur
Kennisrepresentatie
Logische kennisrepresentatie
Regel−gebaseerde systemen
Redeneerstrategieën
Opbouw (2)
Expertsystemen (vervolg)
Trace en uitlegfaciliteiten
Voorbeelden
Knowledge engineering
Trends in expertsystemen
Demonstratie expertsysteem
Harthulp via de ambulancedienst
Samenvatting en conclusie
Expertsysteem voor psychiatrie
Van algemeen naar specifiek (eind ’60er jaren)
Beperkt domein
Joseph Weizenbaum
ELIZA
ELIZA
Men are all alike.
IN WHAT WAY
They’re always bugging us about something or other.
CAN YOU THINK OF A SPECIFIC EXAMPLE
Eliza (2)
ELIZA (vervolg)
Well, my boyfriend made me come here.
YOUR BOYFRIEND MADE YOU COME HERE
He says I’m depressed much of the time.
I AM SORRY TO HEAR THAT YOU ARE DEPRESSED
It’s true. I’m unhappy.
SO YOU THINK COMING HERE WILL HELP YOU NOT TO
BE UNHAPPY
I need some help, that much seems certain.
WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP
Perhaps I could learn to get along with my mother.
TELL ME MORE ABOUT YOUR FAMILY
Definitie expertsysteem (1)
Een expertsysteem is een programma dat
binnen een bepaald domein, gebruikmakend
van AI, een oplossing kan geven voor een
probleem op het niveau van een domeinexpert
Een expertsysteem gebruikt daarbij veel
domeinkennis en stelt, waar nodig, vragen aan
de gebruiker
Definitie expertsysteem (2)
Expertsysteem = kennis + inferentie
Kennis bevindt zich in de domein specifieke
knowledge base (kennisbank)
Inferentie (automatisch redeneren) is de
manipulatie van geformaliseerde kennis om
nieuwe kennis af te leiden
Inferentie vindt plaats met behulp van de
inference engine (inferentie machine)
Architectuur
CONSULTATIESYSTEEM
GEBRUIKERS INTERFACE
UITLEG
FACILITEIT
TRACE
FACILITEIT
INFERENTIE MACHINE
KENNISBANK
GEBRUIKER
Verschillen
Dankzij de scheiding van kennis en inferentie
zijn Expert System Shells ontstaan
Positieve & negatieve aspecten
Positief
Beschikbaarheid van zeldzame kennis
Consistente (hoge) kwaliteit van de resultaten
Grote flexibiliteit
Negatief
Verzamelen van kennis
Acceptatie
Actualiteit
Kennisrepresentatie
Formalisme voor het vastleggen van kennis in
de computer, maar eventueel ook op papier
− Logica
− Regels
− Semantische netten
− Frames
Logische Kennisrepresentatie
Ontologie : beschrijving van de belangrijke
concepten in een gegeven domein.
vb. Dieren, zoogdieren, mensen, katten, honden
Kennis: in logische zinnen of axioma’s:
Zoogdier(x) −> Dier(x)
Mens(x)
−> Zoogdier(x)
Nu leiden we af: Mens(x) −> Dier(x)
Logische Kennisrepresentatie (2)
− Maak een vocabulaire (ontologie)
− Encodeer algemene regels voor het
probleem domein
− Encodeer de specifieke instantie
− We onderscheiden: objecten, categorieen,
eigenschappen, relaties, acties
Regel−gebaseerde systemen (1)
If {conditions} then {conclusion}
De conclusion kan een assertion of een action
zijn:
Rule−based deduction systems
Rule−based reaction systems
Regel−gebaseerde systemen (3)
Bij kip en kalkoen wordt witte wijn gedronken
object
meal
attribute
appetizer
main_course
desert
wine
(meal, appetizer, shrimp)
(meal, main_course, turkey)
(meal, desert, brownies)
if same(meal, main_course, chicken) or
same(meal, main_course, turkey)
then
add(meal, wine, white)
Regel−gebaseerde systemen (2)
Onderdelen van een regel−gebaseerd systeem
Een kennisbank bestaande uit
De regelverzameling
Het object schema
Een feitenverzameling
Het object schema met toegekende waarden
Regel−gebaseerde systemen (4)
Het onderscheid tussen regels en feiten wordt
geëxploiteerd
Inferentie door herhaald selecteren en uitvoeren
van regels op basis van de beschikbare feiten
if same(meal, main_course, chicken) or
same(meal, main_course, turkey)
then
add(meal, wine, white)
(meal, appetizer, shrimp)
(meal, main_course, turkey)
(meal, desert, brownies)
(meal, wine, white)
Redeneerstrategieën
Bottom−up inferentie
Werken vanuit een feitenverzameling
Top−down inferentie
Werken vanuit een doel
Zookeeper
Regel−
% Biological class
verzameling
Z1: If ?x has hair
then ?x is a mammal
...
...
% Carnivore or ungulate
% Animal identities
Z9: If ?x is a carnivore
?x has tawny color
?x has dark spots
then ?x is a cheetah
...
...
Z5: If ?x is a mammal
Z15: If ?x is a bird
?x eats meat
?x is a good flyer
then ?x is a carnivore
then ?x is an albatross
...
...
...
...
Tweety has hair
Tweety eats meat
Feiten−
verzameling Tweety has tawny color
Tweety has dark spots
Bottom−up inferentie
Regel−
% Biological class
verzameling
% Animal identities
1
Z1: If ?x has hair
then ?x is a mammal
...
...
% Carnivore or ungulate
2
3
Z9: If ?x is a carnivore
?x has tawny color
?x has dark spots
then ?x is a cheetah
...
...
Z15: If ?x is a bird
Z5: If ?x is a mammal
?x eats meat
?x is a good flyer
then ?x is a carnivore
then ?x is an albatross
...
...
...
...
Tweety is a cheetah
Tweety has hair
Tweety eats meat
Feiten−
verzameling Tweety has tawny color Tweety is a mammal
Tweety has dark spots Tweety is a carnivore
Top−down inferentie
Regel−
% Biological class
verzameling
% Animal identities
3
Z1: If ?x has hair
then ?x is a mammal
...
...
% Carnivore or ungulate
2
1
Z9: If ?x is a carnivore
?x has tawny color
?x has dark spots
then ?x is a cheetah
...
...
?
Z15: If ?x is a bird
Z5: If ?x is a mammal
?x eats meat
?x is a good flyer
then ?x is a carnivore
then ?x is an albatross
...
...
...
...
Tweety is a cheetah
Tweety has hair
Tweety eats meat
Feiten−
verzameling Tweety has tawny color Tweety is a mammal
Tweety has dark spots Tweety is a carnivore
Top−down versus bottom−up
Het probleem bepaalt de keuze
Is er een duidelijk doel te identificeren?
Zo ja, dan top−down
Zo nee, dan bottom−up
Top−down met name voor classificatie
Bottom−up met name voor constructie en
compositie
Opdracht
Doel
:g
Feiten : {a, f}
Regels R1: if b and f then g
R2: if g then c
R3: if a then b
R4: if a then e
R5: if b and c then d
Wat is de uiteindelijke feitenverzameling bij
bottom−up inferentie? Bij top−down inferentie?
Overige redeneer−aspecten (1)
Meta−regels
De conflict−set bestaat uit de regels
welke kunnen "vuren"
Welke regel wordt geselecteerd?
De eerste? De meest specifieke? ...
Forward chaining
Bottom−up met selectie van de eerste geschikte regel
Backward chaining
Top−down met selectie van de eerste geschikte regel
Overige redeneer−aspecten (2)
Redeneren met onzekere informatie
Feiten en conclusies hebben een certainty factor
(CF)
Bij het afleiden van nieuwe feiten worden Cfs
gecombineerd
If A and B then C (0.80)
If C or D then D (0.90)
Belief Networks
Belief Networks
Grafisch model voor berekenen kansen
P(A = a_1) gegeven bekende informatie
P(B), P(C), P(D), etc. en ook P(B|A) etc.
Trace en uitlegfaciliteiten
Trace
Toont welke feiten getraceerd worden
Why
Toont waarom een vraag gesteld wordt
How
Toont hoe een feit afgeleid is
Why−not
Toont waarom een feit niet afgeleid is
Complementair t.o.v. How
Voorbeelden: Dendral (1)
Domein van de organische chemie
Bepalen van structuurformules van organische
verbindingen a.d.h. Van
massa−spectrometrische gegevens
Massaspectrum
Gegeven:
C6H13NO
2
Electron
beam
H
Gevraagd:
H − C − ???
H
Voorbeelden: Dendral (2)
Naïeve benadering
Genereer alle mogelijke structuren
Genereer voor elke structuur het massaspectrum
Vergelijk deze met het gegeven spectrum
Heuristische benadering
Gebruik domeinkennis tijdens het genereren van de
mogelijke structuren
if there are two peaks x and y such that
1) x + y = M + 28
2) x − 28 is a high peak
then there is a ketone (C=O) subgroup
Voorbeelden: Mycin (1)
Domein van de infectieziekten
Diagnose èn therapie
Onzekere en onvolledige informatie
Evaluatie
10 willekeurige patiënten gepresenteerd aan Mycin
10 willekeurige patiënten gepresenteerd aan 9
specialisten
100 recepten beoordeeld door 8 beoordelaars
Voorbeelden: Mycin (2)
Persoon% accept.% onacc
Medicus 1 50
10
Medicus 2 50
10
Medicus 3 50
10
Medicus 5
4 70
40
0
Medicus 6 50
0
Huisarts 30
10
Medicus 8 10
Student
30
30
0
Voorbeelden: American Express
Advies bij kredietwaardigheid nieuwe klanten
1/3 minder afwijzingen
Omzetverhoging van $27.000.000,− per jaar
Vraag: bedenk enkele mogelijke regels voor
bovenstaand expert systeem
Knowledge engineering
Identificatie
Conceptualisering
(Kennis
acquisitie)
Formalisering
Implementatie
Testen
Knowledge acquisition bottleneck
Het grootste probleem in Knowledge
engineering is om alle kennis in de computer
te zetten.
Dit probleem heet de knowlegde acquisition
bottleneck.
Het kan soms jaren duren voordat een
correct en helder expert systeem gebouwd is.
Trends in expertsystemen
Schaalvergroting (parallelle systemen)
Hybride systemen
Zelflerende systemen
Kennisacquisitie
Eigenschappen kennisrepresentatievormen
Redeneren m.b.v. modellen
Internet expertsystemen
Internet expertsystemen
Positief
Publiekelijk toegankelijk
Eenvoudige distributie
Platform onafhankelijk
WWW omgeving
Negatief
Beperkte betrouwbaarheid en performance
Matige beveiliging
Geen standaard voor betalingen
Demonstratie expertsysteem
Harthulp via de ambulancedienst
112 alarmcentrale
Diagnose van hartklachten
Advies over het sturen van een ambulance
Onzekere en onvolledige informatie
Kritieke toepassing
http://www.cs.uu.nl/docs/mti
Samenvatting en conclusie
Expertsystemen...
Vormen een belangrijk deelgebied van AI
Zijn er in vele soorten en maten
Zijn zeer succesvol gebleken
Staan volop in de belangstelling
Bestaan meestal uit een grote verzameling causale
(als−dan) regels
Vragen informatie aan de gebruiker en geven deze
advies