How do you teach a bot meaning?

We humans learn the meanings of words from context and experience. But where does a poor chat bot start? Using word vectors may be the way to go. In my last blog I discussed what’s needed for an enjoyable conversation. This time, I’d like to take a quick look understanding meaning in conversations – and how we can teach that to a chat bot.

Bot heads often talk about “NLP” – or Natural Language Processing. It’s probably one of the trickiest areas of artificial intelligence because language (especially when in dialogue) is among the most complicated things we humans do.

Representing meaning

A good starting point, though, is using AI to tie-down the meaning of words so they are understandable to a bot. A big step forward in this was made with “word vectors” (MIKOLOV, 2013).

Translating words into vectors has created powerful new possibilities. They are basically a useful way to represent the “meaning” of a word. And since they are vectors, they also give you the possibility to calculate with them. Or to reason even.

Context gives meaning

The famous example of word vectors in action is the “King – Man + Woman = ?” question. The answer, of course, is: “Queen”! It’s really amazing that this conclusion can be reached simply by looking at a bunch of words in context and without needing to know anything about semantics.

In chatbot land, this form of NLP is used in intent mapping: trying to get the meaning of a user from a sentence and mapping it to what the bot knows.

Find out more

Want to go deeper into this? A good starting point is THE PAPER WRITTEN BY XIN. Also check out the nice tool he created called WEVI which makes word vectors visible.