# US 2014/0156282 A1 · Method and system for controlling target applications based upon a natural language command string

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156282 A1
- Document ID: US20140156282A1
- Status: Published application
- Kind: A1
- Application number: 14/081,995
- Filed: 2013-11-15
- Published: 2014-06-05
- Earliest claimed: 2012-11-15
- Applicants: Maxwell Worthington, LLC
- Inventors: Mark Madere; Albert Sunseri
- Web page: https://patentgrep.com/patent/US20140156282A1

## CPC

- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 40/30: Semantic analysis
- G10L 15/1822: {Parsing for meaning understanding}
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

Disclosed is a method and system for controlling applications based upon a natural language command string. Embodiments may utilize skills of expert users of one or more target applications to create a domain specific language definition. An embodiment may then permit a less sophisticated user to control target applications using natural language command strings. An embodiment may process the natural language command string to obtain the complex code and/or configurations necessary to control the target applications. During the processing, each word (i.e., token/element) of the natural language command string is processed and compared with the domain specific language definition, which provides cardinal, order-of-operation, and other applicable data for each token/element, as well as translation procedures (i.e., jobs) that when run for each token/element provide the translation for the natural language command string. An embodiment may also permit a job to create new grammar to be evaluated recursively with additional jobs.

## Claims

### Claim 1

A computerized method for controlling at least one target application running on a computer system based upon a natural language command string from a user, said computerized method comprising:
receiving at said computer system said natural language command string from said user;
parsing by said computer system said natural language command string to create a list of tokens contained in said natural language command string, each token of said list of tokens being a word or defined phrase in said natural language command string;
determining by said computer system a symbol and cardinals for each token in said list of tokens as a function of an analysis of a domain specific language definition stored on said computer system, said symbol being representative of said token and said cardinals being parameters that describe a usage and an order-of-operation for each token;
creating by said computer system in a semantic manifold an element for each token in said list of tokens such that said semantic manifold contains a list of elements corresponding to said list of tokens, said element being a data structure that stores said symbol and said cardinals of a token,
creating by said computer system a queue of jobs based on elements in said semantic manifold as a function of an order-of-operation and element prescriptions in said domain specific language definition and said cardinals of each element in said list of elements of said semantic manifold, a job being at least one procedure defined in said domain specific language definition declaring operations to create a translation of an element into code and/or configurations that controls said at least one target application;
selecting by said computer system a first job in said queue of jobs as a selected job based on said order-of-operations and element prescriptions in said domain specific language definition;
executing by said computer system said selected job in order to create a command translation built from execution of each job in said queue of jobs;
determining by said computer system if said list of elements in said semantic manifold has changed;
when said list of elements in said semantic manifold is determined to be changed, returning operation by said computer system to said step of creating said queue of jobs based on said list of elements as said function of said order-of-operation and element prescriptions in said domain specific language definition and said cardinals of each element in said list of elements of said semantic manifold;
when said list of elements in said semantic manifold is determined not to be changed, determining by said computer system if said selected job is a last job in said job queue;
when said selected job is determined to not be a last job in said job queue, selecting by said computer system a next job in said queue of jobs as said selected job based on said order-of-operations and element prescriptions in said domain specific language definition and returning operation by said computer system to said step of executing said selected job;
when said selected job is determined to be said last job in said job queue, processing said command translation to create command code and/or configurations that control operation of said at least one target application; and
executing said command code and/or configurations to control operation of said at least one target application.

### Claim 2 (depends on 1)

The computerized method of claim 1 wherein said execution of at least one job of said queue of jobs results in a change in said list of elements of said semantic manifold such that operation of said computerized method at least once recursively returns to said step of creating said queue of jobs based on said list of elements as said function of said order-of-operation and element prescriptions in said domain specific language definition and said cardinals of each element in said list of elements of said semantic manifold.

### Claim 3 (depends on 1)

The computerized method of claim 1 further comprising checking by said computer system grammar of said list of elements in said semantic manifold prior to performing said step of creating said queue of jobs based on said list of elements as said function of said order-of-operation and element prescriptions in said domain specific language definition and said cardinals of each element in said list of elements of said semantic manifold.

### Claim 4 (depends on 1)

