Neural Responding Machine for Short-Text Conversation
Lifeng Shang Zhengdong Lu Hang Li
Noah’s Ark Lab
Huawei Technologies Co. Ltd.
Sha Tin, Hong Kong
{Shang.Lifeng,Lu.Zhengdong,HangLi.HL}@huawei.com

arXiv:1503.02364v2 [cs.CL] 27 Apr 2015

Abstract
We propose Neural Responding Machine (NRM), a neural network-based response generator for
Short-Text Conversation. NRM takes the general encoder-decoder framework: it formalizes the
generation of response as a decoding process based on the latent representation of the input text,
while both encoding and decoding are realized with recurrent neural networks (RNN). The NRM
is trained with a large amount of one-round conversation data collected from a microblogging
service. Empirical study shows that NRM can generate grammatically correct and content-wise
appropriate responses to over 75% of the input text, outperforming state-of-the-arts in the same
setting, including retrieval-based and SMT-based models.

1 Introduction
Natural language conversation is one of the most challenging artificial intelligence problems,
which involves language understanding, reasoning, and the utilization of common sense knowledge. Previous works in this direction mainly focus on either rule-based or learning-based methods (Williams and Young, 2007; Schatzmann et al., 2006; Misu et al., 2012; Litman et al., 2000). These
types of methods often rely on manual effort in designing rules or automatic training of model with a particular learning algorithm and a small amount of data, which makes it difficult to develop an extensible
open domain conversation system.
Recently due to the explosive growth of microblogging services such as Twitter1 and Weibo2 , the
amount of conversation data available on the web has tremendously increased. This makes a data-driven
approach to attack the conversation problem (Ji et al., 2014; Ritter et al., 2011) possible. Instead of multiple rounds of conversation, the task at hand, referred to as Short-Text Conversation (STC), only considers one round of conversation, in which each round is formed by two short texts, with the former being
an input (referred to as post) from a user and the latter a response given by the computer. The research
on STC may shed light on understanding the complicated mechanism of natural language conversation.
Previous methods for STC fall into two categories, 1) the retrieval-based method (Ji et al., 2014),
and 2) the statistical machine translation (SMT) based method (Ritter et al., 2011). The basic idea of
retrieval-based method is to pick a suitable response by ranking the candidate responses with a linear or
non-linear combination of various matching features (e.g. number of shared words). The main drawbacks
of the retrieval-based method are the following
• the responses are pre-existed and hard to be customized for the particular text or requirement from
the task, e.g., style or attitude.
• the use of matching features alone is usually not sufficient for distinguishing positive responses from
negative ones, even after time consuming feature engineering. (e.g., a penalty due to mismatched
named entities is difficult to be incorporated into the model)
The SMT-based method, on the other hand, is generative. Basically it treats the response generation as
a translation problem, in which the model is trained on a parallel corpus of post-response pairs. Despite
1
2

https://twitter.com/.
http://www.weibo.com/.

its generative nature, the method is intrinsically unsuitable for response generation, because the responses
are not semantically equivalent to the posts as in translation. Actually one post can receive responses
with completely different content, as manifested through the example in the following figure:
Post
UserA
UserB
UserC
1.1

Having my fish sandwich right now
For god’s sake, it is 11 in the morning
Enhhhh... sounds yummy
which restaurant exactly?

Overview

In this paper, we take a probabilistic model to address the response generation problem, and propose
employing a neural encoder-decoder for this task, named Neural Responding Machine (NRM). The
neural encoder-decoder model, as illustrated in Figure 1, first summarizes the post as a vector representation, then feeds this representation to decoder to generate responses. We further generalize this
scheme to allow the post representation dynamically change during the generation process, following the
idea in (Bahdanau et al., 2014) originally proposed for neural-network-based machine translation with
automatic alignment.
For god's sake, it is 11 in the morning
Enhhhh... sounds yummy

which restaurant exactly?

Decoder
vector

Encoder
Having my fish sandwich right now

