IP Library Granted Patent US 11,017,002
Granted Patent B2
US 11,017,002 · App. 16/009,123 · Granted May 25, 2021

Description matching for application program interface mashup generation

Inventors: Lei Liu (San Jose, CA); Wei-Peng Chen (Fremont, CA)
Assignee: FUJITSU LIMITED
G06F16/3334G06F9/54G06F16/36G06F40/226G06F40/295
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,017,002
App. No.
16/009,123
Granted
May 25, 2021
Kind
B2
Abstract

A method of determining application program interface (API) mashups is provided. The method may include identifying an endpoint description for a first API, and determining whether the endpoint description includes at least one of input description data and output description data. Further, the method may include, in response to the endpoint description including the input description data, determining at least one possible API mashup including the first API and a second API based on a comparison of the input description data and an output description of the second API. Moreover, the method may include, in response to the endpoint description including the output description data, determining one or more possible API mashups including the first API and the second API based on a comparison of the output description data and an input description of the second API.

Claims (94)

1. A method of determining application program interface (API) mashups, the method comprising:

identifying, via at least one processor, an endpoint description for a first API;

validating, via the at least one processor, the endpoint description based on a plurality of other API endpoint descriptions, wherein validating the endpoint description includes:

processing the endpoint description to generate a first modified endpoint description and

changing the first modified endpoint description to generate a second modified endpoint description, wherein changing the first modified endpoint description to generate the second modified endpoint description is based on a comparison between one or more words of the first modified endpoint description and a dictionary that is based on the plurality of other API endpoint descriptions;

determining, via the at least one processor, whether the second modified endpoint description includes at least one of input description data and output description data;

in response to the second modified endpoint description including the input description data,

determining, via the at least one processor, at least one possible API mashup including the first API and a second API based on a comparison of the input description data and an output description of the second API; and

in response to the second modified endpoint description including the output description data,

determining, via the at least one processor, one or more possible API mashups including the first API and the second API based on a comparison of the output description data and an input description of the second API.

2. The method of claim 1 , wherein validating the endpoint description further includes determining that at least one of an input description and an output description of the first API is invalid for matching.

3. The method of claim 1 , wherein validating the endpoint description includes:

generating the dictionary based on the plurality of other API endpoint descriptions; and

wherein changing the first modified endpoint description based on the comparison between one or more words of the first modified endpoint description and the dictionary includes:

comparing the endpoint description and the first modified endpoint description to detect one or more modified words; and

for each modified word of the one or more modified words, one of:

validating the modified word; and

changing the modified word back to an associated original word based on a comparison of the modified word to one or more words in the generated dictionary.

4. The method of claim 3 , further comprising, for each modified word, at least one of:

removing one or more symbols from the associated original word;

performing a word stemming operation on the associated original word; and

separating the associated original word into two or more words.

5. The method of claim 1 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises determining that the second modified endpoint description includes output description data based on the endpoint description including one or more pre-defined verbs.

6. The method of claim 1 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises:

identifying, via a trained model, each word in the second modified endpoint description as a being associated with an input or an output; and

designating each word of a training dataset as being associated with the input or the output to train the model.

7. The method of claim 1 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises:

identifying at least one noun phrase in an input description of the first API;

identifying one or more noun phrases in the second modified endpoint description;

comparing the at least one noun phrase and the one or more noun phrases to identify at least one matching noun phrase;

removing the at least one matching noun phrase from the second modified endpoint description; and

designating the second modified endpoint description as an output description of the first API.

8. The method of claim 1 , wherein validating the endpoint description further includes:

parsing a name of an endpoint of the first API to determine a name of an input;

parsing an input description of the first API;

identifying one or more noun phrase chunks for the input description;

determining a similarity score between the name of the input and each noun phrase chunk of the one or more noun phrase chunks; and

designating the input description as invalid or valid based on the similarity score.

9. The method of claim 1 , wherein validating the endpoint description further includes:

parsing a name of an endpoint of the first API to determine a name of an output;

parsing an output description of the first API;

identifying one or more noun phrase chunks for the output description;

determining a similarity score between the name of the output and each noun phrase chunk of the one or more noun phrase chunks; and