The computerized method of claim 1 further comprising validating by said computer system said command translation prior to performing said step of processing said command translation to create said command code and/or configurations that control operation of said at least one target application.

### Claim 5 (depends on 1)

The computerized method of claim 1 wherein said natural language command string is input by said user via a keyboard and graphical user interface attached to said computer system.

### Claim 6 (depends on 1)

The computerized method of claim 1 wherein said natural language command string is input by said user via a touch screen function of a graphical user interface attached to said computer system.

### Claim 7 (depends on 1)

The computerized method of claim 1 wherein said natural language command string is input by said user via a voice command spoken into a microphone attached to said computer system and said voice command is converted to text by voice-to-text conversion software.

### Claim 8

A natural language translator system that controls at least one target application based upon a natural language command string from a user, said natural language translator system comprising:
a natural language command string receive subsystem that receives said natural language command string from said user;
a parse subsystem that parses said natural language command string to create a list of tokens contained in said natural language command string, each token of said list of tokens being a word or defined phrase in said natural language command string;
a symbol and cardinal determination subsystem that determines a symbol and cardinals for each token in said list of tokens as a function of an analysis of a domain specific language definition stored on said computer system, said symbol being representative of said token and said cardinals being parameters that describe a usage and an order-of-operation for each token;
an element creation subsystem that creates in a semantic manifold an element for each token in said list of tokens such that said semantic manifold contains a list of elements corresponding to said list of tokens, said element being a data structure that stores said symbol and said cardinals of a token,
a job queue creation subsystem that creates a queue of jobs based on elements in said semantic manifold as a function of an order-of-operation and element prescriptions in said domain specific language definition and said cardinals of each element in said list of elements of said semantic manifold, a job being at least one procedure defined in said domain specific language definition declaring operations to create a translation of an element into code and/or configurations that controls said at least one target application;
a first job selection subsystem that selects a first job in said queue of jobs as a selected job based on said order-of-operations and element prescriptions in said domain specific language definition;
a job execution subsystem that executes said selected job in order to create a command translation built from execution of each job in said queue of jobs;
a semantic manifold change detection subsystem that determines if said list of elements in said semantic manifold has changed and, when said list of elements in said semantic manifold is determined to be changed, returns operation to said job queue creation subsystem, and, when said list of elements in said semantic manifold is determined not to be changed, sends operation to a last job determination subsystem;
said last job determination subsystem that determines if said selected job is a last job in said job queue and, when said selected job is determined to not be a last job in said job queue, sends operation to a select next job determination subsystem, and, when said selected job is determined to be said last job in said job queue sends operation to a command translation processing subsystem;
said next job determination subsystem that selects a next job in said queue of jobs as said selected job based on said order-of-operations and element prescriptions in said domain specific language definition and returns operation by said computer system to said job execution subsystem;
said command translation processing subsystem that processes said command translation to create command code and/or configurations that control operation of said at least one target application; and
a command execution subsystem that executes said command code and/or configurations to control operation of said at least one target application.

### Claim 9 (depends on 8)

The natural language translator system of claim 8 wherein said job execution subsystem execution of jobs results in a change in said list of elements of said semantic manifold such that operation of said natural language translator system at least once recursively returns operation job queue creation subsystem.

### Claim 10 (depends on 8)

The natural language translator system of claim 8 further comprising a grammar check subsystem that checks grammar of said list of elements in said semantic manifold prior to creation of said job queue by said job queue creation subsystem.

### Claim 11 (depends on 8)

The natural language translator system of claim 8 further comprising a command translation validation subsystem that validates said command translation prior to processing of said command translation by said command translation processing subsystem.

### Claim 12 (depends on 8)

The natural language translator system of claim 8 wherein said natural language command string is input by said user via a keyboard and graphical user interface attached to said computer system.

### Claim 13 (depends on 8)

The natural language translator system of claim 8 wherein said natural language command string is input by said user via a touch screen function of a graphical user interface attached to said computer system.

### Claim 14 (depends on 8)

The natural language translator system of claim 8 wherein said natural language command string is input by said user via a voice command spoken into a microphone attached to said computer system and said voice command is converted to text by voice-to-text conversion software.