Figure 1: The diagram of encoder-decoder framework for automatic response generation.
NRM essentially estimates the likelihood of a response given a post. Clearly the estimated probability
should be complex enough to represent all the suitable responses. Similar framework has been used
for machine translation with a remarkable success (Kalchbrenner and Blunsom, 2013; Auli et al., 2013;
Sutskever et al., 2014; Bahdanau et al., 2014). Note that in machine translation, the task is to estimate
the probability of a target language sentence conditioned on the source language sentence with the same
meaning, which is much easier than the task of STC which we are considering here. In this paper, we
demonstrate that NRM, when equipped with a reasonable amount of data, can yield a satisfying estimator
of responses (hence response generator) for STC, despite the difficulty of the task.
Our main contributions are two-folds: 1) we propose to use an encoder-decoder-based neural network to generate a response in STC; 2) we have empirically verified that the proposed method, when
trained with a reasonable amount of data, can yield performance better than traditional retrieval-based
and translation-based methods.
1.2

RoadMap

In the remainder of this paper, we start with introducing the dataset for STC in Section 2. Then we
elaborate on the model of NRM in Section 3, followed by the details on training in Section 4. After that,
we report the experimental results in Section 5. In Section 6 we conclude the paper.

2 The Dataset for STC
Our models are trained on a corpus of roughly 4.4 million pairs of conversations from Weibo 3 .
3

The dataset and its English translation (by machine translation system) will be released soon.

2.1

Conversations on Sina Weibo

Weibo is a popular Twitter-like microblogging service in China, on which a user can post short messages
(referred to as post in the reminder of this paper) visible to the public or a group of users following
her/him. Other users make comment on a published post, which will be referred to as response. Just like
Twitter, Weibo also has the length limit of 140 Chinese characters on both posts and responses, making
the post-response pair an ideal surrogate for short-text conversation.

Training
Test Data
Labeled Dataset
(retrieval-based)

Fine Tuning
(SMT-based)

#posts
#responses
#pairs
#test posts
#posts
#responses
#labeled pairs
#posts
#responses
#pairs

219,905
4,308,211
4,435,959
110
225
6,017
6,017
2,925
3,000
3,000

Table 1: Some statistics of the dataset. Labeled Dataset and Fine Tuning are used by retrieval-based
method for learning to rank and SMT-based method for fine tuning, respectively.
2.2

Dataset Description

To construct this million scale dataset, we first crawl hundreds of millions of post-response pairs, and
then clean the raw data in a similar way as suggested in (Wang et al., 2013), including 1) removing trivial
responses like “wow”, 2) filtering out potential advertisements, and 3) removing the responses after first
30 ones for topic consistency. Table 1 shows some statistics of the dataset used in this work. It can
be seen that each post have 20 different responses on average. In addition to the semantic gap between
post and its responses, this is another key difference to a general parallel data set used for traditional
translation.

3 Neural Responding Machines for STC
The basic idea of NRM is to build a hidden representation of a post, and then generate the response
based on it, as shown in Figure 2. In the particular illustration, the encoder converts the input sequence
x = (x1 , · · · , xT ) into a set of high-dimensional hidden representations h = (h1 , · · · , hT ), which, along
with the attention signal at time t (denoted as αt ), are fed to the context-generator to build the context
input to decoder at time t (denoted as ct ). Then ct is linearly transformed by a matrix L (as part of the
decoder) into a stimulus of generating RNN to produce the t-th word of response (denoted as yt ).
In neural translation system, L converts the representation in source language to that of target language. In NRM, L plays a more difficult role: it needs to transform the representation of post (or some
part of it) to the rich representation of many plausible responses. It is a bit surprising that this can be
achieved to a reasonable level with a linear transformation in the “space of representation”, as validated
in Section 5.3, where we show that one post can actually invoke many different responses from NRM.
The role of attention signal is to determine which part of the hidden representation h should be emphasized during the generation process. It should be noted that αt could be fixed over time or changes
dynamically during the generation of response sequence y. In the dynamic settings, αt can be function
of historically generated subsequence (y1 , · · · , yt−1 ), input sequence x or their latent representations,
more details will be shown later in Section 3.2.
We use Recurrent Neural Network (RNN) for both encoder and decoder, for its natural ability to
summarize and generate word sequence of arbitrary lengths (Mikolov et al., 2010; Sutskever et al., 2014;
Cho et al., 2014).

Decoder

Attention Signal

Context Generator

Encoder

Figure 2: The general framework and dataflow of the encoder-decoder-based NRM.

͙͘

