Here Come The Shakespeare Bots

All my life I’ve been heavily invested in two things — technology, and Shakespeare. When I first learned to program a computer, when I was blindly typing in code from a book I got from Radio Shack and trying to figure out what it did, one of the programs was “Eliza”, what we now would call a “chat bot”. The first thing I did with it was find the code that recognized the string “Hello,” so that it could respond with “Hello” back. I altered that to understand “Hi, Hey, What’s up, How’s it going?” and so on.  Then applied that same idea to all the canned responses (“yes” became “yes, yup, sure, absolutely, definitely, you know it….”  You get the idea).  I’ve known all my life that the secret to making a computer seem more intelligent than it is, is to mix up the responses.  “When you say X I say Y” is how a computer acts.  “You say one of [10 different X’s] and I say one of [10 different Y’s]” is far more interesting because now you want to play with it. You put more thought into how you interact with it, and you listen more closely to the answer because you’re not sure what it’s going to be.

Shakespeare BotGetting to college and getting into Shakespeare didn’t change anything, and
This caused me to think a lot about the idea of context, and seeing the world through different eyes. Imagine asking Romeo to describe the big fight scene, and then asking Tybalt or Mercutio to describe it. They have different knowledge of the world, so their actions and motivations are different. You can’t just code that Romeo and Juliet get married at a certain point, you have to code that only Romeo, Juliet and Friar Laurence have that knowledge. I’ve tried to code a program to do this many times, but usually get stuck on “I would have to focus on making this work for just one play” and then never being able to decide whether Romeo and Juliet or Hamlet would be the best one to do.

As I went through courses and got my CS degree and learned about the basics of artificial intelligence, I would always use Shakespeare’s works as my knowledge base.  Polonius is a father. Ophelia is a daughter. Father is a type of parent, daughter is a type of child. When a parent dies, a child is sad. Therefore when Polonius dies, Ophelia is sad.  That’s a gross oversimplification, but I hope you get the idea.  I am constantly looking at the plays in terms of action and relationships between the characters and thinking in the back of my head, “Could a computer be made to understand this such that it could have a conversation on the subject?”

I’m torn now that “bot” is the new buzzword and every website is sticking a “chat” interface on their front end. Most of them are terrible and do little more than replacing a form and a text field with a whole sentence to type.  The whole idea of a bot is that it’s supposed to gather and process information in an interesting, useful and intelligent way.  The natural language thing is really just a twist to the interface, but everybody gets excited about it because it feels closer to actually talking to another intelligence.

All that to get to this link that asked, “Want to chat with Shakespeare?” Yes please.  But then the subtitle reads, “AI bots will soon allow us to talk to the dead.”

Wait, what? No they won’t. The article even acknowledges this – you create a bot by looking at the body of *knowledge* you have about how a person thinks and communicates. We have *zero* of that for Shakespeare.  You can’t use his plays for that, any more than you can use Prince’s song lyrics to simulate him (which is covered in the article).  The article even says that the farther back you go in time, and the less first-hand knowledge you have, the harder it will be to make a bot.  No kidding, so then why did you use it for your title?  Bait and switch much?

I will never lose my fascination with the idea and hopefully, I can contribute to the knowledge on the subject one day. I don’t think most of the bot revolution is going in this direction, I think it’s more about personal assistants.  When all you ever do is ask questions or make commands, the universe of possible responses is extremely limited. It’s the same reason that they used to use chess as a measure of artificial intelligence. Even though the constraints of the system are significant, there’s still a massive amount of computation that goes on in the middle.  So today I can say, “Alexa, what’s on my calendar today?” or “Alexa, add milk to the shopping list.”  But imagine being able to say, “Alexa, my boyfriend killed my father.”  What do you think the response would be?  Probably to call the police, but that’s a different story.


Leave a Reply

Your email address will not be published. Required fields are marked *