A minimal chatbot platform.
Build:
make build
make test
Run:
make run
# or
docker-compose up
The user input is compared to submitted labelled expressions with cosine similarity using an average of word vectors (spaCy, doc2vec, word2vec). The intent associated with the closest match is returned. The next natural improvements could be to use an RNN-LSTM neural network instead, trained with Keras, to preserve word sequence and word dependencies and also to fine-train the GloVe word vectors currently used.
API: http://localhost:5000/entities?text=<input>