designating the output description as invalid or valid based on the similarity score.

10. The method of claim 1 , further comprising:

generating a combined validated input description that includes at least one of a validated input description and an identified input portion of a validated endpoint description; and

generating a combined validated output description that includes at least one of a validated output description and an identified output portion of a validated endpoint description.

11. One or more non-transitory computer-readable media that include instructions that, in response to being executed by one or more processing systems, are configured to cause the performance of operations, the operations comprising:

identifying an endpoint description for a first API;

validating, via the one or more processing systems, the endpoint description based on a plurality of other API endpoint descriptions, wherein validating the endpoint description includes:

processing the endpoint description to generate a first modified endpoint description and

changing the first modified endpoint description to generate a second modified endpoint description, wherein changing the first modified endpoint description to generate the second modified endpoint description is based on a comparison between one or more words of the first modified endpoint description and a dictionary that is based on the plurality of other API endpoint descriptions;

determining whether the endpoint description includes at least one of input description data and output description data;

in response to the second modified endpoint description including the input description data,

determining at least one possible API mashup including the first API and a second API based on a comparison of the input description data and an output description of the second API; and

in response to the second modified endpoint description including the output description data,

determining one or more possible API mashups including the first API and the second API based on a comparison of the output description data and an input description of the second API.

12. The computer-readable media of claim 11 , wherein validating the endpoint description further includes determining that at least one of an input description and an output description of the first API is invalid for matching.

13. The computer-readable media of claim 11 , wherein validating the endpoint description includes:

generating the dictionary based on the plurality of other API endpoint descriptions;

wherein changing the first modified endpoint description based on the comparison between one or more words of the first modified endpoint description and the dictionary includes:

comparing the endpoint description and the first modified endpoint description to detect one or more modified words; and

for each modified word of the one or more modified words, one of:

validating the modified word: and

changing the modified word back to an associated original word based on a comparison of the modified word to one or more words in the generated dictionary.

14. The computer-readable media of claim 13 , the operations further comprising at least one of:

removing one or more symbols from the associated original word;

performing a word stemming operation on the associated original word; and

separating the associated original word into two or more words.

15. The computer-readable media of claim 11 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises determining that the second modified endpoint description includes the output description data based on the endpoint description including one or more verbs.

16. The computer-readable media of claim 11 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises:

identifying, via a trained model, each word in the second modified endpoint description as a being associated with an input or an output; and

designating each word of a training dataset as being associated with the input or the output to train the model.

17. The computer-readable media of claim 11 , wherein determining whether the second modified endpoint description includes at least one of the input description data and the output description data comprises:

identifying at least one noun phrase in an input description of the first API;

identifying one or more noun phrases in the second modified endpoint description;

comparing the at least one noun phrase and the one or more noun phrases to identify at least one matching noun phrase;

removing the at least one matching noun phrase from the second modified endpoint description; and

designating the second modified endpoint description as an output description of the first API.

18. The computer-readable media of claim 11 , wherein validating the endpoint description further includes:

parsing a name of an endpoint of the first API to determine a name of an input;

parsing an input description of the first API;

identifying one or more noun phrase chunks for the input description;

determining a similarity score between the name of the input and each noun phrase chunk of the one or more noun phrase chunks; and

designating the input description as invalid or valid based on the similarity score.

19. The computer-readable media of claim 11 , wherein validating the endpoint description further includes:

parsing a name of an endpoint of the first API to determine a name of an output;

parsing an output description of the first API;

identifying one or more noun phrase chunks for the output description;

determining a similarity score between the name of the output and each noun phrase chunk of the one or more noun phrase chunks; and

designating the output description as invalid or valid based on the similarity score.

20. The computer-readable media of claim 11 , the operations further comprising:

generating a combined validated input description that includes at least one of a validated input description and an identified input portion of a validated endpoint description; and

generating a combined validated output description that includes at least one of a validated output description and an identified output portion of validated endpoint description.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2018
From: LIU, LEI; CHEN, WEI-PENG
To: FUJITSU LIMITED
Reel/Frame 046126/0982 →
Continuity (1)
Related Publication 20190384856A1 · Dec 19, 2019
Cited By (1)
US 12,705,366