Skip to content

Skill-based Conversational Agent for NIPS Conversational Intelligence Challenge 2017

License

Notifications You must be signed in to change notification settings

ml-lab/convai-bot-1337

 
 

Repository files navigation

ConvAI bot#1337

Skill-based Conversational Agent that took 1st place at 2017 NIPS Conversational Intelligence Challenge (http://convai.io).

We still update our Conversational Agent and the latest version could be found in master branch.

Here is submitted to ConvAI Finals version of the Agent (on 12th November): https://github.com/sld/convai-bot-1337/tree/032d5f6f5cc127bb56d29f0f0c6bbc0487f98316

Abstract

The chatbot developed for the ConvAI challenge. Our bot is capable of conversing with humans about given text (e.g. a paragraph from Wikipedia article). The conversation is enabled by a set of skills, including chit-chat, topics detection, text summarization, question answering and question generation. The system has been trained in a supervised fashion to select an appropriate skill for generating a response. Furthermore, we have developed an overall dialog quality scorer and next utterance scorer to correct agent's policy. Our bot is implemented with open source software and open data; it is self-hosted, and employs a supervised dialog manager with a linear hierarchy. The latter allows a researcher to focus on skill implementation rather than finite state machine development.

Getting Started

For brief overview the bot#1337 take a look on next resources:

Prerequisites

  • Docker version 17.05.0-ce+
  • docker-compose version 1.13.0+
  • Min. 4 Gb RAM + Swap (4 Gb), recommended 8 Gb RAM
  • 2 Gb hard drive space
  • Tested on Ubuntu 16.04

Installing

Download and put trained models to folders:

./setup.sh

Build containers:

docker-compose -f docker-compose.yml -f telegram.yml build

Setup config.py, do not forget to put TELEGRAM token:

cp dialog_tracker/config.example.py dialog_tracker/config.py

dialog_tracker/config.py should look like this:

WAIT_TIME = 15
WAIT_TOO_LONG = 60
version = "17 (24.12.2017)"
telegram_token = "your telegram token"

Running the bot

This command will run the telegram bot with your telegram token:

docker-compose -f docker-compose.yml -f telegram.yml up

Running the tests

Run the bot by using json api server:

docker-compose -f docker-compose.yml -f json_api.yml up

Run the tests:

python dialog_tracker/tests/test_json_api.py http://0.0.0.0:5000

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

License

This project is licensed under the GPLv3 License - see the LICENSE file for details.

About

Skill-based Conversational Agent for NIPS Conversational Intelligence Challenge 2017

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 49.3%
  • Jupyter Notebook 43.5%
  • HTML 2.7%
  • JavaScript 2.6%
  • Shell 1.9%