[Cache version from http://www.cs.brandeis.edu/%7Ejamesp/arda/time/documentation/TimeML-Update.html; please use this canonical location if possible.]

Specification for TimeML 1.1: Draft 1 (Internal Use Only)

Authors: TimeML 1.1 WG (MITRE/Brandeis)

Date: June 19, 2003

This document summarizes the proposed changes to the EVENT, MAKEINSTANCE, and TIMEX3 tags within TimeML 1.0, as published in July 2002.  These changes are motivated by several concerns that emerged from the TimeML 1.0 WG initially, and were discussed within the group over the past six months. The additions involved two types of changes:

a. Restrictions on the use of SLINKs, as introduced by negations and modals.

b. Enriching the coverage of TIMEX3 expressions: (i) to be compliant with the TIMEX2 SET feature; (ii) to handle Temporal Functions more effectively.

 

Each section is divided into the new BNF for each tag, an explanation of the changes, and several examples of how these changes affect annotation.

 

1.0 The EVENT Tag

1.1 BNF for EVENT

attributes ::= eid class

eid ::= ID

{eid ::= EventID

EventID ::= e<integer>}

class ::= 'OCCURRENCE' | 'PERCEPTION' | 'REPORTING' | 'ASPECTUAL' | 'STATE' | 'I_STATE' | 'I_ACTION'

 

1.2 Explanation of Changes to EVENT

The EVENT tag no longer includes the tense and aspect attributes because this information is better suited for the MAKEINSTANCE tag.  This is the only change in the EVENT tag.

1.3 Example of the new EVENT Tag

a)    John is walking.

John is

<EVENT eid=”e1” class=”OCCURRENCE”>

walking

</EVENT>.

 

2.0 The MAKEINSTANCE Tag

2.1) BNF for MAKEINSTANCE

Attributes ::= eiid eventID tense aspect negation [modality] [card] [signalID]

 

eiid ::= ID

{eiid ::= EventInstanceID

EventInstanceID ::= ei<integer>}

eventID ::= IDREF

{eventID ::= EventID}

tense ::= 'PAST' | 'PRESENT' | 'FUTURE' | 'NONE'

aspect ::= 'PROGRESSIVE' | 'PERFECTIVE' | 'PERFECTIVE_PROGRESSIVE' | 'NONE'

negation ::= ‘true’ | ‘false’

{negation ::= boolean}

modality ::= CDATA

card ::= CDATA

signalID ::= IDREF

{signalID ::= SignalID}

 

2.2) Explanation of Changes to MAKEINSTANCE

The MAKEINSTANCE tag includes several new attributes.  TENSE and ASPECT have moved to this tag from the EVENT tag.  NEGATION and MODALITY are now represented within the MAKEINSTANCE tag, thereby eliminating several SLINKs.  The CARD attribute will be used to represent the cardinality of the event instance when appropriate.  The SIGNALID value should hold the sid that motivates the value of the CARD attribute.

 

2.3) Examples of the new MAKEINSTANCE Tag

a)    John should have bought some wine.

John should have

<EVENT eid=”e1” class=”OCCURRENCE”>

bought

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PAST” aspect=”PERFECTIVE” negation=”false” modality=”should” />

some wine.

 

b)   John might teach on Monday.

John might

<EVENT eid=”e1” class=”OCCURRENCE”>

teach

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE” negation=”false” modality=”might”/>

<SIGNAL sid=”s1”>

on

</SIGNAL>

<TIMEX3 tid=”t1” type=”DATE” value=XXXX-WXX-1>

Monday

</TIMEX3>.

 

<TLINK> eventInstanceID =”ei1” signalID=”s1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

 

c)    John must not teach twice.

John must not

<EVENT eid=”e1” class=”OCCURRENCE”>

teach

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE” negation=”true” modality=”must” card=”2” signalID=”s1”/>

<SIGNAL sid=”s1”>

twice

</SIGNAL>.

d)   John didn’t forget to buy some wine.

John didn’t

<EVENT eid=”e1” class=”I_ACTION”>

forget

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PAST” aspect=”NONE” negation=”true”/>

<SIGNAL sid=”s1”>

to

</SIGNAL>

<EVENT eid=”e2” class=”OCCURRENCE”>

buy

</EVENT>

<MAKEINSTANCE eiid=”ei2” eventID=”e2” tense=”NONE” aspect=”NONE” negation=”false”/>

some wine.

<SLINK eventInstanceID="ei1" signalID="s1" subordinatedEventInstance="ei2” relType="MODAL"/>

 

e)    John taught on Tuesday but not on Friday.

John

<EVENT eid=”e1” class=”OCCURRENCE”>

taught

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PAST” aspect=”NONE” negation=”false”/>

