Skill-based Conversational Agent that took 1st place at 2017 NIPS Conversational Intelligence Challenge (http://convai.io/2017/).
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
We present bot#1337: a dialog system developed for the 1st NIPS Conversational Intelligence Challenge 2017 (ConvAI). The aim of the competition was to implement a bot capable of conversing with humans based on a given passage of text. To enable conversation, we implemented a set of skills for our bot, including chit-chat, topic detection, text summarization, question answering and question generation. The system has been trained in a supervised setting using a dialogue manager to select an appropriate skill for generating a response. The latter allows a developer to focus on the skill implementation rather than the finite state machine based dialog manager. The proposed system bot#1337 won the competition with an average dialogue quality score of 2.78 out of 5 given by human evaluators. Source code and trained models for the bot#1337 are available on GitHub.
For brief overview the bot#1337 take a look on next resources:
- Conversational agent demonstration is accessible as a Telegram bot: https://t.me/ConvAI1337Bot.
- Also we have public JSON API that documented at https://github.com/sld/convai-bot-1337/wiki/Api-Documentation.
- 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
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"
This command will run the telegram bot with your telegram token:
docker-compose -f docker-compose.yml -f telegram.yml up
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
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Idris Yusupov (http://github.com/sld)
- Yurii Kuratov (http://github.com/yurakuratov)
This project is licensed under the GPLv3 License - see the LICENSE file for details.
Fork of this bot in TOP-3 (infinity team) of DeepHack Chat hackathon http://deephack.me/leaderboard_hack.