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 Databases Opslag, queries Knowledge 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 GEBRUIKER INFERENTIE MACHINE KENNISBANK
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 verzameling % Biological class 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...... Feiten verzameling 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... Tweety has tawny color Tweety has dark spots
Bottom up inferentie Regel verzameling Feiten verzameling % Biological class Z1: If?x has hair then?x is a mammal...... % Carnivore or ungulate Z5: If?x is a mammal?x eats meat then?x is a carnivore...... Tweety has hair Tweety has tawny color Tweety has dark spots % Animal identities 1 3 2 Tweety eats meat Tweety is a mammal Tweety is a carnivore 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?x is a good flyer then?x is an albatross...... Tweety is a cheetah
Top down inferentie Regel verzameling Feiten verzameling % Biological class Z1: If?x has hair then?x is a mammal...... % Carnivore or ungulate Z5: If?x is a mammal?x eats meat then?x is a carnivore...... Tweety has hair Tweety has tawny color Tweety has dark spots Tweety eats meat Tweety is a mammal Tweety is a carnivore % Animal identities 3 1 2 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?x is a good flyer then?x is an albatross...... Tweety is a cheetah
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 Gegeven: Electron beam H C6H13NO 2 Massaspectrum 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 45 40 70 0 Medicus 6 50 0 Huisarts 30 10 Medicus Student 8 10 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