(terug naar homepage)

Het programma Ida in Java

Inhoud:
  1. Wat is Ida?
  2. Eliza van Jozeph Weizenbaum
  3. Hoe werkt Eliza?
  4. Geschiedenis van Ida
  5. Wat kan Ida zo al?

  1. Wat is Ida?

    Het programma Ida "probeert" te converseren met de persoon die aan het toetsenbord zit.

    Deze "gesprekken" verlopen niet altijd hetzelfde. Als je bijvoorbeeld intypt: Ik heb ruzie met met mijn vriendin, zou IDA verschillende reacties kunnen geven, zoals:

  2. Jouw vriendin, daar wil ik graag iets meer over horen.
  3. Hoe zit het met jouw vriendin?
  4. Ben je tevreden met jouw vriendin?
  5. Vertel eens wat meer over jouw vriendin.
  6. Hoe vind je het dat jij ruzie met jouw vriendin hebt?
  7. Wat zou je ervan vinden als iedereen wist dat jij ruzie met jouw vriendin hebt?
  8. Waarom vertel je dat jij ruzie met jouw vriendin hebt?
  9. Waarom heb je ruzie met jouw vriendin?
  10. Dat jij ruzie met jouw vriendin hebt, vind je dat prettig?

  11. Dat IDA zoveel verschillende reacties tot haar beschikking heeft, maakt conversaties met haar wel afwisselend, maar de laatste uitspraak laat zien dat Ida ook wel eens wat onverwacht uit de hoek kan komen.

    Ida lijkt wel wat op het programma Eliza van John Weizenbaum, zij het dat Ida meer grammatica aan boord heeft om zinnen (maar helaas nog niet alle) om te kunnen bouwen.


    (terug naar titel)

  12. Eliza van Jozeph Weizenbaum

    Misschien heeft u wel eens gehoord van het programma Eliza.

    Het programma Eliza werd in 1966 voltooid door Joseph Weizenbaum, computergeleerde aan het Massachusetts Institute of Technology (MIT). Met dit programma kon men een soort gesprek met de computer voeren. De aard van zo'n gesprek was afhankelijk van verwisselbare data-modules. De bekendste module heette DOCTOR en liet de computer de rol spelen van een psychiater.

    Om u een voorbeeld te geven hoe zoiets kan verlopen, zouden een gesprekje kunnen voeren met zo’n Eliza:

    Eliza: HOW DO YOU DO -- PLEASE STATE YOUR PROBLEM.
    Mens:  I NEED A SPECIMEN OF YOUR CONVERSATION.
    Eliza: I SOMETIMES ALSO WANT A SPECIMEN OF MY CONVERSATION.
    Mens:  WHY IS THAT?
    Eliza: WHO ELSE HAVE YOU ASKED THAT?
    Mens:  I DON'T THINK I ASKED ANYBODY.
    Eliza: WHY ARE YOU NOT SURE YOU ASKED ANYBODY?
    Mens:  TO BE HONEST, I AM SURE I DIDN'T ASK!
    Eliza: HOW DO YOU FEEL ABOUT BEING SURE YOU DIDN'T ASK?
    Mens:  I CAN'T SAY IT BOTHERS ME.
    Eliza: HOW DO YOU KNOW YOU CAN'T SAY IT BOTHERS YOU?
    Mens:  I'M SURE!
    Eliza: IS IT BECAUSE YOU ARE SURE THAT YOU CAME TO ME?
    Mens:  OF COURSE NOT!
    Eliza: PLEASE GO ON.
    Mens:  IT IS A SPECIMEN OF YOUR CONVERSATION THAT I APPROACHED YOU FOR.
    Eliza: WHY ARE YOU CONCERNED OVER MY CONVERSATION THAT YOU I FOR?
    Mens:  IS THIS SUPPOSED TO BE ENGLISH?
    Eliza: SPEAKING ENGLISH IS NEW TO ME, I'M USED TO BINARY.
    Mens:  DO YOU WANT ME TO TYPE BINARY?
    Eliza: WHY WOULD I WANT TO WANT YOU TO TYPE BINARY?
    Mens:  THAT'S WHAT YOU TOLD YOU ARE USED TO.
    Eliza: WHAT MAKES YOU THINK I AM USED TO?
    Mens:  SINCE YOU ONLY CONFUSE MATTERS, I'D BETTER STOP TALKING TO YOU!
    Eliza: WE WERE DISCUSSING YOU -- NOT ME.

    En zo kunnen we uren doorgaan: Eliza schijnt er nooit genoeg van te krijgen en de enige oplossing is "goodbye" in te tikken, waarna deze dame nog even kwijt wil wel kwijt wil dat je naar haar mening lijdt een ernstige vorm van schizofrenie, paranoide tendenzen vertoont, dan wel anderszins gestoord bent.

    Dat de computer begrijpt wat je intypt, zal wel niemand serieus geloven (behalve dan misschien een echte paranoide patient), maar een goede Eliza vestigt - zeker bij mensen die niet weten hoe ze werkt - nogal eens de indruk dat er echt iemand "aan de andere kant" zit.


    (terug naar titel)

  13. Hoe werkt Eliza?

    In het kort komt de werking van Eliza neer op een drietal trucs:

    1. Bouw het antwoord van de mens om tot een vraag. Het merendeel der antwoorden is van deze soort: Eliza verwerkt jouw woorden in haar antwoord. Eliza moet dan natuurlijk wel "I" omzetten in "you", "my" in "your", "I am" in "you are", enz. Overigens verloopt deze omzetting lang niet altijd foutloos!
    2. Geef een voorgebakken antwoord naar aanleiding van een woord in de zin. Met: WHO ELSE HAVE YOU ASKED THAT? reageert Eliza op het vraagwoord "why". SPEAKING ENGLISH IS NEW TO ME ... volgt op "English", en WE WERE DISCUSSING YOU -- NOT ME. wordt veroorzaakt door het noemen van "you".
    3. Zijn A en B niet mogelijk, geef dan een gemeenplaats.

      Het antwoord PLEASE GO ON. is van deze soort (een neutrale dooddoener).

    (terug naar titel)
  14. Geschiedenis van IDA

    De eerste versie van IDA werd gemaakt in het begin van de tachtiger jaren op een computer van Tandy in de programmeertaal Basic.

    Anders dan eerdere vertalingen van Eliza, beschikt IDA over een soort grammatica, waarmee een aantal typen van zinnen geanalyseerd kunnen worden. helaas zijn nog niet alle zinspatronen opgenomen, waardoor omzettingen niet altijd perfect verlopen.

    Het Basic-programma IDA was geschreven voor computers die niet veel meer dan zo'n 20 kilobytes aan vrij geheugen hadden. De Basic broncode is dan ook zeer beknopt en moeilijk leesbaar. In deze tijd, waarin het geheugen van computers wordt uitgedrukt in megabytes, doet de Basic-versie wat ouderwets aan.

    De Basic-versie is ook buiten het Internet om te gebruiken en is hier te downloaden.

    In mei 2000 begon de auteur met een versie in Java. Op die manier zou het programma ook geschikt worden voor het Internet. De Java-versie is meer modulair opgezet dan de Basic-versie. Zo bestaat de Java-versie uit zo’n vijftig subroutines, in Java gewoonlijk aangeduid als methoden. De Java-versie van Ida heet Ida.class, en moet opgestart worden vanuit een HTML-bestand. De eerste versie van de Java-IDA werd geplaatst door Heine Rodrigues de Miranda, die het programma als applet plaatste in de home-page van het Academisch Genootschap te Eindhoven.


    (terug naar titel)

  15. Wat kan Ida zo al?

    In de eerste plaats maakt de Java-versie van Ida gebruik van de onder 3) genoemde technieken, namelijk:

    1. Bouw het antwoord van de mens om tot een vraag.
    2. Geef een voorgebakken antwoord naar aanleiding van een woord in de zin.
    3. Zijn 1 en 2 niet mogelijk, geef dan een gemeenplaats.

    Verder kent Ida nog een aantal trucs, waarvan de belangrijkste zijn:

  16. Meestal herkent ze grof taalgebruik.
  17. In de regel merkt ze als ze in het Engels wordt toegesproken.
  18. Vaak zal ze correct antwoorden op de vraag wie haar gemaakt heeft.
  19. Ida herkent een aantal reacties, zoals Dat gaat je niks aan .
  20. Ida informeert af en toe (buiten het gesprek om) naar je leeftijd, woonplaats, e.d.
  21. Ida kan eenvoudige sommetjes oplossen.

  22. Hoe dat allemaal geprogrammeerd is, is natuurlijk een verhaal apart, maar daar zijn inlichtingen over te krijgen bij de auteur.


Amsterdam, 19 augustus 2001, Tom Luif

Terug naar begin document
Terug naar homepage
Spreken met Ida
downloaden DOS-versie Ida