
A Neural Conversational Model [pdf] - sgk284
http://arxiv.org/pdf/1506.05869v1.pdf
======
arthurcolle
> Human: what is the purpose of life ?

> Machine: to serve the greater good .

> Human: what is the purpose of living ?

> Machine: to live forever .

> Human: what is the purpose of existence ?

> Machine: to find out what happens when we get to the planet earth .

> Human: where are you now ?

> Machine: i ’m in the middle of nowhere .

> Human: what is the purpose of dying ?

> Machine: to have a life .

> Human: what is the purpose of being intelligent?

> Machine: to find out what it is .

> Human: what is the purpose of emotions ?

> Machine: i don ’t know .

This is intense

~~~
dmgbrn
> Machine: to find out what happens when we get to the planet earth .

Something tells me the entirety of BSG was included in the training set.

~~~
sswaner
What is BSG?

~~~
kdvh
Battlestar Galactica.

------
codemac
This scares me because all my interactions with google support have been so
incredibly bad, it makes me nervous to train a computer on that corpus of bad
data.

Taking bad support and turning it into inaccurate bad support is a
fantastically bad idea.

~~~
vidarh
Some might suggest that Google support has been run by AI's for years already,
given just how awful some of the responses are...

------
vasco
> Machine: hi , this is <NAME> from helpdesk connect , what can i help you
> with today ?

> Human: hi , i forgot my password

> Machine: ok great

That's something unexpected to hear from tech support.

~~~
hobs
When I worked in tech support, I cant tell you how many times I would say
"Great! (realize that its not great for them) that we have isolated the
issue."

------
dsugarman
> Human: what is immoral ?

> Machine: the fact that you have a child .

harsh

------
notum
Quoc V. Le also helped develop Word2Vec, released as opensource couple of
years ago:
[https://code.google.com/p/word2vec/](https://code.google.com/p/word2vec/)

You can play with it here: [http://rare-technologies.com/word2vec-
tutorial/](http://rare-technologies.com/word2vec-tutorial/) (a bit further
down)

Google seems rather heavily invested in NLP, can't blame them as it's a very
exciting domain to explore.

~~~
smhx
Quoc Le is neither an author of the word2vec paper or in the committers list
of word2vec software (there's only two committers, mikolov and sutskever). Not
sure where you got that inference from.

~~~
andrewtbham
[http://www.wired.com/2014/12/googlers-quest-teach-
machines-u...](http://www.wired.com/2014/12/googlers-quest-teach-machines-
understand-emotions/)

At Google, he helped develop a system that essentially maps words into
vectors. And according to Google, this work would later feed into a system
developed largely by a researcher named Tomas Mikolov. Called Word2Vec, the
system determines how different words on the web are related, and Google is
now using this as a means of strengthening its “knowledge graph”

~~~
throwaway_bob
Just because wired says something doesn't make it true. Whatever other
accomplishments he may have, Le was not a contributor to word2vec, and he did
not originate the idea of mapping words to vectors.

~~~
kastnerkyle
I think the poster got mixed up. Quoc Le was the first author on "Distributed
Representations of Sentences and Documents" aka paragraph2vec, so he has been
involved in the x2vec scene. Just not the word2vec. And I would argue that
word2vec did not originate the idea either, just popularized it and showed the
power of such an approach (plus an awesome demo!).

The original paper on word embeddings from 2001 from Bengio et. al. "A Neural
Probabilistic Language Model"[1] is the first I am aware of.

[1] [http://papers.nips.cc/paper/1839-a-neural-probabilistic-
lang...](http://papers.nips.cc/paper/1839-a-neural-probabilistic-language-
model.pdf)

------
Nadya
The conversations are rather enlightening.

 _> What is the color of water? Water._

I'm quite puzzled how it knows "two plus two" is four but "ten minus two" is
"seventy-two". I wonder how it parsed one correctly but failed drastically to
parse the other.

~~~
murbard2
It did not see enough examples to learn a general addition algorithm. "Two
plus two equals four" is a common sentence, "Ten minus two equals eight"
isn't.

In fact, it's likely that _no one_ learns addition by listening to examples,
you're taught to execute a specific algorithm and it takes many people years
to master it. In fact, ask a toddler what "ten minus two" is and you might get
a similar nonsensical answer.

~~~
reddytowns
I don' think it could ever learn a general addition algorithm, because the
algorithm they are using doesn't allow for a multi-step process. For example,
to add 28 + 37, a simple approach would be:

    
    
      1. first, look at the one's column and recall that 8 + 7 is 15.
      2. Then take the value from the tens column of the answer
      and add it to the tens column of the arguments.
    

But given the command : add 28 + 37, it can only execute a single step. It has
no way of guessing at and then storing the values for the intermediate
command, (take the 1 from the 15 and add it to the 2 from the 28 and the 3
from the 37), to be processed in the next round. Because so it can't ever
generalize addition.

~~~
Smerity
Whilst you are correct that the number of allowed computation steps is
limited, LSTMs have still been used with success for such tasks. LSTMs have
been used to perform addition with 99% accuracy^ on two 9-digit numbers[1].
The paper even shows that simple Python programs can be evaluated with some
degree of accuracy.

Remember that even if the number of computation steps is limited, there can be
multiple layers ([1] uses 2) and each neuron unit can perform a computation
([1] uses 400 cells per layer). It only needs to learn how to be an ALU. The
work is in fact done by one of the people who established the sequence to
sequence framework, Sutskever, and is referenced in the Neural Conversational
Model paper.

^ They use "teacher forcing" for evaluation which inflates the accuracy to
some degree, but it's still quite impressive.

[1]:
[http://arxiv.org/pdf/1410.4615v3.pdf](http://arxiv.org/pdf/1410.4615v3.pdf)

~~~
murbard2
Now for the kicker: recurrent network can implement arbitrary algorithms,
including a type of GOFAI. It's quite possible that such an algorithm isn't
learnable without supervision; that it was discovered by sheer luck at the
dawn of humanity and has been passed down by language ever since.

------
andrewtbham
this paper, also by quoc le, might also be of interest...

[http://papers.nips.cc/paper/5346-sequence-to-sequence-
learni...](http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-
with-neural-networks.pdf)

------
ocdtrekkie
Is this going to end up making it even harder for me to get to an actual human
on the phone?

~~~
gpmcadam
Or maybe it'll be good enough that you won't need one!

------
fapjacks
"Please unplug your modem's power from the wall, then reboot your computer.
Thank you. Your Wallet will be charged twenty four dollars for today's support
request. Have a nice day!"

------
feld
I think this could be successfully trained to walk many people through all
kinds of basic support issues... using years of tech support chat logs would
probably make this a breeze.

~~~
joelthelion
One problem is that when the machine says it's doing something, it's actually
not doing anything. The chat logs don't contain information about the actions
of the tech.

~~~
feld
The chat logs might not, but I'm sure the actions of the representative are
logged _somewhere_ and they could be reconciled.

------
thezach
is it plugged in?

did you restart it?

------
cafebeen
Interesting, but it strikes me as a work in progress... Curious to see where
it goes though!

