Roughly described, a natural language interpretation system that provides
commands to a back-end application in response to user input is modified
to separate out user interaction functions into a user interaction
subsystem. The user interaction subsystem can include an interaction
block that is specific to each particular I/O agency, and which converts
user input received from that agency into an agency-independent form for
providing to the natural language interpretation system. The user
interaction subsystem also can take results from the back-end application
and clarification requests and other dialoguing from the natural language
interpretation system, both in device-independent form, and convert them
for forwarding to the particular I/O agency.