ELIZA

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg

ELIZA er et tidligt computerprogram til behandling af naturligt sprog udviklet mellem 1964 og 1966 på MIT Artificial Intelligence Laboratory af Joseph Weizenbaum.[1] Programmet blev skabt til at demostrere det overfladiske i kommunikationen mellem menneske og maskine, idet ELIZA simulerede en samtale ved brug af mønstergenkendelse og metodisk subsitution, som gav brugeren en oplevelse af at blive forstået af maskinen, til trods for at programmet ikke havde nogen forståelsesramme for miljø og hændelser.[2] Programmets interaktion blev styret af 'scripts' (programstumper), oprindeligt skrevet i sproget SLIP, som gave ELISA mulighed for at behandle input og give svar i henhold til reglerne indeholdt i disse scripts. Det mest kendte script, DOCTOR, simulerede en psykoterapeut og anvendte regler, som ledte til ikke-ledende spørgsmål afledt af brugerens input. ELISA var således en af de første chatbots, men blev også anset for at være et af de første programmer med mulighed for at bestå Turing-testen.

ELIZA's skaber, Weizenbaum, anså programmet for at være en demonstration af det overfladiske i kommunikation mellem menneske og maskine, men blev overrasket over, hvor mange, som tilskrev programmet menneske-lignende følelser - herunder hans egen sekretær. Mange akademikere troede, at programmet ville være i stand til at påvirke mange mennesker positivt, især dem med psykologiske udfordringer, og at det kunne bistå læger i behandlingen af patienter. Skønt ELIZA kunne deltage i en dialog, kunne den ikke konversere med egentlig forståelse. Mange af de tidlige brugere var dog overbeviste om ELIZA's intelligens og forståelse, trods Weizenaums insisteren på det modsatte.

ELIZA er navngivet efter figuren Eliza Doolittle fra skuespillet Pygmalion eller musicalen My Fair Lady, hvor arbejderpigen Eliza bliver tillært et overklassesporg.

Virkemåde[redigér | redigér wikikode]

I sin enkleste form virker ELIZA på følgende måde:[3]

  1. En prioriteret liste med nøgleord anvendes overfor brugerens indtastede sætning. Nøgleordet med højest prioritet, som findes i brugerens sætning, anvendes. Eksempler på nøgleord kunne være:
    1. "can you" (kan du) → svar 1-3 anvendes
    2. "can I" (kan jeg) → svar 4-5 anvendes
    3. "you are" (du er) → svar 6-9 anvendes
    4. ...
    5. (ikke fundet) → svar 106-112 anvendes
  2. Nøgleordet har ledt til et sæt af svar; et af disse vælges tilfældigt. Fx kan svarene til "can you" (kan du) være:
    1. "Don't you believe that I can<*" (Tror du ikke jeg kan ...?)
    2. "Perhaps you would like to be able to<*" (Du vil måske gerne være i stand til at ...?)
    3. "You want me to be able to<*" (Du vil gerne, om jeg kan ...?)
  3. Svaret gøres komplet, ved at den del af brugerens sætning, som kommer efter nøgleordet, indsættes i svaret. I eksemplerne ovenfor erstattes "<*" af den del af brugerens sætning, som kommer efter nøgleordet.
  4. Svaret vendes, således at 1. person (jeg, mig) erstattes af 2. person (du, dig) og modsat. (På engelsk kan denne udskiftning også omfatte verbet, som bøjes efter stedordet; I am, you are.)

Modellen kan forbedres på mange måder. Fx kan det undgås, at samme svar for det enkelte nøgleord anvendes flere gange i træk, og der kan indarbejdes en særlig håndtering af korte svar fra brugeren.

Det bemærkes, at ELIZA's svar ihærdigt spiller opgaven med at formulere noget over til brugeren; ELIZA forstår jo ikke hvad dialogen handler om.

Noter og henvisninger[redigér | redigér wikikode]

  1. ^ Joseph Weizenbaum: ELIZA—a computer program for the study of natural language communication between man and machine i Communications of the ACM, vol. 9 (1966), pp. 36-45.
  2. ^ Paradigms of Artificial Intelligence Programming, Peter Norvig, New York 1992, ISBN 1-55860-191-0, pp. 151–154|
  3. ^ Afsnittets eksempler er baseret på javascript-implementationen af en elizabot (engelsk).