͙͘
͙͘
Figure 3: The graphical model of RNN decoder. The dashed lines denote the variables related to the
function g(·), and the solid lines denote the variables related to the function f (·).
3.1

The Computation in Decoder

Figure 3 gives the graphical model of the decoder, which is essentially a standard RNN language model
except conditioned on the context input c. The generation probability of the t-th word is calculated by
p(yt |yt−1 , · · · , y1 , x) = g(yt−1 , st , ct ),

(1)

where yt is a one-hot word representation, g(·) is a softmax activation function, and st is the hidden state
of decoder at time t calculated by
st = f (yt−1 , st−1 , ct ),

(2)

and f (·) is a non-linear activation function and the transformation L is often assigned as parameters of f (·). Here f (·) can be a logistic function, the sophisticated long short-term memory (LSTM) unit (Hochreiter and Schmidhuber, 1997), or the recently proposed gated recurrent
unit (GRU) (Chung et al., 2014; Cho et al., 2014). Compared to “ungated” logistic function, LSTM and
GRU are specially designed for its long term memory: it can store information over extended time steps
without too much decay. We use GRU in this work, since it performs comparably to LSTM on squence
modeling (Chung et al., 2014), but has less parameters and easier to train.
3.2

The Computation in Encoder

We consider three types of encoding schemes, namely 1) the global scheme, 2) the local scheme, and the
hybrid scheme which combines 1) and 2).
Global Scheme: Figure 4 shows the graphical model of the RNN-encoder and related context generator
for a global encoding scheme. The hidden state at time t is calculated by ht = f (xt , ht−1 ) (i.e. still

GRU unit), and with a trivial context generation operation, we essentially use the final hidden state hT
as the global representation of the sentence. The same strategy has been taken in (Cho et al., 2014) and
(Sutskever et al., 2014) for building the intermediate representation for machine translation. This scheme
however has its drawbacks: a vectorial summarization of the entire post is often hard to obtain and may
lose important details for response generation, especially when the dimension of the hidden state is not
big enough4 . In the reminder of this paper, a NRM with this global encoding scheme is referred to as
NRM-glo.

Context Generator

͙͘
Figure 4: The graphical model of the encoder in NRM-glo, where the last hidden state is used as the
context vector ct = hT .

Local Scheme: Recently, Bahdanau et al. (2014) and Graves (2013) introduced an attention mechanism that allowsPthe decoder to dynamically select and linearly combine different parts of the input
sequence ct = Tj=1 αtj hj , where weighting factors αtj determine which part should be selected to
generate the new word yt , which in turn is a function of hidden states αtj = q(hj , st−1 ), as pictorially
shown in Figure 5. Basically, the attention mechanism αtj models the alignment between the inputs
around position j and the output at position t, so it can be viewed as a local matching model. This local
scheme is devised in (Bahdanau et al., 2014) for automatic alignment between the source sentence and
the partial target sentence in machine translation. This scheme enjoys the advantage of adaptively focusing on some important words of the input text according to the generated words of response. A NRM
with this local encoding scheme is referred to as NRM-loc.
Attention Signal

Context Generator

͙͘
Figure 5: The graphical model P
of the encoder in NRM-loc, where the weighted sum of hidden sates is
used as the context vector ct = Tj=1 αtj hj .

4
Sutskever et al. (2014) has to use 4, 000 dimension for satisfying performance on machine translation, while
(Cho et al., 2014) with a smaller dimension perform poorly on translating an entire sentence.

3.3

Extensions: Local and Global Model

In the task of STC, NRM-glo has the summarization of the entire post, while NRM-loc can adaptively
select the important words in post for various suitable responses. Since post-response pairs in STC are
not strictly parallel and a word in different context can have different meanings, we conjecture that the
global representation in NRM-glo may provide useful context for extracting the local context, therefore
complementary to the scheme in NRM-loc. It is therefore a natural extension to combine the two models
by concatenating their encoded hidden states to form an extended hidden representation for each time
stamp, as illustrated in Figure 6. We can see the summarization hgT is incorporated into ct and αtj to
provide a global context for local matching. With this hybrid method, we hope both the local and global
information can be introduced into the generation of response. The model with this context generation
mechanism is denoted as NRM-hyb.
It should be noticed that the context generator in NRM-hyb will evoke different encoding mechanisms
in the global encoder and the local encoder, although they will be combined later in forming a unified
representation. More specifically, the last hidden state of NRM-glo plays a role different from that of
the last state of NRM-loc, since it has the responsibility to encode the entire input sentence. This role
of NRM-glo, however, tends to be not adequately emphasized in training the hybrid encoder when the
parameters of the two encoding RNNs are learned jointly from scratch. For this we use the following
trick: we first initialize NRM-hyb with the parameters of NRM-loc and NRM-glo trained separately,
then fine tune the parameters in encoder along with training the parameters of decoder.

