• Nebyly nalezeny žádné výsledky

4. Ontologie sociální role

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.

Obrázek 4 - Definice tříd (grafické znázornění v editoru Protégé)

21 Přeloženo z anglického „necessary and sufficient conditions“.

19 4.5.Instance

Pro možnost předvést ontologii jako bázi znalostí aplikace, jež je součástí této práce, bylo potřeba jednotlivé třídy naplnit instancemi, a těm přiřadit konkrétní hodnoty atributů. K instancím typu Status byly přiřazeny nejpravděpodobnější vlastnosti vyjadřující věk a pohlaví. Instanci Mother je tak připsána vlastnost isOfAge datového typu nonNegativeInteger hodnoty 30 a isOfGender typu string hodnoty

„female“. Dalšími instancemi typu Status jsou: Child (isOfGender:”neutral”, isOfAge:

5), Old_man (isOfGender:”male”, isOfAge:70) a Policeman (isOfGender:”male”, isOfAge:40). Konkrétní hodnoty vlastností třídy Emotion vychází z různých zdrojů na téma vnímání emočních stavů a měření jejich prozodických vlastností (například [18] a [19]). Pro instance typu Emotion je v této ontologii použito šesti emocí: Anger, Content, Fear, Joy, Sadness. Konkrétní hodnoty vlastností, které těmto instancím připisujeme, jsou:

4.6. Výhody použití ontologie oproti jiným datovým strukturám

Způsobů, jak navrhnout Ontologii jakékoliv domény je nespočetně mnoho. Návrh se vždy odvíjí od jeho použití a absolutní a vyčerpávající popis konceptu z této perspektivy postrádá smysl. Ontologie, jež je součástí této práce, byla navržena pro potřeby řečové syntézy, konkrétně pro možnosti značkování promluvy atributy standardu SSML. Vlastnostmi odpovídajícími těmto atributům byly definovány třídy, které odpovídají konceptům ze sociologické teorie. Pokud budou v budoucnu do ontologie zahrnuty další třídy, je možné je významově propojit s třídami již existujícími. Pokud do stávající ontologie přidáme instance, budeme vědět které vlastnosti je u nich třeba definovat tak, aby patřily do dané třídy. Možnost

20

modelování vztahů mezi jednotlivými koncepty v doméně, a možnost odvozování je výhodou oproti jiným datovým strukturám, proto byla pro návrh vybrána ontologie a ne například relační databáze. Relační databáze žádné z těchto možností neposkytuje a je zaměřena spíše na efektivní ukládání dat samotných.

21 a transformaci, šablona pro transformaci a výstup.

5.1.Báze znalostí

Jako báze znalostí slouží aplikaci ontologie, ve které jsou pomocí jednoduchého dotazování nalezeny hodnoty atributů spojených s parametry, které jsou zadány v uživatelském rozhraní (Obrázek 5). Ontologie, kterou jsme detailně popsali v předchozí kapitole, formálně vyjádřena v jazycích RDFS a OWL, je součástí aplikace jako jeden ze vstupních zdrojů pro transformaci.

5.2.Formulář a funkční část aplikace

Transformace v naší aplikaci probíhá s pomocí transformační šablony, která je navržena v jazyce XSLT22 (Extensible Stylesheet Language Transformations). Tento jazyk umožňuje transformaci XML dokumentů na jiné XML dokumenty. V našem případě bude vstupním XML dokumentem ontologie ve formátu OWL/XML.

Výstupní dokument je ve formátu SSML/XML. Funkční rozhraní umožňující vstup od uživatele přetransformovat na označkovaný výstup je navrženo v Javě.