<MAKEINSTANCE eiid=”ei2” eventID=”e1” tense=”PAST” aspect=”NONE” negation=”true”/>

<SIGNAL sid=”s1”>

on

</SIGNAL>

<TIMEX3 tid=”t1” type=”DATE” value=”XXXX-WXX-2”>

Tuesday

</TIMEX3>

but not

<SIGNAL sid=”s2”>

on

</SIGNAL>

<TIMEX3 tid=”t2” type=”DATE” value=”XXXX-WXX-5”>

Friday

</TIMEX3>.

<TLINK eventInstanceID="ei1" signalID="s1"relatedToTime="t1" relType="IS_INCLUDED"/>

<TLINK eventInstanceID="ei2" signalID="s2" relatedToTime="t2" relType="IS_INCLUDED"/>

 

 


3.0 The TIMEX3 Tag

3.1) BNF for TIMEX3

attributes ::= tid type [functionInDocument] [beginPoint] [endPoint] [quant] [freq]                 [temporalFunction] (value | valueFromFunction) [mod] [anchorTimeID |         anchorEventID]

 

tid ::= ID

{tid ::= TimeID

TimeID ::= t<integer>}

type ::= 'DATE' | 'TIME' | 'DURATION' | 'SET’

beginPoint ::= TimeID

endPoint ::= TimeID

quant ::= CDATA

freq ::= <integer><time unit>

functionInDocument ::= 'CREATION_TIME' | 'EXPIRATION_TIME' | 'MODIFICATION_TIME' | 'PUBLICATION_TIME' | 'RELEASE_TIME'| 'RECEPTION_TIME' | 'NONE' {default, if absent, is 'NONE'}

temporalFunction ::= 'true' | 'false' {default, if absent, is 'false'}

{temporalFunction ::= boolean}

value ::= CDATA

{value ::= duration | dateTime | time | date | gYearMonth | gYear | gMonthDay |

             gDay | gMonth}

valueFromFunction ::= IDREF

{valueFromFunction ::= TemporalFunctionID

TemporalFunctionID ::= tf<integer>}

mod ::= 'BEFORE' | 'AFTER' | 'ON_OR_BEFORE' | 'ON_OR_AFTER' | 'LESS_THAN' | 'MORE_THAN' |'EQUAL_OR_LESS' | 'EQUAL_OR_MORE' | 'START' | 'MID' | 'END' | 'APPROX'

anchorTimeID ::= IDREF

{anchorTimeID ::= TimeID}

anchorEventID ::= IDREF

{anchorEventID ::= EventID}

 

3.2) Explanation of Changes to TIMEX3

The changes to the TIMEX3 tag provide a more satisfying annotation for sets and durations in time expressions.  These changes include one new type of TIMEX3 and four new attributes.  The ‘SET’ type is assigned to expressions that denote quantified times.  It has two corresponding attributes.  Neither of these attributes should ever be used unless the type of the TIMEX3 is ‘SET’.  The first of these new attributes is ‘quant’, which expresses quantification values.  The value of this attribute should be a literal from the text that describes the kind of quantification that is taking place.  It may be useful to have a list of possible values for ‘quant’ rather than using a literal from the text.  Note that ‘quant’ can contain complex quantifiers such as “every other”.  The second SET attribute is ‘freq’, which stands for frequency.  Frequency expressions that are contained in the TIMEX3 are represented here.  The value of this attribute is made up of the integer value of the frequency followed by the ISO letter that corresponds to the unit of time the frequency refers to.  If no specific time unit is provided, the letter ‘X’ should be used.

The remaining new attributes in the TIMEX3 tag correspond to the DURATION type.  Whenever an expression is tagged as a DURATION, the beginPoint and endPoint of that duration should also be specified.  This results in the final major change in TimeML 1.1.  If the beginPoint of a duration is known but the endPoint is not (or vice versa), then a non-consuming TIMEX3 tag must be created to account for the unspecified point.  The value of the new TIMEX3 is calculated using temporal functions.  Accordingly, when both the beginPoint and endPoint of an implicit duration exist in a document, then a non-consuming TIMEX3 DURATION tag must be created to make that duration explicit.  All of these non-consuming TIMEX3 tags allow for more accurate TLINKs from event MAKEINSTANCEs to time expressions, even when the time expression in question is not explicitly found in the text.

 

3.3) Examples of the new TIMEX3

a)    John teaches twice a month.

John

<EVENT eid=”e1” class=”OCCURRENCE”>

teaches

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

<TIMEX3  tid=”t1” type=”SET” freq=”2X” val=”P1M”>

twice a month

</TIMEX3>.

 

<TLINK eiid=”ei1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

 


