IP Library Granted Patent US 11,036,727
Granted Patent B2
US 11,036,727 · App. 16/514,792 · Granted Jun 15, 2021

Natural language-aided conversational exploration of self-documenting application programming interfaces

Inventors: Isa M. Torres (Poughkeepsie, NY); Andrew R. Freed (Cary, NC)
Assignee: International Business Machines Corporation
G06F16/243G06F16/24522G06F16/24578G06F16/252G06F40/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,036,727
App. No.
16/514,792
Granted
Jun 15, 2021
Kind
B2
Abstract

Intent-based exploring of self-documenting Application Programming Interface (“API”) documents comprises receiving a document containing a plurality of descriptions of APIs, wherein the document is in a structured format; generating a plurality of entities by identifying a plurality of API definition entries in the document; generating a plurality of intents by iterating through a plurality of path entries in the document; generating a dialog by creating a plurality of phrases by iterating through the plurality of path entries in the document; receiving one or more questions from a user or developer; and in response to the one or more questions, providing one or more conversational responses to the user by a conversational application program incorporating the plurality of entities, plurality of intents, and plurality of phrases.

Claims (43)

1. A computer program product for intent-based exploring a self-documenting Application Programming Interface (“API”) document, said computer program product comprising:

a computer readable storage medium which is not a transitory signal per se;

program instructions, executable by a computer processor, to cause the computer processor to,

when executed, perform steps comprising:

receiving a document containing a plurality of descriptions of APIs, wherein the document is in a structured format;

generating a plurality of entities, wherein each entity of the plurality of entities is associated with an API definition entry of the plurality of API definition entries in the document and wherein each entity of the plurality of entities is generated by replacing the properties attribute of the API definition entry with a regex wildcard;

generating a plurality of intents by iterating through the plurality of entities;

generating a dialog by creating a plurality of phrases by iterating through the plurality of path entities in the document;

receiving one or more questions from a user; and

in response to the one or more questions, providing one or more conversational responses to the user by a conversational application program incorporating the plurality of entities, plurality of intents, and plurality of phrases;

thereby improving efficiency of a user interface for a software developer tool to find suitable APIs, and improving efficiency of a runtime computing environment by improving the selection of APIs which consume minimal appropriate computing and communications resources.

2. The computer program product as set forth in claim 1 wherein the generating of a plurality of intents by iterating through a plurality of path entries in the document comprises, for each path:

retrieving operation ID values;

retrieving operation details to generate intent examples; and

creating an intent from the operation ID values and the generated intent examples.

3. The computer program product as set forth in claim 1 wherein the generating of a dialog by creating a plurality of phrases by iterating through the plurality of path entries in the document comprises, for each path:

creating exploring API dialog nodes, and

creating calling API dialog nodes.

4. The computer program product as set forth in claim 1 wherein the self-documenting Application Programming Interface (“API”) document comprises a document selected from the group consisting of a Swagger-compliant document and an OpenAPI-compliant document.

5. The computer program product as set forth in claim 1 wherein the self-documenting Application Programming Interface (“API”) document comprises a REpresentational State Transfer (RESTful) application programming interface description document.

6. The computer program product as set forth in claim 1 , wherein the regex wildcard is a synonym.

7. A system for intent-based exploring a self-documenting Application Programming Interface (“API”) document, said system comprising:

a computer processor for executing program instructions;

a computer readable storage medium which is not a transitory signal per se;

program instructions, executable by the computer processor, to cause the computer processor to,

when executed, perform steps comprising:

receiving a document containing a plurality of descriptions of APIs, wherein the document is in a structured format;

generating a plurality of entities, wherein each entity of the plurality of entities is associated with an API definition entry of the plurality of API definition entries in the document and wherein each entity of the plurality of entities is generated by replacing the properties attribute of the API definition entry with a regex wildcard;

generating a plurality of intents by iterating through the plurality of entities;

generating a dialog by creating a plurality of phrases by iterating through the plurality of path entities in the document;

receiving one or more questions from a user; and

in response to the one or more questions, providing one or more conversational responses to the user by a conversational application program incorporating the plurality of entities, plurality of intents, and plurality of phrases;

thereby improving efficiency of a user interface for a software developer tool to find suitable APIs, and improving efficiency of a runtime computing environment by improving the selection of APIs which consume minimal appropriate computing and communications resources.

8. The system as set forth in claim 7 wherein the generating of a plurality of intents by iterating through a plurality of path entries in the document comprises, for each path:

retrieving operation ID values;

retrieving operation details to generate intent examples; and

creating an intent from the operation ID values and the generated intent examples.

9. The system as set forth in claim 7 wherein the generating of a dialog by creating a plurality of phrases by iterating through the plurality of path entries in the document comprises, for each path:

creating exploring API dialog nodes, and

creating calling API dialog nodes.

10. The system as set forth in claim 7 wherein the self-documenting Application Programming Interface (“API”) document comprises a document selected from the group consisting of a Swagger-compliant document and an OpenAPI-compliant document.

11. The system as set forth in claim 7 wherein the self-documenting Application Programming Interface (“API”) document comprises a REpresentational State Transfer (RESTful) application programming interface description document.

12. The computer system as set forth in claim 7 , wherein the regex wildcard is a synonym.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: TORRES, ISA M; FREED, ANDREW R
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049782/0599 →
Continuity (1)
Related Publication 20210019306A1 · Jan 21, 2021