This is a 2020 chatbot framework comparison, resulting from months of research and updates. This table organizes 10 well-known chatbot frameworks, covering almost all current chatbot features. After a round of basic verification, I conducted deeper usage to address ambiguities, thereby obtaining a detailed comparison. A revision and update were made in October. To integrate the data into the AI column of this blog, I also overcame the issue of displaying tables on the blog, and I am sharing this with industry experts and enthusiasts.
| Type | Feature | Description | Microsoft | Xiao-i Robot | Xiao-i Robot | IBM | DYDU | SAP | Flow XO | Meya | Gupshup | Hubspot | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dialogflow | AzureBot | iBot Enterprise / Pro |
iBot International / Express |
Watson | DYDU | Recast.ai | Flow XO | Meya | Gupshup | Hubspot | |||
| Operation & appearance | Code-free backend | Chatbots can be built by dragging flowcharts through the backend interface, without writing code. | √ | × | √ | √ | √ | √ | √ | √ | × | √ | √ |
| Structure & logic | Knowledge-independent assistant | Editing knowledge (skills) and creating assistants are independent of each other. | × | √ | × | × | √ | √ | √ | × | × | × | × |
| Bots collaboration | A series of bots with unrelated knowledge can be defined, and then the overall output of an assistant is constructed by combining these bots. | × | × | × | √ | × | √ | √ | √ | √ | √ | √ | |
| FAQ-based intent | Supports FAQ-format intents and answers, where the answer for each intent is fixed. | √ | √ | √ | √ | × | × | × | × | × | × | × | |
| Multi-language | Multi-language | Supports multilingual conversations. | √ | √ | √ | √ | √ | √ | √ | × | √ | × | × |
| Auto-language detection | The system automatically detects the language, so users do not need to select it themselves. | √ | √ | × | √ | × | √ | √ | × | √ | × | × | |
| Pre-build content | Knowledge | Pre-sets common general or industry knowledge, allowing customers to quickly build chatbots. | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| Knowledge edit | Intent — intent conflict resolution | Uses AI technology to detect errors and conflicts generated when humans manually fill in intents/user samples. | × | × | √ | × | √ | × | √ | × | × | × | × |
| Intent — utterance | Allows editing different phrasings (extended questions) for a specific intent. | √ | √ | √ | √ | √ | √ | √ | × | × | × | √ | |
| Entity — my entity | Entities can be defined manually (e.g., via synonyms). | √ | √ | √ | √ | √ | √ | √ | × | × | × | × | |
| The system can automatically recommend synonyms. | √ | × | × | √ | √ | × | × | × | × | × | |||
| Multi-turn Dialog | If the question lacks sufficient information, the system can ask the user follow-up questions (multi-turn dialogue). | √ | √ | √(ibot ui) | √ (scene) | √(5) | √ | √ | √ | √ | √ | √ | |
| × (workflow) | √(50) | ||||||||||||
| Dialog — slots | The system can automatically extract and fill slots. | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | |
| Dialog — disambiguation | When a user’s question matches more than 2 intent nodes in a dialog, the assistant asks the user to determine the correct intent. | × | √ | × | √ | × | × | × | × | × | × | ||
| Dialog — Intent Recommendation | When a user’s question is out of service scope or the intent cannot be recognized, the system can recommend related intents to the user. | × | √ | √ | √ | × | √ | × | × | × | × | × | |
| Dialog — multi slots filling | For multiple missing pieces of information for an intent, the system asks all questions at once, allowing the user to supplement all information in one go, rather than asking and replying item by item. | √ | √ | × | √ | × | × | × | × | × | × | ||
| Dialog — multi reply | For the same intent, there are multiple answers, allowing the system to randomly select one to produce a more natural conversational effect. | √ | √ | √ | √ | × | √ | √ | × | √ | √ | ||
| Dialog — Digression | Allows users to switch topics (nodes) within a dialog, for example, jumping from one process node to another, and allowing jumps back, etc. | × | √ | √ | × | √ | √ | √ | √ | √ | √ | × | |
| Dialog — interruptions | Allows users to temporarily discuss different topics during a conversation and then return to the original topic. | × | √ | √ | × | × | √ | × | √ (quit keyword) | × | × | × | |
| Knowledge map | Displays the relationships and connections between different knowledge bases. | × | √ | √ | × | √ | × | × | × | × | × | ||
| Answer – variable | Provides specific parameters for the system to obtain relevant information, such as username, IP, URL, etc., which can also be added directly to answers in variable form. | √ | √ | × | × | √ | √ | √ | √ | × | √ | ||
| Sentiment | Allows the system to make corresponding responses to positive, negative, and varying degrees of emotional states. | × | × | × | × | √ | √ | × | × | × | × | ||
| Import/export | Supports knowledge export and import. | √ | √ | √ | √ | √ | √ | × | × | × | × | × | |
| Dashboard | Analytics dashboard | Provides reports for customers to perform data analysis. | √ | √ | √ | √ | √ (7 D) | √ | √ | √ (2 WK) | √ (30 D) | √ | √ |
| √ (30/90 D) | √ (3 M) | √ (increase) | |||||||||||
| Testing | Tester | Provides various tools for testing questions. | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| Batch test | Supports batch testing of questions. | × | √ | √ | × | × | × | × | × | × | × | ||
| Improve | Deep learning model | Supports deep neural network models. | √ | √ | √ | √ | √ | × | √ | × | × | × | × |
| Active learning | Collects conversations pending confirmation from logs, and learns them into the knowledge base after customer confirmation. | √ | √ | √ | √ | √ | √ | √ | × | × | × | × | |
| Intent recommendation | Recommends intents based on existing conversation data, thereby achieving faster training. | × | √ | √ | √ | √ | × | × | × | × | × | ||
| Integration | Custom plug-in | Can customize integration with other APIs. | √ | √ | √ | × | √ | √ | √ | √ | √ | √ | × |
| Preview link | Can provide a link to preview the chatbot. | √ | √ | √ | × | √ | √ | √ | √ | × | × | × | |
| Service desk integrations | Supports seamless transfer to human service. | √ | √ | √ | × | √ | × | √ | √ | √ | √ | √ | |
| Versioning | Allows version control for assistant editing results. | √ | √ | × | √ | × | √ | × | × | × | × | ||
| Authorization | Access control | Can allow adding access personnel and managing corresponding permissions. | × | √ | √ | √ | × | √ | × | × | × | × | √ |
| Search skill | Supports expanding the assistant’s knowledge by searching unstructured data. | √ | √ | √ | × | √ | × | × | × | × | × | × | |
| Data | Log data across instances | Integrates insights from the production environment into the development environment. | × | √ | √ | × | √ | √ | × | × | × | × | × |
| Data isolation | × | × | √ | √ | × | × | × | × | × | × | |||
| Service | SLA 99.9% | Service Level Agreement (SLA) achieves 99.9% uptime. | × | √ | × | × | √ | × | × | × | × | × | × |
| Mail subscription | Supports subscribing to data such as comments via email. | × | × | × | × | √ | × | × | × | × | × | ||
| Survey | Can set up survey templates (for internal or external surveys). | × | × | √ | × | × | √ | × | × | × | × | × | |
| Dialogue Preprocessing | Through preset dialogue matching rules, simple scenarios can be quickly customized. | × | √ | × | × | √ | × | × | × | × | × | ||
| Matching strictness | Matching thresholds can be adjusted. | × | √ | × | × | × | √ | × | × | × | × | ||
| Scheduled Tasks | Supports scheduled synchronization of knowledge and words. | × | √ | × | × | √ | × | × | × | × | × | ||
| Prefix and Suffix Processing | Can automatically ignore specific words or short phrases located at the beginning or end of a sentence. | × | √ | × | × | × | × | × | × | × | |||
| Stop Words | Can automatically ignore specific words at any position in a sentence. | × | √ | × | × | × | × | × | × | × | × | ||
| Table QA | Can dynamically load structured data and convert it into SQL statements through natural language interaction to query the database. | × | √ | × | × | × | × | × | × | × | × | ||
| Quality Inspection | Automatically analyzes interaction logs and provides conversations with potential erroneous responses to operations personnel for review. | × | √ | × | × | × | × | × | × | × | |||
| Regional Dimension | Provides different answers based on the user’s location. | × | √ | × | × | √ | × | × | × | × | × | ||
| Knowledge Editing Lock | When an editor operates on a specific knowledge item, the system locks that knowledge group, preventing other personnel from editing it, thereby preventing conflicts. | × | √ | × | × | × | × | × | × | × | × |
