Augmented conversational agent
US-2019166070-A1 · May 30, 2019 · US
US10776082B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10776082-B2 |
| Application number | US-201816202759-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 28, 2018 |
| Priority date | Nov 28, 2018 |
| Publication date | Sep 15, 2020 |
| Grant date | Sep 15, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems and computer program products for augmenting a programming environment for developing software code using an automated dialog system are provided herein. A computer-implemented method includes monitoring actions taken in the programming environment, determining intent of the actions taken, and generating a natural language dialog in a graphical user interface of the automated dialog system. The natural language dialog comprises suggested additional actions to be taken based at least in part on the determined intent, where the suggested additional actions affect code files in the programming environment. The computer-implemented method also includes providing, in the graphical user interface, user-activatable interface features for selecting respective ones of the suggested additional actions, and modifying one or more of the code files in the programming environment in accordance with a given suggested additional action, responsive to detecting selection of a given user-activatable interface feature corresponding to the given suggested additional action.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, comprising steps of: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment, wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the program constructs: determining word boundaries in the given program construct using at least one of: changes in case and special characters; dividing the given program construct into one or more words based at least in part on the determined word boundaries; obtaining a set of dictionary terms for the one or more words; performing alignment with one or more external documents for each of the obtained set of dictionary terms; and utilizing the aligned external documents to determine the intent; generating a natural language dialog in a graphical user interface of an automated dialog system associated with the programming environment, the natural language dialog comprising one or more suggested additional actions to be taken in the programming environment based at least in part on the determined intent, wherein the one or more suggested additional actions comprise one or more actions that affect code of one or more code files in the programming environment; providing, in the graphical user interface, one or more user-activatable interface features for selecting respective ones of the one or more suggested additional actions; and modifying one or more of the code files in the programming environment in accordance with a given one of the one or more suggested additional actions, responsive to detecting selection of a given one of the user-activatable interface features corresponding to the given suggested additional action; wherein the steps are carried out by at least one processing device. 2. The computer-implemented method of claim 1 , wherein the one or more program constructs comprise at least one of: comments in the code; code inputs; code outputs; and code objectives. 3. The computer-implemented method of claim 1 , wherein said obtaining the set of dictionary terms for the one or more words comprises, for a given word not having an associated term in the dictionary: selecting a set of surrounding dictionary terms for the given word; and for each term in the set of surrounding dictionary terms, checking for sequential alphabet containment match to derive a corresponding dictionary term for the given word. 4. The computer-implemented method of claim 1 , wherein said performing the alignment comprises keyword matching respective ones of the obtained set of dictionary terms with words in the external documents. 5. The computer-implemented method of claim 1 , wherein the external documents comprise at least one of: code snippets from a code snippet repository; alternative libraries from an alternative library repository; code from a trusted code repository; and web sources from a trusted web sources repository. 6. The computer-implemented method of claim 1 , wherein said generating the natural language dialog comprises utilizing a natural language model adapted to a domain of the programming environment to wrap natural language phrases around a core response. 7. The computer-implemented method of claim 6 , wherein the core response comprises a snippet extracted from an external document, the snippet comprising at least one of a web quote, a library documentation snippet, a code snippet, a programming practice manual snippet, and an integrated development environment documentation snippet. 8. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises insertion of code into a given one of the code files in the programming environment. 9. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises upgrading one or more libraries utilized in a given one of the code files in the programming environment. 10. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises tracing a code anomaly in a given one of the code files in the programming environment. 11. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one computing device to cause the at least one computing device to perform steps of: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the program constructs: determining word boundaries in the given program construct using at least one of: changes in case and special characters; dividing the given program construct into one or more words based at least in part on the determined word boundaries; obtaining a set of dictionary terms for the one or more words; performing alignment with one or more external documents for each of the obtained set of dictionary terms; and utilizing the aligned external documents to determine the intent; generating a natural language dialog in a graphical user interface of an automated dialog system associated with the programming environment, the natural language dialog comprising one or more suggested additional actions to be taken in the programming environment based at least in part on the determined intent, wherein the one or more suggested additional actions comprise one or more actions that affect code of one or more code files in the programming environment; providing, in the graphical user interface, one or more user-activatable interface features for selecting respective ones of the one or more suggested additional actions; and modifying one or more of the code files in the programming environment in accordance with a given one of the one or more suggested additional actions, responsive to detecting selection of a given one of the user-activatable interface features corresponding to the given suggested additional action. 12. A system comprising: a memory; and at least one processor coupled to the memory and configured for: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment, wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the progra
Help systems · CPC title
using statistical methods · CPC title
Interaction with lists of selectable items, e.g. menus · CPC title
Discourse or dialogue representation · CPC title
Dictionaries · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.