Skip to content

Eliise juturobot (An Estonian implementation of the Eliza chatbot)

License

Notifications You must be signed in to change notification settings

hallapmark/eliise

Repository files navigation

eliise

Eliise juturobot: an Estonian implementation of the famous English-language Eliza chatbot. See the 1966 paper by Joseph Weizenbaum introducing the original chatbot here.

Installation

  1. It is recommended to have conda for this project.
  2. Once you have conda, clone the project into a folder on your computer.
  3. Make sure you are running exactly Python 3.9.x. If you are using conda, then in your terminal/shell you can create a suitable environment with the command conda create -n py39eliise python=3.9. Then run conda activate py39eliise.
  4. Make sure you have the estnlk natural language processing library installed. If you created the conda environment described in step 3 and have it activated, then you can install the library with the command conda install -c estnltk -c conda-forge estnltk=1.7.0rc0. Note: this is a large library with its own dependencies. If you run into any trouble with the installation, follow the instructions in the library documents.

Use

In your terminal, navigate to the folder where you cloned Eliise. If you are using conda, remember to check that you have the environment described above activated. Then run python eliise_cmdl_interface.py. Eliise will greet you, and you can now have a chat. When you want to finish the conversation, type quit or sulge and press enter.

Eliise is a (mostly) deterministic bot that follows the logic of the original English-language chatbot very closely. Here is a recreation of the dialogue from the 1966 paper:

User: Kõik sõbrad on samasugused. (All friends are alike)

– Eliise: Mil viisil samasugused? (Alike in what way?)

User: Alati nad tülitavad mind millegagi. (They are always bugging me about something.)

– Eliise: Kas sa saad tuua spetsiifilise näite? (Can you think of a specific example?)

User: Noh, mu sõber saatis mind siia. (Well, my friend sent me here.)

– Eliise: Sinu sõber saatis sind siia (Your friend sent you here)

User: Ta ütleb, et ma olen enamus ajast õnnetu. (He says I am unhappy most of the time.)

– Eliise: Mul on kahju kuulda, et sa oled õnnetu. (I am sorry to hear you are unhappy.)

User: See on tõsi. Ma olen õnnetu (It is true. I am unhappy)

– Eliise: Kas sa arvad, et siin olemine aitab sul mitte olla õnnetu? (Do you think coming here will help you not be unhappy?)

User: Mul on vaja abi, niipalju on kindel. (I need help, that much is certain)

– Eliise: Kui sa saaksid abi, siis mida see sulle tähendaks? (What would it mean to you if you got help?)

User: Äkki õpiksin oma emaga läbi saama. (Perhaps I could learn to get along with my mother.)

– Eliise: Räägi mulle veel oma perekonnast. (Tell me more about your family.)

User: Mu ema hoolitseb minu eest. (My mother takes care of me.)

– Eliise: Kes su perekonnas veel hoolitseb sinu eest? (Who else in your family takes care of you?)

User: Minu isa. (My father.)

– Eliise: Sinu isa. (Your father.)

User: Sa oled mõnel viisil minu isaga sarnane. (You are like my father in some ways.)

– Eliise: Milles sarnasus seisneb? (What resemblance do you see?)

User: Sa oled mitteagressiivne, aga ma arvan, et sa tahad autoriteetne olla. (You are not aggressive but I think you want to be authoritative.)

– Eliise: Sa ütled ma olen mitteagressiivne (You say I am not aggressive.)

User: Sa ei vaidle minuga. (You don't argue with me.)

– Eliise: Miks sa arvad, et ma ei vaidle sind?* (Why do you think I don't argue with you?)

User: Sa kardad mind. (You are afraid of me.)

Eliise: Sulle meeldib arvata, et ma kardan sind – kas pole nii? (You like to think that I am afraid of you – don't you?)

User: Mu isa kardab kõiki. (My father is afraid of everyone)

Eliise: Mis sul veel mõttesse tuleb, kui sa mõtled oma isa?* (What else comes to mind when you think of your father)

User: Kiusajad. (Bullies)

Eliise: Räägime lähemalt, miks sinu sõber saatis sind siia. (Let's discuss further why your friend sent you here)

a * marks sentences where the current version of Eliise struggles with finding correct declensions for nouns when reflecting back something that the user has said.

About

Eliise juturobot (An Estonian implementation of the Eliza chatbot)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages