Expertsystemen Marco Wiering CGN A126 Tel. 030−2539209 [email protected] 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