PV226 ML: Chatbots

Content of this session

What is chatbot?

Keras

Approaches to build chatbot

Chatbot

Communication automaton integrated into webpage chat or chat application like Messenger, Whatsapp, Viber, Slack and others. 

Not all apps have API to integrate chatbot.

Chatbot

Answers user's questions. And provide some easy actions.

Common terms

  • utterance
  • intent
  • entity

Common Approaches

Decision Tree

  • simple tree structure to drive conversation by giving user choices
  • easy to implement
  • the most reliable option we have available now

NLP

  • extracting intent and entity from utterance using natural language processing
  • often uses recurrent neural networks (LSTM, GRU)
  • requires heavy investments or pretrained cloud model
  • not so reliable
  • multiple intent issues

How to do chatbot

  • if decision tree is enough, use it
  • if not be clear this is a chatbot and not real user. Users are more tolerant
  • log conversation and collect intents and success of the conversation 

From developer side

  • for each intent you must call a function
  • will you use specific function for bot or do system architecture in a way to support chatbot?

From developer side

  • user context
  • authentication and authorization
  • how long to keep session opened

Some solutions

Open souce

Any questions?

PV226: Chatbots

By Lukáš Grolig

PV226: Chatbots

  • 277