Self-learning statistical natural language processing for automatic production of virtual personal assistants
US-9772994-B2 · Sep 26, 2017 · US
US9959868B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9959868-B1 |
| Application number | US-201715454764-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 9, 2017 |
| Priority date | Mar 9, 2017 |
| Publication date | May 1, 2018 |
| Grant date | May 1, 2018 |
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.
Domain specific programming is facilitated through the use of a conversational interface using natural language commands from the user and natural language cues to the user. The natural language conversation provides the actual program and thus can be saved and edited for future use.
Opening claim text (preview).
What we claim is: 1. A computerized user interface for data analysis comprising an electronic computer including: a processor; electronic memory communicating with the processor and holding a program-generating program and a set of multi-instruction program components; and a user interface communicating with the processor; wherein the processor executes the program-generating program to: (a) generate a conversation comprised of: (i) natural language phrases input by a user using the user interface and designating a data set for analysis and one or more analysis tools to be used in the analysis; and (ii) natural language phrases output by the computer using the user interface in response to the natural language phrases input by the user and providing the user with guidance for additional natural language phrases input by the user; (b) record the conversation; and (c) execute the conversation by mapping the natural language phrases input by the user and the additional natural language phrases input by the user to corresponding multi-instruction program components to create a data analysis program implementing analysis of the one or more analysis tools on the data set; and executing the data analysis program to output that analysis to the user interface. 2. The computerized user interface of claim 1 wherein the program-generating program further displays the conversation contemporaneously with generation of the data analysis program. 3. The computerized user interface of claim 2 wherein the processor further executes the program-generating program to perform the steps of: (d) storing and recall the conversation; and (e) editing the recalled conversation before repeating step (c). 4. The computerized user interface of claim 3 wherein the recalled conversation is displayed and the editing is guided by identifying portions of the conversation on the display and editing those portions through an addition of new natural language phrases input by the user. 5. The computerized user interface for data analysis of claim 4 wherein the editing of the recalled conversation allows removal of existing natural language phrases and an addition of further natural language phrases at a variety of points within the conversation and wherein the removal of a given existing natural language phrase from the conversation causes a removal of a corresponding multi-instruction program component during execution of the conversation and wherein the addition of a given further natural language phrase to the conversation causes an addition of a corresponding multi-instruction program component during the execution of the conversation. 6. The computerized user interface of claim 1 wherein the program-generating program further executes to include a step of receiving commands from the user to edit the data analysis program before executing the data analysis program at step (c). 7. The computerized user interface of claim 1 wherein the program-generating program further includes a predefined multi-state template designating steps for a workflow, the multi-state template defining states associated with predefined possible natural language phrases output by the computer and state transitions associated with predefined possible natural language phrases input by the user. 8. The computerized user interface of claim 7 wherein the natural language phrases output by the computer provide hints with respect to possible state transitions of the predefined multi-state template for a given current state of the multi-state template. 9. The computerized user interface of claim 7 wherein the predefined possible natural language phrases input by the user are each associated with a corresponding multi-instruction program component. 10. The computerized user interface of claim 7 wherein the multi-state template is composed of modules each providing multiple states and selected from the group consisting of states related to: data loading, data cleaning, data analysis, model selection, and visualization of analysis. 11. The computerized interface of claim 10 wherein the modules provide for standardized interfaces so that a given module of the multi-state template can be replaced by a different module. 12. The computerized user interface for data analysis of claim 1 wherein the natural language phrases input the u ad the natural language phrases output by the computer conform to standard spoken language grammar and syntax. 13. The computerized user interface for data analysis of claim 1 wherein the multi-instruction program components are human readable instructions and a non-natural language computer language. 14. A method of computerized data analysis employing an electronic computer having a processor; and electronic memory communicating with the processor and holding a program-generating program and a set of multi-instruction program components; and a user interface communicating with the processor, the method comprising: (a) generating a conversation comprised of: (i) natural language phrases input by a user using the user interface and designating one or more data sets for analysis and one or more analysis tools to be used in the analysis; and (ii) natural language phrases output by the computer using the user interface in response to the natural language phrases input by the user and providing the user with guidance for additional natural language phrases input by the user, (b) recording the conversation; and (c) executing the conversation by mapping the natural language phrases input by the user and the additional natural language phrases input by the user to corresponding multi-instruction program components to create a data analysis program implementing analysis of the one or more analysis tools on the data set; and executing the data analysis program to output that analysis to the user interface. 15. The method of claim 14 including the step of displaying the conversation contemporaneously with generation of the data analysis program. 16. The method of claim 15 including the step of: (d) storing and recall the conversation; and (e) edit the recalling conversation before repeating step (c). 17. The method of claim 16 wherein the recalled conversation is displayed and the editing is guided by identifying portions of the conversation on the display and editing those portions through an addition of new natural language phrases input by the user.
Discourse or dialogue representation · CPC title
Phrasal analysis, e.g. finite state techniques or chunking · CPC title
Creation or generation of source code · CPC title
Natural language generation · CPC title
Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.