b)   John teaches three days every month.

John

<EVENT eid=”e1” class=”OCCURRENCE”>

teaches

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

<TIMEX3  tid=”t1” type=”SET” freq=”3D” quant=”every” val=”P1M”> three days every month

</TIMEX3>.

 

<TLINK eiid=”ei1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

[compare to “John taught three days(T1)  last month(T2).”]

c)    John calls his mom every three months.

John

<EVENT eid=”e1” class=”OCCURRENCE”>

calls

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

his mom

<TIMEX3  tid=”t1” type=”SET” quant=”every” val=”P3M”>

every three months

</TIMEX3>.

 

<TLINK eiid=”ei1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

 

d)   John’s sister calls her mom daily.

John’s sister

<EVENT eid=”e1” class=”OCCURRENCE”>

calls

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

her mom

<TIMEX3  tid=”t1” type=”SET” quant= “every” val=”P1D”>

daily

</TIMEX3>.

 

<TLINK eiid=”ei1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

 

e)    John’s sister calls her mom at least once a week.

John’s sister

<EVENT eid=”e1” class=”OCCURRENCE”>

calls

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

her mom

<TIMEX3  tid=”t1” type=”SET” mod=”EQUAL_OR_MORE” freq=”1X” quant=”every” val=”P1W”>

at least once a week

</TIMEX3>.

 

<TLINK eiid=”ei1” relatedToTime=”t1” relType=”IS_INCLUDED”/>

 

f)     John arrives two weeks from today.

John 

<EVENT eid="e1" class="OCCURRENCE" >

arrives

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PRESENT” aspect=”NONE”/>

<TIMEX3 tid=“t1” type=“DURATION” val=“P2W” beginPoint=“t2” endPoint=“t3”>

two weeks

</TIMEX3>

<SIGNAL sid=“s1”>

from

</SIGNAL>

<TIMEX3 tid=“t2” type=“DATE” val=“2003-06-16”>

today

</TIMEX3>.

<TIMEX3 tid=“t3” type=“DATE” val=“2003-06-30” tempFunction=“true” anchorTimeID=“t1” />

 

<TLINK eventInstanceID=“ei1” relatedToTime=“t3” relType=“IS_INCLUDED” />

<TLINK timeId=“t2” signalID=“s1” relatedToTime=“t1” relType=“BEGINS” />

 

g)    John arrived two weeks after Mary left.

John 

<EVENT eid="e1" class="OCCURRENCE" >

arrived

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PAST” aspect=”NONE”/>

<TIMEX3 tid=“t1” type=“DURATION” val=“P2W” beginPoint=“t2” endPoint=“t3”>

two weeks

</TIMEX3>

<SIGNAL sid=“s1”>

after

</SIGNAL>

Mary

<EVENT eid="e2" class="OCCURRENCE" tense="PAST" aspect="NONE">

left

</EVENT>

<MAKEINSTANCE eiid=”ei2” eventID=”e2” tense=”PAST” aspect=”NONE”/>.

<TIMEX3 tid=“t2” type=“DATE” val=“xxxx-xx-xx” tempFunction=“true” anchorTimeID=“t1” />

<TIMEX3 tid=“t3” type=“DATE” val=“xxxx-xx-xx” tempFunction=“true” anchorTimeID=“t1” />

 

<TLINK eventInstanceID=“ei1” relatedToTime=“t3” relType=“IS_INCLUDED” />

<TLINK eventInstanceID=“ei2” relatedToTime=“t2” relType=“IS_INCLUDED” />

<TLINK eventInstanceID=“ei2” signalID=“s1” relatedToTime=“t1” relType=“BEGINS” />

 

h)   John taught from 1992 through 1995.

John

<EVENT eid="e1" class="OCCURRENCE">

taught

</EVENT>

<MAKEINSTANCE eiid=”ei1” eventID=”e1” tense=”PAST” aspect=”NONE”/>

<SIGNAL sid="s1">

from

</SIGNAL>

<TIMEX3 tid="t1" type="DATE" value="1992">

1992

</TIMEX3>

<SIGNAL sid="s2">

through

</SIGNAL>

<TIMEX3 tid="t2" type="DATE" value="1995">

1995

</TIMEX3>

<TIMEX3 tid=“t3” type=“DURATION” value=“P4Y” beginPoint=t1 endPoint=t2 />

 

<TLINK eventInstanceID=“ei1” relatedToTime=“t3” relType=“DURING” />

<TLINK eventInstanceID="ei1" signalID="s1" relatedToTime="t1" relType="BEGUN_BY"/>

<TLINK eventInstanceID="ei1" signalID="s2" relatedToTime="t2" relType="ENDED_BY"/>