martelogan / fb-friendbot-factory

Automated pipeline to train & deploy facebook-friendified chatbots from user's messenger chat history.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Facebook Friendbot Factory

Automated Pipeline to Train & Deploy Fb-Friendified Chatbots

This project provides a convenient environment and automation pipeline to

  1. Construct trainable conversation data from Facebook Messenger chat history
  2. Train chatbot models of individual friends based on conversation data
  3. Wrap these models for simple deployment to fit third-party chatbot API

Current Project Status

  1. ready - config demonstrated via DeepQA-trainable execution
  2. ready - successful batch training demonstrated via DeepQA module
  3. ready - automated inferrence of trainable sentence lengths via messenger statistics
  4. todo - need to script deployment and prepare example wrapper

Installation & Execution

Assuming that all external dependencies are ready and respective paths appropriately specified under the config subdirectory, the training and deployment execution scripts can be run immediately from the project root.

Of course, the environment setup has some fairly strict requirements:

  1. Ensure that your local environment is equipped with a Bash version >=3, in addition to
    seperate distributions of Python 2.7+ and Python 3+ (ideally managed by conda)

  1. Install the fb-chat-archive-parser via pip under the Python 2.7 environment by running:
   pip install fbchat-archive-parser

  1. Install some training library to which the friendbot factory will relay conversation data for consumption
    (the default is DeepQA)

  1. Ensure that an uncompressed facebook archive is made available
    (conventionally under data/facebook_unstructured)

  1. Specify desired setup at config/training/training.config & config/deployment/deployment.config

  1. Run app/bash/train.sh, app/bash/stats.sh, or app/bash/deploy.sh from project root per relevant task

License

This code is under the Apache License 2.0.

If you use or modify fb-friendbot-factory, please credit the original author as

About

Automated pipeline to train & deploy facebook-friendified chatbots from user's messenger chat history.

License:Apache License 2.0


Languages

Language:Shell 56.1%Language:Python 43.9%