͙͘
Context Generator

global encoder

͙͘
Attention Signal

local encoder

Figure
graphical model for the encoder in NRM-hyb, while context generator function is ct =
PT 6: The
l ; hg ], here [hl ; hg ] denotes the concatenation of vectors hl and hg
α
[h
j
j
j=1 tj j
T
T
T
To learn the parameters of the model, we maximize the likelihood of observing the original response
conditioned on the post in the training set. For a new post, NRMs generate their responses by using a
left-to-right beam search with beam size = 10.

4 Experiments
We evaluate three different settings of NRM described in Section 3, namely NRM-glo, NRM-loc, and
NRM-hyb, and compare them to retrieval-based and SMT-based methods.
4.1

Implementation Details

We use Stanford Chinese word segmenter 5 to split the posts and responses into sequences of words.
Although both posts and responses are written in the same language, the distributions on words for the
two are different: the number of unique words in post text is 125,237, and that of response text is 679,958.
We therefore construct two separate vocabularies for posts and responses by using 40,000 most frequent
words on each side, covering 97.8% usage of words for post and 96.2% for response respectively. All the
5

http://nlp.stanford.edu/software/segmenter.shtml

remaining words are replaced by a special token “UNK”. The dimensions of the hidden states of encoder
and decoder are both 1,000, and the dimensions of the word-embedding for post and response are both
620. Model parameters are initialized by randomly sampling from a uniform distribution between -0.1
and 0.1. All our models were trained on a NVIDIA Tesla K40 GPU using stochastic gradient descent
algorithm with mini-batch. The training stage of each model took about two weeks.
4.2

Competitor Models

Retrieval-based: with retrieval-based models, for any given post p∗ , the response r ∗ is retrieved from
a big post-response pairs (p, r) repository. Such models rely on three key components: a big repository,
sets of feature functions Φi (p∗ , (p, r)), and a machine learning model to combine these features. In this
work, the whole 4.4 million Weibo pairs are used as the repository, 14 features, ranging from simple
cosine similarity to some deep matching models (Ji et al., 2014) are used to determine the suitability of
a post to a given post p∗ through the following linear model
score(p∗ , (p, r)) =

X

ωi Φi (p∗ , (p, r)).

(3)

i

Following the ranking strategy in (Ji et al., 2014), we pick 225 posts and about 30 retrieved responses for
each of them given by a baseline retriever6 from the 4.4M repository, and manually label them to obtain
labeled 6,017 post-response pairs. We use ranking SVM model (Joachims, 2006) for the parameters ωi
based on the labeled dataset. In comparison to NRM, only the top one response is considered in the
evaluation process.
SMT-based: In SMT-based models, the post-response pairs are directly used as parallel data for training a translation model. We use the most widely used open-source phrase-based translation modelMoses (Koehn et al., 2007). Another parallel data consisting of 3000 post-response pairs is used to tune
the system. In (Ritter et al., 2011), the authors used a modified SMT model to obtain the “Response”
of Twitter “Stimulus”. The main modification is in replacing the standard GIZA++ word alignment
model (Och and Ney, 2003) with a new phrase-pair selection method, in which all the possible phrasepairs in the training data are considered and their associated probabilities are estimated by the Fisher’s
Exact Test, which yields performance slightly better than default setting8 . Compared to retrieval-based
methods, the generated responses by SMT-based methods often have fluency or even grammatical problems. In this work, we choose the Moses with default settings as our SMT model.

5 Results and Analysis
Automatic evaluation of response generation is still an open problem. The widely accepted evaluation
methods in translation (e.g. BLUE score (Papineni et al., 2002)) do not apply, since the range of the
suitable responses is so large that it is practically impossible to give reference with adequate coverage. It
is also not reasonable to evaluate with Perplexity, a generally used measurement in statistical language
modeling, because the naturalness of response and the relatedness to post can not be well evaluated.
We therefore resort to human judgement, similar to that taken in (Ritter et al., 2011) but with important
difference.
5.1

Evaluation Methods

We adopt human annotation to compare the performance of different models. Five labelers with at least
three-year experience of Sina Weibo are invited to do human evaluation. Responses obtained from the
five evaluated models are pooled and randomly permuted for each labeler. The labelers are instructed
to imagine that they were the authors of the original posts and judge whether a response (generated or
retrieved) is appropriate and natural to a input post. Three levels are assigned to a response with scores
from 0 to 2:
6
8

we use the default similarity function of Lucene 7
Reported results showed that the new model outperformed the baseline SMT model 57.7% of the time.

Post

ᝅཝ࡟⾷॰䠂㘷ᱥ‫ޡ‬ѠӰ...འ཮ᕖҼ
There are always 8 players at the Italian restricted area. Unbelievable!

Related Criterion

Labels

Response1

ᡇᱥᝅཝ࡟䱕Ⲻ⨹䘭θㅿᖻ∊䎑ᔶခȾ
I am a big fan of the Italy team, waiting for the football game to start

Logic Consistency

Unsuitable

Response2

ᝅཝ࡟Ⲻ伕⢟འ㗄઩Ҽ
Italian food is absolutely delicious.

Semantic Relevance

Unsuitable

Response3

འ཮ᕖҼ੝!
Unbelievable!

Generality

Neutral

Response4

૾૾૾ԃ❬ᱥ0φ0 Ⱦ䘎⋗ⵁࡦ䘑⨹Ⱦ
Ha!Ha!Ha! it is still 0:0, no goal so far.

Scenario Dependence

Neutral

Response5

䘏↙ᱥᝅཝ࡟ᕅ䱨ᆾ䏩⨹Ⱦ
This is exactly the Italian defending style football game.

²²

Suitable

Figure 7: An example post and its five candidate responses with human annotation. The content of the
post implies that the football match is already started, while the author of Response1 is still waiting for
the match to start. Response2 talks about the food of Italy. Response3 is a widely used response, but it
is suitable to this post. Response4 states that the current score is still 0:0, it is a suitable response only in
this specific scenario.
Models
NRM-glo
NRM-loc
NRM-hyb
Rtr.-based
SMT-based

Mean Score
0.969
1.065
1.156
0.984
0.313

Suitable (+2)
34.0%
36.0%
39.3%
29.8%
5.6 %

Neutral (+1)
28.9%
34.5%
37.1%
38.7%
20.0%

Unsuitable (0)
37.1%
29.5%
23.6%
31.5%
74.4%

Agreement
0.397
0.247
0.309
0.346
0.448

Table 2: The results of evaluated methods. Mean score is the average value of annotated scores over all
annotations. (Rtr.-based means the retrieval-based method)
ID

Post
∅ᒪ‫ݹ‬ᰜ䜳ᶛ儎✝Ⱦ

1

High fever attacks me
HYHU\1HZ<HDU¶V'D\

৾㘷Ҽж኷θ᝕䉘ᡇԢ
㓺θᡇᖾ儎ު
2 I gain one more year.
Grateful to my group, so
happy

NRM-glo

NRM-loc

NRM-hyb

Rtr.-based

ཐՇᚥθ໔ᕰ‫࣑⯡ރ‬έ∅ᒪ‫ݹ‬ᰜ䜳ৱॱ䲘ⵁ ⾓ᰟᰛᓭགྷθ䓡։‫ ڛ‬儎✝«
⯻
ᓭέ
Go to see a doctor
Rest more to boost
Get well soon and stay +LJKIHYHU«
your immune system. HYHU\1HZ<HDU¶V'D\ healthy!

⭕ᰛᘡ҆έ≮䘒᭥ᤷ
֖έ
Happy birthday! Will
stand by you forever!

⭕ᰛᘡ҆έ≮䘒ᒪ䖱
┸Ӥέ
Happy birthday! Wish
you always stay young
and pretty!

㘷Ҽ㘷Ҽθ኷ᴾу侬 ᡇਠᱥ㘷Ҽж኷
Ӱ஀έ
Getting old now. Time I just gain only one
more year.
has no mercy.

ਹ㍖ㅢжཟθඐᤷօθ ᗻ亱ᶛ᭥ᤷέࣖ⋯έ ඐᤷօθඐᤷсৱȾ ∅ཟ䜳ᱥ㍖伕ѱѿ㘻 ඐᤷօέ
ፊᵫ᣿Ⱦ
3 First day of being a
Hold on, keep it up.
I come to offer my
I have been being a
Hold on!
support. Keep it up!
vegetarian. Hold on,
vegetarian everyday
CuiDuoLa
䘏〃ཟ≊ⵕᓊ䈛ᑜѠᐻ 䘏ᱥଠ‫஀ݵ‬ϋⵕ㗄έ 䱩‫ݿ‬᱄აθᗹ᛻㡈⭻Ⱦ䘏〃ཟ≊ⵕуᱥⴌⲺȾᮽኧ஀ ࠰ৱ䑅䶈ሱ
ᢴ⚫᝕ ૾૾
䬻࠰ৱ䑅䶈䎅㣧
Where is it? It is so
Such a nice sunny day! It is indeed a very nice WenShanOHW¶VJRRXW
We should go out with
4
to get some
I am in a great mood. weather.
some cute guys to enjoy beautiful!
inspiration. Ha! Ha!
a great outing in such a
nice weather.

Figure 8: Some responses generated by different models (originally in Chinese with their literal English
translation), where the words in boldfaces are entity names.

• Suitable (+2): the response is evidently an appropriate and natural response to the post;
• Neutral (+1): the response can be a suitable response in a specific scenario;
• Unsuitable (0): it is hard or impossible to find a scenario where response is suitable.
To make the annotation task operable, the suitability of generated responses is judged from the following five criteria:
(a) Grammar and Fluency: Responses should be natural language and free of any fluency or grammatical errors;
(b) Logic Consistency: Responses should be logically consistent with the test post;
(c) Semantic Relevance: Responses should be semantically relevant to the test post;
(d) Scenario Dependence: Responses can depend on a specific scenario but should not contradict the
first three criteria;
(e) Generality: Responses can be general but should not contradict the first three criteria;
If any of the first three criteria (a), (b), and (c) is contradicted, the generated response should be labeled
as “Unsuitable”. The responses that are general or suitable to post in a specific scenario should be
labeled as “Neutral”. Figure 7 shows an example of the labeling results of a post and its responses. The
first two responses are labeled as “Unsuitable” because of the logic consistency and semantic relevance
errors. Response4 depends on the scenario (i.e., the current score is 0:0), and is therefore annotated as
“Neutral”.
Model A

Model B

NRM-loc
NRM-hyb
NRM-hyb
Rtr.-based
Rtr.-based
Rtr.-based
SMT
SMT

NRM-glo
NRM-glo
NRM-loc
NRM-glo
NRM-loc
NRM-hyb
NRM-hyb
Rtr.-based

Average
rankings
(1.463, 1.537)
(1.434, 1.566)
(1.465, 1.535)
(1.512, 1.488)
(1.533, 1.467)
(1.552, 1.448)
(1.785, 1.215)
(1.738, 1.262)

p value
2.01%
0.01%
3.09%
48.1%
6.20%
0.32%
0.00 %
0.00 %

Table 3: p-values and average rankings of Friedman test for pairwise model comparison. (Rtr.-based
means the retrieval-based method)
5.2

Results

Our test set consists of 110 posts that do not appear in the training set, with length between 6 to 22
Chinese words and 12.5 words on average. The experimental results based on human annotation are
summarized in Table 2, consisting of the ratio of three categories and the agreement among the five
labelers for each model. The agreement is evaluated by Fleiss’ kappa (Fleiss, 1971), as a statistical
measure of inter-rater consistency. Except the SMT-based model, the value of agreement is in a range
from 0.2 to 0.4 for all the other models, which should be interpreted as “Fair agreement”. The SMT-based
model has a relatively higher kappa value 0.448, which is larger than 0.4 and considered as “Moderate
agreement”, since the responses generated by the SMT often have the fluency and grammatical errors,
making it easy to reach an agreement on such unsuitable cases.
From Table 2, we can see the SMT method performs significantly worse than the retrieval-based and
NRM models and 74.4% of the generated responses were labeled as unsuitable mainly due to fluency
and relevance errors. This observation confirms with our intuition that the STC dataset, with one post
potentially corresponding to many responses, can not be simply taken as parallel corpus in a SMT model.
Surprisingly, more than 60% of responses generated by all the three NRM are labeled as “Suitable”
or “Neutral”, which means that most generated responses are fluent and semantically relevant to post.
Among all the NRM variants

• NRM-loc outperforms NRM-glo, suggesting that a dynamically generated context might be more effective than a “static” fixed-length vector for the entire post, which is consistent with the observation
made in (Bahdanau et al., 2014) for machine translation;
• NRM-hyp outperforms NRM-loc and NRM-glo, suggesting that a global representation of post is
complementary to dynamically generated local context.
The retrieval-based model has the similar mean score as NRM-glo, and its ratio on neutral cases
outperforms all the other methods. This is because 1) the responses retrieved by retrieval-based method
are actually wrote by human, so they do not suffer from grammatical and fluency problems, and 2)
the combination of various feature functions potentially makes sure the picked responses semantically
relevant to test posts. However the picked responses are not customized for new test posts, so the ratio
of suitable cases is lower than the three neural generation models.
To test statistical significance, we use the Friedman test (Howell, 2010), which is a non-parametric
test on the differences of several related samples, based on ranking. Table 3 shows the average rankings
over all annotations and the corresponding p-values for comparisons between different pairs of methods.
The comparison between retrieval-based and NRM-glo is not significant and their difference in ranking
is tiny. This indicates that the retrieval-based method is comparable to the NRM-glo method. The NRMhyb outperforms all the other methods, and the difference is statistically significant (p < 0.05). The
difference between NRM-loc and retrieval-based method is marginal (p = 0.062). SMT is significantly
worse than retrieval-based and NRM-hyb methods.
5.3

