Coding Challenge  #89 - ELIZA

Coding Challenge #89 - ELIZA

This challenge is to build your own version of the original AI chatbot - ELIZA!

ELIZA is an early natural language processing computer program developed by Joseph Weizenbaum at MIT between 1964 to 1967. Eliza was created to explore communication between humans and machines. To do that ELIZA simulated conversations by using pattern matching and substitution methodologies that created an illusion of understanding on the part of ELIZA.

Weizenbaum was surprised to find that some people attributed human-like feelings to the ELIZA a phenomenon that came to be called the ELIZA effect. I can understand why people did this, when I first came across ELIZA as a child in the 1980s I was blown away at how human it seemed, particularly compared to the computers I was used to dealing with.

Given how many early users were convinced of ELIZA's intelligence and understanding, despite Weizenbaum's insistence to the contrary it’s no surprise people confuse the far more capable and advanced modern LLM based systems for intelligence.

Arthur C. Clark was right when he said:

Any sufficiently advanced technology is indistinguishable from magic.

The Challenge - Building ELIZA

ELIZA was the worlds first chatbot. Some people considered it part of the early AI work as it is doing natural language processing (NLP). As we’ll see there is no intelligence, simply an algorithm designed to mimic it using some relatively simple rules.

If you’ve never used ELIZA before you can give it a go on the ELIZA Archaeology site.

Step Zero

Coding Challenges is zero-based, just like all good programming languages. As we’re building the first ever chatbot, zero seems like a great place to start!

Please set up your IDE / editor and programming language of choice and proceed directly to Step 1 once you’re ready.

Step 1

In this step your goal is to display a welcome banner and prompt the user for input. For now just print the input back out so you can test your program.

You should allow the user to quit if they type a response that would end the conversation, for example: quit, goodbye, or bye.

Continued...

You can find the rest of this coding challenge on the substack post: https://open.substack.com/pub/codingchallenges/p/coding-challenge-89-eliza?r=gjveo&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true

Crina Cătălina Bucur

Senior Engineering Lead at Moneybox | MSc. SWE, BSc. Computer Science

2mo

ecceliza.exe - Ah man, the nostalgia!

Like
Reply
Dan K.

Hands-on Technology Executive | Blockchain Cloud Security

2mo

Too many unrelated mini projects, therefore not useful for learning system architecture. Just write an operating system! 😊

Like
Reply
Derek Maloy

WebOps | DevOps | AWS Engineer | 15+ Yrs Automating Infra at Scale | Python, WebSphere, RHEL, AWS | Seeking Cloud Transformation Roles

2mo

Special characters all over.

Like
Reply
Derek Maloy

WebOps | DevOps | AWS Engineer | 15+ Yrs Automating Infra at Scale | Python, WebSphere, RHEL, AWS | Seeking Cloud Transformation Roles

2mo

Format in into hex, strip away the unicode and see the actual binary upon analys I added incorrect adjustments so that you knew it was not AI.

Like
Reply
Derek Maloy

WebOps | DevOps | AWS Engineer | 15+ Yrs Automating Infra at Scale | Python, WebSphere, RHEL, AWS | Seeking Cloud Transformation Roles

2mo

The original issue is *help along with the stream of ---- with a \n character.

Like
Reply

To view or add a comment, sign in

Others also viewed

Explore topics