Answers.Body: <p><a href="http://mi.eng.cam.ac.uk/~sjy/papers/scyo09.pdf" rel="nofollow noreferrer">The Hidden Agenda User Simulation Model (Schatzmann/Young)</a> 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. </p>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-18T05:59:43.203Z
Answers.LastActivityDate: 2018-03-18T05:59:43.203Z
Answers.UserDisplayName: G__
Answers.Body: <p>There has been some work in this area but with three chat bots.  <a href="https://github.com/xhlulu" rel="nofollow noreferrer">Xing Han Lu</a> has developed some <a href="https://github.com/xhlulu/Generative-Adversarial-Bots" rel="nofollow noreferrer">code</a> called Generative Adversarial Bots (GABs) which builds on the concept of Generative Adversarial Networks invented by Ian Goodfellow.  See his pioneering paper <a href="https://arxiv.org/abs/1406.2661" rel="nofollow noreferrer">"Generative Adversarial Networks"</a>.</p>
  
  <p>There is a very brief Google presentation <a href="https://docs.google.com/presentation/d/1MjSdeB57STukNT04J7WG1fOLMiktLi9YsH4rbOxnznI/edit#slide=id.p" rel="nofollow noreferrer">here</a>.</p>
  
  <p>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".</p>
  
  <p>You might want to also check out <a href="https://arxiv.org/abs/1701.06547" rel="nofollow noreferrer">"Adversarial Learning for Neural Dialogue Generation"</a> by Jiwei Li, Will Monroe, Tianlin Shi, Sébastien Jean, Alan Ritter and Dan Jurafsky.  From their abstract:</p>
  
  <p><em>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.</em> </p>
  
  <p>Jiwei Li, one of the authors, has posted the code <a href="https://github.com/jiweil/Neural-Dialogue-Generation" rel="nofollow noreferrer">here</a>.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-07T22:11:46.440Z
Answers.LastActivityDate: 2018-03-07T22:30:47.840Z
Answers.LastEditDate: 2018-03-07T22:30:47.840Z
Answers.UserDisplayName: Brian O'Donnell
Body: <p>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.</p>
  <p>I didn't find much reference. There are :</p>
  <p><a href="http://Bottester:%20Testing%20Conversational%20Systems%20with%20Simulated%20Users" rel="nofollow noreferrer">Bottester: Testing Conversational Systems with Simulated Users</a></p>
  <p>And the <a href="http://parl.ai/static/docs/basic_tutorial.html#" rel="nofollow noreferrer">ParlAI</a>, a python-based platform for enabling dialog AI research has the notion of &quot;Teacher agent&quot;, which seems to be what I am looking for.</p>
  <p>Of course, we also have deep reinforcement learning which might be related.</p>
  <p>I prefer to have some classical references for this approach to chatbots.
  Currently, reinforcement learning is not in my consideration.</p>
  <p>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.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-05T14:47:32.207Z
Comments.Text: 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.
Comments.UserDisplayName: pasaba por aqui
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-05T18:11:28.600Z
Comments.Text: That is maybe not the thing in OPs mind.
Comments.UserDisplayName: mico
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-05T18:18:02.907Z
Comments.Text: @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.
Comments.UserDisplayName: user565739
Tags: <natural-language-processing><reference-request><chat-bots>
Title: Two chatbots - One teaches another
UserDisplayName: user565739
ThreadText: # Two chatbots - One teaches another
  
  (Asked by: username_0 on 2018-03-04)
  
  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](http://Bottester:%20Testing%20Conversational%20Systems%20with%20Simulated%20Users)
  
  And the [ParlAI](http://parl.ai/static/docs/basic_tutorial.html#), 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.
  
  **Tags:** natural-language-processing, reference-request, chat-bots
  
  > **Comments:**
  > **username_1**: 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.  
  > **username_2**: That is maybe not the thing in OPs mind.  
  > **username_0**: @username_2, 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.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_3 on 2018-03-18. Score: 1
  
  [The Hidden Agenda User Simulation Model (Schatzmann/Young)](http://mi.eng.cam.ac.uk/~sjy/papers/scyo09.pdf) 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.
  
  
  ---
  
  ### Answer by username_4 on 2018-03-07. Score: 1
  
  There has been some work in this area but with three chat bots. [Xing Han Lu](https://github.com/xhlulu) has developed some [code](https://github.com/xhlulu/Generative-Adversarial-Bots) 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"](https://arxiv.org/abs/1406.2661).
  
  There is a very brief Google presentation [here](https://docs.google.com/presentation/d/1MjSdeB57STukNT04J7WG1fOLMiktLi9YsH4rbOxnznI/edit#slide=id.p).
  
  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"](https://arxiv.org/abs/1701.06547) 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](https://github.com/jiweil/Neural-Dialogue-Generation).
  
  
  ---
  
  