Facebook Messenger Chatbot

Svetlin Slavov         25536

Tsvetan Dimitrov   25360

Agenda

  • Motivation

  • Problem solution

  • Bot training

  • Used technologies

  1. Create a chatbot that could hold a fun conversation.

  2. Train it on the Cornell Movie Dialogue dataset

  3. Integrate and host it on the Facebook Messenger Platform

Motivation

Problem solution / 1

  • Deep Learning

  • End-to-end system

    • 1 system trained on 1 dataset

    • make no assumptions

Problem solution / 2

  • Recurrent Neural Networks

  • LSTM (Long Short Term Memory) networks

Problem solution / 3

  • Sequence-2-Sequence model - 2  LSTMs:

    • Encoder - process input

    • Decoder - generate output

Data Preprocessing

  • split sentences into tokens

  • assign token ids to each token for fast retrieval

  • get vocabulary of most used words

  • padding for variable length sequences

  • bucketing of sentences avoiding huge number of paddings

Word embedding / 1

  • learn dense representation of words in a low dimensional vector space

  • word vector difference gives us semantic relations, e.g.:

    • vienna - austria + bulgaria = sofia

Word embedding / 2

Used Technologies / 1

Used Technologies / 2

  • Additional libraries

    • nltk, numpy, Flask

  • CUDA

    • Tensorflow GPU support

  • Tensorflow

    • LSTM implementations and word embedding

    • GPU support

  • Heroku

    • Deployment

References

DEMO