• Nebyly nalezeny žádné výsledky

- Hierarchie tříd (grafické znázornění v editoru Protégé)

Ze sociologické teorie již víme, že role je dynamickým aspektem statusu. Abychom v naší ontologii mohli tvořit jednotlivé instance typu sociální role, budeme potřebovat instance typu status. Značkovací jazyk SSML (Speech Synthesis Markup Language) nám umožňuje označkovat danou promluvu hodnotami, které vyjadřují věk a pohlaví simulovaného hlasu. Výčtové hodnoty u atributu gender jsou v SSML male, female a neutral. U atributu age jsou hodnoty typu nonNegativeInteger. V naší ontologii budou jednotlivé instance typu Status zařaditelné do podtříd podle jejich pohlaví do tříd FemaleStatus, MaleStatus a GenderNeutralStatus. Tyto třídy jsou

19 Pro univerzálnost použití jsou koncepty v ontologii pojmenovány v anglickém jazyce. Názvy tříd, vlastností a instancí nejsou v práci překládány do češtiny.

16

vzájemně disjunktní, jakákoliv instance jedné z této množiny tříd tedy nemůže zároveň instancí jiné z tříd z této množiny. Podtřídy podle věku nejsou v ontologii vytvořeny, protože v použitém editoru nebylo možné definovat třídu intervalem hodnot typu nonNegativeInteger.

Další třídou v naší ontologii je třída Emotion. Některé role jsou svými emocemi definovány [14], například k letušce patří radost a úsměv, některé role jsou emočně méně stálé, a některé, jako například Soudce, by se emocemi neměly vyznačovat vůbec. V naší aplikaci bude mít uživatel možnost vedle statusu vybrat také emoci, která bude modelované entitě přiřazena. Vlastnosti třídy Emotion budou v naší ontologii odrážet prozodické vlastnosti řeči, kterými standard SSML umožňuje značkovat jednotlivé promluvy. Z těchto vlastností můžeme podtřídami nejlépe vyjádřit hlasitost dané emoce, třída Emotion má proto dvě podtřídy – LoudEmotion a SilentEmotion.

Třída SocialRoleAgent představuje zařízení, které simuluje sociální roli jako takovou.

Výraz Agent je v názvu pro lepší představu a porozumění modelu, instance třídy SocialRoleAgent představují jedince, který je v určité roli. Aby jedinec mohl být instancí této třídy, musí splňovat jisté podmínky. Tyto podmínky tkví především ve vlastnostech s třídou pojených a budou vysvětleny v následující kapitole.

Mimoto je třída Agent v ontologiích hojně používána pro modelování komunikačních jednotek představujících osoby nebo fiktivní organizace20. Bude tomu tak i v naší ontologii.

4.3.Vlastnosti tříd

V ontologii jsou vlastnosti tříd (nazývány také atributy nebo sloty) binárními relacemi nad množinou instancí. U vlastností můžeme stanovit jejich definiční obor a obor hodnot, a také matematické vlastnosti relací, které znázorňují, jako jsou například tranzitivita, symetričnost apod.

Pokud atributy spojují instance dané třídy s instancemi třídy jiné, nazýváme je objektovými atributy. Takovéto atributy v naší ontologii nalezneme dva – hasEmotion

20 Viz například ontologie FOAF (Friend Of A Friend) a její stěžejní třídu Agent.

17

a hasStatus. Jejich doménovou třídou neboli definičním oborem, je třída SocialRoleAgent. Jejich oborem hodnot je u vlastnosti hasEmotion třída Emotion, u vlastnosti hasStatus pak třída Status. Pro obě tyto vlastnosti jsou v naší ontologii stanovena omezení typu existential, tedy každá z instancí v třídě doménové musí být spojena alespoň s jednou z instancí v třídě oboru hodnot. Pro praktické vysvětlení si vytvořme instanci třídy SocialRoleAgent a nazvěme si ji třeba Agent1.

Aby Agent1 mohl patřit do třídy SocialRoleAgent, musí být vlastnostmi hasEmotion a hasStatus spojen alespoň s jedním z objektů tříd Emotion a Status. Jednoduše řečeno, aby Agent1 mohl přináležet do třídy SocialRoleAgent, musí být určitého statusu a vyjadřovat nějakou emoci. Takto je v ontologii vyjádřena sociální role jako taková.

Atributy, které spojují instance doménové třídy s hodnotami datových typů, nazýváme datovými atributy. Takovými hodnotami mohou být například textové řetězce, čísla, nebo logické konstanty True a False. Vlastnostmi datového typu jsou v naší ontologii atributy isOfAge a isOfGender. Doménovou třídou těchto vlastností je třída Status, jejich oborem hodnot je hodnota datového typu. U isOfAge je tímto typem nonNegativeInteger, u vlastnosti isOfGender string. Tyto vlastnosti jsou také funkcionální, což znamená, že vztah instance z definičního oboru může být nejvýše k jedné instanci z oboru hodnot. Zjednodušeně řečeno, třídu Status definujeme tím, že jejím instancím připíšeme atribut vyjadřující věk a pohlaví, přičemž každá z těchto instancí může být nanejvýš jednoho věku a pohlaví.

Třída Emotion je v naší ontologii definována vlastnostmi pojícími se k prozodickým znakům řeči. V řeči jsou emoce nejčastěji vyjádřeny právě tím, že mluvčí změní například výšku hlasu nebo jeho hlasitost [13]. Definice třídy Emotion je proto vyjádřena pomocí atributů hasVoiceBreakStrength, hasVoicePitch, hasVoiceRate a hasVoiceVolume. Které značky pro hlasovou prozodii tyto vlastnosti zastupují a co znamenají, podrobněji popíšeme v následující kapitole věnující se aplikací nad ontologií. Doménovou třídou každé z těchto vlastností je třída Emotion, jejich oborem hodnot je datový typ string.

18 4.4.Odvozování

Odvozování v naší ontologii probíhá na základě axiomů o třídách. Třídy SocialRoleAgent, Status a Emotion jsou definovány vlastnostmi, které jsou pro jejich existenci dostačující a nezbytné21. Říkáme tím, že tyto třídy jsou ekvivalentní abstraktní třídě bez názvu, která je definována výčtem svých vlastností, viz obrázek 4. Takto definovaná třída dovoluje odvozování ve dvou směrech. Například všechny instance, jimž bude připsána vlastnosti isOfAge a isOfGender, budou instancemi typu Status, a naopak. Všem instancím typu Status budou automaticky připsány vlastnosti isOfAge a isOfGender. U podtříd FemaleStatus, GenderNeutralStatus a MaleStatus jsou tyto definice rozšířeny o konkrétní hodnoty vlastnosti isOfGender jako je string:male, string:female a string:neutral. U podtříd LoudEmotion a SilentEmotion je definice rozšířena o konkrétní hodnoty vlastnosti hasVoiceVolume – string:loud, string:x-loud pro LoudEmotion a string:silent, string:soft a string:x-soft pro SilentEmotion.