Giter VIP home page Giter VIP logo

convai's Introduction

NIPS Challenge Docker container

This repository contains the Dockerfile and setup code to run chat bot in docker instance.

Live Deployment

Telegram bot @conv_test. Make sure to have an username registered in Telegram, and then start conversation with \begin.

File description

  • bot.py : Main entry point of the chat bot, message selection logic can be implemented here.
  • models/ : Folder where model code is stored
  • data/ : Folder where data files are stored
  • config.py : Configuration script, which has the location of data files as well as bot tokens. Replace the bot token with your ones to test.
  • models/wrappper.py - Wrapper function which calls the models. Must implement get_response def.
  • models/setup - shell script to download the models
  • data/setup - shell script to download the data files and saved model files
  • model_selection.py - Selection logic for best answer

Running Docker

  • After installing docker, build the image from this directory using the following command: docker build -t convai .
  • Docker will create a virtual container with all the dependencies needed.
  • Docker will autostart the bot whenever the container is run: docker run convai

Adding your own models

  • In models/setup, add the repository of your model (should be a public repository for now) to clone.
  • In data/setup, add the data location to download your saved model data
  • Change the config.py with the endpoint of the data
  • Create a wrapper in models/wrapper.py for your model
  • Modify the model_selection.py to call your model.

Bugs

Feel free to open an issue or submit a PR.

Authors

Nips ConvAI Challenge McGill RLLDialog Team

convai's People

Contributors

koustuvsinha avatar nicolasag avatar noseworm avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

convai's Issues

Resolving anaphora

[Peter] I think we should probably have anaphora resolution as a preprocessing step? Idk how hard this would be but I wanted to see what people thought about this?


[Koustuv] Coreference resolution could be useful for the ranker model preprocessing. However, i am not sure how the implementation would be: resolve pronouns in candidate response to the article?

[NEW MODEL] question topic extraction

detect when user asks something related to the article.
example of training set: squad with (article, question, flag) triples where question is either related (flag=1) or not (flag=0) to the article

ALICE bot outputing Alexa stuff

When chatting with the bot and asking "What is your name?" the answer returned by ALICEBOT is "My name is Alexa Prize Social Bot". We need to avoid that so that users never select this candidate response in data collection phases!

[AMT] Create evaluation set for AMT

In order to maximize immediate response, we could create an evaluation dataset, where given a context dialogs and article, we provide all the candidate responses, and ask user to rate / rank them.

[New Model] VHRED Retrieval model

We already have Dual Encoder retrieval model, but the responses given by Rosemary in Ethics paper seems pretty good. can we quickly add the existing vhred model?


turns out, according to Rosemary we need the entire repo bcs "Vhred model don't allow interactive interface". But I'm not sure thats a valid reason...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.