A Closer Look at Chatbot ALICE
There are few chatbots in the history of our industry that have sparked as much interest as ALICE.
ALICE is one of those bots everyone has sort of heard about.
If you are an industry leader, you may know everything I am about to share below. I would advise you to stick around, though, as I am going to share some interesting tidbits on what works and what doesn't - always good to learn from other people's mistakes!
Without further ado, let's have a closer look at chatbot ALICE.
What is chatbot ALICE?
Chatbot ALICE's name stands for Artificial Linguistic Internet Computer Entity. It is a natural language processing (NLP) chatbot designed to engage in a conversation by reacting to human input and responding as naturally as possible.
If you scout the web for more information about ALICE, you will often find it called A.L.I.C.E or Alicebot. For the purpose of this article, let's keep it simple and call it ALICE.
What made ALICE so famous?
Quite simply, ALICE is one of the first of its kind.
Originally, ALICE was inspired by the ELIZA program (which we talk about in our introduction to chatbots eBook, grab it for more details!).
In 1995, its inceptor Richard Wallace released ALICE into the wild. Over the years, it has received many updates, primarily due to changes in the coding language that powers the bot.
ALICE has won many awards and is three times Loebner Prize winner (2000, 2001, 2004) - an award for accomplished humanoid and talking robots.
On a more anecdotal note, ALICE was also the inspiration behind the movie Her by Spike Jonze, where a human falls in love with a talking machine.
Taking it for a spin
Before going any further, we need to take the obvious step: talk to ALICE!
Thankfully, even after so many years, it is still available on the web for us to play. If you want to give it a try, open this page: http://alice.pandorabots.com.
Warning: it doesn't look like much. We develop chatbots that live on up to 29 channels, and they all look a whole lot more user-friendly than this.
Just remember, this was released in 1995 (PS: this was the White House's website in 1994. Yikes.)
Once you get over the ugliness, hone in on the centre of your screen and start typing. You will notice the page reloads each time you press enter and send ALICE your message.
Ask it the questions you always wanted to ask some obscure robot over the internet, and see how it performs.
What works and what doesn't
First, I have to make it very clear once again: ALICE is extremely impressive.
It was the first of its kind and, in many aspects, is still a leading chatbot. It fascinated computer scientists for many years and is a stepping stone in the chatbot industry as we know it today.
With this in mind, let's look at some things it does well and some things it does not.
Great language processing
I remain in awe of ALICE's ability to process what we are saying. It was launched so long ago, this is precisely where you can see how fascinating this program is.
I have had a hard time 'breaking' ALICE in the usual ways one could break a chatbot.
Give it a try, tell me how you broke it!
Great linguistic deflection
A linguistic deflection is a way for the chatbot to avoid responding to an input it does not understand by giving a canned response.
For instance, the Monkey chatbot we built for PG tips would respond 'keep it tea!' (and variants) any time it would not understand what someone would say to it.
A linguistic deflection is usually the first barrier of defence before the chatbot has to use a fall-back system (which you can read about here).
Back to ALICE. ALICE makes exceptional use of linguistic deflections by using vague but not monotonous sentences.
For instance, if you ask it 'why are apples red?', it will reply with a linguistic deflection:
You can try it a few times and it will give you other answers.
It does a fantastic job at answering the user (not answering anything would be the worst, obviously) all the while not really answering (it does not know the answer to the question), without losing the user completely (answering '404 input unknown' or some codey thing would disengage the user instantly).
It is a tricky thing to achieve.
Great linguistic deflections need to be vague enough that they apply to many circumstances, varied enough that the user doesn't run into the same one every single time, and clear enough that the user does not believe he/she made a mistake in his/her phrasing.
Lack of purpose
On to the things I believe ALICE does not do a good job of. The primary one would be serving a purpose.
We talk about this a lot on our blog. A chatbot needs to have a purpose, a 'one true goal' it is trying to achieve.
ALICE does not have a purpose. In my introduction, I explained ALICE through its features rather that its purpose.
Does it matter? For ALICE, I will make an exception and say no, it doesn't matter. The sole purpose of ALICE was to move technology forward into new grounds, not serve a consumer. It achieved its goal (we're still talking about it 20 years later).
I do, though, believe it is a good reminder to anyone out there building bots: you're not Richard Wallace, you're not building ALICE, and your users are not data scientists who are going to be amazed at your super-awesome language recognition features. Make something useful, give it a goal!
An interface for the days of yore
Unfortunately, this has to be mentioned. ALICE lives on a pretty crappy website.
The interface a chatbot lives on makes a world of difference.
While some chatbot building companies focus on developing bots for specific platforms like Facebook Messenger or WeChat, we build them across 29 channels - including websites.
As you decide a chatbot is something you would want on your site, some decisions will have to be made to ensure exceptional UX to your users. This means no page reload, no weird 'conversation log', and so on.
Does it matter? You guessed it, not for ALICE (lucky bot!). Once again, ALICE is not here to serve any particular purpose other than display its amazing awesomeness.
Once you deploy your own chatbot, though, make sure you spend time designing the interface you are going to use (unless you are using a messaging app).
This concludes our closer look into ALICE. Have you had a play? Did it say anything silly or out of context? Tweet us your best screenshots!
Update: ALICE's meta-purpose
As I promoted this article through various social channels, one of our readers pointed something out. I thought I would amend the original piece to include their thought, as I found them to be valuable input.
In my article, I mention ALICE's lack of purpose. The reader points out that, to them, this isn't entirely true. ALICE is an opensource framework that powers thousands of chatbots out there. It is ready-made and can be implemented into any chatbot you build.
"Hundreds of thousands developers (both on and off the Pandorabots platform) have incorporated ALICE into their chatbots to avoid reinventing the wheel and rewriting response to the top 10,000 things people say in general conversation, which ALICE was designed to handle."
So this reader is right. ALICE does have a purpose.
As I often point out, though, my definition of 'purpose' for a chatbot (or 'One True Goal') relates to the usefulness of the chatbot during a human-to-bot interaction. Of course, ALICE is amazing and helps thousands of developers. From a chatbot user point of view, though, there isn't much to take from interacting with ALICE.
ALICE is a brilliant and unique concept. To that effect, I'd like to attribute it's contribution to the world of chatbot development as a meta-purpose. It works in the background, making our world a better place.
I hope this clears things up. Thanks to our trusted readers for their always valuable input!