Formulář pro vstup od uživatele je navržen pomocí knihovny Swing. Ve formuláři uživatel provede následující: zadá textový vstup neboli řečový korpus, který chce simulovat (např. „Clean your room“). Dále vybere status modelované entity, přičemž na výběr má ze čtyřech statusů: Mother (Matka), Child (Dítě), Policeman (Policista) a Old_man (Stařec). Dále zvolí emoční zabarvení simulované řeči z těchto možností: Anger (Zlost), Joy (Radost), Fear (Strach), Sadness (Smutek) a Content (Spokojenost). Zadaný text a vybraný status a emoce aplikace využije k naplnění hodnot parametrů v transformační šabloně. Pro transformaci je kromě samotné šablony použito v kódu formuláře knihovny javax.xml.transform. Uživatel zde má

22 Viz https://www.w3.org/TR/xslt.

22

také možnost zvolit jazyk řeči, kterou bude simulovaný hlas mluvit (English nebo Čeština). Změna tohoto parametru ve výsledném dokumentu umožní TTS zařízení nastavit, jakou výslovností syntetizér danou promluvu přečte.

Obrázek 5 - Uživatelské rozhraní aplikace

5.3. XSLT šablona

Součástí aplikace je také šablona ve formátu XSLT, specifikující výslednou podobu SSML dokumentu. Šablona obsahuje tři parametry („input“, „status“ a „emotion“), které jsou aplikací naplněny zadanými daty od uživatele. Pokud například uživatel vybere jako status umělého mluvčího Mother, uloží se tato volba jako hodnota parametru status do šablony. Dále v šabloně jsou pak pomocí výrazu xsl:attribute name vytvořeny atributy gender a age. Pomocí XPath23 výrazu jsou tyto atributy naplněny následovně: v ontologii je u specifikace vlastností jednotlivých instancí vyhledán výraz Mother a jemu připsané vlastnosti isOfGender a isOfAge. Hodnoty těchto vlastností jsou skrze šablonu přepsány do výsledného SSML dokumentu.

Takto jsou pomocí šablony a příkazů v kódu aplikace ve výsledném SSML dokumentu vytvořeny a naplněny všechny požadované atributy. Elementy a atributy standardu SSML, které jsou v šabloně vytvořeny, budou podrobněji popsány v následující podkapitole.

23 Viz https://www.w3.org/TR/xpath/.

23

5.4.Výstup aplikace – SSML značkování řečového segmentu

Hodnoty parametrů status a emoce (např. Mother a Anger), které jsou zadány uživatelem, jsou v ontologii spojeny s věkem a pohlavím umělého mluvčího, a také s prozodickými vlastnostmi simulovaného hlasu. Pro značkování textového vstupu je v aplikaci použit značkovací jazyk SSML. Dokument, v němž jsou jednotlivé promluvy označkovány SSML, umožňuje koncovému zařízení typu TTS nastavit vlastnosti simulovaného hlasu na požadované hodnoty.

Element Speak

Z kořenového elementu Speak je v šabloně definován jmenný prostor xmlns=“http://www.w3.org/2001/10/synthesis“, atribut version, který je nastaven na hodnotu “1.1“, a také atribut xml: lang stanovující jazyk daného textu. Tento atribut říká TTS zařízení jakou výslovnost má při simulaci použít. Ve formuláři má uživatel možnost přepínat mezi jazyky English a Čeština, podle toho, v jakém jazyce zadá promluvu do textového pole. Při volbě English se tento atribut nastaví na hodnotu „en-US“, při volbě Čeština se nastaví na „cs-CZ“. V elementu Speak je také vložena promluva, která je zadána v uživatelském rozhraní.

Element Voice

Z elementu Voice jsou ve výstupu použity atributy „age“ a „gender“. Věk a pohlaví v naší ontologii stanovujeme pomocí vlastností isOfAge a isOfGender, které jsou spojeny s jedinci třídy Status (např. Mother, Child, Policeman). Vlastnost isOfAge spojuje jedince třídy Status s datovým typem nonNegativeInteger, vlastnost isOfGender s datovým typem string. Pokud tedy uživatel vybere za status simulované entity Mother, nastaví se ve značkování atributy age na 30 (nonNegativeInteger) a gender na „female“ (string).

