Chatbot Generator from Web API Specifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing conversational systems like chatbots is hindered by the difficulty in creating user interfaces, particularly in configuring natural language understanding (NLU) components to detect user intent and entities, requiring advanced technical skills and strict naming conventions.
Innovation Solution
A user-annotated Web API specification is used to generate an action catalog and rule set, with a question answering system as the NLU component and a goal-based reasoning engine, allowing users to create chatbots with simpler annotations in natural language, reducing the need for technical expertise and adhering to strict naming conventions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional NLU configuration methods are used to detect user intent and entities, then the conversational system can understand user requests, but the development complexity and technical skill requirements increase significantly
Solution Approach 1:
The system automatically generates NLU configurations by analyzing annotated dialog examples and Web API specifications. The configuration generator autonomously creates intent definitions, entity extractions, and dialog flow structures without requiring manual technical configuration, allowing non-expert users to build functional chatbots through simple annotation tasks
Solution Approach 2:
A configuration generator component acts as an intermediary between the annotated dialog data and the NLU system. This mediator automatically transforms annotated examples into proper NLU configurations, bridging the gap between simple user annotations and complex NLU requirements, thereby reducing both complexity and skill barriers
2Measurement precision
If strict naming conventions are enforced in NLU configuration, then the system can process user inputs accurately, but the ease of operation and user friendliness decrease
Solution Approach 1:
Instead of requiring users to follow strict naming conventions when configuring the system, the approach is inverted: users annotate dialog examples in natural language without any naming constraints, and the configuration generator automatically extracts and standardizes the naming conventions from these annotations, thereby maintaining accuracy while improving ease of operation
Solution Approach 2:
The configuration generator automatically performs the naming convention standardization that would otherwise require manual user effort. By analyzing annotated examples and generating consistent naming schemes autonomously, the system eliminates the need for users to learn and adhere to complex naming rules while still achieving precise input extraction
3Adaptability or versatility
If manual configuration of dialog flow and user intent is required, then the conversational system can be customized, but the time and effort required for setup increase
Solution Approach 1:
The system performs preliminary analysis of annotated dialog examples and Web API specifications to pre-generate intent definitions, entity extractions, and dialog flow structures before the user deploys the chatbot. This advance configuration generation significantly reduces setup time while maintaining full customization capabilities based on the specific annotated examples provided
Solution Approach 2:
The configuration generator autonomously creates customized dialog flows by analyzing annotated examples and automatically structuring them into executable dialog trees. This self-service configuration process eliminates manual dialog flow design while preserving adaptability, as the generated configurations are specifically tailored to the annotated examples provided by each user
Data Source
AI summary
A method, apparatus and computer program product for creating and operating a conversational system are described. A user annotated Web API specification is received which includes a set of user annotations The user annotated Web API specification is analyzed to produce an action catalog. The action catalog includes a set of sentences, each sentence describing a respective Web API call. The user annotated Web API specification is also analyzed to produce a rule set, each rule in the rule set has a rule condition which corresponds to an input in the user annotated Web API specification. The action catalog and the rule set are provided to the conversational system. The conversational system uses a question answering (QA) system as a natural language understanding (NLU) component. When the conversational system receives a user input during a dialog between a user and the conversational system, the user input is interpreted by the question answering (QA) system to identify an action from an action catalog. The identified action is set as a goal for a goal-based reasoning engine. A response is issued to the user based on the identified action and results from the goal-based reasoning engine.


