Application user interface
First Claim
1. A computer implemented method for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising the steps of:
- registering a plurality of rules on a blackboard, each rule identified with a particular application by use of an identifier, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol,parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and
interpreting the evaluation tree, and generating a request by a callback procedure associated with a specific one of the rules used to generate the evaluation tree;
transmitting the request to a specific one of the applications associated with the specific one of the rules.
3 Assignments
0 Petitions
Accused Products
Abstract
In a computer system, a user interacts with a plurality of applications using natural language text provided by an input device. In order to enable the applications for user interaction, rules are registered on a blackboard of an arbiter. The arbiter can be localized, or distributed. Each rule is identified with a particular application, and can include a callback procedure. Each rule includes a left-hand side symbol and a right-hand side string which is a translation of the symbol. A parser parses a natural language input text string using the register rules to generate an evaluation tree. The evaluation tree is expressed in the form of an interpretive language. The evaluation tree is interpreted to produce at least one application request. The application request is generated by the callback procedure associated with a specific one of the rules applied during the parsing of the input text. The request is transmitted to the application identified with the applied rule.
97 Citations
16 Claims
-
1. A computer implemented method for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising the steps of:
-
registering a plurality of rules on a blackboard, each rule identified with a particular application by use of an identifier, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol, parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and interpreting the evaluation tree, and generating a request by a callback procedure associated with a specific one of the rules used to generate the evaluation tree; transmitting the request to a specific one of the applications associated with the specific one of the rules.
-
-
2. A computer implemented method for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising the steps of:
-
registering a plurality of rules on a blackboard, each rule identified with a particular application, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol; declaring the symbol as a private symbol or as a shared symbol, the shared symbol being included in the rules of more than one of the applications, and the private symbol included in the rules of exactly one application; parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and interpreting the evaluation tree, and generating a request by a callback procedure associated with a specific one of the rules and used to generate the evaluation tree; transmitting the request to a specific one of the applications associated with the specific one of the rules. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising:
-
a blackboard for registering a plurality of rules, each rule identified with a particular application by use of an identifier, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol; a parser for parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and an evaluator for generating a request to one of the applications, the evaluator including a callback procedure associated with a specific one of the rules applied during the parsing, the request to direct a specific one of the applications associated with the specific one of the rules to perform a desired action.
-
-
11. An apparatus for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising:
-
a blackboard for registering a plurality of rules, each rule identified with a particular application, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol; a parser for parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; an evaluator for generating a request to one of the applications, the evaluator including a callback procedure associated with a specific one of the rules applied during the parsing, the request to direct a specific one of the applications associated with the specific one of the rules to perform a desired action; and means for declaring the symbol as a private symbol or as a shared symbol, the shared symbol being included in the rules of more than one of the applications, and the private symbol included in the rules of exactly one application. - View Dependent Claims (12, 13, 14)
-
-
15. A computer implemented method for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising the steps of:
-
registering a plurality of rules on a blackboard, each rule identified with a particular application, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol and a unique identifier for each particular application; parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and interpreting the evaluation tree; transmitting the request to a specific one of the applications associated with the specific one of the rules in response to said unique identifier associated with each particular application.
-
-
16. An apparatus for interacting with a plurality of applications of a computer system using natural language text provided by an input device, comprising:
-
a blackboard for registering a plurality of rules, each rule identified with a particular application by use of a unique identifier, each rule including a left-hand side symbol and a right-hand side string which is a translation of the symbol; a parser for parsing a natural language input text string by applying the registered rules to generate an evaluation tree expressed in the form of an interpretive language; and an evaluator for generating a request to one of the applications the request to direct a specific one of the is applications associated with the specific one of the rules to perform a desired action in response to the unique identifier of the specific on of the rules.
-
Specification