Parts of a chatbot¶
Messaging endpoints¶
Botshot supports popular messaging platforms such as Facebook, Telegram or Alexa. The messages are converted to a universal format, so you don’t need to worry about compatibility.
For each of these platforms, there is a corresponding chat interface. To enable support for a messaging platform, just enable the associated interface in the config. Read more at Messaging endpoints.
Note
Botshot is fully extensible. If you need to support another messaging API, just implement your own chat interface.
Natural language understanding (NLU)¶
- Analyze what the user wants, aka Intent detection
- Classify the message into a category.Input:
{"text": "Hi there!"}
Output:{"intent": "greeting", "confidence": 0.9854, "source": "botshot_nlu"}
- Find out details about the query, aka Entity extraction
- Extract entities such as dates, places and names from text.Input:
{"text": "Are there any interesting events today?"}
Output:{"query": "events", "date": "2018-01-01"}
Note
You can also use your own machine learning models. See `Entity extractors`_ for more details.
Dialog Management & Context¶
Actions¶
Each state of the conversation has an attached action that returns a response. The most common way of generating responses is using Python code. You can define a function that Botshot will call when a message is received. In this function, you can call your business logic, call any required APIs and generate a response.
Alright, enough chit chat. Let’s get coding!