I am seeking the information for this kind of chatbot architecture : There are two chatbots. One plays the role of teacher, and another is a student who is learning. The goal is to test the student's quality, and to improve the student's ability.

I didn't find much reference. There are :

Bottester: Testing Conversational Systems with Simulated Users

And the ParlAI, a python-based platform for enabling dialog AI research has the notion of "Teacher agent", which seems to be what I am looking for.

Of course, we also have deep reinforcement learning which might be related.

I prefer to have some classical references for this approach to chatbots. Currently, reinforcement learning is not in my consideration.

Constructing two chatbots talking to each other, like what Facebook did, is not what I want. Because in this case, both of them are student agents.

  • $\begingroup$ Simple method: teacher opens a ssh connection to the student, and transfers its conceptual database to it. Use wifi if you want something wireless. 100% of quality on knowledge transference. $\endgroup$ Mar 5, 2018 at 14:47
  • 1
    $\begingroup$ That is maybe not the thing in OPs mind. $\endgroup$
    – mico
    Mar 5, 2018 at 18:11
  • $\begingroup$ @mico, exactly. This is in fact what made me to search for references. If this approach has been seriously studied, then there must be a more non-trivial method. If not, then it is really a new approach and the benefit is not known yet. $\endgroup$
    – user565739
    Mar 5, 2018 at 18:18

2 Answers 2


There has been some work in this area but with three chat bots. Xing Han Lu has developed some code called Generative Adversarial Bots (GABs) which builds on the concept of Generative Adversarial Networks invented by Ian Goodfellow. See his pioneering paper "Generative Adversarial Networks".

There is a very brief Google presentation here.

The basic idea of GABs is to "compare the performance and human-likeness of conversational chatbots by generating conversation between two bots, and evaluating the response using Turing Tests". "Generative Adversarial Bots (GABs) are bots that are pitched up against each other, and generate a conversation that is used to train a third bot".

You might want to also check out "Adversarial Learning for Neural Dialogue Generation" by Jiwei Li, Will Monroe, Tianlin Shi, Sébastien Jean, Alan Ritter and Dan Jurafsky. From their abstract:

In this paper, drawing intuition from the Turing test, we propose using adversarial training for open-domain dialogue generation: the system is trained to produce sequences that are indistinguishable from human-generated dialogue utterances. We cast the task as a reinforcement learning (RL) problem where we jointly train two systems, a generative model to produce response sequences, and a discriminator---analagous to the human evaluator in the Turing test--- to distinguish between the human-generated dialogues and the machine-generated ones. The outputs from the discriminator are then used as rewards for the generative model, pushing the system to generate dialogues that mostly resemble human dialogues.

Jiwei Li, one of the authors, has posted the code here.


The Hidden Agenda User Simulation Model (Schatzmann/Young) describes a chatbot training design in which a user simulator assembles and executes a conversational agenda, with the direct goal being to train the target chatbot.

Perhaps you can add specificity to this design by casting the user simulator as the teacher, and creating an agenda in which it is communicating information to the (student) chatbot. The trained behavior expected is, perhaps, correct responses to topical questioning by the teacher.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .