IP Library › Granted Patent US 12,299,441
Granted Patent B2
US 12,299,441 · App. 18/110,192 · Granted May 13, 2025

Identifying application relationships using natural language processing techniques

Inventor: Shibi Panikkar (Bangalore, IN)
Assignee: Dell Products L.P.
G06F8/77
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 12,299,441
App. No.
18/110,192
Granted
May 13, 2025
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media for identifying application relationships using natural language processing techniques are provided herein. An example method includes processing an input related to a software project to derive a set of keywords and a set of intents; identifying a first application, from among a plurality of applications, related to the input based on a comparison of subsets of the keywords to keywords that are mapped to at least some of the plurality of applications in a first knowledge base; identifying a second application from among the plurality of applications related to the first application for at least a portion of the intents, wherein the second application is identified using a second knowledge base that maps the second application to the first application and at least one intent from the set of intents; and controlling initiation of an automated action based on the identified second application.

Claims (59)

1. A computer-implemented method comprising:

processing a natural language input related to a software project to derive a set of keywords and a set of intents, wherein the processing comprises processing numerical representations of at least a portion of the natural language input using one or more natural language processing models to derive the set of intents;

identifying at least one first application from among a plurality of applications related to the natural language input, wherein the at least one first application is identified based on a comparison of one or more subsets of the set of keywords to keywords that are mapped to at least a portion of the plurality of applications in a first knowledge base, wherein the mapping is based at least in part on one or more of the intents from the set of intents;

identifying at least one second application from among the plurality of applications related to the at least one first application for at least a portion of the derived set of intents, wherein the at least one second application is identified using a second knowledge base that maps the at least one second application to the at least one first application and at least one intent from the set of intents; and

controlling initiation of one or more automated actions based at least in part on the identified at least one second application;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The computer-implemented method of claim 1 , wherein the set of keywords is derived by parsing the natural language input to identify a set of words of a particular word type.

3. The computer-implemented method of claim 1 , wherein the one or more intents are derived using one or more natural language processing models.

4. The computer-implemented method of claim 1 , further comprising:

identifying at least one third application from among the plurality of applications related to the at least one second application, wherein the at least one third application is identified based at least in part on the second knowledge base.

5. The computer-implemented method of claim 4 , further comprising: identifying at least one fourth application from among the plurality of applications related to the at least one third application, wherein the at least one fourth application is identified based at least in part on the second knowledge base;

assigning the at least one first application and the at least one second application a first type of label that indicates a first level of impact resulting from the software project;

assigning the at least one third application a second type of label that indicates a second level of impact resulting from the software project; and

assigning the at least one fourth application a third type of label that indicates a third level of impact resulting from the software project.

6. The computer-implemented method of claim 5 , wherein the one or more automated actions comprise at least one of:

outputting a list of applications that have been assigned labels;

outputting information related to one or more developers associated with one or more of: the at least one first application, the at least one second application, the at least one third application, and the at least one fourth application;

assigning a ticket to at least one of the one or more developers, wherein the ticket indicates at least one of: one or more changes and one or more software tests needed as a result of the software project; and

outputting at least one description that describes a relationship between at least two of: the at least one first application, the at least one second application, the at least one third application, and the at least one fourth application.

7. The computer-implemented method of claim 1 , further comprising:

obtaining user feedback in response to at least one of the one or more automated actions; and

updating at least one of the first knowledge base and the second knowledge base based on the user feedback.

8. The computer-implemented method of claim 1 , wherein the natural language input comprises a description of at least one of: at least one new software feature and at least one change to an existing software feature.

9. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to process a natural language input related to a software project to derive a set of keywords and a set of intents, wherein the processing comprises processing numerical representations of at least a portion of the natural language input using one or more natural language processing models to derive the set of intents;

to identify at least one first application from among a plurality of applications related to the natural language input, wherein the at least one first application is identified based on a comparison of one or more subsets of the set of keywords to keywords that are mapped to at least a portion of the plurality of applications in a first knowledge base, wherein the mapping is based at least in part on one or more of the intents from the set of intents;

to identify at least one second application from among the plurality of applications related to the at least one first application for at least a portion of the derived set of intents, wherein the at least one second application is identified using a second knowledge base that maps the at least one second application to the at least one first application and at least one intent from the set of intents; and

to control initiation of one or more automated actions based at least in part on the identified at least one second application.