Case Study

Figure 8 shows some example responses generated by our NRMs (only the one with biggest likelihood
is given) and the comparable retrieval-based model. It is intriguing to notice that three NRM variants
give suitable but quite distinct responses, with different perspectives and choices of words. This, as we
conjecture, is caused by both the architecture variations among models as well as the variations from
random effects like the initialization of parameters. Another interesting observation is on the forth example, where the retrieval-based method returns a response with the a mismatched entity name “WenShan”,
which is actually a quite common problem for retrieval-based model, where the inconsistency details
(e.g., dates, named entities), which often render the response unsuitable, cannot be adequately considered in the matching function employed in retrieving the responses. In contrast, we observe that NRMs
tend to make general response and barely generate those details.
Post
R1

ਹ㍖ㅢжཟθඐᤷօθፊᵫ᣿Ⱦ
First day of being a vegetarian. Hold on, CuiDuoLa
ඐᤷօθඐᤷ㍖伕έ
Hold on, Keep up your vegetarian diet.

ᜩ㾷‫ڛ‬ᓭ੍ϋᜩ㾷䮵ስ੍ϋ䛙ቧީ⌞ᡇⲺᗤঐ੝Ⱦ
R2 Would you like to be healthy? Would you like to live
long? If so, follow me on Weibo.
R3

