CA2397703C - Systems and methods for abstracting portions of information that is represented with finite-state devices - Google Patents

Systems and methods for abstracting portions of information that is represented with finite-state devices Download PDF

Info

Publication number
CA2397703C
CA2397703C CA002397703A CA2397703A CA2397703C CA 2397703 C CA2397703 C CA 2397703C CA 002397703 A CA002397703 A CA 002397703A CA 2397703 A CA2397703 A CA 2397703A CA 2397703 C CA2397703 C CA 2397703C
Authority
CA
Canada
Prior art keywords
input
transducer
meaning
mode
gesture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002397703A
Other languages
French (fr)
Other versions
CA2397703A1 (en
Inventor
Srinivas Bangalore
Michael J. Johnston
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Intellectual Property II LP
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of CA2397703A1 publication Critical patent/CA2397703A1/en
Application granted granted Critical
Publication of CA2397703C publication Critical patent/CA2397703C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • G06V30/1985Syntactic analysis, e.g. using a grammatical approach
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3664Details of the user input interface, e.g. buttons, knobs or sliders, including those provided on a touch screen; remote controllers; input using gestures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks

Abstract

When using finite-state methods to capture multimodal integration, it is desirable to abstract over certain aspects of the gestural content. For abstraction, the gestural input is represented as a transducer which relates the specific content of the gestures to the gesture symbols. After multimodal integration, a projection is taken of the resulting finite-state machine and it is composed with the transducer representing the gestural input in order to reincorporate the specific contents that were left out of the finite-state process.

Description

SYSTEMS AND METHODS FOR ABSTRACT'ING PORTIONS OF
INFORMATION THAT IS REPRESENTED WITH FINITE-STATE DEVICES
BACKGROUND OF THE INVENTION

Field of Invention This invention is directed to abstracting portions of information that is represented in finite-state devices.

Description of Related Art Multimodal interfaces allow input and/or output to be conveyed over multiple different channels, such as speech, graphics, gesture and t:he like.
Multimodal interfaces enable more natural and effective interaction, because particular modes are best-suited for particular kinds of content. Multimodal interfaces are likely to play a critical role in the ongoing migration of interaction from desktop computing to wireless portable computing devices, such as personal digital assistants, like the Palm Pilot , digital cellular telephones, public information kiosks that are wirelessly connected to the Internet or other distributed networks, and the like. One barrier to adopting such wireless portable computing devices is that: they offer limited screen real estate, and often have limited keyboard interfaces, if any keyboard interface at all.
To realize the full potential of such wireless portable computing devices, multimodal interfaces need to support not just input from multiple modes.
Rather, multimodal interfaces also need to support synergistic multimodal utterances that are optimally distributed over the various available modes. In order to achieve this, the content from different modes needs to be effectively integrated.
One previous attempt at integrating the content frcim the different modes is disclosed in "Unification-Based Multimodal Integration", M. Johnston et al., Proceedings of the 35th ACL, Madrid, Spain, p. 281-288, 1997 (Johnston 1).
Johnston 1 disclosed a pen-based device that allows a variety of gesture utterances to be input through a gesture mode, while a variety of speech utterances can be input through a speech mode.
In Johnston 1, a unification operation over typed feature structures was used to model the integration between the gesture mode and the speech mode.
Unification
2 operations determine the consistency of two pieces of partial information. If the two pieces of partial information are determined to be consistent, the unification operation combines the two pieces of partial information into a sing;le result.
Unification operations were used to determine whether a given piece of gestural input received over the gesture mode was compatible with a given piece of spoken input received over the speech mode. If the gestural input was determined to be compatible with the spoken input, the two inputs were combined into a single result that could be further interpreted.

In Johnston 1, typed feature structures were used as a common meaning representation for both the gestural inputs and the spoken inputs. In Johnston 1, the multimodal integration was modeled as a cross-product unification of feature structures assigned to the speech and gestural inputs. While the technique disclosed in Johnston 1 overcomes many of the limitations of earlier multimodal systems, this technique does not scale well to support multi-gesture utterances, complex unimodal gestures, or other modes and combinations of modes. To address these limitations, the unification-based multimodal integration technique disclosed in Johnston 1 was extended in "Unification-Based Multimodal Parsing", M. Johnston, Proceedings of COLING-ACL 98, p. 624-630, 1998 (Johnston 2). The rriultimodal integration technique disclosed in Johnston 2 uses a multi-dimensional chart parser. In Johnston 2, elements of the multimodal input are treated as terminal edges by the parser. The multimodal input elements are combined together in accordance with a unification-based multimodal grammar. The unification-based multimodal parsing technique disclosed in Johnston 2 was further extended in "Multimodal Language Processing", M. Johnston, Proceedings of ICSLP 1998, 1998 (published on CD-ROM
only) (Johnston 3).

Johnston 2 and 3 disclosed how techniques from natural language processing can be adapted to support parsing and interpretation of utterances distributed over multiple modes. In the approach disclosed by Johnston 2 and 3, speech and gesture recognition produce n-best lists of recognition results. The n-best recognition results are assigned typed feature structure representations by speech interpretation and gesture interpretation components. The n-best lists of feature structures from the spoken inputs and the gestural inputs are passed to a multii-dimensional chart parser
3 that uses a multimodal unification-based grammar to combine the representations assigned to the input elements. Possible multimodal interpretations are then ranked.
The optimal interpretation is then passed on for execution.
Further, in Johnston 1-3, gestural inputs are assigned typed feature structures by the gesture representation agents. Using feature structures as a semantic representation framework allow for the specification of partial meanings.
Spoken or gestural input which partially specify a command can be represented as an underspecified feature structure in which certain features are not instantiated.
Adopting typed feature structures facilitates the statement of constraints on integration. For example, if a given speech input can be integrated with a line gesture, it can be assigned a feature structure with an underspecified location feature whose value is required to be of type line.

SUMMARY OF THE INVENTION

However, the unification-based approach disclosed in Johnston 1-Johnston 3 does not allow for tight coupling of multimodal parsing with speech and gesture recognition. Compensation effects are dependent on the correct answer appearing in each of the n-best list of interpretations obtained from the recognitions obtained from the inputs of each mode. Moreover, multimodal parsing cannot directly influence the progress of either speech recognition or gesture recognition. The multi-dimensional parsing approach is also subject to significant concerns in terms of computational complexity. In the worst case, for the multi-dimensional parsing technique disclosed in Johnston 2, the number of parses to be considered is exponential relative to the number of input elements and the number of interpretations the input elements have.
This complexity is manageable when the inputs yield only n-best results for small n.
However, the complexity quickly gets out of hand if the inputs are sizable lattices with associated probabilities.
The unification-based approach also runs into significant problems when choosing between multiple competing parses and interpretations. Probabilities associated with composing speech events and multiple gestures need to be combined.
Uni-modal interpretations need to be compared to multimodal interpretations and so on. While this can all be achieved using the unification-based approach disclosed in
4 Johnston 1 -Johnston 3, significant post-processing of sets of competing multimodal interpretations generated by the multimodal parser will be involved.
An alternative to the unification-based multimodal parsing technique disclosed in Johnston 3 is discussed in "Finite-state Multimodal Pai=sing and Understanding", M. Johnston and S. Bangalore, Proceedings of COLING 2000, Saarbrucken, Germany, 2000 (Johnston 4) and in U.S. Patent No. 6,868,383 issued March 15, 2003.
In Johnston 4, multimodal parsing, understanding and/or integration are achieved using a weighted finite-state device which takes speech and gesture streams as inputs and outputs their joint interpretation. This finite state appiroach is significantly more efficient, enables tight-coupling of multimodal understanding with speech recognition, and provides a general probabilistic framework for multimodal ambiguity resolution.
In Johnston 4 and the `383 patent, language and gesture input streams are parsed and integrated by a single weighted finite-state device. This single weighted finite-state device provides language models for speech and gesture recognition and composes the meaning content from the speech and gestu:re input streams into a single semantic representation. Thus, Johnston 4 and the `383 patent not only address multimodal language recognition, but also encode the seniantics as well as the syntax into a single weighted finite-state device. Compared to the previous approaches for integrating multimodal input streams, such as those described in Johnston 1-3, which compose elements from n-best lists of recognition results, Johnston 4 and the `383 patent provide the potential for direct compensation among the various multimodal input modes.
Further, in Johnston 4 and the `383 patent, the structure interpretation of the multimodal commands is captured in a multimodal context-free grammar in which the multimodal aspects of the context free grammar are apparent in the terminals.
The terminals contain three components, W, G and M, where W is the spoken language stream, G is the gesture stream, and M is the combined meaning. The non-terminals in the multimodal grammar are atomic symbols. In some exemplary embodiments of Johnston 4 and the `383 patent, the gesture symbols G can be organized into a type hierarchy reflecting the ontology of the entities in the application domain.
For example, a pointing gesture may be assigned the general semantic type "G".
This general semantic gesture "G" may have various subtypesõ such as "Go" and "Gp".
In various exemplary embodiments, "Go" represents a gesture made against an organization object. In various exemplary embodiments, "Gp" represents a gesture made against a person object. Furthermore, the "Gp" type gesture may itself have
5 subtypes, such as, for example, "Gpm" and "Gpf' for objects that respectively represent male and female persons. Compared with a feature-based multimodal grammar, these semantic types constitute a set of atomic categories which make the relevant distinctions for gesture events to predict speech events and vice versa.

Johnston 4 and the 1383 patent allow the gestural input to dynamically alter the language model used for speech recognition. In addition, the approach provided in Johnston 4 and the `383 patent reduce the computatior.ial complexity of multi-dimensional multimodal parsing. In particular, the weighted finite-state devices, used in Johnston 4 and 1383 patent provide a well-understood probabilistic framework for combining the probability distributions associated with the speech and gesture or other input modes and for selecting among multiple competing multimodal interpretations.

Systems and methods for recognizing and representing gestural input have been very limited. Both the feature-based multimodal grammar provided in Johnston 1-3 and the multimodal context free grammar disclosed in Johnston 4 and the 1383 patent may be used to capture the structure and interpretation of multimodal commands. However, neither approach allows for efficiently and generically representing arbitrary gestures.
In addition, in the unification-based multimodal grammar disclosed in Johnston 1-3, spoken phrases and physical gestures are assigned typed feature structures by the natural language and gesture interpretation systems, respectively. In particular, each gesture feature structure includes a content portion that allows the specific location of the gesture on the gesture input portion of the multimodal user input device 400 to be specified. Thus, in the unification-based approach to multimodal integration disclosed in Johnston 1-3, specific content of an input gesture is captured by feature sharing.

However, in order to capture multimodal integration using finite-state methods, it is necessary to abstract over certain aspects of the gestural content. When
6 using finite-state automata, a unique identifier is needed for each object or location in the gesture input portion 410 that a user can gesture on. For example, in the exemplary embodiment shown in Fig. 5, the finite-state automata would need to include a unique identifier for each object 412. In particular, as part of the composition process performed by the gesture recognition system 200, as well as the various composition processes described below, these identifiers would need to be copied from the gesture feature lattice 220 into the semantic representation that is represented by the gesture recognition lattice 255, which is generated by the gesture meaning subsystem 250. However, it is generally difficult, if not effectively impossible, to capture all of different possible sequences of coordinates that occur in a gestural input in order to copy them from the gesture input tape to the meaning output tape of the finite-state automaton.
In the finite-state approach used in the systems and methods according to this invention, one possible, but ultimately unworkable solution, would be to incorporate all of the different possible identifiers for all of the different possible elements of the gesture input device 410, against which a gesture could be made, into the finite-state automata. For example, for an object having an identifier "object identifier 345", an arc in the lattice would need to be labeled with that identifier in order to transfer that piece of information from the gesture tape to the meaning tape of the fmite-state automaton. Moreover, the arc for each different identifier would have to be repeated numerous times in the network wherever this transfer of information would be needed. Furthermore, the various arcs would have to be updated as the underlying objects within the gesture input portion 410 were updated or changed.
Various exemplary embodiments of the systems atld methods disclosed in Johnston 4 and the `383 patent overcome this problem by storing the specific identifiers of the elements within the gesture input portion 410 associated with incoming gestures into a finite set of variables labeled "el ", "e2 ", "e3 ", ... . Then, in place of the specific object identifier, the labels of the variables storing that specific object identifier are incorporated into the various finite-state automata.
Thus, instead of having arcs labeled with specific values in the fmite-state automata, the finite-state automata include arcs labeled with the labels of the variables.
7 In Johnston 4 and the 1383 patent therefore, instead of having the specific values for each possible object identifier in a finite-state automaton, that finite-state automaton instead incorporates the transitions "E: el: el ", "E: e2: e2 ", "E:
e3: e3 ", ... in each location in the finite-state automaton where specific content needs to be transferred from the gesture tape to the meaning tape.
For example, assuming a user using the gesture input portion 410 shown in Fig. 5 made the gestures 414 shown in Fig. 5, the gesture recognition system would output, as the gesture recognition lattice 255, the finite-state machine shown in Fig. 8. In this case, as shown in Fig. 8, the arc labeled "Gp " corresponds to the gesture made against a person object while the arc labeled "Ga " represents a gesture made against an organization object. The arc labeled "e, " stores the identifier of the person object 412, - in this case, the person object 412 labeled "Robert DeNiro" -against which the person-object gesture "Gp" 414 was made. Similarly, the arc labeled "ez" represents the variable storing the identifier of the organization object 412 - in this case "Monumental Pictures" - against which the organization gesture 414 was made.
In Johnston 4 and the 1383 patent, during operation, the gesture recognition system 200 empties the variables e1, e2, e3 ... after each m.ultimodal command, so that all of the variables can be reused after each multimodal command. This allows the finite-state automaton to be built using a finite set of variables. However, this limits the number of distinct gesture events in a single utterance to no more than the available number of variables, because the number of gestural inputs that can be handled is limited by the number of variables used. Further, if a large number of variables are used, then, similarly to using a large number of specific values, the resulting multimodal finite-state device increases significantly in size because an arc is needed for each variable in every place where gesture content can be copied onto the meaning tape.
This invention separately provides systems and methods for abstracting over certain aspects of the certain components of information represented by finite-state methods and then reintegrating the components after performing any applicable operation.
8 This invention provides systems and methods for capturing multimodal integration using finite-state methods.
This invention separately provides systems and methods for abstracting over certain aspects of the certain components of information represented by finite-state methods and then reintegrating the components after multimodal parsing and integration.
This invention separately provides systems and methods for abstracting over certain aspects of the gestural content when using finite-state methods.
This invention separately provides systems and methods for abstracting over certain aspects of the gestural content and then reintegrating that content after multimodal parsing and integration.
In various exemplary embodiments, the systems a:nd methods according to this invention abstract over certain parts, types andlor elements of information that is input into a device by representing the information with at least one symbol that serves, at least in part, as a placeholder for that information. This symbol placeholder is used by a function using finite state devices. After the functiori is performed, the certain parts, types and/or elements of information, represented by the symbols, are reintegrated with the result of the performed function.
In various exemplary embodiments, the systems and methods according to this invention abstract over certain parts, types and/or elements of information that is input into a device by representing the information with at least one symbol that serves at least in part as a placeholder for that information. This symbol placeholder is used by a function using finite state devices. After the function is performed, the certain parts, types and/or elements of information, represented by the symbols, is reintegrated with the result of the performed function. When the output coritains one of the symbols that served as a placeholder for the information, the certain part, type and/or element of information is substituted back into the result. As a result, the result contains the certain parts, types and/or elements of information that was not necessary and/or difficult to include in performing the desired function.
In various exemplary embodiments, the systems and methods according to this invention abstract over certain information contained in a finite-state device, by representing input information using a first finite-state device that relates at least one
9 set of symbols to another set of symbols that represents the input information. Certain parts, types and/or elements of the information, although the same information, are represented by different symbols. A projection of the finite-state device is used to perform a desired function using finite-state devices. A result finite-state machine is generated and a projection of the result finite-state machine is obtained. The projection of the result finite-state machine is composed with the first finite-state device. A final finite-state device is generated to reincorporate the symbols, representing certain information, that were not used in carrying out the desired function. As a result, a result of the performed function may be obtained by concatenating the symbols representing the output of the performed function.
When the symbol represents certain information, which is also represented by at least one other symbol, the symbol is replaced with the correspondiing symbol for that information that was not used in performing the desired function.
In accordance with one aspect of the present inverition there is provided a method of interpreting input to a computing device by processing input streams associated with one or more input modes, the method coniprising: (1) generating a received-input transducer from a network of possible interpretations of a received-input stream of a first input mode which captures a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol; (2) generating a finite-state machine based on a projection of the received input transducer; (3) composirig a general first-input-mode/second-input-mode transducer with the finite-state machine and a network of possible interpretations of a received-input stream of a second input mode to generate a received-first-input-mode/received-second-input-mode alignment transducer; (4) generating a received-first-input-mode/received-second-input-mode finite-state machine from the received-first-input-mode/received-second-input-mode alignment transducer by moving the input and output symbols of the transducer onto a single tape; (5) composing the generated received-first-input-mode/received-second-input-mode finite state machine with a meaning transducer that relates combined modes of input with meaning to generate a received-first-input-mode and received-second-input-mode/meaning transducer; (6) generating a reduced meaning transducer from a received-first-input-mode and received-second-input-mode/meaning transducer by remciving symbols associated with the second input mode; and (7) generating an input/specific-meaning transducer from an input/meaning transducer by swapping input and output symbols on any transition where an output symbol is an abstraction symbol, wherein meaning 5 representations are generated from the input/specific-meaning transducer.
In accordance with another aspect of the present invention there is provided a method of interpreting input to a computing device by processing input streams associated with one or more input modes, the method coniprising: generating a received-input/meaning transducer having an input side with a set of input symbols
10 associated with an input stream in an input mode and a set of output symbols wherein at least one of the output symbols is an abstraction symbol; generating an input/specific-meaning transducer from the received-input/meaning transducer by swapping an input symbol of the set of input symbols and. an output symbol of the set of output symbols on any transition where the output symbol is the abstraction symbol; and generating a list of meaning representations by concatenating symbols from the output tape of the input/specific-meaning transducer for at least some of the paths through the input/specific-meaning transducer.
These and other features and advantages of this invention are described in, or are apparent from, the following detailed description of various exemplary embodiments of the systems and methods according to thiis invention.
BRIEF DESCRIPTION OF THE DRAWINGS

Various exemplary embodiments of this invention will be described in detail, with reference to the following figures, wherein:

Fig. 1 is a block diagram illustrating one exemplary embodiment of a conventional automatic speech recognition system usable with a multimodal meaning recognition system according to this invention;

Fig. 2 is a block diagram illustrating a first exemp]lary embodiment of a multimodal user input device and one exemplary embodirnent of a multimodal meaning recognition system according to this invention;
11 Fig. 3 is a block diagram illustrating in greater detail one exemplary embodiment of the gesture recognition system of Fig. 2;

Fig. 4 is a block diagram illustrating in greater detail one exemplary embodiment of the multimodal parser and meaning recognition system of Fig. 2;
Fig. 5 is a block diagram illustrating in greater detail the first exemplary embodiment of the multimodal user input device of Fig. 2;

Fig. 6 is one exemplary embodiment of a three-tape multimodal grammar fragment usable by the multimodal meaning recognition system according to this invention;

Fig. 7 is one exemplary embodiment of a multimodal three-tape finite-state automaton representing the multimodal context free grammar fragment shown in Fig. 6;

Fig. 8 is one exemplary embodiment of a gesture f:inite-state machine generated by recognizing the gesture inputs shown in the exemplary embodiment of the multimodal user input device shown in Fig. 5;

Fig. 9 is a second exemplary embodiment of a mu:ltimodal user input device;
Fig. 10 is an exemplary embodiment of an unimodal pen command inputted into the second exemplary embodiment of the multimodal. user input device shown in Fig. 9;

Fig. 11 is one exemplary embodiment of two area gestures input into the multimodal user input device of Fig. 9;

Fig. 12 is one exemplary embodiment of phone query callouts resulting from a user's request input into the multimodal user input device of Fig. 9;

Fig. 13 is one exemplary embodiment of a gesture input finite-state transducer generated by recognizing the gesture inputs of a user inquiring about two restaurants;
Fig. 14 is one exemplary embodiment of a gesture input finite-state transducer generated by recognizing the gesture inputs of a user inquiring about a restaurant and a theatre;
12 Fig. 15 is one exemplary embodiment of a command requesting the multimodal user input device shown in Fig. 9 to compare a large set of restaurants;

Fig. 16 is one exemplary embodiment of a multimiodal subway-route-information application displayed on the multimodal user input device shown in Fig. 9;

Fig. 17 is one exemplary embodiment of a resulting gesture lattice generated using one exemplary embodiment of a method for gesture; representation according to this invention;

Fig. 18 is one exemplary embodiment of a three-tape multimodal finite-state automaton usable to recognize the multimodal inputs received from the exemplary embodiment of the multimodal user input device shown iin Fig. 9;

Fig. 19 is one exemplary embodiment of a multim.odal grammar fragment usable by the multimodal recognition system according tc- this invention;

Fig. 20 is one exemplary embodiment of a gesture-to-speech finite-state transducer that represents the relationship between speech and gesture for the exemplary embodiment of the multimodal user input device shown in Fig. 9;

Fig. 21 is one exemplary embodiment of a speechy'gesture/meaning finite-state transducer that represents the relationship between the coinbined speech and gesture symbols and the semantic meaning of the multimodal input for the exemplary embodiment of the multimodal input device shown in Fig. 9;

Fig. 22 is one exemplary embodiment of a gesture finite-state transducer generated by recognizing the gesture inputs shown in the,exemplary embodiment of the multimodal user input device shown in Fig. 9;

Fig. 23 is one exemplary embodiment of a gesture finite-state machine generated by recognizing the gesture inputs shown in the exemplary embodiment of the multimodal user input device shown in Fig. 9;

Fig. 24 is a flowchart outlining one exemplary emlbodiment of a method for extracting meaning from a plurality of multimodal inputs using abstraction;
13 Fig. 25 is one exemplary embodiment of a gesture/language finite-state transducer illustrating the composition of the gesture finite-state machine shown in Fig. 23 with the gesture-to-speech finite-state transducer shown in Fig. 20;

Fig. 26 is one exemplary embodiment of a speech input lattice generated by recognizing the speech input received by the exemplary embodiment of the multimodal user input device shown in Fig. 9;

Fig. 27 illustrates one exemplary embodiment of a gesture/speech finite-state transducer generated by composing the gesture/language finite-state transducer shown in Fig. 25 with the speech input lattice shown in Fig. 26;

Fig. 28 is one exemplary embodiment of a gesture/speech finite-state machine obtained from the gesture/speech finite-state transducer shown in Fig. 27;

Fig. 29 is one exemplary embodiment of a finite-state transducer, obtained from composing the gesture/speech finite-state machine shown in Fig. 27 with the speech/gesture/meaning finite-state transducer shown in Fig. 21, which extracts the meaning from the multimodal gestural and spoken inputs received when using the exemplary embodiment of the multimodal user input device shown in Fig. 9;

Fig. 30 is one exemplary embodiment of a finite-state machine generated by taking a projection of the finite-state transducer shown in Fig. 29;

Fig. 31 is one exemplary embodiment of a finite-state machine generated by composing the finite-state machine shown in Fig. 30 with the gesture finite-state transducer shown in Fig. 22; and Fig. 32 is one exemplary illustration of a string of meaning read from the finite-state machine shown in Fig. 31.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Fig. 1 illustrates one exemplary embodiment of an automatic speech recognition system 100 usable with the multimodal recognition and/or meaning system 1000 according to this invention that is shown in Fig. 2. As shown in Fig. 1, automatic speech recognition can be viewed as a processing pipeline or cascade.
14 In each step of the processing cascade, one or two lattices are input and composed to produce an output lattice. In automatic speech recognition and in the following description of the exemplary embodiments of the systems and methods of this invention, the term "lattice" denotes a directed and labeled graph, which is possibly weighted. In each lattice, there is typically a designated start node "s" and a designated final node "t". Each possible pathway through the lattice from the start node s to the final node t induces a hypothesis based on the arc labels between each pair of nodes in the path. For example, in a word lattice, ithe arc labels are words and the various paths between the start node s and the final node t form sentences. The weights on the arcs on each path between the start node s and the final node t are combined to represent the likelihood that that path will represent a particular portion of the utterance.

As shown in Fig. 1, one exemplary embodiment of a known automatic speech recognition system 100 includes a signal processing subsystem 110, an acoustic model lattice 120, a phonetic recognition subsystem 130, a lexicon lattice 140, a word recognition subsystem 150, a grammar or language modell lattice 160, and a task recognition subsystem 170. In operation, uttered speech is input via a microphone, which converts the sound waves of the uttered speech into an electronic speech signal.
The electronic speech signal is input to the signal processiing subsystem 110 on a speech signal input line 105. The signal processing subsystem 110 digitizes the electronic speech signal to generate a feature vector lattice 115. The feature vector lattice 115 is a lattice of acoustic feature vectors. The feature vector lattice 115 is input along with the acoustic model lattice 120 to the phonetic recognition subsystem 130. The acoustic model lattice 120 represents a set of acoustic models and is applied to transform the feature vector lattice 115 into a phone lattice. Each node of the phone lattice represents a spoken sound, such as, for example, the vowel /e/ in "bed".

The phone lattice 135 is input along with the lexicon lattice 140 into the word recognition subsystem 150. The lexicon lattice 140 descriibes different pronunciations of various words and transforms the phone lattice 135 into a word lattice 155.
The word lattice 155 is then input, along with the grammar or language model lattice 160, into the utterance recognition subsystem 170. The grammar or language model lattice 160 represents task-specific information and is used to extract the most likely sequence of uttered words from the word lattice 155. Thus, the utterance recognition subsystem 170 uses the grammar or language model lattice 160 to extract the most 5 likely sentence or other type of utterance from the word lattice 155. In general, the grammar or language model lattice 160 will be selected based on the task associated with the uttered speech. The most likely sequence of words, or the lattice of n most-likely sequences of words, is output as the recognized utterance 175.

In particular, one conventional method of implementing automatic speech 10 recognition forms each of the acoustic model lattice 120, the lexicon lattice 140 and the grammar or language model lattice 160 as a finite-state transducer. Thus, each of the phonetic recognition subsystem 130, the word recognition subsystem 150, and the utterance recognition 170 performs a generalized composition operation between its input finite-state transducers. In addition, the signal processing subsystem
15 outputs the features vector lattice 115 as a finite-state transducer.

Conventionally, the grammar or language model lattice 160 is predetermined and incorporated into the automatic speech recognition sy'stem 100 based on the particular recognition task that the automatic speech recognition system 100 is to perform. In various exemplary embodiments, any of the acoustic model lattice 120, the lexicon lattice 140 and/or the grammar or language model 160 can be non-deterministic finite-state transducers. In this case, these non-deterministic finite-state transducers can be determinized using the various techniques disclosed in "Finite-state transducers in Language and Speech Processing", M. Mohri, Computational Linguistics, 23:2, p. 269-312, 1997, U.S. I'atent No. 6,243,679 issued June 5, 2001 and/or U.S. Patent No. 6,073,098 to Buchsbaum et al.

In contrast, in various exemplary embodiments of the systems and methods according to this invention, in the multimodal recognition or meaning system shown in Fig. 2, the automatic speech recognition system 100 uses a grammar or language model lattice 160 that is obtained from the recognized gestural input received in parallel with the speech signal 105. This is shown in greater detail in
16 Fig. 2. In this way, the output of the gesture recognition system 200 can be used to compensate for uncertainties in the automatic speech recognition system.

Alternatively, in various exemplary embodiments of the systems and methods according to this invention, the output of the automatic speech recognition system 100 and output of the gesture recognition system 200 can be combined only after each output is independently obtained. In this way, it becomes possible to extract meaning from the composition of two or more different input modes, such as the two different input modes of speech and gesture.

Furthermore, it should be appreciated that, in various exemplary embodiments of the systems and methods according to this invention, the output of the gesture recognition system 200 can be used to provide compensation to the automatic speech recognition system 100. Additionally, their combined output can be further processed to extract meaning from the combination of the two different input modes. In general, when there are two or more different input modes, any of one or more of the input modes can be used to provide compensation to one or mo:re other ones of the input modes.

Thus, it should further be appreciated that, while t:he following detailed description focuses on speech and gesture as the two input modes, any two or more input modes that can provide compensation between the modes, which can be combined to allow meaning to be extracted from the two or more recognized outputs, or both, can be used in place of, or in addition to, the speech and gesture input modes discussed herein.

In particular, as shown in Fig. 2, when speech and gesture are the implemented input modes, a multimodal user input device 400 includes a gesture input portion 410 and a speech input portion 420. The gesture input portion. 410 outputs a gesture signal 205 to a gesture recognition system 200 of the multimodal recognition and/or meaning system 1000. At the same time, the speech input portion 420 outputs the speech signal 105 to the automatic speech recognition system 100. The gesture recognition system 200 generates a gesture recognition lattice 255 based on the input gesture signa1205 and outputs the gesture recognition lattice 255 to a multimodal
17 parser and meaning recognition system 300 of the multimodal recognition and/or meaning system 1000.

In those various exemplary embodiments that provide compensation between the gesture and speech recognition systems 200 and 100, the multimodal parser/meaning recognition system 300 generates a new grammar or language model lattice 160 for the utterance recognition subsystem 170 of'the automatic speech recognition system 100 from the gesture recognition lattice 255. In particular, this new grammar or language model lattice 160 generated by the multimodal parser/meaning recognition system 300 is specific to the particular sets of gestural inputs generated by a user through the gesture input portion 410 of the multimodal user input device 400. Thus, this new grammar or language model lattice 160 represents all of the possible spoken strings that can successfully combine with the particular sequence of gestures input by the user through the gesture input portion 410. That is, the recognition performed by the automatic speech recognition system 100 can be improved because the particular gramr.nar or language model lattice 160 being used to recognize that spoken utterance is highly specific to the particular sequence of gestures made by the user.

The automatic speech recognition system 100 then outputs the recognized possible word sequence lattice 175 back to the multimodal parser/meaning recognition system 300. In those various exemplary embodiments that do not extract meaning from the combination of the recognized gesture and the recognized speech, the recognized possible word sequences lattice 175 is then output to a downstream processing task. The multimodal recognition and/or meaning system 1000 then waits for the next set of inputs from the multimodal user input clevice 400.

In contrast, in those exemplary embodiments that additionally extract meaning from the combination of the recognized gesture and the recognized speech, the multimodal parser/meaning recognition system 300 extracts meaning from the combination of the gesture recognition lattice 255 and the recognized possible word sequences lattice 175. Because the spoken utterances input by the user through the speech input portion 420 are presumably closely related to the gestures input at the same time by the user through the gesture input portion 4 110, the meaning of those
18 gestures can be tightly integrated with the meaning of the spoken input generated by the user through the speech input portion 420.

The multimodal parser/meaning recognition system 300 outputs a recognized possible meaning lattice 375 in addition to, or in place of, one or both of the gesture recognition lattice 255 and/or the recognized possible woird sequences lattice 175. In various exemplary embodiments, the multimodal parser and meaning recognition system 300 combines the recognized lattice of possible word sequences 175 generated by the automatic speech recognition system 100 with the gesture recognition lattice 255 output by the gesture recognition system 200 to generate the lattice of possible meaning sequences 375 corresponding to the multimodal gesture and speech inputs received from the user through the multimodal useir input device 400.
Moreover, in contrast to both of the embodiments outlined above, in those exemplary embodiments that only extract meaning from the combination of the recognized multimodal inputs, the multimodal parser/meaning recognition system does not generate the new grammar or language model lattice 160. Thus, the gesture recognition lattice 255 does not provide compensation to the automatic speech recognition system 100. Rather, the multimodal parser/meaning recognition system 300 only combines the gesture recognition lattice :255 and the recognized possible word sequences lattice 175 to generate the recognition meaning lattice 375.

When the gesture recognition system 200 generates only a single recognized possible sequence of gestures as the gesture recognition lattice 255 that means there is essentially no uncertainty in the gesture recognition. In this case, the gesture recognition lattice 255 provides compensation to the autoimatic speech recognition system 100 for any uncertainty in the speech recognition process. However, the gesture recognition system 200 can generate a lattice of n possible recognized gesture sequences as the gesture recognition lattice 255. This recognizes that there may also be uncertainty in the gesture recognition process.

In this case, the gesture recognition lattice 255 and the word lattice 155 provide mutual compensation for the uncertainties in botb. the speech recognition process and the gesture recognition process. That is, in the face of this uncertainty, the best, i.e., most-probable, combination of one of the n-best word sequences in the
19 word lattice 155 with one of the n-best gesture sequences in the gesture recognition lattice may not include the best recognition possible sequence from either the word lattice 155 or the gesture recognition lattice 255. For exarnple, the most-probable sequence of gestures in the gesture recognition lattice may combine only with a rather low-probability word sequence through the word lattice, while the most-probable word sequence may combine well only with a rather low-probability gesture sequence. In contrast, a medium-probability word sequenice may match very well with a medium-probability gesture sequence. Thus, the net probability of this latter combination of word and gesture sequences may be higher than the probability of the combination of the best word sequence with any of the gesture sequences through the gesture recognition lattice 255 and may be higher than the probability of the combination of the best gesture sequence with any of the word sequences through the lattice of possible word sequences 155. In this way, mutual compensation is provided between the gesture recognition system 200 and the auton:iatic speech recognition system 100.

Figs. 3-5 illustrate in greater detail various exempl[ary embodiments of the gesture recognition system 200, the multimodal parser/meaning recognition system 300, and the multimodal user input device 400. Ini particular, as shown in Fig. 3, one exemplary embodiment of the gesture recognition system 200 includes a gesture feature extraction subsystem 210 and a gesture recognition subsystem 230.
Various other exemplary embodiments may include a gesture language model lattice and a gesture meaning subsystem. In operation, gesture utterances are input through the gesture input portion 410 of the multimodal user input: device 400, which converts the movements of an input device, such as a mouse, a pen, a trackball, a track pad or any other known or later-developed gestural input device, into an electronic gesture signal 205. At the same time, the multimodal user input device 400 converts the gestural input into digital ink that can be viewed and understood by the user.
This is shown in greater detail in Fig. 5.

The gesture feature extraction subsystem 210 converts the motions of the gesture input device represented by the gesture signal 205 into a gesture feature lattice 220. As disclosed in Johnston 1-3, the various gestures that can be made can be as simple as pointing gestures to a particular information element at a particular location within the gesture input portion 410 of the multirnodal user input device 400, or can be as complex as a specialized symbol that represents a type of military unit on a military map displayed in the gesture input portion 410 of the multimodal user input 5 portion 400 and includes an indication of how the unit is to move, and which unit is to move and how far that unit is to move, as described in detail in Johnston 1.

The gesture feature lattice 220 is input to the geshire recognition subsystem 230. The gesture recognition subsystem 230 may be implemented as a neural network, as a Hidden-Markov Model (HMM) or as a simpler template-based 10 gesture classification algorithm. The gesture recognition subsystem 230 converts the gesture feature lattice 220 into the gesture recognition lattice 255. The gesture recognition lattice 255 includes the identities of graphical elements against which deictic and other simple "identification" gestures are made, possible recognition of more complex gestures that the user may have made and possibly the locations on the 15 displayed graphics where the more complex gesture was rnade, such as in Johnston 1, and the like. As shown in Fig. 2, the gesture recognition system 200 outputs the gesture recognition lattice 255 to the multimodal parser/m[eaning recognition system 300.

It should be appreciated that the gesture feature recognition subsystem 210
20 and the gesture recognition subsystem 230 can each be im[plemented using any known or later-developed system, circuit or technique that is appropriate. In general, the entire gesture recognition system 200 can be implementecl using any known or later-developed system that generates a directed graph from a gesture input.

For example, one known system captures the time and location or locations of the gesture. Optionally, these inputs are then normalized and/or rotated. The gestures are then provided to a pattern classification device that is implemented as part of the gesture feature recognition subsystem 210. In various exemplary embodiments, this pattern classification device is a template matching systeni, which transforms the gesture into a feature vector. In various other exemplary embodiments, this pattern classification device is a neural network or a Hidden-Markov Model that has been
21 trained to recognize certain patterns of one or more temporally and/or spatially related gesture components as a specific set of features.

When a single gesture is formed by two or more temporally-related and/or spatially-related gesture components, those gesture components can be combined into a single gesture either during the recognition process or by the multimodal parser/meaning recognition system 300. Once the gesture features are extracted, the gesture recognition subsystem 230 combines the temporally adjacent gestures into a lattice of one or more recognized possible gesture sequences that represent how the recognized gestures follow each other in time.

In various exemplary embodiments, the multimodal parser and meaning recognition system 300 can be implemented using a single three-tape finite-state device that inputs the output lattices from the speech recognition system 100 and the gesture recognition system 200 and directly obtains and outputs a meaning result. In various exemplary embodiments, the three-tape finite-state device is a three-tape grammar model that relates the gestures and the words to a meaning of the combination of a gesture and a word. Fig. 7 shows a portion of such a three-tape grammar model usable in the multimodal parser and meaning recognition system to generate a meaning output from gesture and speech recognition inputs. In general, the multimodal parser and meaning recognition system 300 can be implemented using an n-tape finite-state device that inputs n-1 lattices from a plurality of recognition systems usable to recognize an utterance having a plurality of different modes.

Fig. 4 shows the multimodal parser/meaning recognition system 300 in greater detail. As shown in Fig. 4, the multimodal parser/meaning recognition system may include one or more of a gesture-to-speech composing subsystem 310, a gesture-to-speech finite-state transducer 320, a lattice projection subsystem 330, a gesture and speech composing subsystem 340, a speech/gesture combining subsystem 350, a speech/gesture/meaning lattice 360 and/or a meaning recognition subsystem 370. In particular, the gesture-to-speech composing subsystem 310 inputs the gesture recognition lattice 255 output by the gesture recognition system 200 and composes it with the gesture-to-speech finite-state transducer 320 to generate a gesture/language finite-state transducer 325. The gesture/language finite-state
22 transducer 325 is output to both the lattice projection subsystem 330 and the gesture and speech composing subsystem 340.

The lattice projection subsystem 330 generates a projection of the gesture/language finite-state transducer 325 and outputs the projection of the gesture/language finite-state transducer 325 as the grammar or language model lattice 160 to the automatic speech recognition system 100. Thus, if the multimodal parser/meaning recognition system 300 does not also extract meaning, the gesture and speech composing subsystem 340, the speech/gesture corabining subsystem 350, the speech/gesture/meaning lattice 360 and the meaning recognition subsystem 370 can be omitted. Similarly, if the multimodal parser/meaning recognition system 300 does not generate a new grammar or language model lattice 160 for the automatic speech recognition system 100, at least the lattice projection subsystem 330 can be omitted.

In those various embodiments that combine the gesture recognition lattice 255 and the recognized possible lattice of word sequences 175, whether or not the automatic speech recognition 100 has generated the lattice of possible word sequences 175 based on using the projection of the gesture/language fmite-state transducer 325 as the grammar or language model or lattice 160, the lattice of possible word sequences 175 is input by the multimodal parser/meaning recognition system 300. In particular, the gesture and speech composing subsystem 340 inputs both the lattice of possible word sequences 175 and the gesture/language finite-state transducer 325. In those various exemplary embodiments that do not use the output of the gesture recognition system 200 to provide compensation between the speech and gesture recognition systems 100 and 200, the gesture/language finite-state transducer 325 can be generated using any known or later-developed technique for relating the gesture recognition lattice 255 to the recognized possible lattice of word sequences 175 in place of the gesture-to-speech composing subsystem 310 and the gesture-to-speech finite-state transducer 320.

In those various exemplary embodiments that extract meaning from the multimodal inputs, the gesture and speech composing subsystem 340 composes these lattices to generate a gesture/speech finite-state transducer 345. The gesture and speech composing subsystem 340 outputs the gesture/speech finite-state
23 transducer 345 to the speech/gesture combining subsystem 350. The speech/gesture combining subsystem 350 converts the gesture/speech firiite-state transducer 345 to a gesture/speech finite-state machine 355. The gesture/speech finite-state machine 355 is output by the speech/gesture combining subsystem 35CI to the meaning recognition subsystem 370. The meaning recognition subsystem 370 composes the gesture/speech fmite-state machine 355 with the speech/gesture/meaning finite-state transducer 360 to generate a meaning lattice 375. The meaning lattice 375 combines the recognition of the speech utterance input through the speech input portion 420 and the recognition of the gestures input through the gesture input portion 410 of the multimodal user input device 400. The most probable meaning is then selected from the meaning lattice 375 and output to a downstream task.

It should be appreciated that the systems and methods disclosed herein use certain simplifying assumptions with respect to temporal constraints. In multi-gesture utterances, the primary function of temporal constraints is to force an order on the gestures. For example, if a user generates the spoken utterance "move this here" and simultaneously makes two gestures, then the first gesture corresponds to the spoken utterance "this", while the second gesture corresponds to the spoken utterance "here".
In the various exemplary embodiments of the systems and methods according to this invention described herein, the multimodal grammars encode order, but do not impose explicit temporal constraints. However, it should be appreciated that there are multimodal applications in which more specific temporal constraints are relevant. For example, specific temporal constraints can be relevant in selecting among unimodal and multimodal interpretations. That is, for example, if a gesture is temporally distant from the speech, then the unimodal interpretation should be treated as having a higher probability of being correct. Methods for aggregating related inputs are disclosed in the Canadian Patent Application No. 2,397,466 filed August 12, 2002.

To illustrate one exemplary embodiment of the operation of the multimodal recognition and/or meaning system 1000, the multimodal user input device 400 includes, for example, the gesture input portions 410 and the speech input portion 420 shown in Fig. 5. In particular, the gesture input portion 410 displays a graphical user interface that allows the user to direct either e-mail messages or pager messages to the
24 various persons, departments, and/or organizations represented by the objects displayed in the gesture input portion 410. The multimodal user input device 400 also allows the user to input spoken commands to the speech input portion, or microphone 420. For simple illustration, further assume 'that the user has generated the two gestures 414 shown in Fig. 5 and has spoken the utterance "e-mail this person and that organization" in association with generating the ;gestures 414 against the graphical user interface object 412 labeled "Robert DeNiro" and the graphical user interface object 4121abeled "Monumental Pictures", respectively.

The structure interpretation of multimodal commands of this kind can be captured declaratively in a multimodal context-free grammar. A multimodal context-free grammar can be defined formally as the quadruple MCFG as follows:
MCFG = <N, T, P, S > where N is the set of non-terminals;
P is the set of projections of the form:
A--+a where A E N and a E(N u T)*;
S is the start symbol for the grammar;
T is the set of terminals:
((W u s) x(G v E) x (Mv E)+), where W is the vocabulary of the speech;
G is the vocabulary of gesture:
G = (GestureSymbols u EventSymbols);
GestureSymbols = {Gp,Go,Gpf,Gpm... };
Finite collections of EventSymbols = {el,e2 ...}; ar.id M is the vocabulary that represents meaning and includes EventSymbols c M.
Table 1 In general, a context-free grammar can be approximated by a finite-state automaton. The transition symbols of the finite-state automaton are the terminals of the context-free grammar. In the case of the multimodal context-free grammar defined above, these terminals contain three components, W, G and M. With respect to the discussion outlined above regarding temporal constraints, more specific temporal constraints than order can be encoded in the finite-state approach by writing symbols representing the passage of time onto the gesture tape and referring to such symbols in the multimodal grammar.
In the exemplary embodiment of the gesture input portion 410 shown in 5 Fig. 5, the gestures 414 are simple deictic circling gestures. The gesture meaning subsystem 250 assigns semantic types to each gesture 414 based on the underlying portion of the gesture input portion 410 against which the gestures 414 are made. In the exemplary embodiment shown in Fig. 5, the gestures 414 are made relative to the objects 412 that can represent people, organizations or departments to which an 10 e-mail message or a pager message can be directed. If the gesture input portion 410 were instead a map, the gestures would be referenced against particular map coordinates, where the gesture indicates the action to be taken at particular map coordinates or the location of people or things at the indicated map location.
In Johnston 4 and the `383 patent compared with a feature-based multimodal 15 grammar, these semantic types constitute a set of atomic categories which make the relevant distinctions for gesture events to predict speech events and vice versa. For example, if the gesture is a deictic, i.e., pointing, gesture to an object in the gesture input portion 410 that represents a particular person, then spoken utterances like "this person", "him", "her", and the like, are the preferred or predicted speech events and 20 vice versa. These categories also play a role in constraining the semantic representation when the speech is underspecified with respect to the semantic type, such as, for example, spoken utterances like "this one".
In Johnston 4 and the `383 patent, the gesture synibols G can be organized into a type hierarchy reflecting the ontology of the entities in the application domain.
25 For example, in the exemplary embodiment of the gesture input portion 410 shown in Fig. 5, a pointing gesture may be assigned the general semantic type "G". This general semantic gesture "G" may have various subtypes, such as "Go" and "Gp", where "Go" represents a gesture made against an organization object, while the "Gp"
gesture is made against a person object. Furthermore, the "Gp" type gesture may itself have subtypes, such as, for example, "Gpm" and "Gpf' for objects that respectively represent male and female persons.
26 The systems and methods for recognizing and representing gestures disclosed in Canadian Patent Application No. 2,397,451 filed August 12, 2002, provide an approach that can be used instead of, or in addition, to that discussed above and shown in Figs. 1-5. Instead of, or in addition to, using atomic symbols in the multimodal grammar and the corresponding finite-state machines to represent different types of gestures, gesture interpretations are encoded as sequences of symbols. In this approach, each symbol conveys a specific attribute of the content of the gesture, such as type or number. Under this approach, the Gesture Symbols and Event Symbols in the multimodal grammar fragment, shown in Table 1 are instead defined as:

GestureSymbols ={G, area, location, restaurant, 1, ...};
EventSymbols = {SEM}
Table 2 These definitions can be used instead of, or in addition to, the definitions of the Gesture Symbols and Event Symbols shown in Table 1.
Fig. 6 illustrates a fragment of a context-free grammar that is capable of handling a set of gestures and a set of spoken utterances that would be recognizable using the finite state machines shown in Figs. 12 and 13. Fig. 7 illustrates a three-tape fmite-state automaton corresponding to the multimodal context-free grammar fragment shown in Fig. 6.
By decomposing the gesture symbols into sequences of symbols, it is easier to reference sets of entities of a specific type. In addition, a smaller number of symbols are required in the alphabet of symbols that represent the gestural content of the grammar. Further, decomposing the gesture symbols into sequences of symbols facilitates storing specific gesture content, discussed below, and aggregating adjacent selection gestures, as disclosed in Canadian Patent Application No. 2,397,466 filed August 12, 2002.
Under this approach, for example, the gesture symbol complexes have a basic format such as:
G FORM MEANING (NUMBER TYPE) SEM

i r
27 However, it should be appreciated that the gesture symbol complexes can be implemented in any appropriate format. The "FORM" term specifies the physical form of the gesture. In various exemplary embodiments, the "FORM" term can take such values as area, point, line and arrow. The "MEANIlVG " term specifies the specific meaning of the form of the gesture. For example, if the value for the "FORM" term of a gesture is area, the value for the "MEANING" term of that "FORM" term can be location, selection or any other vahie that is appropriate.
If the value of the "MEANING" term of that "FORM" term is selection, such that one or more specific entities are selected, the "NUMBER" term and the "TYPE" term can be used to further specify the entities that are or have been selected. In particular, the value for the "NUMBER" term specifies the number of entities selected, such as 1, 2, 3, "many" and the like. Similarly, the value for the "TYPE" term specifies a particular type of entity, such as restaurant, theatre and the like, as appropriate for the given implementation or use. A value of "mixed" can be used for the "TYPE"
term when one or more associated gestures reference a collection of entities of different types. The "SEM" term is a place holder for the specific Content of the gesture, such as the points that make up an area or the identifiers (ids) of objects in a selection. To facilitate recomposing specific gestural content, specific content is mapped to a distinguished symbol, such as, the "SEM" term, while the: other attributes of the gesture are mapped to themselves.
When using finite-state methods, in order to captu:re multimodal integration, it is desirable to abstract over specific aspects of gestural content. In the systems and methods according to this invention, abstraction is perforrned by representing the input gesture as a finite-state transducer that maps the specific contents of the input gesture to a distinguished symbol, such as, for example, the "SEM" term, while the other attributes of the input gesture are mapped to themselves. To perform multimodal integration, the output projection of the gesture finite-state transducer is used. After multimodal integration is completed, a projection of the gesture input and the meaning portions of the resulting finite-state machine is taken. The projection of the resulting finite-state machine is composed with the gesture input finite-state transducer to reintegrate the specific content of the gesture input which was left out of the finite-state process.
28 Thus, in the finite-state approach used in the systems and methods according to this invention, the specific content of the input gesture is essentially stored in the gesture fniite-state transducer and a projection of the output of the gestural input finite-state transducer is used to conduct multimodal modal integration using finite-state devices. Multimodal integration is performed and a resulting finite-state device, which relates the gesture input and at least one other mode of multimodal input to meaning, is generated. After multimodal integration is performed, a projection of the resulting finite-state device is taken such that the projection contains the gesture input and the meaning portions of the resulting finite-state device. The specific content of the input gesture is then retrieved frorr.i the gesture finite-state transducer by composing the gesture finite-state transducer with the projection of the resulting finite-state device.
Figs. 13 and 14 are examples of transducers I.=G, where G contains gesture symbols and I contains the gesture symbols and specific contents of the gesture. In particular, the G side contains information identifying the type of gesture and its properties. The I side contains the information on the G side. However, where the G side contains a place holder for the specific contents of the gesture, the I
side contains the specific contents. Therefore, I and G differ only in cases where the gesture symbol on G is SEM. If the symbol on G is SEM, then I contains the specific content of the gesture. Accordingly, when there is specific content, such as a list of entities or points in the gesture stream, the symbol in G is the reserved symbol SEM
and the specific content is placed on the I side opposite the SEM.
In addition, in one exemplary embodiment of the systems and methods of this invention, a projection, i.e., the gesture input fmite-state machine, is then used to perform multimodal integration. Accordingly, in order to reintegrate the specific content of the input gesture after multimodal integration is performed, an output projection of the resulting meaning finite-state machine is composed with the gesture finite-state transducer.
In the finite-state automata approach used in the systems and methods according to this invention, in addition to capturing the structure of language with the finite-state device, meaning is also captured. This is significant in multimodal language processing, because the central goal is to captures how the multiple modes
29 contribute to the combined interpretation. In the fmite-state automata technique used in the systems and methods according to this invention, symbols are written onto the third tape of the three-tape fmite-state automaton, which, when concatenated together, yield the semantic representation for the multimodal utterance.
Fig. 9 illustrates a second exemplary embodiment and application of a multimodal recognition and/or meaning system 1000 which uses the systems and methods for recognizing and representing gesture according to this invention.
For example, in this second exemplary embodiment, the user interacts with a graphical interface displaying restaurant listings and a dynamic map showing locations and street information. The gesture input portion 410 can be used to display, for example, a graphical user interface that includes a working-city-guide application and navigation screen that, for example, enables mobile users to access restaurant and subway information for a city. In this example, the user is able to interact with the graphical interface to display restaurant listings and a dynamic map showing locations and street information. This graphical user interface responds to commands entered using pen-based gestures andJor spoken utterances.
The user is, for example, free to give commands or to reply to requests displayed on the graphical user interface using speech, by drawing on the display with a stylus, or using synchronous multimodal combinations of the available modes.
The user can, for example, ask for the review, cuisine, phone riumber, address, or other information for a restaurant or set of restaurants. The working-city-guide application generates graphical callouts on the display.
For example, a user can request to see restaurants using the spoken command "Show cheap Italian restaurants in Chelsea ". The working-city-guide application will then display the appropriate map location and show the locations of the restaurants that meet the indicated criteria. Alternatively, the user can give the same command multimodally by circling an area on the map and uttering "Show cheap Italian restaurants in this neighborhood". As shown in Fig. 10, if the immediate environment is too noisy or public, the same command can be input solely using a writing gesture, by circling an area of the displayed map and by writing "cheap" and "Italian ".

As shown in Fig. 11, for example, the user can speak the utterance "Phone numbers for these restaurants" and circle, for example, a total of three restaurants.
As shown in Fig. 12, a callout with the restaurant name and number, such as for example, the text string, "Le Zie can be reached at 212-206-8686", is then displayed 5 for one or more of the identified restaurants. Alternatively, any of the information seeking commands can also be input solely using gestures. For example, the user could alternatively have circled the restaurants and writte:n phone. The user can also pan and zoom around the map using any of a variety of input modes. For example, the user can speak the utterance "show upper west sade" or circle an area and speak 10 the utterance "zoom in here ".
Fig. 13 shows one exemplary embodiment of a resulting gesture lattice that is obtained when the user draws an area on the screen which contains two restaurants, that have identifiers idl and id2. The arc labels of the gesture lattice are the symbols which defme the gesture symbol complex. Further, if the user utters the spoken string 15 "Show me Chinese restaurants in this neighborhood", then the top path, comprising states 0-2 and states 3-7, of the gesture lattice shown in Fi.g. 13 will be chosen when the multimodal finite-state device is applied. In contrast, if the user utters the spoken string "Tell me about these two restaurant ", then the lowier path, comprising states 0-2 and states 4-7, of the gesture lattice shown in Fig. 13 will be chosen.
20 Fig. 14 shows one exemplary embodiment of a resulting gesture lattice that is obtained when the user circles a restaurant and a theatre. In contrast, if the user utters the spoken string, "Tell me about this theatre ", the middle path, comprising states 0-2, state 4, state 5, state 7 and state 10, of Fig. 14 will be chosen.
Similarly, if the user utters the spoken string, "Tell me about these two ", the bottom path, 25 comprising the states 0-2, state 4 and states 8-10, of Fig. 14 will be chosen. In particular, the mixed path, is used when the user circles several entities and selects a specific one of the circled entities by type.
Accordingly, by splitting the symbols into symbol complexes, it is not necessary to have a unique symbol for "G area location ",
30 "G area selection_1_restaurant", "G area selection_2_restaurant", ",and tlike, as would be required when using only just the first approach shown in Figs. 1-5.
Therefore, the number of required symbols in the alphabet of the gesture symbols can
31 be reduced and possibly significantly reduced. In additiori, in various exemplary embodiments, general categories are separately represented in the symbol complexes.
Thus, in various exemplary embodiments, it is easier to reference to sets of entities of a specific. Accordingly, in various exemplary embodiments of the systems and methods for recognizing and representing gestures according to this invention, if the word place, in the spoken utterance, "Tell me about this place ", referred to either a restaurant or a theatre, the word "place" could be associated with both arcs in the gesture lattice. In addition, splitting gesture symbols also facilitates in later aggregating the symbols, as well as in recovering specific gestural content in systems and methods which use finite state machines.
In various exemplary embodiments, the working-city-guide application can also provide a summary, one or more comparisons, and/or recommendations for an arbitrary set of restaurants. The output is tailored to the user's preferences based on a user model, which is, for example, based on answers to a brief questionnaire.
For example, as shown in Fig. 15, the user could speak the utterance "compare these restaurants " and circle a large set of restaurants. In various exemplary embodiments, a number, such as, for example, the top three restaurants are then ranked according to the user model. In various exemplary embodiments, if the user is more concerned about price than food quality, the working-city-guide application would, for example, order the selected restaurants by weighting price more highly than food quality in analyzing the selected restaurants.
The working-city-guide application can also provide subway directions. For example, if the user speaks the spoken utterance "How do I get to this place?
" and circles one of the restaurants displayed on the map, the working-city-guide application will, for example, display a query or graphical callout, such as, for example, the text string "Where do you want to go from? ". The user can then respond, for example, with a spoken utterance stating a location, by saying a location, such as, for example, "25`h Street and 3rd Avenue ", with a gesture defining a location, for example, by writing "25`h Street and 3rd Avenue ", or by pointing to 25th Street and 3rd Avenue on the map, or multimodally by speaking the spoken utterance `from here" and pointing to or circling the location on the map.
32 The working-city-guide application then determines a subway route. In various exemplary embodiments, as appropriate, the worlcing city-guide application generates a multimodal presentation indicating the series of actions the user needs to take will be displayed. In various exemplary embodiments, the working-city-guide application starts, for example, by zooming in on the first station and then gradually presenting each stage of the route along with a series of synchronized test-to-speech (TTS) prompts. Fig. 16 shows one exemplary embodiment of a resulting subway route.
It should thus be appreciated, from the preceding description of Table 2 and Figs. 6-16, that the interpretations of electronic ink may be encoded as symbol complexes. In various exemplary embodiments the symbol complexes can have, for example, the form "G FORMMEAIVING (NUMBER TYPE) SEM'. Fig. 17 shows, for example, the resulting gesture lattice of the gesture made in Fig. 11 using this exemplary embodiment of the symbol complexes according to this invention.
To abstract over specific contents of the gestural content in accordance with the systems and methods of this invention, the gesture lattice is converted to a gesture transducer I.=G, where the G side is the set of gesture symbols (including SEM) and I
contains both gesture symbols and the specific contents. The specific contents of the gestural input includes, for example, entities or points on ithe gesture input portion 410 that are selected by the user. Further, the specific content may, for example, be an identification number, i.e., an entity identifier, that represents the entity or point on the gesture input portion. For example, to convert the gesture lattice shown in Fig. 17 to a gesture transducer I.G, for example, the path, comprising states 6-7 and reciting SEM([idlJ) in Fig. 17 becomes ([idlJ): SEM and the path, comprising states comprising states 13-16 and reciting SEM([id2.id3J) in Fig. 17 becomes ([id2, id3]): SEM.
Alternatively, a gesture transducer I.=G can be generated by the gesture recognition system based on the gestural input. In this case, the gesture transducer is converted to a gesture finite-state machine usable to carry out multimodal integration or any other applicable function using finite-state devices. For example, if the user circles two restaurants and the user says "phone numbers for these two restaurants"
the gesture is represented as a transducer as shown in Fig. 13, where the transducer
33 I.-G has same symbol on each side except for the SEM arcs, which are split. In this case, to carry out the multimodal integration, or any other function performed with finite-state devices, a projection of the output of the transducer, that is a projection of the gesture path G is taken. Accordingly, the projection of the output of the gesture transducer is used to perform the applicable function using finite-state devices.
After the gesture symbols G and the words W are integrated using the finite-state devices G: Wand G W.M, for example, i.e., after multimodal integration, the gesture path G and meaning path M in the resulting finite-state device are used to re-establish the connection between the SEM symbols and their specific contents, for example entities or points selected by the user, that are stored in the I path of the gesture transducer I.=G. In particular, in order to reintegrate the specific contents of the gesture, the gesture transducer I.=G is composed with the gesture path G
and meaning path M of the device resulting from multimodal integration (L=G o G.=M= L=M). In addition, in order to output the meaning, the symbols on the M side are concatenated together. Further, when outputting the meaning, if the M symbol is SEM, the symbol on the I side is taken for that arc.
While a three-tape finite-state automaton is feasible in principle, currently available tools for finite-state language processing generally only support two-tape finite-state automata, i.e., finite-state transducers. Furthermore, speech recognizers typically do not support the use of a three-tape finite-state automaton as a language model. Accordingly, the multimodal recognition and/or nieaning system 1000 implements this three-tape finite-state automaton approacli by using a series of finite-state transducers in place of the single three-tape finite-state automaton shown in Fig. 18, as described below. In particular, the three-tape finite-state automaton shown in Fig. 18 and illustrated by the grammar fragment shown in Fig. 19 can be decomposed into an input component relating the gesture symbols G and the word symbols Wand an output component that relates the input component to the meaning symbols M.
Fig. 18 shows a three-tape finite-state automaton that corresponds to the grammar fragment shown in Fig. 19 and that is usable to recognize the meaning of the various spoken and gestural inputs that can be generated using the exemplary graphical user interfaces displayed using the gesture input portion 410 of the
34 multimodal user input devices 400 shown in Figs. 5 and 9. The three-tape finite-state automaton shown in Fig. 18 is decomposed into the gesture-to-speech finite-state transducer shown in Fig. 20 and the speech/gesture/meaning fmite-state transducer shown in Fig. 21.
The gesture-to-speech finite-state transducer shown in Fig. 20 maps the gesture symbols G to the word symbols Wthat are expected to coincide with each other. Thus, in the exemplary embodiment of the multimodal user input device shown in Fig. 5, the verbal pointers "that" and "this" are expected to be accompanied by the deictic gestures 414 made against either a department object, an organization object or a person object 412.
The gesture-to-speech transducer shown in Fig. 20 captures the constraints that the gestures, made by the user through the gesture input portion 410 of the multimodal user input device 400, place on the speech utterance that accompanies those gestures. Thus, a projection of the output tape of the gesture-to-speech finite-state transducer shown in Fig. 20 can be used, in conjunction with the recognized gesture string, such as the recognized gesture string shown in Fig.
23 that represents the gestures illustrated in the exemplary embodiment of the multimodal user input device 400 shown in Fig. 9, as a language model usable to constrain the possible sequences of words to be recognized by the utterance recognition subsystem 170 of the automatic speech recognition systeni 100.
It should be appreciated that, in those exemplary embodiments that do not also extract meaning, the further processing outlined below with respect to Figs.
20-32 can be omitted. Similarly, in those exemplary embodiments that do not use one or more of the multimodal inputs to provide compensation to one or more of the other multimodal inputs, the processing outlined above with respect to Figs. 20, 21 and 26 can be omitted.
The speech/gesture/meaning finite-state transducer shown in Fig. 21 uses the cross-product of the gesture symbols G and the word symbols Was an input component or first tape. Thus, the gesture-to-speech finite-state transducer shown in Fig. 20 implements the function 91 : G--+ W. The output or second tape of the speech/gesture/meaning finite-state transducer shown in Fi.g. 21 contains the meaning symbols M that capture the semantic representation of the multimodal utterance, as shown in Fig. 18 and outlined above. Thus, the speech/gesture/meaning finite-state transducer shown in Fig. 21 implements the function s:(GxW)->M. That is, the speech/gesture/meaning finite-state transducer shown in Fig. 21 is a finite-state transducer in which gesture symbols and words are on the input tape and the meaning 5 is on the output tape.

Thus, the gesture-to-speech finite-state transducer and the speech/gesture/meaning finite-state transducers shown in Figs. 20 and 21 are used with the speech recognition system 100 and the multimodlal parser/meaning recognition system 300 to recognize, parse, and/or extract; the meaning from the 10 multimodal inputs received from the gesture and speech input portions 410 and 420 of the multimodal user input device 400.

It should be appreciated that there are any variety of ways in which the multimodal finite-state transducers can be integrated with the automatic speech recognition system 100, the gesture recognition system 200 and the multimodal 15 parser/meaning recognition system 300. Clearly, for any particular recognition task, the more appropriate approach will depend on the properties of the particular multimodal user input interface 400 through which the multimodal inputs are generated and/or received.

The approach outlined in the following descriptiori of Figs. 18-32 involves 20 recognizing the gesture string first. The recognized gesture string is then used to modify the language model used by the automatic speech recognition system 100.
In general, this will be appropriate when there is limited ambiguity in the recognized gesture string. For example, there will be limited ambiguity in the recognized gesture string when the majority of gestures are unambiguous deictic pointing gestures.
25 Obviously, if more complex gestures are used, such as the multi-element gestures described in Johnston 1-3, other ways of combining the gesture and speech recognition systems may be more appropriate.

Accordingly, for the specific exemplary embodiment of the multimodal user input device 400 shown in Fig. 9, the gesture recognition system 200 first processes 30 the incoming gestures to construct a gesture finite-state transducer, such as that shown in Fig. 22, corresponding to the range of gesture interpretations. In particular, in the systems and methods according to this invention, to abstract over specific content of the input gesture, the input gesture is represented as a finite state transducer. This finite-state transducer relates the gesture symbols as well as the specific contents, such as, for example, entities or points on the gesture input portion selected by the user, of the input gesture to the gesture symbols, including a symbol acting as a place holder for the specific contents of the input gesture. More particularly, one side of this gesture finite-state transducer contains the specific contents of the input gesture and the other side of the gesture finite-state transducer cointains a symbol, for example, the "SEM" term, which acts as a place holder far the specific content of the input gesture which is on the other side of the gesture finite-state transducer. In addition, in order to perform multimodal integration using finite-state devices, the output projection of the gesture finite-state transducer, i.e., the side without the specific contents of the input gesture, is taken. For example, the output projection of the gesture finite-state transducer shown in Fig. 22 is shown as the gesture finite-state machine in Fig. 23. As discussed above, after multimodal integration, the gesture finite-state transducer is composed with a projection of the resulting gesture/speech/meaning finite-state machine in order to re-integrate the specific contents of the input gesture.
In addition, in the exemplary embodiments described above with respect to Figs. 5 and 9, the gesture input is unambiguous. Thus, as shown in Fig. 23, a simple linearly-connected set of states forms the gesture finite-state machine. It should be appreciated that, if the received gestures involved more complex gesture recognition or were otherwise ambiguous, the recognized string of gestures would be represented as a lattice indicating all of the possible gesture recogniticins and interpretations for the received gesture stream. Moreover, a weighted finite-state transducer could be used to incorporate the likelihoods of the various paths in such a lattice.
Fig. 24 is a flowchart outlining one exemplary emlbodiment of a method for combining and converting the various multimodal input streams into a combined finite-state transducer representing the semantic meaning of the combined multimodal input streams according to this invention. Beginning in step 500, control continues to step 510, where gesture and speech utterances are input through one or more input devices that together combine to form a multimodal user input device.

Next, in step 515, a gesture finite-state transducer is generated from the input gesture utterance. The gesture finite-state transducer relates the specific contents, such as a list of entities, entity identifiers representing the entities selected by the user and/or points on the gesture input portion selected by the user, etc., of the gesture and the gesture symbols representing the input gesture to the gesture symbols representing the input gesture, including a symbol acting as a place holder for the specific contents of the input gesture. This gesture finite-state transducer essentially stores the specific contents of the input gesture, such as entities or points on the gesture input portion, selected by the user, on one side of the gesture finite-state transducer and uses a symbol, such as, for example, the "SEM" term, as a place holder for the specific contents of the input gesture on the other side of gesture finite-state transducer.
Then, in step 520, a gesture finite-state machine is generated from the gesture finite-state transducer. The gesture finite-state machine is generated by taking a projection of the output of the gesture finite-state transducer. The output of the gesture fmite-state transducer contains the gesture symbols, including a symbol acting as a place holder for the specific contents of the input ges-ture. The projection of the output of the gesture finite-state transducer, i.e. the gesture finite-state machine, can be used to perform a function, such as multimodal integration, using fmite-state devices.
Alternatively, in step 515, a gesture lattice that represents the input gesture can be generated from the input gesture utterance. The gesture lattice contains gesture symbols and the specific contents of the gesture, such as entities or points selected by the user. In this case, in step 520, a gesture finite-state transducer is generated from the gesture finite-state machine and the gesture finite-state transducer relates the contents of the gesture lattice to gesture symbols representing the input gesture, including a symbol acting as a place holder for the specific contents of the input gesture.
Next, in step 530, the gesture finite-state machine :is composed with the gesture-to-speech transducer to generate a gesture/language finite-state transducer.
For example, in the exemplary embodiment described above, the gesture finite-state machine shown in Fig. 22 is composed with the gesture-to-speech finite-state transducer shown in Fig. 20 to form the gesture/language finite-state transducer shown in Fig. 25. The gesture/language finite-state transducer represents the relationship between the recognized stream of gestures arid all of the possible word sequences that could occur with those gestures of the recognized stream of gestures.
Then, in step 540, in order to use this information to guide the speech recognition system 100, a projection of the gesture/language finite-state transducer is generated. In particular, a projection on the output tape or speech portion of the gesture/language finite-state transducer shown in Fig. 25 is taken to yield a finite-state machine.
Next, in step 550, the speech utterance is recognized using the projection of the gesture/language finite-state transducer as the language model. Using the projection of the gesture/language finite-state transducer as the language model enables the gestural information to directly influence the irecognition process performed by the automatic speech recognition system 100. In particular, as shown in step 560, the automatic speech recognition system generates a word sequence lattice based on the projection of the gesture/language finite-state transducer in view of the word lattice 155. In the exemplary embodiment outlined above, using the projection of the gesture/language finite-state transducer shown in Fig. 25 as the language model for the speech recognition process results in the recognized word sequence lattice "phone for this restaurant and these two restaurants", as shown in Fig. 26.
Then, in step 570, the gesture/language fmite-state transducer is composed with the recognized word sequences lattice to generate a gesture/speech finite-state transducer. This reintegrates the gesture information that was removed when the projection of the gesture/language finite-state transducer was generated in step 540.
The generated gesture/speech finite-state transducer contains the information both from the speech utterance and the gesture utterance received from the various portions of the multimodal user input device 400. For the example; outlined above, composing the gesture/language finite-state transducer shown in Fig. 25 with the word sequences lattice shown in Fig. 26 generates the gesture/speech finite-state transducer shown in Fig. 27. Operation then continues to step 580.
In step 580, the gesture/speech finite-state transducer is converted to a gesture/speech finite-state machine. In particular, the gesiture/speech finite-state machine combines the input and output tapes of the gesture/speech finite-state transducer onto a single tape. In the exemplary embodiment outlined above, converting the gesture/speech finite-state transducer shown in Fig. 27 results in the gesture/speech finite-state machine shown in Fig. 28.
Next, in step 590, the gesture/speech finite-state machine is composed with the speech/gesture/meaning finite-state transducer shown in Fig. 21 to generate the meaning finite-state transducer shown in Fig. 29. Because the speech/gesture/meaning finite-state transducer relates the speech and gesture symbols to meaning, composing the gesture/speech finite-state machine results in the meaning finite-state transducer which captures the combined semantic meaning or representation contained in the independent modes input using the multimodal user input device. Thus, the meaning of the multimodal input received from the multimodal user input device can be read from the output tape of the meaning finite-state transducer. In the exemplary embodiment outlined above, composing the gesture/speech finite-state machine shown in Fig. 28 with the speech/gesture/meaning finite-state transducer shown in Fig. 21 results in the meaning finite-state transducer shown in Fig. 29. In particular, it should be appreciated that the meaning finite-state transducer shown in Fig. 29 is a linear finite-state transducer that unambiguously yields the meaning. Operation then continues to step 600.
In step 600, a projection that factors out speech from the meaning finite-state transducer is taken and in step 610, the projection is composed with the gesture input finite-state transducer in order to reincorporate the specific contents of the input gesture. Operation then continues to step 620.
It should be appreciated that, in embodiments that use much more complex multimodal interfaces, such as those illustrated in Johnston 1-3, the meaning finite-state transducer may very well be a weighted finite-state transducer having multiple paths between the start and end nodes representing the various possible meanings for the multimodal input and the probability corresponding to each path. In this case, in step 620, the most likely meaning would be selected from the meaning finite-state transducer based on the path through the meaning finite-state transducer having the highest probability. However, it should be appreciated that step 620 is optional and can be omitted. Then, in step 630, the process ends.

As outlined above, the various exemplary embodi:ments described herein allow spoken language and gesture input streams to be parsed and integrated by a single weighted finite-state device. This single weighted fmite-state device provides language models for speech and gesture recognition and composes the meaning 5 content from the speech and gesture input streams into a single semantic representation. Thus, the various systems and methods according to this invention not only address multimodal language recognition, but also encode the semantics as well as the syntax into a single weighted finite-state device. Compared to the previous approaches for integrating multimodal input streams, sucli as those described in 10 Johnston 1-3, which compose elements from n-best lists of recognition results, the systems and methods according to this invention provide the potential for mutual compensation among the various multimodal input modes.
The systems and methods according to this invention allow the gestural input to dynamically alter the language model used for speech recognition.
Additionally, 15 the systems and methods according to this invention reduce the computational complexity of multi-dimensional multimodal parsing. In particular, the weighted finite-state devices used in the systems and methods according to this invention provide a well-understood probabilistic framework for combining the probability distributions associated with the speech and gesture input streams and for selecting 20 among multiple competing multimodal interpretations.
It should be appreciated that the systems and methods for abstraction according to this invention are not limited to gestural input. The systems and methods for abstraction according to this invention may be used fo:r any information represented by finite-state methods. In addition, the systems and methods for 25 abstraction may be used to abstract any components of the information that is not necessary or difficult to retain when performing an operation using finite-state methods.
It should be appreciated that the systems and methods for abstraction according to this invention, are not limited to multimodal integration. The systems 30 and methods for abstraction according to this invention may be used in other functions implemented with finite-state devices in which it would be undesirable, difficult, impossible and/or unnecessary to include certain components of the information represented by the finite-state devices when performing the desired function. In addition, it should be appreciated that the systems and methods for abstraction, according to this invention, may be used to abstract over certain components of the information represented by the finite-state devices that represent other forms of multimodal inputs.
It should be appreciated that the multimodal recognition and/or meaning system 1000 shown in Fig. 2, and/or each of the gesture recognition system 200, the multimodal parser/meaning recognition system 300 and/or the automatic speech recognition system 100 can each be implemented on a programmed general purpose computer. However, any or all of these systems can also be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an ASIC or other integrated ciircuit, a digital signal processor, a hardwired electronic or a logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, a PLA, a FPGA or a PAL, or the like.
In general, any device capable of implementing a fmite-state machine that is in turn capable of implementing the flowchart shown in Fig. 22 and/or the various finite-state machines and transducers shown in Figs. 19-21 and 23-28 can be used to implement one or more of the various systems shown in Figs. 1-4.
Thus, it should be understood that each of the various systems and subsystems shown in Figs. 1-4 can be implemented as portions of a suitably programmed general purpose computer. Alternatively, each of the systems or subsystems shown in Figs. 1-4 can be implemented as physically distinct hardware circuits within an ASIC, or using a FPGA, a PLD, a PLA, or a PAL, or using discrete logic elements or discrete circuit elements. The particular form each of the systems and/or subsystems shown in Figs. 1-4 will take is a design choice and will be obvious and predictable to those skilled in the art.
It should also be appreciated that, while the above-outlined description of the various systems and methods according to this invention and the figures focus on speech and gesture as the multimodal inputs, any known or later-developed set of two or more input streams representing different modes of information or communication, such as speech, electronic-ink-based gestures or other haptic modes, keyboard input, inputs generated by observing or sensing human body motions, including hand motions, gaze motions, facial expressions, or other human body motions, or any other known or later-developed method for communicating information, can be combined and used as one of the input streams in the multimodal utterance.
Thus, while this invention has been described in conjunction with the exemplary embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art.
Accordingly, the exemplary embodiments of these systems and methods according to this invention, as set forth above, are intended to be illustrative, not limiting.
Various changes may be made without departing from the spirit aiid scope of this invention.

Claims (31)

1. A method of interpreting input to a computing device by processing input streams associated with one or more input modes, the method comprising:
(1) generating a first transducer based on a received input stream of a first input mode, the first transducer capturing a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol;
(2) generating a finite-state machine based on a projection of the first transducer;
(3) composing a general first-input-mode/second-input-mode transducer based on the finite-state machine and possible interpretations of a received input stream of a second input mode to generate a received-first-input-mode/received-second-input-mode alignment transducer;
(4) generating a received-first-input-mode/received-second-input-mode finite-state machine from the received-first-input-mode/received-second-input-mode alignment transducer by moving the input and output symbols of the transducer onto a single tape;
(5) composing the generated received-first-input-mode/received-second-input-mode finite-state machine based on a meaning transducer that relates combined modes of input with meaning to generate a received-first-input-mode and received-second-input-mode/meaning transducer;
(6) generating a reduced meaning transducer from the received-first-input-mode and received-second-input-mode/meaning transducer by removing symbols associated with the second input mode; and (7) generating an input/specific-meaning transducer from an input/meaning transducer by swapping input and output symbols on any transition where an output symbol is an abstraction symbol, wherein meaning representations are retrieved from the input/specific-meaning transducer.
2. The method of claim 1, wherein the general first-input-mode/second-input-mode transducer is generated from a multimodal grammar.
3. The method of claim 2, wherein the meaning transducer that relates combined modes of input with meaning is generated from the multimodal grammar.
4. The method of claim 1, wherein the first input mode and the second input mode each relate to one of: speech input, gesture input, vision input, haptic input, gaze input and a body motion input.
5. The method of claim 1, wherein the symbol is the same symbol for each abstraction.
6. The method of claim 1, wherein the received input transducer comprises a plurality of transition between states, each transition having at least one input symbol and at least one output symbol.
7. The method of claim 1, wherein the first type of data relates to specific information that is undesirable to represent in a grammar or a transducer.
8. The method of claim 7, wherein the specific information relates to one of:
geographic coordinates, an identification parameter and a name.
9. A method of interpreting input to a computing device by processing input streams associated with one or more input modes, the method comprising:
generating a received-input/meaning transducer having an input side with a set of input symbols associated with an input stream in an input mode and a set of output symbols wherein at least one of the output symbols is an abstraction symbol;
generating an input/specific-meaning transducer from the received-input/meaning transducer by swapping an input symbol of the set of input symbols and an output symbol of the set of output symbols on any transition where the output symbol is the abstraction symbol; and generating a list of meaning representations by concatenating symbols from the output tape of the input/specific-meaning transducer for at least some of the paths through the input/specific-meaning transducer.
10. The method of claim 9, wherein generating the received-input/meaning transducer further comprises:
(1) generating a first transducer based on of a received-input stream of the input mode, the first transducer capturing a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol;
(2) generating a finite-state machine based on a projection of the received input transducer; and (3) composing the finite-state machine based on a meaning transducer that relates the input with meaning to generate the received-input/meaning transducer.
11. The method of claim 9, wherein the input mode is one of: speech input, gesture input, vision input, haptic input, gaze input and a body motion input.
12. A computing device that interprets input by processing input streams associated with one or more input modes, the computing device comprising:
(1) a module configured to generate a first transducer based on a received-input stream of a first input mode wherein the first transducer captures a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol;
(2) a module configured to generate a finite-state machine based on a projection of the first transducer;

(3) a module configured to compose a general first-input-mode/second-input-mode transducer based on the finite-state machine and possible interpretations of a received-input stream of a second input mode to generate a received-first-input-mode/received-second-input-mode alignment transducer;
(4) a module configured to generate a received-first-input-mode/received-second-input-mode finite state machine from the received-first-input-mode/received-second-input-mode alignment transducer by moving the input and output symbols of the transducer onto a single tape;

(5) a module configured to compose the generated received-first-input-mode/received-second-input-mode finite-state machine based on a meaning transducer that relates combined modes of input with meaning to generate a received-first-input-mode and received-second-input-mode/meaning transducer;
(6) a module configured to generate a reduced meaning transducer from the received-first-input-mode and received-second-input-mode/meaning transducer by removing symbols associated with the second input mode; and (7) a module configured to generate an input/specific-meaning transducer from an input/meaning transducer by swapping input and output symbols on any transition where an output symbol is an abstraction symbol, wherein meaning representations are retrieved from the input/specific-meaning transducer.
13. The computing device of claim 12, wherein the general first-input-mode/second-input-mode transducer is generated from a multimodal grammar.
14. The computing device of claim 13, wherein the meaning transducer that relates combined modes of input with meaning is generated from the multimodal grammar.
15. The computing device of claim 12, wherein the first input mode and the second input mode each relate to one of: speech input, gesture input, vision input, haptic input, gaze input and a body motion input.
16. The computing device of claim 12, wherein the symbol is the same symbol for each abstraction.
17. The computing device of claim 12, wherein the received-input transducer comprises a plurality of transition between states, each transition having at least one input symbol and at least one output symbol.
18. The computing device of claim 12, wherein the first type of data relates to specific information that is undesirable to represent in a grammar or a transducer.
19. The computing device of claim 18, wherein the specific information relates to one of: geographic coordinates, an identification parameter and a name.
20. A computing device that interprets input by processing input streams associated with one or more input modes, the computing device comprising:
a module configured to generate a received-input/meaning transducer having an input side with a set of input symbols associated with an input stream in an input mode and a set of output symbols wherein at least one of the output symbols is an abstraction symbol;
a module configured to generate an input/specific-meaning transducer from the received-input/meaning transducer by swapping an input symbol of the set of input symbols and an output symbol of the set of output symbols on any transition where the output symbol is the abstraction symbol; and a module configured to generate a list of meaning representations by concatenating symbols from the output tape of the input/specific-meaning transducer for at least some of the paths through the input/specific-meaning transducer.
21. The computing device of claim 20, wherein the module configured to generate the received-input/meaning transducer further comprises:
(1) a module configured to generate a first transducer based on a received-input stream of the input mode, wherein the first transducer captures a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol;
(2) a module configured to generate a finite-state machine based on a projection of the received-input transducer; and (3) a module configured to compose the finite-state machine based on a meaning transducer that relates the input with meaning to generate the received-input/meaning transducer.
22. The computing device of claim 20, wherein the input mode is one of: speech input, gesture input, vision input, haptic input, gaze input and a body motion input.
23. A computer readable medium storing instructions for controlling a computing device to interpreting input by processing input streams associated with one or more input modes, the instructions comprising:
(1) generating a first transducer based on a received-input stream of a first input mode, wherein the first transducer captures a relationship between representations of a first type of data and representations of abstracting over the first type of data with a symbol;
(2) generating a finite-state machine based on a projection of the first transducer;
(3) composing a general first-input-mode/second-input-mode transducer based on the finite-state machine and possible interpretations of a received input stream of a second input mode to generate a received-first-input-mode/received-second-input-mode alignment transducer;
(4) generating a received-first-input-mode/received-second-input-mode finite-state machine from the received-first-input-mode/received-second-input-mode alignment transducer by moving the input and output symbols of the transducer onto a single tape;
(5) composing the generated received-first-input-mode/received-second-input-mode finite-state machine based on a meaning transducer that relates combined modes of input with meaning to generate a received-first-input-mode and received-second-input-mode/meaning transducer;
(6) generating a reduced meaning transducer from the received-first-input-mode and received-second-input-mode/meaning transducer by removing symbols associated with the second input mode; and (7) generating an input/specific-meaning transducer from an input/meaning transducer by swapping input and output symbols on any transition where an output symbol is an abstraction symbol, wherein meaning representations are retrieved from the input/specific-meaning transducer.
24. The computer-readable medium of claim 23, wherein the general first-input-mode/second-input-mode transducer is generated from a multimodal grammar.
25. The computer-readable medium of claim 24, wherein the meaning transducer that relates combined modes of input with meaning is generated from the multimodal grammar.
26. The computer-readable medium of claim 23, wherein the first input mode and the second input mode each relate to one of: speech input, gesture input, vision input, haptic input, gaze input and a body motion input.
27. The computer-readable medium of claim 23, wherein the symbol is the same symbol for each abstraction.
28. The computer-readable medium of claim 23, wherein the received-input transducer comprises a plurality of transition between states, each transition having at least one input symbol and at least one output symbol.
29. The computer-readable medium of claim 23, wherein the first type of data relates to specific information that is undesirable to represent in a grammar or a transducer.
30. The computer-readable medium of claim 29, wherein the specific information relates to one of: geographic coordinates, an identification parameter and a name.
31. A computer-readable medium storing instructions for controlling a computing device to interpret input by processing input streams associated with one or more input modes, the instructions comprising:
generating a received-input/meaning transducer having an input side with a set of input symbols associated with an input stream in an input mode and a set of output symbols wherein at least one of the output symbols is an abstraction symbol;
generating an input/specific-meaning transducer from the received-input/meaning transducer by swapping an input symbol of the set of input symbols and an output symbol of the set of output symbols on any transition where the output symbol is the abstraction symbol; and generating a list of meaning representations by concatenating symbols from the output tape of the input/specific-meaning transducer for at least some of the paths through the input/specific-meaning transducer.
CA002397703A 2001-08-15 2002-08-12 Systems and methods for abstracting portions of information that is represented with finite-state devices Expired - Fee Related CA2397703C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/313,121 2001-08-15
US31312101P 2001-08-17 2001-08-17

Publications (2)

Publication Number Publication Date
CA2397703A1 CA2397703A1 (en) 2003-02-15
CA2397703C true CA2397703C (en) 2009-04-28

Family

ID=23214471

Family Applications (3)

Application Number Title Priority Date Filing Date
CA002397466A Abandoned CA2397466A1 (en) 2001-08-15 2002-08-12 Systems and methods for aggregating related inputs using finite-state devices and extracting meaning from multimodal inputs using aggregation
CA002397703A Expired - Fee Related CA2397703C (en) 2001-08-15 2002-08-12 Systems and methods for abstracting portions of information that is represented with finite-state devices
CA002397451A Abandoned CA2397451A1 (en) 2001-08-15 2002-08-12 Systems and methods for classifying and representing gestural inputs

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CA002397466A Abandoned CA2397466A1 (en) 2001-08-15 2002-08-12 Systems and methods for aggregating related inputs using finite-state devices and extracting meaning from multimodal inputs using aggregation

Family Applications After (1)

Application Number Title Priority Date Filing Date
CA002397451A Abandoned CA2397451A1 (en) 2001-08-15 2002-08-12 Systems and methods for classifying and representing gestural inputs

Country Status (4)

Country Link
US (4) US20030055644A1 (en)
EP (3) EP1286252B1 (en)
CA (3) CA2397466A1 (en)
DE (2) DE60229094D1 (en)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055644A1 (en) * 2001-08-17 2003-03-20 At&T Corp. Systems and methods for aggregating related inputs using finite-state devices and extracting meaning from multimodal inputs using aggregation
US7711570B2 (en) * 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
US8229753B2 (en) * 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US7120872B2 (en) * 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7257575B1 (en) 2002-10-24 2007-08-14 At&T Corp. Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs
KR100580619B1 (en) * 2002-12-11 2006-05-16 삼성전자주식회사 Apparatus and method of managing dialog between user and agent
JP4027269B2 (en) * 2003-06-02 2007-12-26 キヤノン株式会社 Information processing method and apparatus
GB2433002A (en) * 2003-09-25 2007-06-06 Canon Europa Nv Processing of Text Data involving an Ambiguous Keyboard and Method thereof.
US8160883B2 (en) * 2004-01-10 2012-04-17 Microsoft Corporation Focus tracking in dialogs
EP1723632A4 (en) * 2004-02-25 2007-07-25 Xplore Technologies Corp Apparatus providing multi-mode digital input
US20050216254A1 (en) * 2004-03-24 2005-09-29 Gupta Anurag K System-resource-based multi-modal input fusion
US7430324B2 (en) * 2004-05-25 2008-09-30 Motorola, Inc. Method and apparatus for classifying and ranking interpretations for multimodal input fusion
US7783997B1 (en) 2004-07-30 2010-08-24 Synopsys, Inc. Large scale finite state machines
US7970600B2 (en) * 2004-11-03 2011-06-28 Microsoft Corporation Using a first natural language parser to train a second parser
US20060143576A1 (en) * 2004-12-23 2006-06-29 Gupta Anurag K Method and system for resolving cross-modal references in user inputs
US20060143216A1 (en) * 2004-12-23 2006-06-29 Gupta Anurag K Method and system for integrating multimodal interpretations
US20060277028A1 (en) * 2005-06-01 2006-12-07 Microsoft Corporation Training a statistical parser on noisy data by filtering
WO2006128248A1 (en) * 2005-06-02 2006-12-07 National Ict Australia Limited Multimodal computer navigation
EP1909788A2 (en) 2005-07-29 2008-04-16 Resverlogix Corp. Pharmaceutical compositions for the prevention and treatment of complex diseases and their delivery by insertable medical devices
US7542904B2 (en) * 2005-08-19 2009-06-02 Cisco Technology, Inc. System and method for maintaining a speech-recognition grammar
US8196055B2 (en) 2006-01-30 2012-06-05 Microsoft Corporation Controlling application windows in an operating system
US7646940B2 (en) * 2006-04-04 2010-01-12 Microsoft Corporation Robust indexing and retrieval of electronic ink
US7624075B2 (en) * 2006-09-15 2009-11-24 Microsoft Corporation Transformation of modular finite state transducers
US7627541B2 (en) * 2006-09-15 2009-12-01 Microsoft Corporation Transformation of modular finite state transducers
US7725466B2 (en) * 2006-10-24 2010-05-25 Tarique Mustafa High accuracy document information-element vector encoding server
US9830912B2 (en) 2006-11-30 2017-11-28 Ashwin P Rao Speak and touch auto correction interface
WO2008067562A2 (en) * 2006-11-30 2008-06-05 Rao Ashwin P Multimodal speech recognition system
US20080294652A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Personalized Identification Of System Resources
US8111922B2 (en) * 2007-06-08 2012-02-07 Microsoft Corporation Bi-directional handwriting insertion and correction
US8050929B2 (en) * 2007-08-24 2011-11-01 Robert Bosch Gmbh Method and system of optimal selection strategy for statistical classifications in dialog systems
US8024188B2 (en) * 2007-08-24 2011-09-20 Robert Bosch Gmbh Method and system of optimal selection strategy for statistical classifications
US8036901B2 (en) * 2007-10-05 2011-10-11 Sensory, Incorporated Systems and methods of performing speech recognition using sensory inputs of human position
US8321219B2 (en) * 2007-10-05 2012-11-27 Sensory, Inc. Systems and methods of performing speech recognition using gestures
DE102008051757A1 (en) * 2007-11-12 2009-05-14 Volkswagen Ag Multimodal user interface of a driver assistance system for entering and presenting information
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
US8390579B2 (en) * 2008-03-14 2013-03-05 France Telecom System for classifying gestures
US8280732B2 (en) * 2008-03-27 2012-10-02 Wolfgang Richter System and method for multidimensional gesture analysis
US9922640B2 (en) 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
US9123341B2 (en) * 2009-03-18 2015-09-01 Robert Bosch Gmbh System and method for multi-modal input synchronization and disambiguation
KR101559178B1 (en) * 2009-04-08 2015-10-12 엘지전자 주식회사 Method for inputting command and mobile terminal using the same
US20100281435A1 (en) * 2009-04-30 2010-11-04 At&T Intellectual Property I, L.P. System and method for multimodal interaction using robust gesture processing
JP5911796B2 (en) * 2009-04-30 2016-04-27 サムスン エレクトロニクス カンパニー リミテッド User intention inference apparatus and method using multimodal information
US9383823B2 (en) * 2009-05-29 2016-07-05 Microsoft Technology Licensing, Llc Combining gestures beyond skeletal
US8977972B2 (en) 2009-12-31 2015-03-10 Intel Corporation Using multi-modal input to control multiple objects on a display
US20130212541A1 (en) * 2010-06-01 2013-08-15 Nokia Corporation Method, a device and a system for receiving user input
US8464183B2 (en) * 2010-06-03 2013-06-11 Hewlett-Packard Development Company, L.P. System and method for distinguishing multimodal commands directed at a machine from ambient human communications
US8296151B2 (en) 2010-06-18 2012-10-23 Microsoft Corporation Compound gesture-speech commands
WO2013022218A2 (en) * 2011-08-05 2013-02-14 Samsung Electronics Co., Ltd. Electronic apparatus and method for providing user interface thereof
ES2958183T3 (en) 2011-08-05 2024-02-05 Samsung Electronics Co Ltd Control procedure for electronic devices based on voice and motion recognition, and electronic device that applies the same
EP2575006B1 (en) * 2011-09-27 2018-06-13 Elo Touch Solutions, Inc. Touch and non touch based interaction of a user with a device
US9135914B1 (en) * 2011-09-30 2015-09-15 Google Inc. Layered mobile application user interfaces
US9152376B2 (en) * 2011-12-01 2015-10-06 At&T Intellectual Property I, L.P. System and method for continuous multimodal speech and gesture interaction
WO2013101051A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Speech recognition utilizing a dynamic set of grammar elements
US9182233B2 (en) 2012-05-17 2015-11-10 Robert Bosch Gmbh System and method for autocompletion and alignment of user gestures
US9667742B2 (en) 2012-07-12 2017-05-30 Robert Bosch Gmbh System and method of conversational assistance in an interactive information system
CN102810049B (en) * 2012-07-17 2015-12-16 华为终端有限公司 A kind of application programe switch-over method, device and touch-screen electronic equipment
KR102150289B1 (en) 2012-08-30 2020-09-01 삼성전자주식회사 User interface appratus in a user terminal and method therefor
US9218064B1 (en) * 2012-09-18 2015-12-22 Google Inc. Authoring multi-finger interactions through demonstration and composition
US9020825B1 (en) 2012-09-25 2015-04-28 Rawles Llc Voice gestures
US20140136210A1 (en) * 2012-11-14 2014-05-15 At&T Intellectual Property I, L.P. System and method for robust personalization of speech recognition
US8972243B1 (en) * 2012-11-20 2015-03-03 Amazon Technologies, Inc. Parse information encoding in a finite state transducer
US8571851B1 (en) * 2012-12-31 2013-10-29 Google Inc. Semantic interpretation using user gaze order
US10437350B2 (en) 2013-06-28 2019-10-08 Lenovo (Singapore) Pte. Ltd. Stylus shorthand
US9224038B2 (en) * 2013-12-16 2015-12-29 Google Inc. Partial overlap and delayed stroke input recognition
US10529359B2 (en) 2014-04-17 2020-01-07 Microsoft Technology Licensing, Llc Conversation detection
US9922667B2 (en) * 2014-04-17 2018-03-20 Microsoft Technology Licensing, Llc Conversation, presence and context detection for hologram suppression
EP2958010A1 (en) 2014-06-20 2015-12-23 Thomson Licensing Apparatus and method for controlling the apparatus by a user
US9372092B2 (en) * 2014-08-08 2016-06-21 Here Global B.V. Method and apparatus for providing a contextual menu in a map display
US9953216B2 (en) * 2015-01-13 2018-04-24 Google Llc Systems and methods for performing actions in response to user gestures in captured images
US9613263B2 (en) * 2015-02-27 2017-04-04 Lenovo (Singapore) Pte. Ltd. Ink stroke grouping based on stroke attributes
US9704482B2 (en) * 2015-03-11 2017-07-11 International Business Machines Corporation Method and system for order-free spoken term detection
GB201706300D0 (en) * 2017-04-20 2017-06-07 Microsoft Technology Licensing Llc Debugging tool
US11402909B2 (en) 2017-04-26 2022-08-02 Cognixion Brain computer interface for augmented reality
US11237635B2 (en) 2017-04-26 2022-02-01 Cognixion Nonverbal multi-input and feedback devices for user intended computer control and communication of text, graphics and audio
CN111159409B (en) * 2019-12-31 2023-06-02 腾讯科技(深圳)有限公司 Text classification method, device, equipment and medium based on artificial intelligence
CN112114665B (en) * 2020-08-23 2023-04-11 西北工业大学 Hand tracking method based on multi-mode fusion
US11914840B2 (en) * 2021-07-20 2024-02-27 Rivian Ip Holdings, Llc Charger map overlay and detail card
CN114115670A (en) * 2021-07-30 2022-03-01 荣耀终端有限公司 Method for prompting generation of text abstract and method and device for generating text abstract

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2209418B (en) 1985-11-12 1989-10-11 Nat Res Dev Apparatus amd methods for analysing transitions in finite state machines
JPS62231993A (en) 1986-03-25 1987-10-12 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン Voice recognition
JPH06131437A (en) * 1992-10-20 1994-05-13 Hitachi Ltd Method for instructing operation in composite form
US5748974A (en) * 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
JP3363283B2 (en) * 1995-03-23 2003-01-08 株式会社日立製作所 Input device, input method, information processing system, and input information management method
JPH0981364A (en) * 1995-09-08 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> Multi-modal information input method and device
US6233544B1 (en) 1996-06-14 2001-05-15 At&T Corp Method and apparatus for language translation
US6118888A (en) * 1997-02-28 2000-09-12 Kabushiki Kaisha Toshiba Multi-modal interface apparatus and method
US6073098A (en) * 1997-11-21 2000-06-06 At&T Corporation Method and apparatus for generating deterministic approximate weighted finite-state automata
EP1101160B1 (en) * 1998-08-05 2003-04-02 BRITISH TELECOMMUNICATIONS public limited company Multimodal user interface
US7036128B1 (en) * 1999-01-05 2006-04-25 Sri International Offices Using a community of distributed electronic agents to support a highly mobile, ambient computing environment
US6401065B1 (en) 1999-06-17 2002-06-04 International Business Machines Corporation Intelligent keyboard interface with use of human language processing
US6324512B1 (en) * 1999-08-26 2001-11-27 Matsushita Electric Industrial Co., Ltd. System and method for allowing family members to access TV contents and program media recorder over telephone or internet
US7185018B2 (en) 1999-12-23 2007-02-27 Zentronix Pty Limited Method of storing and retrieving miniaturized data
GB0003903D0 (en) * 2000-02-18 2000-04-05 Canon Kk Improved speech recognition accuracy in a multimodal input system
US6674426B1 (en) * 2000-03-10 2004-01-06 Oregon Health & Science University Augmenting and not replacing paper based work practice via multi-modal interaction
US7107205B2 (en) * 2000-04-03 2006-09-12 Xerox Corporation Method and apparatus for aligning ambiguity in finite state transducers
US6961776B1 (en) 2000-12-22 2005-11-01 Nortel Networks Limited Architecture for multiple channel access to applications
US6964023B2 (en) * 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
US20020161907A1 (en) 2001-04-25 2002-10-31 Avery Moon Adaptive multi-protocol communications system
US6868383B1 (en) * 2001-07-12 2005-03-15 At&T Corp. Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US20030055644A1 (en) 2001-08-17 2003-03-20 At&T Corp. Systems and methods for aggregating related inputs using finite-state devices and extracting meaning from multimodal inputs using aggregation
US20030093419A1 (en) * 2001-08-17 2003-05-15 Srinivas Bangalore System and method for querying information using a flexible multi-modal interface
US6807529B2 (en) * 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication

Also Published As

Publication number Publication date
CA2397451A1 (en) 2003-02-15
DE60229094D1 (en) 2008-11-13
US20080306737A1 (en) 2008-12-11
EP1291753A2 (en) 2003-03-12
US7505908B2 (en) 2009-03-17
US7783492B2 (en) 2010-08-24
EP1286252B1 (en) 2009-05-06
EP1286252A3 (en) 2006-06-07
CA2397703A1 (en) 2003-02-15
EP1286251A2 (en) 2003-02-26
DE60232208D1 (en) 2009-06-18
EP1286252A2 (en) 2003-02-26
EP1286251A3 (en) 2006-06-21
US20030055644A1 (en) 2003-03-20
EP1291753B1 (en) 2008-10-01
CA2397466A1 (en) 2003-02-15
US20030046087A1 (en) 2003-03-06
EP1291753A3 (en) 2006-06-07
US20030065505A1 (en) 2003-04-03

Similar Documents

Publication Publication Date Title
CA2397703C (en) Systems and methods for abstracting portions of information that is represented with finite-state devices
US9563395B2 (en) Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs
US8626507B2 (en) Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US7069215B1 (en) Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US10109219B2 (en) System and method for automated sign language recognition
Oviatt Multimodal interfaces
JP4401155B2 (en) Dialog management method and apparatus between user and agent
Li et al. Sign transition modeling and a scalable solution to continuous sign language recognition for real-world applications
Waibel et al. Multimodal interfaces
WO2017112813A1 (en) Multi-lingual virtual personal assistant
JPH04329598A (en) Message recognition method and apparatus using consolidation type information of vocal and hand writing operation
US20140022184A1 (en) Speech and gesture recognition enhancement
Delgado et al. Spoken, multilingual and multimodal dialogue systems: development and assessment
Perzanowski et al. Towards seamless integration in a multi-modal interface
Trabelsi et al. Multimodal integration of voice and ink for pervasive computing
Johnston Multimodal Integration
Trabelsi A Generic Multimodal Architecture for Integrating Voice and Ink XML Formats
Schwartz et al. Positive effects of redundant descriptions in an interactive semantic speech interface

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed