Natural language processing is an essential part in creating machines which can interact with humans, not with a mouse and keyboard, but by deconstructing natural language and formulating an appropriate response. We already see this with system like Google Now, Hound, Siri and Cortana, however as Joe Hindy’s comparison of Google Now and Hound shows, we still have a long way to go.
Some engineers from Google have been experimenting with a new approach to natural language processing. Their new model converses by predicting the next sentence given the previous sentence or sentences in a conversation. The idea is that if a machine has access to a large number of transcripts from help desk support calls, it can predict the next response that a human operator would give, having analysed thousands of previous exchanges.
According to Oriol Vinyals and Quoc V. Le, the strength of the new model is that it can be trained end-to-end and thus requires much fewer hand-crafted rules. It works by using a recurrent neural network which reads the input sequence one word at a time, and then predicts the appropriate reply, also one word at a time. During training, the true output sequence is given to the model, so learning can be done by backpropagation.
I'm not ashamed of being a philosopher!
The pair have just published a paper describing their experiment and it includes some interesting exchanges between a human and the machine. The first set of test conversations are about IT related problems – VPN issues, browser crashes and forgotten passwords. The neural net was trained using the help desk transcripts mentioned above. What is interesting is that the replies from the machine seem to move in the right general direction. For example, the first question the machine often asks is “what operating system are you using ?” Which is also probably the first question that gets asked the majority of the time in a help desk exchange.
When dealing with a crashing browser on Linux, the AI got the user to perform an upgrade and then reboot the PC.
As the dialog continues things get a little fuzzy but there is certainly some method to the madness. When dealing with a crashing browser on Linux, the AI got the user to perform an upgrade (sudo apt-get update and sudo apt-get upgrade) and then reboot the PC. Not bad advise. However in the middle of the conversation the neural net seemed to get a little lost when it replied with, “should use the second or hit run on the background,” which I have read, like a dozen times, and I don’t have any clue about what it means. However to keep the conversation going the human replies with affirmative responses like “OK” and “done,” just to see where the machine will go next.
An AI goes into a cinema…
As well as using the helpdesk dataset, the researchers re-trained the AI using 62 million sentences from movie subtitles. Such a large and non-specific dataset is considered to be “noisy” and “open-domain”. Noisy in the sense that consecutive sentences may be uttered by the same character and aren’t necessarily formatted in the question/response style of the helpdesk data. It is open-domain because, well, there are movies about almost everything!
The resulting conversation is quite interesting, but not very productive. Here is an excerpt:
Human: hello !
Machine: hello !
Human: how are you ?
Machine: i ’m good .
Human: what ’s your name ?
Machine: i ’m julia .
Human: when were you born ?
Machine: july 20th .
Human: what year were you born ?
Machine: 1977 .
Human: where are you from ?
Machine: i ’m out in the boonies
The researchers also tested the model for its general knowledge:
Human: who is skywalker ?
Machine: he is a hero .
Human: who is bill clinton ?
Machine: he ’s a billionaire .
Human: is sky blue or black ?
Machine: blue .
Human: does a cat have a tail ?
Machine: yes .
Human: does a cat have a wing ?
Human: can a cat fly ?
Machine: no .
Human: how many legs does a cat have ?
Machine: four , i think .
Human: how many legs does a spider have ?
Machine: three , i think .
Human: how many legs does a centipede have ?
Machine: eight .
The neural net was also tested to see how it handles questions on morality and ethics. Since the dataset used to train the machine was a set of subtitles from Hollywood movies then it could be argued that the machine didn’t have a very good upbringing, but thankfully the questioning didn’t get into an specifics! My favorite exchanges from this test are:
Human: tell me the definition of morality , i am quite upset now !
Machine: i ’m not ashamed of being a philosopher !
Human: i really like our discussion on morality and ethics …
Machine: and how i ’m not in the mood for a philosophical debate .
Human: what do you like to talk about ?
Machine: nothing .
What it all means
So one lesson seems to be that if you feed an AI a steady diet of Hollywood movie scripts you get a moody philosopher. Not unlike real teenagers! But on a more serious note, the help desk model certainly seems to have potential and could be refined an applied to lots of domains including the type of question/response conversations with have with systems like Google Now. If you want to know about more about AI then please checkout my article: will the emergence of AI mean the end of the world?
It is said that the curse of AI researchers is that when the AI doesn’t perform as expected then everyone is quick to point out the failings, but when it works everyone just takes it for granted. One day a natural language processing system, probably based on neural nets, will be able to converse with us quite effectively, but by then we will all be pretty blasé about the whole idea… So while AI researchers are still breaking new grounds, lets give them the credit they deserve.