䘏ቧᱥՖ䈪ѣⲺਹ㍖੍ϋ
This is the so-called vegetarian diet ?

ਹ侧Ҽᢃᴿ࣑≊ࠅ㛛
R4 Eat up so that you will have enough energy to go for
a diet!
䓡։ᱥ䶟ળⲺᵢ䫧θу㾷⵶ᙛέ
R5 Health is the essence for winning your future battles.
No rush!

Figure 9: Multiple responses generated by the NRM-hyb.
We also use the NRM-hyb as an example to investigate the ability of NRM to generate multiple
responses. Figure 9 lists 5 responses to the same post, which are gotten with beam search with beam size

= 500, among which we keep only the best one (biggest likelihood) for each first word. It can be seen
that the responses are fluent, relevant to the post, and still vastly different from each other, validating our
initial conjecture that NRM, when fueled with large and rich training corpus, could work as a generator
that can cover a lot of modes in its density estimation.

6 Conclusions and Future Work
In this paper, we explored using encoder-decoder-based neural network system, with coined name Neural
Responding Machine, to generate responses to a post. Empirical studies confirm that the newly proposed
NRMs, especially the hybrid encoding scheme, can outperform state-of-the-art retrieval-based and SMTbased methods. Our preliminary study also shows that NRM can generate multiple responses with great
variety to a given post. In future work, we would consider adding the intention (or sentiment) of users as
an external signal of decoder to generate responses with specific goals.

