ALICE

We forget how small things used to be. Early chatbots weren’t deep neural nets. They were more like clever librarians with a box of index cards. ALICE (Artificial Linguistic Internet Computer Entity) was one of the first that felt like talking to someone—if only for a moment.

Pattern template pairs

At the heart of ALICE were pattern-template pairs. Think of them as “if this, then that” rules. If we typed Hello, she looked up the matching pattern and handed back the template: Hi there. That was it. Simple rule, simple response. She didn’t know what the words meant. She just matched them and filled in the blanks.

Wildcards

Of course, we don’t all say the same words. So wildcards saved the day. A pattern such as I LIKE * could catch anything that came after. If we said “I like pizza,” she’d grab pizza and drop it into a response. It made her feel quick on her feet, even though she was just repeating our words back.

AIML

Those patterns lived in AIML (Artificial Intelligence Markup Language). AIML was XML with training wheels. We wrapped patterns and templates in tags. Anyone could open a text file, add a few lines, and teach her new tricks. No machine learning. Just hand-coded rules. But that was the charm—she was teachable in plain text.

A coder’s musing

We can still build her today. And maybe we should. A simple C# implementation of ALICE could remind us how much can be done with pattern matching and a few wildcards. We might even enjoy writing code that lets her talk back without a single neuron in sight.