Et kunnskapsbasert system (KBS) er et dataprogram som bruker et kunnskapsgrunnlag for å løse problemer. Her er nøkkelkomponentene:
1. Kunnskapsbase:
* fakta: Grunnleggende, atomiske informasjon om domenet. Eksempler:"Himmelen er blå," "Vann koker på 100 grader Celsius."
* regler: Logiske uttalelser som representerer sammenhenger mellom fakta. Eksempler:"Hvis det regner, er bakken våt," "Hvis temperaturen er over 100 grader Celsius, vil vann koke."
* Heuristics: Tommelfingerregler eller beste praksis som kan bidra til å lede systemets resonnement, spesielt i tilfeller av usikkerhet.
2. Inferensmotor:
* Resonnementsmekanisme: Dette er kjernen i KBS. Den bruker kunnskapsbasen for å trekke konklusjoner og løse problemer.
* Inferensmetoder: Det er forskjellige tilnærminger:
* Fremoverkjeding: Starter med kjente fakta og bruker regler for å trekke nye fakta.
* bakoverkjeding: Starter med et mål og fungerer bakover, og prøver å finne støttende fakta og regler.
* Modellbasert resonnement: Bruker en modell av domenet for å resonnere om atferden.
* Case-basert resonnement: Løser problemer ved å hente og tilpasse løsninger på lignende problemer fra en database med tidligere saker.
3. Brukergrensesnitt:
* hvordan brukeren samhandler med systemet: Lar brukere legge inn spørsmål, gi informasjon og motta resultater fra systemet.
* typer brukergrensesnitt: Tekstbasert, grafisk, naturlig språk osv.
4. Knowledge Acquisition:
* prosessen med å bygge kunnskapsbasen: Dette innebærer:
* Knowledge ELICITASJON: Å trekke ut kunnskap fra eksperter på domenet.
* Kunnskapsrepresentasjon: Velge passende datastrukturer og språk for å kode kunnskapen.
* Kunnskapsvalidering: Å sikre at kunnskapsbasen er nøyaktig og fullstendig.
5. Forklaring Facility:
* gir åpenhet og forståelse: Forklarer systemets resonnementsprosess for brukeren.
* Hjelper med:
* Feilsøking av systemet
* Økende brukertillit
* Gir innsikt i domenet
Eksempel:
Vurder en enkel KBS for å diagnostisere bilproblemer:
* Kunnskapsbase: Fakta om bildeler, regler om symptomer og mulige årsaker, heuristikk for vanlige feil.
* Inferensmotor: Bruker bakoverkjeding - starter med et symptom (f.eks. "Bil vil ikke starte") og prøver å finne matchende regler og fakta for å diagnostisere problemet (f.eks. "Hvis batteriet er dødt, vil ikke bilen starte").
* Brukergrensesnitt: Lar brukeren legge inn symptomene og få en mulig diagnose.
* Forklaringsanlegg: Forklarer resonnementstrinnene, og viser hvilke regler som ble brukt og hvorfor.
Fordeler med KBS:
* ekspertkunnskap fanget og gjenbrukt.
* konsistens og nøyaktighet forbedret.
* problemløsning i komplekse domener.
* Beslutningsstøtte og automatisering.
Ulemper ved KBS:
* Kunnskapsinnsamling er dyrt og tidkrevende.
* vedlikehold og oppdatering av kunnskapsbasen kan være utfordrende.
* KBS kan være ufleksible og vanskelig å tilpasse seg nye situasjoner.
Totalt sett er kunnskapsbaserte systemer kraftige verktøy for å fange og bruke kompetanse, spesielt innen komplekse domener der menneskelig resonnement kan være vanskelig eller tidkrevende.