References
[Auli et al.2013] Michael Auli, Michel Galley, Chris Quirk, and Geoffrey Zweig. 2013. Joint language and translation modeling with recurrent neural networks. In EMNLP, pages 1044–1054.
[Bahdanau et al.2014] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural machine translation
by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.
[Cho et al.2014] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and
Yoshua Bengio. 2014. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.
[Chung et al.2014] Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, and Yoshua Bengio. 2014. Empirical
evaluation of gated recurrent neural networks on sequence modeling. arXiv preprint arXiv:1412.3555.
[Fleiss1971] Joseph L Fleiss. 1971. Measuring nominal scale agreement among many raters. Psychological
bulletin, 76(5):378.
[Graves2013] Alex Graves.
arXiv:1308.0850.

2013.

Generating sequences with recurrent neural networks.

preprint

[Hochreiter and Schmidhuber1997] Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory.
Neural computation, 9(8):1735–1780.
[Howell2010] David C. Howell. 2010. Fundamental Statistics for the Behavioral Sciences. PSY 200 (300) Quantitative Methods in Psychology Series. Wadsworth Cengage Learning.
[Ji et al.2014] Zongcheng Ji, Zhengdong Lu, and Hang Li. 2014. An information retrieval approach to short text
conversation. arXiv preprint arXiv:1408.6988.
[Joachims2006] Thorsten Joachims. 2006. Training linear svms in linear time. In SIGKDD, pages 217–226. ACM.
[Kalchbrenner and Blunsom2013] Nal Kalchbrenner and Phil Blunsom. 2013. Recurrent continuous translation
models. In EMNLP, pages 1700–1709.
[Koehn et al.2007] Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison-Burch, Marcello Federico, Nicola
Bertoldi, Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, et al. 2007. Moses: Open source toolkit
for statistical machine translation. In Proceedings of the 45th annual meeting of the ACL on interactive poster
and demonstration sessions, pages 177–180. ACL.
[Litman et al.2000] Diane Litman, Satinder Singh, Michael Kearns, and Marilyn Walker. 2000. Njfun: a reinforcement learning spoken dialogue system. In Proceedings of the 2000 ANLP/NAACL Workshop on Conversational
systems, pages 17–20. ACL.
[Mikolov et al.2010] Tomas Mikolov, Martin Karafiát, Lukas Burget, Jan Cernockỳ, and Sanjeev Khudanpur. 2010.
Recurrent neural network based language model. In INTERSPEECH 2010, pages 1045–1048.
[Misu et al.2012] Teruhisa Misu, Kallirroi Georgila, Anton Leuski, and David Traum. 2012. Reinforcement learning of question-answering dialogue policies for virtual museum guides. In SIGDIAL, pages 84–93. ACL.

