%%% 0440949 Andreas van Cranenburgh %%% 0518808 Joris de Groot %%% Rule-based classification %%% Tropische ziekten. De knowledge bestaat uit twee taxonomien; te weten de ziektenhierarchie, en de symptoomhierarchie. Ziektes kunnen eigenschappen hebben, waarbij de eigenschap "symptomen" naar elementen uit de symptoomhierarchie moet verwijzen. Verder staan er 'synoniemen' van symptomen vermeld, zodat de gebruiker ze verschillende wijzen kan noemen in de invoer. Als het programa begint wordt de gebruiker gevraagd symptomen op te geven, elk afgesloten met enter. Het herkennen van een symptoom uit de gebruikersinput gebeurt door zo veel mogelijk woorden overeen te laten komen met een bekend symptoom. Niet alle woorden hoeven te matchen, dus een gebruiker kan iets toevoegen als "ik heb last van ...". Dit systeem is uiteraard niet helemaal perfect, want soms word er net een woord uitgepikt waar niet op gematched zou moeten worden. Echter, de gebruiker krijgt feedback over hoe de input herkend wordt, en kan het symptoom anders proberen te omschrijven. Als een symptoomklasse opgegeven wordt, dat wil zeggen een symptoom met childnodes of leaves, dan geeft het symptoom een lijst van deze onderliggende symptomen, zodat de gebruiker eventueel daarmee nader kan specifieren. Daarna worden de regels voor risicofactoren geraadpleegt. Deze regels bevinden zich in een apart bestand en vragen bijvoorbeeld bij koorts of de patient in de tropen is geweest. Als er ja op zo'n vraag geantwoord wordt, dan wordt er bij de lijst van invoer symptomen deze risicofactor toegevoegd. Ten slotte begint het eigenlijke classificeren. Dit gebeurt door uit de lijst met ziektes diegene te vinden die het meeste overlap vertoont met de ingegeven symptomen. Er wordt dus gemaximaliseerd op de lengte van de intersectie tussen de invoer en bekende ziekten. Wanneer een ziekten met minsten twee overeenkomende symptomen wordt gevonden, dan wordt dit op het scherm getoond. Uiteindelijk wordt de best matchende, mits deze meer dan 1 symptoom overeenkomstig had, gegeven als resultaat, met als toevoeging een lijst met mogelijke gevolgen (ernstigheid). Deze methode lijkt redelijk te werken. Doordat niet elk gegeven symptoom hoeft overeen te komen met de resulterende ziekte, kunnen ook minder vaak voorkomende symptomen vermeld worden.