110 likes | 130 Views
Explore inflection attributes in SSML for Greek language, enabling context-sensitive expansions and substitutions, with examples and recommendations.
E N D
2nd Workshop for the Internationalization of SSML Dialogos's Position
Greek is a heavily inflected language nouns adjectives verbs Several inflection-related Attributes Case Gender Number (and we are not even thinking about verbs) How does inflection word Inflection attributes are shared between certain elements in the same context Elements might not be neighboring Goal Let's try to cover the most common case Neighboring elements Motivation
Section 1 Inflection definition in <say-as>
Provide hints to the synthesis processor how should the element be expanded? which inflected version should be used? we could also use the <e> element suggested previously inflection="?<case> ?<gender> ?<number>" where: <case>: [‘nominative’, ’accusative’, ’dative’, ’genitive’, ’vocative’] <gender>: [‘masculine’, ’feminine’, ’neuter’] <number>: [‘plural’, ’singular’] <say-as interpret-as="cardinal" inflection="nominative feminine">3</say-as> Output: τρεις <say-as interpret-as="cardinal" inflection="nominative neuter">3</say-as> Output: τρία Inflection DefinitionThe 'inflection' attribute in <say-as>
Section 2 Context sensitive expansions
Context-Sensitive SubstitutionsThe <aliasmap> element • We need to perform context-sensitive substitutions • a single token might have different substitutions • inflection-related specifier <sub aliasmap="token"> token </sub> <aliasmap id=”token”> <alias inflection=”?<case> ?<gender> ?<number>?”> expansion1 </alias> <alias inflection=”?<case> ?<gender> ?<number>”> expansion2 </alias> </aliasmap>
Context-Sensitive SubstitutionsExample:<aliasmap> use <sub aliasmap="κ."> κ. </sub> <aliasmap id="κ."> <alias inflection="plural nominative"> κιλά </alias> <alias inflection="plural genitive"> κιλών </alias> </aliasmap> Input: <say-as interpret-as="cardinal" inflection="plural neuter genitive"> 3 κ.</say-as> Output: τριών κιλών (three kilos)
Section 3 Additional <say-as> interpretations
<say-as>Discussion • Issue • <say-as> defines the input • there is no template for describing the way the token should be rendered • new major SSML version should address issue • <say-as> attributes • details: NMTOKEN -> CDATA? • details="blah?param1=xxx&" • format: NMTOKEN • Two small changes to existing <say-as> without any modification • use 'details' in interpret-as="date" • use 'format' in interpret-as="phone"
<say-as>'format' in interpret-as="phone" format="n+" Input: <say-as interpret-as="telephone" details ="3223" format="1">(210) 555-2121</say-as> Output: four digit groups: '210', '55', '52', '121'
<say-as>'details' in interpret-as="date" <say-as interpret-as="date" format="ymd" details="dMMMMyyyy"> 2006-04-03 </say-as> Output: τρεις απριλίου δύο χιλιάδες έξι <say-as interpret-as="date" format="ymd" details="dmyyyy"> 2006-04-03 </say-as> Output: τρεις τετάρτου δύο χιλιάδες έξι <say-as interpret-as="date" format="ymd" details="MMMMyyyy"> 2006-04-03 </say-as> Output: απρίλιος δύο χιλιάδες έξι