- From: Marc Schroeder <schroed@dfki.de>
- Date: Thu, 29 May 2008 14:35:02 +0200
- To: EMOXG-public <public-xg-emotion@w3.org>
- Message-ID: <483EA2F6.7030600@dfki.de>
Hi all, on the issue of "subclassing", of being able to plug in a different set of emotion categories etc., I have done a bit of research to complement the existing contributions, and I want to suggest a possible solution with XML. The core idea in this approach is to use a "substitutionGroup", a concept from XML Schema that allows us to use several XML elements in the same locations in the overall structure. Attached is a set of files that illustrate the idea with a concrete, minimal example for John and his subway emotions. 1. base.xsd and base-example.xml These are Schema and example document for the "base" language. For clarity, I have only defined the minimal structure needed: an <emotion> containing a set of dimensions and a category. I have chosen a relatively explicit structure: <emotion> <dimensions> <FontaineDimensions> <activation>0.7</activation> <unpredictability>medium</unpredictability> </FontaineDimensions> </dimensions> <category> <BigSixCategory>surprise</BigSixCategory> </category> </emotion> The main thing to notice here is that we use element names which make it explicit which vocabulary is used: <FontaineDimensions> and <BigSixCategory>. This corresponds to John's use case (1), below. 2. subway.xsd, subway-example.xml, and subway-example2.xml The domain-specific Schema, subway.xsd, includes the base schema, and defines additional vocabulary by defining elements in the relevant *substitutionGroup*: <SubwayDimensions> belongs to "dimensionGroup", <SubwayCategory> belongs to "categoryGroup", which means they can now be used everywhere where <FontaineDimensions> and <BigSixCategory> can be used. Note that as it is currently defined, the new vocabulary can be used alongside the old one, as in subway-example.xml: <emotion> <dimensions> <FontaineDimensions> <activation>0.7</activation> <unpredictability>medium</unpredictability> </FontaineDimensions> </dimensions> <category> <SubwayCategory>stressed</SubwayCategory> </category> </emotion> This combination of SubwayCategory and FontaineDimensions corresponds to John's use case (2). It is also possible to use only the new sets (John's use case (3), subway-example2.xml): <emotion> <dimensions> <SubwayDimensions> <socially-open>0.7</socially-open> <degree-of-time-pressure>high</degree-of-time-pressure> </SubwayDimensions> </dimensions> <category> <SubwayCategory>stressed</SubwayCategory> </category> </emotion> The examples validate properly with Xerces-J [1], as follows: java -cp xercesSamples.jar:xercesImpl.jar dom.Counter -v -s base-example.xml [1] http://xerces.apache.org/xerces2-j/ What I like about this approach is that it is a lightweight method of complementing the existing format with a custom vocabulary, in the same namespace, and that the structure is explicit about the vocabulary used. Best regards, Marc PS: As a side note, it is also possible to use "inline schema", as in subway-example-inline.xml, where the document itself contains the extension of the vocabulary. This can be validated with Xerces-J as follows: java -cp xercesSamples.jar:xercesImpl.jar jaxp.InlineSchemaValidator -nm xsd http://www.w3.org/2001/XMLSchema emo http://www.w3.org/2005/Incubator/emotion -a //xsd:schema -i //emo:emotion -f -hs subway-example-inline.xml Marc Schroeder schrieb: > > As agreed during last phone conference (ACTION-12), I try to describe > what I see as an important challenge towards the definition of an > emotion markup language. I'll be very curious to see to what extent the > solutions that are possible in XML, RDF and OWL differ. > > Best, > Marc > > "Custom descriptor challenge" > ----------------------------- > > Let us assume that John is a user of our future Emotion Markup Language. > John wants to annotate some content (photos of faces taken in real-life > situations, say in a subway) with emotion-related information. > > 1) Initially, John wants to use two types of coarse descriptors: > a) Emotion categories following Ekman's earlier work, i.e. the "big > six" categories: anger, fear, sadness, surprise, disgust, joy > b) Emotion dimensions following Fontaine et al.: evaluation, > potency, activation, unpredictability. > > Let us assume that we as EmotionML specifiers have provided several > "default" sets of categories and dimensions centrally, so all John > should have to do in his document at stage (1) is to refer to these > centrally defined sets from his document. > > > 2) After working with the data for a while, John feels the "big six" > categories don't quite fit his needs. > a) instead of the "big six", he wants to define, and use, a custom set > of "subway emotions": stressed, scared, in-a-hurry, relaxed, friendly > > b) he feels the dimensions are OK, so he still wants to refer to the > centrally-defined dimensions > > > 3) After refining his analyses further, John wants to replace also the > dimensions with a custom set: > > a) categories: custom "subway emotions" > b) custom dimensions: socially-open, degree-of-time-pressure > > > In each case, it should be possible for John to indicate clearly where > he is taking his labels from, so that it is possible to verify that his > documents are valid with respect to the specification. > Ideally, it should not be necessary to define new "dialects" of the > language as we had done with EARL [1], but it would be sufficient to > refer to a set of categories or dimensions, which *instantiate* or > *subclass* a generic concept of "EmotionML category set" or "EmotionML > dimension set". > > [1] http://emotion-research.net/earl/schemadesign#SchemaDialects > > -- Dr. Marc Schröder, Senior Researcher at DFKI GmbH Coordinator EU FP7 Project SEMAINE http://www.semaine-project.eu Chair W3C Emotion ML Incubator http://www.w3.org/2005/Incubator/emotion Portal Editor http://emotion-research.net Team Leader DFKI Speech Group http://mary.dfki.de Project Leader DFG project PAVOQUE http://mary.dfki.de/pavoque Homepage: http://www.dfki.de/~schroed Email: schroed@dfki.de Phone: +49-681-302-5303 Postal address: DFKI GmbH, Campus D3_2, Stuhlsatzenhausweg 3, D-66123 Saarbrücken, Germany -- Official DFKI coordinates: Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht Kaiserslautern, HRB 2313
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2005/Incubator/emotion" targetNamespace="http://www.w3.org/2005/Incubator/emotion" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="emotion"> <xsd:complexType> <xsd:sequence> <xsd:element name="dimensions" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element ref="dimensionGroup"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="category" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element ref="categoryGroup"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="dimensionGroup" abstract="true"/> <xsd:element name="categoryGroup" abstract="true"/> <xsd:element name="FontaineDimensions" substitutionGroup="dimensionGroup"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="evaluation" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="potency" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="activation" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="unpredictability" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="BigSixCategory" substitutionGroup="categoryGroup"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="anger"/> <xsd:enumeration value="joy"/> <xsd:enumeration value="sadness"/> <xsd:enumeration value="surprise"/> <xsd:enumeration value="fear"/> <xsd:enumeration value="disgust"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:schema>
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2005/Incubator/emotion" targetNamespace="http://www.w3.org/2005/Incubator/emotion" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:include schemaLocation="base.xsd"/> <xsd:element name="SubwayDimensions" substitutionGroup="dimensionGroup"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="socially-open" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="degree-of-time-pressure" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="SubwayCategory" substitutionGroup="categoryGroup"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="stressed"/> <xsd:enumeration value="scared"/> <xsd:enumeration value="in-a-hurry"/> <xsd:enumeration value="relaxed"/> <xsd:enumeration value="friendly"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:schema>
Attachments
- text/xml attachment: base-example.xml
- text/xml attachment: subway-example.xml
- text/xml attachment: subway-example2.xml
- text/xml attachment: subway-example-inline.xml
Received on Thursday, 29 May 2008 12:35:44 UTC