Element Prosody a element Break

Elementy Prosody a Break jsou v naší aplikaci spojeny s ontologickou třídou Emotion.

Z elementu Prosody jsou použity atributy: „pitch“ (výška hlasu) „rate“ (rychlost promluvy) a „volume“ (hlasitost promluvy). Z elementu Break používáme atribut

„strength“ (délka pauz mezi jednotlivými řečovými segmenty). Pokud například uživatel zvolí jako emoční zabarvení zadané promluvy Anger, atributy ve

24

značkovaném dokumentu budou mít následující hodnoty: pitch=“high“, rate=“fast“, volume=“loud“, strength=“weak“.

5.5.Možné aplikace a návrhy na vylepšení

Aplikace, jejímž výstupem jsou promluvy značkované prozodickými vlastnostmi tak, že výsledný hlas umělého řečníka představuje určitou roli, může být využita v několika oblastech. Může být například součástí dialogového systému u zařízení asistujících starým a handicapovaným lidem, nebo součástí návrhu postav v počítačových hrách. Uplatnila by se také tam, kde je potřeba uměle mluvícím zařízením přidat věrohodnost proto, aby byla schopna motivovat uživatele v tísni k rychlému a efektivnímu jednání.

Výstup ve formátu SSML byl vyzkoušen na dvou volně dostupných syntetizérech – eSpeak a MaryTTS. Ani jeden z nich však nepodporuje potřebné atributy formátu SSML natolik24, aby výsledná umělá řeč přesvědčivě odpovídala značkování.

Vyhledání vhodného syntetizéru je nad rámec této práce. Její hlavní náplní byl ontologický model a jeho spojení se značkováním řečové syntézy. Dalším krokem k použitelnosti aplikace v praxi by tedy bylo nalezení vhodného syntetizéru, který má plně integrován SSML jako jeden z možných vstupů, popřípadě přizpůsobit značkování ve výstupním souboru standardu, který daný syntetizér podporuje.

Dalším vylepšením aplikace by mohlo být doplnění promluvy o značky umožňující důraz na konkrétní slova. Pro takové vylepšení by bylo nutné integrovat do systému analýzu promluvy se zaměřením na slova, na která má být kladen důraz.

Vzhledem k jednoduchosti ontologického modelu a jeho zaměření na řečovou syntézu zůstaly nedotčeny mnohé koncepty pojící se s vizuální stránkou sociální role, jako například barva pleti, délka vlasů apod. Do budoucna by proto bylo vhodné tyto koncepty do ontologie zavést, a propojit je s možnostmi značkování vizuálních vlastností modelované entity. Dále by bylo vhodné zavést do aplikace možnost měnit jednotlivé výstupy v závislosti na obecenstvu, pro nějž jsou určeny.

24 Viz espeak.sourceforge.net a https://github.com/sinlab-semester-2013/VirtualActor/wiki/Text-to-Speech:-Mary-TTS.

25

6. Závěr

Tato práce se věnovala konceptu sociální role a možnostmi jeho využití v umělé inteligenci. V navrženém ontologickém modelu a následné aplikaci tento model využívající jsme se pokoušeli o spojení formálního popisu domény sociální role s možnostmi značkování promluv v řečové syntéze. Pro popis domény sociální role bylo použito sociologické teorie zabývající se dramaturgickou perspektivou na jednání jedinců ve společnosti. Do modelu a následné aplikace tak byla integrována možnost simulovat emoce. V aplikaci a jejím uživatelském rozhraní, má uživatel možnost vybrat status a emoci, kterými se bude modelovaná řeč projevovat. Pomocí šablony pro transformaci XML souborů a vstupu od uživatele jsou data z ontologického modelu převedena na hodnoty atributů ve výstupním SSML souboru. Naplnit cíl práce se podařilo, nicméně bylo potřeba upozornit na limity aplikace související s možnostmi dostupných syntetizérů. V práci byly také nastíněny možnosti rozšíření ontologického modelu a vylepšení aplikace pro lepší použitelnost v praxi.