[Och and Ney2003] Franz Josef Och and Hermann Ney. 2003. A systematic comparison of various statistical
alignment models. Computational linguistics, 29(1):19–51.
[Papineni et al.2002] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. Bleu: a method for
automatic evaluation of machine translation. In Proceedings of the 40th annual meeting on association for
computational linguistics, pages 311–318. Association for Computational Linguistics.
[Ritter et al.2011] Alan Ritter, Colin Cherry, and William B Dolan. 2011. Data-driven response generation in
social media. In EMNLP, pages 583–593. Association for Computational Linguistics.
[Schatzmann et al.2006] Jost Schatzmann, Karl Weilhammer, Matt Stuttle, and Steve Young. 2006. A survey
of statistical user simulation techniques for reinforcement-learning of dialogue management strategies. The
knowledge engineering review, 21(02):97–126.
[Sutskever et al.2014] Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. 2014. Sequence to sequence learning with
neural networks. In NIPS, pages 3104–3112.
[Wang et al.2013] Hao Wang, Zhengdong Lu, Hang Li, and Enhong Chen. 2013. A dataset for research on shorttext conversations. In EMNLP, pages 935–945.
[Williams and Young2007] Jason D Williams and Steve Young. 2007. Partially observable markov decision processes for spoken dialog systems. Computer Speech & Language, 21(2):393–422.

