!!!!!! VERSION that contains constraintCode
This is a schema for specifying neca's "gesticon", i.e. lexicon of gestures
Version 0.3
Last edited: 12.05.2004
Hannes Pirker, Neil Tipper
The purpose the gesticon is to provide a data-base which holds
information on the set of possible gestures: their name, their
function and/or semantics (if applicable), and information on their
physical realisation, both in terms of location and timing.
This gesticon is to be used by both the M-NLG as well as the GA-module.
* todo: the specification of constraints should make use of XPath!
Changelog:
hp 15.4.:
* enforce "version=0.3"
hp 14.1.:
* allow for attributes "begin" / "end" in addition to "aligntype" in order to allow for more variability in the temporal alignment.
* allow for optional attribute "priority"
* introduce different form-types for modalities body and face
(the latter including info on mouth and eye_brows)
* allow a attribute "specialpos" in type handpos
hp 13.1.:
allow optinal attribute "time" at version/last edited
add brigitte's facial "meanings" e.g. "sad" "fear" "Schelm"...
The toplevel element: necaGesticon
The root node of the gesture lexicon
The element that holds the constraint-codes
The 'logical_struct'
group uses this abstract element. Elements with 'logicals' as
their substitution class are then alternatives for
'logical_truct'. Currently these are 'and' | 'or' and 'not'
the constraint-element within constraintMapping
verbatim: just provide a text describing the purpose of this constraint
scope: specify where the elements/attributes are to be found: at the dialogueAct-level or at the speakerInfo-level
compareTo specifies the name of the attribute in gesticonEntry which is to be
compared with. At the moment this is always "val" for testing equality/ less/ greater than/ and "range" for the others. But in the future additional attributes could be employed
The type of gesture entries in the gesticon
verbatim: just provide a text describing the gesture
Element that holds any application restriction for a gesture be it emotion, personality, cultural factors etc.
Constraints for application of gesture
Specifying Functions of a gesture. This information is to be
used in order to keep a gesture "underspecified". There might
be a number of gestures with the same value for "function" -
e.g. "greeting". Gesture assignment then can pick one of them.
How are gesture G and "alignto" element X coupled to each other?
PARALELLISM
par_start : G and X start at the same time
par_end : G and X stops at the same time
par_adjust_to_fit (formerly: par_stretch)
: G's duration is forced to be the same as X's : they start and stop at the same time
atstress: G is aligned to the STRESSED position of X
SEQUENTIALITY
seq_before : G is performed before X --> preceede
seq_after : G is performed after X --> succeede
Specifying the physisical realisation -- especially the timing behaviour of a gesture
Specifying the physisical realisation -- shape-info for mouth, eye_brows...
Shape-info for mouth
Shape-info for brows
Specifying the physisical realisation -- start and end-poition of hands
left and right present information on the position of left and right hands in space. This value is used in order to check whether 2 gesture can be concatenated, whether an idle-gesture (going back to a neutral position) etc.
In attribute "specialpos" special-positions can be specified. This is to be used for gestures which need a certain well defined neighbour: gestures are only allowed if specialpos-attribute of the neighbouring gestures are compatible (equal).
Specially suited for return-gestures in Charamel!
Values:
(T)op (M)id (D)own
(O)utside (C)entral
Specifying the timing behaviour of a gesture
Specifying link to player-specific code
General Datatypes
0.0 - 100.0
0 - 10