26

Seznam použité literatury

1. Goffman, Erving. Všichni hrajeme divadlo: sebeprezentace v každodenním životě.

Praha : Nakladatelství studia Ypsilon, 1999.

2. Mead, George Herbert. Mind, self and society: from the standpoint of a social behaviorist. Chicago : University of Chicago Press, 1967.

3. Russel, Stuart J a Norwig, Peter. Artificial Intelligence: A Modern Approach. New Jersey: Prentice Hall : Upper Saddle River, 2001.

4. Mařík, Vladimír, Štěpánková, Olga a Lažanský, Jiří. Umělá inteligence (6). Praha : Academia, 2013.

5. Linton, Ralph. The Study of Man. New York : D. Appleton-Century Company, 1936.

6. Berger, Peter L. a Luckmann, Thomas. Sociální konstrukce reality: pojednání o sociologii vědění. Brno : CDK, 1999.

7. Denzin, Norman a Keller, Charles. Frame analysis reconsidered. Contemporary Sociology. 10, 1981, 1, stránky 52-60.

8. Nakonečný, Milan. Sociální psychologie organizace. Praha : Grada Publishing, a.s., 2005.

9. Robert, Merton K. The Role-Set: Problems in Sociological Theory. The British Journal Of Sociology. 1957, Vol. 8, No. 2, pp. 106-120.

10. Parsons, Talcott. The social system. London : Routledge & Kegan Paul, 1967.

11. Zimbardo, Philip G., Maslach, Christina a Haney, Craig. Reflections on the Stanford prison experiment: Genesis, transformations, consequences. Obedience to authority: Current perspectives ont he Milgram paradigm. 2000. stránky 193-237.

12. Hartley, Peter. Interpersonal Communication. London : Routledge, 1999.

13. Nakonečný, Milan. Emoce. Praha : Triton, 2012.

14. Hochschild, Arlie. The Managed Heart. Berkeley, CA : University of California Press, 1983.

15. Psutka, Josef a a kol. Mluvíme s počítačem česky. Praha : Academia, 2006.

16. H. Gunes, B. Schuller, M. Pantic a R. Cowie. Emotion representation, analysis and synthesis in continuous space: A survey. Santa Barbara, CA : 2011 IEEE International Conference on Automatic Face & Gesture Recognition and Workshops, 2011.

stránky 827-834.

17. Allemang, Dean a Hendler, Jim. Semantic Web for the working ontologist: effective modeling in RDFS and OWL. Waltham : Elsevier Inc., 2011.

27

18. Bachorowski, Jo-Anne. Vocal Expression and Perception of Emotion. Current Directions in Psychological Science. 1999, 8, stránky 53-57.

19. Sauter, Disa A., a další. Perceptual cues in nonverbal vocal expressions of emotion. The Quarterly Journal of Experimental Psychology. 2010, 63, stránky 2251-2272.

20. Lemert, Charles a Branaman, Ann. The Goffman reader. Malden : Blackwell Publishing Ltd, 1997.

21. Habermas, Jurgen. Technik und Wissenschaft als Ideologie. Frankfurt am Main : Suhrkamp, 1968.

28

Seznam obrázků

Obrázek 1 - Hartleyho model interpersonální komunikace ... 6

Obrázek 2 - Schéma dialogového systému... 9

Obrázek 3 - Hierarchie tříd (grafické znázornění v editoru Protégé) ... 15

Obrázek 4 - Definice tříd (grafické znázornění v editoru Protégé) ... 18

Obrázek 5 - Uživatelské rozhraní aplikace ... 22

Přílohy

Soubor AplikaceSocialniRole.zip