10. The non-transitory processor-readable storage medium of claim 9 , wherein the set of keywords is derived by parsing the natural language input to identify a set of words of a particular word type.

11. The non-transitory processor-readable storage medium of claim 9 , wherein the one or more intents are derived using one or more natural language processing models.

12. The non-transitory processor-readable storage medium of claim 9 , wherein the program code causes the at least one processing device further:

to identify at least one third application from among the plurality of applications related to the at least one second application, wherein the at least one third application is identified based at least in part on the second knowledge base.

13. The non-transitory processor-readable storage medium of claim 12 , wherein the program code further causes the at least one processing device:

to identify at least one fourth application from among the plurality of applications related to the at least one third application, wherein the at least one fourth application is identified based at least in part on the second knowledge base;

to assign the at least one first application and the at least one second application a first type of label that indicates a first level of impact resulting from the software project;

to assign the at least one third application a second type of label that indicates a second level of impact resulting from the software project; and

to assign the at least one fourth application a third type of label that indicates a third level of impact resulting from the software project.

14. The non-transitory processor-readable storage medium of claim 9 , wherein the program code causes the at least one processing device further:

to obtain user feedback in response to at least one of the one or more automated actions; and

to update at least one of the first knowledge base and the second knowledge base based on the user feedback.

15. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to process a natural language input related to a software project to derive a set of keywords and a set of intents, wherein the processing comprises processing numerical representations of at least a portion of the natural language input using one or more natural language processing models to derive the set of intents;

to identify at least one first application from among a plurality of applications related to the natural language input, wherein the at least one first application is identified based on a comparison of one or more subsets of the set of keywords to keywords that are mapped to at least a portion of the plurality of applications in a first knowledge base, wherein the mapping is based at least in part on one or more of the intents from the set of intents;

to identify at least one second application from among the plurality of applications related to the at least one first application for at least a portion of the derived set of intents, wherein the at least one second application is identified using a second knowledge base that maps the at least one second application to the at least one first application and at least one intent from the set of intents; and

to control an initiation of one or more automated actions based at least in part on the identified at least one second application.

16. The apparatus of claim 15 , wherein the set of keywords is derived by parsing the natural language input to identify a set of words of a particular word type.

17. The apparatus of claim 15 , wherein the one or more intents are derived using one or more natural language processing models.

18. The apparatus of claim 15 , wherein the at least one processing device is further configured:

to identify at least one third application from among the plurality of applications related to the at least one second application, wherein the at least one third application is identified based at least in part on the second knowledge base.

19. The apparatus of claim 18 , wherein the at least one processing device is further configured:

to identify at least one fourth application from among the plurality of applications related to the at least one third application, wherein the at least one fourth application is identified based at least in part on the second knowledge base;

to assign the at least one first application and the at least one second application a first type of label that indicates a first level of impact resulting from the software project;

to assign the at least one third application a second type of label that indicates a second level of impact resulting from the software project; and

to assign the at least one fourth application a third type of label that indicates a third level of impact resulting from the software project.

20. The apparatus of claim 15 , wherein the at least one processing device is further configured:

to obtain user feedback in response to at least one of the one or more automated actions; and

to update at least one of the first knowledge base and the second knowledge base based on the user feedback.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: PANIKKAR, SHIBI
To: DELL PRODUCTS L.P.
Reel/Frame 062711/0195 →
Continuity (1)
Related Publication 20240272902A1 · Aug 15, 2024
References Cited (8)
US 10922493B1 · Das · 2021 [cited by examiner]
US 20130318104A1 · Nair · 2013 [cited by examiner]
US 20190327154A1 · Sahoo · 2019 [cited by examiner]
CN 107133296A · 2017 [cited by examiner]
CN 108959433A · 2018 [cited by examiner]
Wikipedia contributors, “Software project management”, Wikipedia, The Free Encyclopedia, available at: https://en.wikipedia.org/w/index.php?title=Software_project_management&oldid=1135442574 (accessed Feb. 15, 2023), la… [cited by applicant]
Wikipedia contributors, “BERT (language model)”, Wikipedia, The Free Encyclopedia, available at: https://en.wikipedia.org/w/index.php?title=BERT_(language_model)&oldid=1138197095 (accessed Feb. 15, 2023), last updated F… [cited by applicant]
Rehkopf, Max, “Agile epics: definition, examples, and templates”, Atlassian, available at: https://www.atlassian.com/agile/project-management/epics (accessed Feb. 15, 2023). [cited by applicant]