Towards a natural language interface for computer aided design

We propose a natural language interface as part of the solution to the problems posed by the continuing increase in the number and sophistication of CAD tools. The advantages of a natural language interface for CAD are numerous, but the complexity and the scope of the CAD domain renders most previous work in natural language interfaces of limited utility; an approach of much greater generality and power is required. We describe a natural language interface (named Cleopatra) that we have developed for the sub-domain of circuit-simulation post-processing. Cleopatra is the first step in a research program the ultimate goal of which is the development of a natural language interface for an integrated design environment. Cleopatra significantly extends what is in essence a lexically-driven case-frame parser by incorporating a couple of novel features: high degrees of flexibility and parallelism. The flexibility of our approach enables the representation of constraints that, for instance, cannot be represented by semantic-grammar-based systems, and it also enables the specification of arbitrary and idiosyncratic actions to guide the parsing process. The parallelism, which is supplemented with a notion of "confidence-levels", enables straightforward treatment of most kinds of ambiguity. Cleopatra can handle simple nominal coordination, substitutional ellipsis, some kinds of subordinate clauses, there-insertion sentences and wh-frontings, and its abilities make it a useful CAD tool in its own right, as well as demonstrating the feasibility of our ultimate goal. Extending Cleopatra's linguistic coverage, as well as extending Cleopatra to other sub-domains of CAD, should be greatly facilitated by the generality and power of our approach.