Automated Conversation Model Generation from REST API Documentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing REST APIs face challenges in efficiently constructing a natural language conversational interface due to the time-consuming and error-prone process of manually identifying sample utterances from API documentation.

Innovation Solution

A method and system that automatically generate a conversation model from API documentation, using intents and utterance examples to train a natural language classifier, allowing for accurate identification of API intents and endpoints from user input without manual sample utterance identification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual identification of sample utterances is used from API documentation, then the conversation service can be constructed, but the process is time-consuming and error-prone

Engineering Contradiction:
Improveaccuracy of sample utterance identificationVSAvoidtime required for manual sample utterance identification
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically generating sample utterances from API documentation without requiring manual human intervention. The automated generation process extracts endpoint information, parameters, and descriptions from the API documentation and transforms them into structured conversation data, eliminating the time-consuming and error-prone manual identification process while maintaining high accuracy.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If manual sample utterance identification is performed, then conversation service construction is possible, but manual effort and errors increase

Engineering Contradiction:
Improveease of conversation service constructionVSAvoidcomplexity of manual process
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The manual mechanical process of identifying and extracting sample utterances from API documentation is replaced with an automated computational system. The system uses programmatic approaches to parse API documentation, extract relevant information, and generate structured conversation data, thereby simplifying the construction process and reducing human effort while maintaining systematic accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If automated generation from API documentation is implemented, then time and manual effort are reduced, but the system complexity increases

Engineering Contradiction:
Improvespeed of conversation service constructionVSAvoidcomplexity of automated generation system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

An intermediary automated generation system is introduced between the API documentation and the conversation service construction process. This intermediary system acts as a bridge that automatically transforms unstructured API documentation into structured conversation data, including intents, entities, and sample utterances. While this adds system complexity, it dramatically improves productivity by eliminating manual processes and enabling rapid, accurate conversation service construction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10831564B2Bootstrapping a conversation service using documentation of a rest API
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10831564B2 patent drawing
  • US10831564B2 patent drawing
  • US10831564B2 patent drawing

AI summary

Systems, methods, and computer-readable media for constructing a conversation model using documentation of an application programming interface (API) are disclosed. The conversation model can be used to train a natural language classifier. API endpoints may be represented in the API documentation as (verb, resource, element) tuples. These tuples can be converted into intent and parameters of the API endpoints can be converted into entities. In addition, example utterances may be created for each intent. The conversation model can be generated using the intents, example utterances, and/or entities.