Timelines from Text Finding Event Order and Relations in Narratives - - PowerPoint PPT Presentation

timelines from text
SMART_READER_LITE
LIVE PREVIEW

Timelines from Text Finding Event Order and Relations in Narratives - - PowerPoint PPT Presentation

Timelines from Text Finding Event Order and Relations in Narratives David Woods dwoods@tcd.ie Introduction Strings of Events Combinations of Worlds Intervals, Points, and Borders Outline Temporal Information in Text What Does It Look Like?


slide-1
SLIDE 1

Timelines from Text

Finding Event Order and Relations in Narratives

David Woods dwoods@tcd.ie

slide-2
SLIDE 2

Outline

Introduction Strings of Events Combinations of Worlds Intervals, Points, and Borders Temporal Information in Text What Does It Look Like? Applications Questions?

slide-3
SLIDE 3

Introduction

slide-4
SLIDE 4

Introduction

What exactly are we trying to do?

slide-5
SLIDE 5

Introduction

What exactly are we trying to do? Build a system to automatically extract a (possibly non-deterministic) linear order over the events and times mentioned in a text.

slide-6
SLIDE 6

Introduction

What exactly are we trying to do? Why? Build a system to automatically extract a (possibly non-deterministic) linear order over the events and times mentioned in a text.

slide-7
SLIDE 7

Introduction

What exactly are we trying to do? Why? Build a system to automatically extract a (possibly non-deterministic) linear order over the events and times mentioned in a text. Tooling for computer-aided annotation, improving QA systems, …

slide-8
SLIDE 8

Introduction

What exactly are we trying to do? Why? What use are strings? Build a system to automatically extract a (possibly non-deterministic) linear order over the events and times mentioned in a text. Tooling for computer-aided annotation, improving QA systems, …

slide-9
SLIDE 9

Introduction

What exactly are we trying to do? Why? What use are strings? Build a system to automatically extract a (possibly non-deterministic) linear order over the events and times mentioned in a text. Tooling for computer-aided annotation, improving QA systems, … Strings are basic computational entities, and are amenable to finite-state methods. Plus they look a bit like timelines already!

slide-10
SLIDE 10

Introduction

slide-11
SLIDE 11

Introduction

e1 e2 e3 e4 e5 e6 e7 e8 e10 e9 e11 ...

slide-12
SLIDE 12

Introduction

Some related work:

  • Allen’s (1983) interval algebra: ways of relating different intervallic events
  • Discourse Representation Theory (Kamp, 1981): a formal framework for abstractly representing

meaning

  • TimeML (2005) / ISO-TimeML (2010): a markup language for annotating temporal information in

a text We’ll cover these shortly!

slide-13
SLIDE 13

Strings of Events

slide-14
SLIDE 14

Sequences of Symbols

What exactly do we mean by a “string”?

slide-15
SLIDE 15

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols...

slide-16
SLIDE 16

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols... Each symbol represents a set which contains some information we’re interested in. By allowing finite sets to be encoded as symbols, we can have strings of sets.

slide-17
SLIDE 17

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols... Each symbol represents a set which contains some information we’re interested in. By allowing finite sets to be encoded as symbols, we can have strings of sets. {1, 2, 3}, {5, 8}, { }, {3} ...

slide-18
SLIDE 18

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols... Each symbol represents a set which contains some information we’re interested in. By allowing finite sets to be encoded as symbols, we can have strings of sets. {1, 2, 3}, {5, 8}, { }, {3} {x, y}, {y}, {y, z} ...

slide-19
SLIDE 19

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols... Each symbol represents a set which contains some information we’re interested in. By allowing finite sets to be encoded as symbols, we can have strings of sets. {1, 2, 3}, {5, 8}, { }, {3} {x, y}, {y}, {y, z} {cats}, {dogs}, {rabbits} ...

slide-20
SLIDE 20

Sequences of Symbols

What exactly do we mean by a “string”? A sequence of symbols... Each symbol represents a set which contains some information we’re interested in. By allowing finite sets to be encoded as symbols, we can have strings of sets. {1, 2, 3}, {5, 8}, { }, {3} {x, y}, {y}, {y, z} {cats}, {dogs}, {rabbits} {event1, event2}, {event3} ...

slide-21
SLIDE 21

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events.

slide-22
SLIDE 22

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events. For example, the fluent js might correspond to an event such as “John sleeps”, and t1 might be a timepoint like “1pm”.

slide-23
SLIDE 23

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events. For example, the fluent js might correspond to an event such as “John sleeps”, and t1 might be a timepoint like “1pm”. By including these fluents in the same set, we indicate they occurred concurrently: ..., {js, t1}, ...

slide-24
SLIDE 24

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events. For example, the fluent js might correspond to an event such as “John sleeps”, and t1 might be a timepoint like “1pm”. By including these fluents in the same set, we indicate they occurred concurrently: ..., {js, t1}, ... The left-to-right order of the sets in the string represents the chronological ordering of the temporal data.

slide-25
SLIDE 25

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events. For example, the fluent js might correspond to an event such as “John sleeps”, and t1 might be a timepoint like “1pm”. By including these fluents in the same set, we indicate they occurred concurrently: ..., {js, t1}, ... The left-to-right order of the sets in the string represents the chronological ordering of the temporal data. Each set represents a compressible moment of time, with no assumptions as to its real-world duration.

slide-26
SLIDE 26

Representing Temporal Data

Each set will contain temporal data, called fluents, which represent times and events. For example, the fluent js might correspond to an event such as “John sleeps”, and t1 might be a timepoint like “1pm”. By including these fluents in the same set, we indicate they occurred concurrently: ..., {js, t1}, ... The left-to-right order of the sets in the string represents the chronological ordering of the temporal data. Each set represents a compressible moment of time, with no assumptions as to its real-world duration. Therefore, they correspond to intervals of time (we’ll come back to this idea later).

slide-27
SLIDE 27

In case you’re interested...

  • Fix a finite set A of fluents (which name times and events).
slide-28
SLIDE 28

In case you’re interested...

  • Fix a finite set A of fluents (which name times and events).
  • A string s = α1···αn of subsets αi of A is construed as a finite model,

consisting of n moments of time, i ∈ {1, ..., n}.

slide-29
SLIDE 29

In case you’re interested...

  • Fix a finite set A of fluents (which name times and events).
  • A string s = α1···αn of subsets αi of A is construed as a finite model,

consisting of n moments of time, i ∈ {1, ..., n}.

  • Each αi specifies all fluents in A that hold simultaneously at i.
slide-30
SLIDE 30

In case you’re interested...

  • Fix a finite set A of fluents (which name times and events).
  • A string s = α1···αn of subsets αi of A is construed as a finite model,

consisting of n moments of time, i ∈ {1, ..., n}.

  • Each αi specifies all fluents in A that hold simultaneously at i.
  • Each αi is understood to occur chronologically before αj if and only if i < j.
slide-31
SLIDE 31

In case you’re interested...

  • Fix a finite set A of fluents (which name times and events).
  • A string s = α1···αn of subsets αi of A is construed as a finite model,

consisting of n moments of time, i ∈ {1, ..., n}.

  • Each αi specifies all fluents in A that hold simultaneously at i.
  • Each αi is understood to occur chronologically before αj if and only if i < j.
  • The powerset 2A of A will serve as an alphabet Σ = 2A of a string s ∈ Σ+.
slide-32
SLIDE 32

“But neither does time exist without change”

– Aristotle, Physics IV

slide-33
SLIDE 33

Notational Convenience

To save on writing out braces {...} for every set, and to reinforce the notion of a timeline, we use boxes ... to contain the sets in our strings.

{x, y}, {y}, {y, z}

slide-34
SLIDE 34

Notational Convenience

To save on writing out braces {...} for every set, and to reinforce the notion of a timeline, we use boxes ... to contain the sets in our strings. The boxes are glued together in sequence to form the same string.

{x, y}, {y}, {y, z} x, y y y, z

slide-35
SLIDE 35

Notational Convenience

To save on writing out braces {...} for every set, and to reinforce the notion of a timeline, we use boxes ... to contain the sets in our strings. The boxes are glued together in sequence to form the same string. Note that an empty set/box is not the same as an empty string! Other events may be occurring during this time, but they are not named in our alphabet.

{x, y}, {y}, {y, z} x, y y y, z {x, y}, { }, {y, z} x, y y, z

slide-36
SLIDE 36

Stuttering Strings

Since we don’t assign a fixed duration to any box, the strings may stutter without its interpretation being affected.

slide-37
SLIDE 37

Stuttering Strings

Since we don’t assign a fixed duration to any box, the strings may stutter without its interpretation being affected. a a, b a, b b

a a, b b

slide-38
SLIDE 38

Stuttering Strings

Since we don’t assign a fixed duration to any box, the strings may stutter without its interpretation being affected. A string component can stutter any number of times in this way. a a, b a, b b

a a, b b

slide-39
SLIDE 39

Stuttering Strings

Since we don’t assign a fixed duration to any box, the strings may stutter without its interpretation being affected. A string component can stutter any number of times in this way. Being able to intentionally introduce and remove stutter in a string will be convenient in the next section. a a, b a, b b

a a, b b

slide-40
SLIDE 40

Stuttering Strings

Since we don’t assign a fixed duration to any box, the strings may stutter without its interpretation being affected. A string component can stutter any number of times in this way. Being able to intentionally introduce and remove stutter in a string will be convenient in the next section. We will consider a string with no stutter to be the simplest representation of that sequence of events. a a, b a, b b

a a, b b

slide-41
SLIDE 41

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event.

slide-42
SLIDE 42

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event. This means that if an event were to stop, and then start again later, the distinct parts must be named uniquely.

slide-43
SLIDE 43

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event. This means that if an event were to stop, and then start again later, the distinct parts must be named uniquely. This prevents confusion and helps identify inconsistencies.

slide-44
SLIDE 44

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event. This means that if an event were to stop, and then start again later, the distinct parts must be named uniquely. This prevents confusion and helps identify inconsistencies. For example, “It rained from 10 till noon, then again from 3 till 9.”

slide-45
SLIDE 45

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event. This means that if an event were to stop, and then start again later, the distinct parts must be named uniquely. This prevents confusion and helps identify inconsistencies. For example, “It rained from 10 till noon, then again from 3 till 9.” Rather than looking like rain rain

slide-46
SLIDE 46

An Assumption

One assumption to take note of here is that each symbol in our fluent alphabet names an event instance, rather than an event. This means that if an event were to stop, and then start again later, the distinct parts must be named uniquely. This prevents confusion and helps identify inconsistencies. For example, “It rained from 10 till noon, then again from 3 till 9.” Rather than looking like rain rain A well-formed string will be more like rain1 rain2

slide-47
SLIDE 47

A well-formed string will look like rain1 rain2 A realistic, Irish string will look like... rain rain rain

slide-48
SLIDE 48

Combinations of Worlds

slide-49
SLIDE 49

Strings As Worlds

In essence, each string is a small representation

  • f a world, one denoted by the events we are

interested in.

slide-50
SLIDE 50

Strings As Worlds

In essence, each string is a small representation

  • f a world, one denoted by the events we are

interested in. A world where a happened, then b, then c.

a b c

slide-51
SLIDE 51

Strings As Worlds

In essence, each string is a small representation

  • f a world, one denoted by the events we are

interested in. Different strings may represent different worlds, describing alternate sequences of events which took place. A world where a happened, then b, then c.

a b c

slide-52
SLIDE 52

c d a

Strings As Worlds

In essence, each string is a small representation

  • f a world, one denoted by the events we are

interested in. Different strings may represent different worlds, describing alternate sequences of events which took place. A world where a happened, then b, then c.

a b c

A world where c happened before a, and d happened between them instead of b.

slide-53
SLIDE 53

c d a

Strings As Worlds

In essence, each string is a small representation

  • f a world, one denoted by the events we are

interested in. Different strings may represent different worlds, describing alternate sequences of events which took place. Separate strings might also represent different projections of the same world. A world where a happened, then b, then c.

a b c

A world where c happened before a, and d happened between them instead of b.

slide-54
SLIDE 54

Projections

Some terminology:

slide-55
SLIDE 55

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

slide-56
SLIDE 56

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

slide-57
SLIDE 57

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

slide-58
SLIDE 58

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

slide-59
SLIDE 59

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'.

slide-60
SLIDE 60

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'. For example: s = a b, c c, d d s' = a d

slide-61
SLIDE 61

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'. For example: s = a b, c c, d d s' = a d voc(s') = {a, d}

slide-62
SLIDE 62

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'. For example: s = a b, c c, d d s' = a d voc(s') = {a, d} ρvoc(s')(s) = a d d

slide-63
SLIDE 63

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'. For example: s = a b, c c, d d s' = a d voc(s') = {a, d} ρvoc(s')(s) = a d d bc(ρvoc(s')(s)) = a d = s'

slide-64
SLIDE 64

Projections

Some terminology:

  • Vocabulary of a string: the set of fluents appearing in

that string

  • Reduct (wrt some set A): an operation to reduce the

vocabulary of a string to just the fluents appearing in A

We say a string s projects to another s' iff:

bc(ρvoc(s')(s)) = s'

i.e. Reducing s to the vocabulary of s' and then removing any stutter produces s'. For example: s = a b, c c, d d s' = a d voc(s') = {a, d} ρvoc(s')(s) = a d d bc(ρvoc(s')(s)) = a d = s' ∴ s projects to s'

slide-65
SLIDE 65

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.
slide-66
SLIDE 66

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.

For example, if we have two strings a b and b c , then it would be convenient to collapse these into a single string: a b c .

slide-67
SLIDE 67

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.

For example, if we have two strings a b and b c , then it would be convenient to collapse these into a single string: a b c . Not only is this more compact, it allows us to determine that a occurred before c - not obvious from either original string alone.

slide-68
SLIDE 68

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.

For example, if we have two strings a b and b c , then it would be convenient to collapse these into a single string: a b c . Not only is this more compact, it allows us to determine that a occurred before c - not obvious from either original string alone. We can do this using superposition.

slide-69
SLIDE 69

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.

For example, if we have two strings a b and b c , then it would be convenient to collapse these into a single string: a b c . Not only is this more compact, it allows us to determine that a occurred before c - not obvious from either original string alone. We can do this using superposition. In its most basic form, this is just the component-wise union of two strings: x y & p q = x, p y, q

slide-70
SLIDE 70

Superposition of Strings

Strings become more useful when we can combine them together - fusing multiple views

  • f a world into a single sequence.

For example, if we have two strings a b and b c , then it would be convenient to collapse these into a single string: a b c . Not only is this more compact, it allows us to determine that a occurred before c - not obvious from either original string alone. We can do this using superposition. In its most basic form, this is just the component-wise union of two strings: x y & p q = x, p y, q Following a more complex algorithm allows superposition to asynchronously combine strings of differing lengths which are projections

  • f the same world.
slide-71
SLIDE 71

Superposition of Strings

1. Introduce stutter into one or both of the strings to be superposed.

slide-72
SLIDE 72

Superposition of Strings

1. Introduce stutter into one or both of the strings to be superposed. 2. Select strings of equal length, and perform basic superposition.

slide-73
SLIDE 73

Superposition of Strings

1. Introduce stutter into one or both of the strings to be superposed. 2. Select strings of equal length, and perform basic superposition. 3. Reject results which will not be well-formed (i.e. break our assumption of non-resumptive events) - we can also impose other external constraints here.

slide-74
SLIDE 74

Superposition of Strings

1. Introduce stutter into one or both of the strings to be superposed. 2. Select strings of equal length, and perform basic superposition. 3. Reject results which will not be well-formed (i.e. break our assumption of non-resumptive events) - we can also impose other external constraints here. 4. Collect set of remaining results.

slide-75
SLIDE 75

Superposition of Strings

1. Introduce stutter into one or both of the strings to be superposed. 2. Select strings of equal length, and perform basic superposition. 3. Reject results which will not be well-formed (i.e. break our assumption of non-resumptive events) - we can also impose other external constraints here. 4. Collect set of remaining results. Full details of the algorithm can be found here: https://www.scss.tcd.ie/~dwoods/isa14

slide-76
SLIDE 76

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.
slide-77
SLIDE 77

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity.

slide-78
SLIDE 78

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity. e.g. a b & a c = ?

slide-79
SLIDE 79

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity. e.g. a b & a c = ? We don’t know the relation between b and c in this scenario. Superposition will generate a string for every possibility.

slide-80
SLIDE 80

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity. e.g. a b & a c = ? We don’t know the relation between b and c in this scenario. Superposition will generate a string for every possibility. The strings in a language are alternate timelines

  • f a single world. Each is equally possible if we

don’t have more information.

slide-81
SLIDE 81

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity. e.g. a b & a c = ? We don’t know the relation between b and c in this scenario. Superposition will generate a string for every possibility. The strings in a language are alternate timelines

  • f a single world. Each is equally possible if we

don’t have more information. Languages may also be superposed - this can either increase or decrease the number of possible timelines depending on what information is introduced.

slide-82
SLIDE 82

Languages As Parallel Worlds

Superposing in this asynchronous way can result in a set of strings (called a language) as

  • utput.

This occurs when there is some unresolved ambiguity. e.g. a b & a c = ? We don’t know the relation between b and c in this scenario. Superposition will generate a string for every possibility. The strings in a language are alternate timelines

  • f a single world. Each is equally possible if we

don’t have more information. Languages may also be superposed - this can either increase or decrease the number of possible timelines depending on what information is introduced. In some cases it may also be possible to change the nature of our basic units to conflate a language with a single string...

slide-83
SLIDE 83

Try to avoid having too many parallel worlds!

slide-84
SLIDE 84

Intervals, Points, and Borders

slide-85
SLIDE 85

Basic Units

The type of unit we treat as basic can have a significant impact on the complexity and accuracy of the strings.

slide-86
SLIDE 86

Basic Units

The type of unit we treat as basic can have a significant impact on the complexity and accuracy of the strings. Three main options to consider: intervals, points, and semi-intervals.

slide-87
SLIDE 87

Basic Units

The type of unit we treat as basic can have a significant impact on the complexity and accuracy of the strings. Three main options to consider: intervals, points, and semi-intervals. There is a translation to compress intervals to points, but the inverse is not possible. We can also translate intervals to semi-intervals, and the inverse is often (but not necessarily) possible.

slide-88
SLIDE 88

Allen’s Interval Algebra

Intervals have some duration.

slide-89
SLIDE 89

Allen’s Interval Algebra

Intervals have some duration. They can overlap, and so can be arranged in more ways than points can.

slide-90
SLIDE 90

Allen’s Interval Algebra

Intervals have some duration. They can overlap, and so can be arranged in more ways than points can. The thirteen possibilities for a pair of intervals are known as Allen Relations, after James Allen’s 1983 work.

slide-91
SLIDE 91

Allen’s Interval Algebra

Intervals have some duration. They can overlap, and so can be arranged in more ways than points can. The thirteen possibilities for a pair of intervals are known as Allen Relations, after James Allen’s 1983 work. Can be subdivided into smaller intervals if desired.

slide-92
SLIDE 92

Allen’s Interval Algebra

Intervals have some duration. They can overlap, and so can be arranged in more ways than points can. The thirteen possibilities for a pair of intervals are known as Allen Relations, after James Allen’s 1983 work. Can be subdivided into smaller intervals if desired. Used in annotation systems such as TimeML:

<TLINK relType="IS_INCLUDED" timeID="t1" relatedToEventInstance="ei9"/>

slide-93
SLIDE 93

Allen’s Interval Algebra

Intervals have some duration. They can overlap, and so can be arranged in more ways than points can. The thirteen possibilities for a pair of intervals are known as Allen Relations, after James Allen’s 1983 work. Can be subdivided into smaller intervals if desired. Used in annotation systems such as TimeML:

<TLINK relType="IS_INCLUDED" timeID="t1" relatedToEventInstance="ei9"/>

Interestingly, the thirteen relations fall out of superposing two strings that each feature a single interval.

slide-94
SLIDE 94

Allen’s Interval Algebra a b & = a b b a a b b a a b a, b b a a, b b b a, b a a a, b b a, b a a, b b a, b a a, b a, b

slide-95
SLIDE 95

Allen’s Interval Algebra a b & = a b b a a b b a a b a, b b a a, b b b a, b a a a, b b a, b a a, b b a, b a a, b a, b

Border boxes show that the interval is finite

slide-96
SLIDE 96

Point-based Strings

Durationless points are an alternative to intervals.

slide-97
SLIDE 97

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after.

slide-98
SLIDE 98

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.
slide-99
SLIDE 99

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy…

slide-100
SLIDE 100

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy… For example, “During breakfast, I ate cereal, then ate toast.”

slide-101
SLIDE 101

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy… For example, “During breakfast, I ate cereal, then ate toast.” Breakfast and cereal-eating are treated as concurrent: b, c

slide-102
SLIDE 102

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy… For example, “During breakfast, I ate cereal, then ate toast.” Breakfast and cereal-eating are treated as concurrent: b, c As are breakfast and toast-eating: b, t

slide-103
SLIDE 103

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy… For example, “During breakfast, I ate cereal, then ate toast.” Breakfast and cereal-eating are treated as concurrent: b, c As are breakfast and toast-eating: b, t But cereal-eating is before toast-eating: c t

slide-104
SLIDE 104

Point-based Strings

Durationless points are an alternative to intervals. A pair of points can only be arranged in three ways: before, equals, after. Fewer possible arrangements means fewer

  • utcomes from combining strings.

Lower complexity, but at the cost of accuracy… For example, “During breakfast, I ate cereal, then ate toast.” Breakfast and cereal-eating are treated as concurrent: b, c As are breakfast and toast-eating: b, t But cereal-eating is before toast-eating: c t These three strings are not mutually consistent, as the durative nature has been lost.

slide-105
SLIDE 105

Freksa’s Semi-Intervals

What are semi-intervals?

slide-106
SLIDE 106

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se).

slide-107
SLIDE 107

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders.

slide-108
SLIDE 108

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity.

slide-109
SLIDE 109

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols).

slide-110
SLIDE 110

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols). Can describe two events as starting simultaneously, without commenting on which ends first (head to head).

slide-111
SLIDE 111

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols). Can describe two events as starting simultaneously, without commenting on which ends first (head to head). l(e1) = l(e2), r(e1) < or = or > r(e2)

slide-112
SLIDE 112

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols). Can describe two events as starting simultaneously, without commenting on which ends first (head to head). l(e1) = l(e2), r(e1) < or = or > r(e2) l(e1), l(e2) r(e1) r(e2) l(e1), l(e2) r(e1), r(e2) l(e1), l(e2) r(e2) r(e1) OR OR

slide-113
SLIDE 113

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols). Can describe two events as starting simultaneously, without commenting on which ends first (head to head). l(e1) = l(e2), r(e1) < or = or > r(e2) l(e1), l(e2) l(e1), l(e2) l(e1), l(e2)

slide-114
SLIDE 114

Freksa’s Semi-Intervals

What are semi-intervals? Neither point, nor interval (per se). Defined as “beginnings and endings of events” (Freksa, 1992), i.e. the borders. Allows us to look at more complex relations between events, including ambiguity. Strings based on semi-intervals are also more complex (twice as many symbols). Can describe two events as starting simultaneously, without commenting on which ends first (head to head). l(e1) = l(e2), r(e1) < or = or > r(e2) l(e1), l(e2) l(e1), l(e2) l(e1), l(e2) The three alternatives boil down to the same string - an advantage over pure intervals.

slide-115
SLIDE 115

Points Intervals Semi-intervals

e1 e2 e1 l(e1) r(e1) e2 l(e2) r(e2)

slide-116
SLIDE 116

Temporal Relations

Each approach allows for different numbers of relations to be found between events.

slide-117
SLIDE 117

Temporal Relations

Each approach allows for different numbers of relations to be found between events. Point-based: 3

Events are points:

< = >

slide-118
SLIDE 118

Temporal Relations

Each approach allows for different numbers of relations to be found between events. Point-based: 3 Interval-based: 13

Events are points:

< = >

Events are intervals:

< m d o s f = fi si oi di mi >

slide-119
SLIDE 119

Temporal Relations

Each approach allows for different numbers of relations to be found between events. Point-based: 3 Interval-based: 13 Semi-interval-based: 29

Events are points:

< = >

Events are intervals:

< m d o s f = fi si oi di mi >

Events are semi-intervals:

< m d o s f = fi si oi di mi > ob oc hh yc bc tt sc ys ol yo sb sv ct bd db ?

slide-120
SLIDE 120

Temporal Information in Text

slide-121
SLIDE 121

Extracting Temporal Data

The “gold standard” for identifying events in text?

slide-122
SLIDE 122

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement.

slide-123
SLIDE 123

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement. The TimeBank corpus contains hundreds of documents manually annotated with TimeML.

slide-124
SLIDE 124

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement. Automatic systems are improving, though modern machine learning approaches have weaknesses. The TimeBank corpus contains hundreds of documents manually annotated with TimeML.

slide-125
SLIDE 125

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement. Automatic systems are improving, though modern machine learning approaches have weaknesses. The TimeBank corpus contains hundreds of documents manually annotated with TimeML. Even correctly identifying part-of-speech automatically is not completely solved!

slide-126
SLIDE 126

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement. Automatic systems are improving, though modern machine learning approaches have weaknesses. Combining an approach from classic semantics with a data-driven one? The TimeBank corpus contains hundreds of documents manually annotated with TimeML. Even correctly identifying part-of-speech automatically is not completely solved!

slide-127
SLIDE 127

Extracting Temporal Data

The “gold standard” for identifying events in text? Still human judgement. Automatic systems are improving, though modern machine learning approaches have weaknesses. Combining an approach from classic semantics with a data-driven one? The TimeBank corpus contains hundreds of documents manually annotated with TimeML. Even correctly identifying part-of-speech automatically is not completely solved! Focus on the temporal data while retaining a link to the bigger picture.

slide-128
SLIDE 128

Discourse Representation Theory

DRT - created by Hans Kamp (1981).

slide-129
SLIDE 129

Discourse Representation Theory

DRT - created by Hans Kamp (1981). A well-understood formal semantics framework for handling meaning.

slide-130
SLIDE 130

Discourse Representation Theory

DRT - created by Hans Kamp (1981). A well-understood formal semantics framework for handling meaning. Made up of structures (DRSs) which feature discourse referents (the entities involved) and DRS conditions which give info about the referents.

slide-131
SLIDE 131

Discourse Representation Theory

DRT - created by Hans Kamp (1981). A well-understood formal semantics framework for handling meaning. Made up of structures (DRSs) which feature discourse referents (the entities involved) and DRS conditions which give info about the referents. “A boy buys a book.” x y boy(x) book(y) buys(x, y)

slide-132
SLIDE 132

Discourse Representation Theory

DRT - created by Hans Kamp (1981). A well-understood formal semantics framework for handling meaning. Made up of structures (DRSs) which feature discourse referents (the entities involved) and DRS conditions which give info about the referents. “A boy buys a book.” x y boy(x) book(y) buys(x, y)

slide-133
SLIDE 133

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG.

slide-134
SLIDE 134

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output.

slide-135
SLIDE 135

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. “France is conquering Belgium.”

slide-136
SLIDE 136

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. “France is conquering Belgium.”

  • verlap

equals includes

slide-137
SLIDE 137

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. “France is conquering Belgium.”

  • verlap

equals includes

Not the same as Allen’s Relations!

slide-138
SLIDE 138

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. We can determine the tense and aspect from this. “France is conquering Belgium.”

slide-139
SLIDE 139

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. We can determine the tense and aspect from this. By assuming that the document creation time is the “speech time”, we can build a Reichenbachian analysis of an event. “France is conquering Belgium.”

slide-140
SLIDE 140

Boxer and Reichenbach

Boxer is a tool to generate DRSs from text (Bos, 2008, 2015), using an intermediate CCG. Includes temporal information in its output. We can determine the tense and aspect from this. By assuming that the document creation time is the “speech time”, we can build a Reichenbachian analysis of an event. “France is conquering Belgium.” Not perfect!

slide-141
SLIDE 141

Boxer and Reichenbach

Reichenbach’s (1947) theory of tense and aspect is a well-known way of attaining those features from an ordering of three times: the event (E), a reference timepoint (R), and a speech timepoint (S).

slide-142
SLIDE 142

Boxer and Reichenbach

Reichenbach’s (1947) theory of tense and aspect is a well-known way of attaining those features from an ordering of three times: the event (E), a reference timepoint (R), and a speech timepoint (S).

E < R < S Past Perfect “I had eaten by the end of the day.” E = R < S Simple Past “I watched the match.” E = R = S Simple Present “I see a dog.” S < R = E Simple Future “I will drive home this evening.”

slide-143
SLIDE 143

Boxer and Reichenbach

Reichenbach’s (1947) theory of tense and aspect is a well-known way of attaining those features from an ordering of three times: the event (E), a reference timepoint (R), and a speech timepoint (S).

E < R < S Past Perfect “I had eaten by the end of the day.” E = R < S Simple Past “I watched the match.” E = R = S Simple Present “I see a dog.” S < R = E Simple Future “I will drive home this evening.”

The discussion of intervals and points arises here too - the progressive aspect is achieved by treating E as an interval. For example:

E0 < R = S < E1 Present Progressive “I’m reading a book”

slide-144
SLIDE 144

Boxer and Reichenbach

Once we have the tense, aspect, and event from the Boxer output, we can construct a string based

  • n Reichenbach’s arrangement of E, R, and S.
slide-145
SLIDE 145

Boxer and Reichenbach

Once we have the tense, aspect, and event from the Boxer output, we can construct a string based

  • n Reichenbach’s arrangement of E, R, and S. For example:

“I saw the movie on Tuesday.” becomes something like

slide-146
SLIDE 146

Boxer and Reichenbach

Once we have the tense, aspect, and event from the Boxer output, we can construct a string based

  • n Reichenbach’s arrangement of E, R, and S. For example:

“I saw the movie on Tuesday.” becomes something like see(me, movie), tuesday now where see(me, movie) is E, tuesday is R, and now is S.

slide-147
SLIDE 147

Boxer and Reichenbach

Once we have the tense, aspect, and event from the Boxer output, we can construct a string based

  • n Reichenbach’s arrangement of E, R, and S. For example:

“I saw the movie on Tuesday.” becomes something like see(me, movie), tuesday now where see(me, movie) is E, tuesday is R, and now is S. If the reference time is not explicit (e.g. just “I saw the movie”), an implicit fluent ref is inserted (though we typically omit it from the final output).

slide-148
SLIDE 148

Boxer and Reichenbach

Once we have the tense, aspect, and event from the Boxer output, we can construct a string based

  • n Reichenbach’s arrangement of E, R, and S. For example:

“I saw the movie on Tuesday.” becomes something like see(me, movie), tuesday now where see(me, movie) is E, tuesday is R, and now is S. If the reference time is not explicit (e.g. just “I saw the movie”), an implicit fluent ref is inserted (though we typically omit it from the final output). This string can then be superposed with other strings from the same text to build up timelines.

slide-149
SLIDE 149

What Does It Look Like?

slide-150
SLIDE 150

Pipeline

1. Raw text

slide-151
SLIDE 151

Pipeline

1. Raw text 2. Tokeniser

slide-152
SLIDE 152

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling

slide-153
SLIDE 153

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG

slide-154
SLIDE 154

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG 5. Interpreted by Boxer

slide-155
SLIDE 155

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG 5. Interpreted by Boxer 6. Parsed for temporal information

slide-156
SLIDE 156

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG 5. Interpreted by Boxer 6. Parsed for temporal information 7. String formed using Reichenbachian analysis

slide-157
SLIDE 157

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG 5. Interpreted by Boxer 6. Parsed for temporal information 7. String formed using Reichenbachian analysis 8. String superposed with any other strings already found*

*Only if the strings share some vocabulary!

slide-158
SLIDE 158

Pipeline

1. Raw text 2. Tokeniser 3. POS-labelling 4. Parsed by Boxer’s CCG 5. Interpreted by Boxer 6. Parsed for temporal information 7. String formed using Reichenbachian analysis 8. String superposed with any other strings already found* 9. Timeline(s) produced

*Only if the strings share some vocabulary!

slide-159
SLIDE 159

A Tiny Example

“Jim retired, and now he travels to London. He’ll have fun.”

slide-160
SLIDE 160

A Tiny Example

Boxer output

slide-161
SLIDE 161

A Tiny Example

Boxer output?

slide-162
SLIDE 162

A Tiny Example

Actual Boxer output...

slide-163
SLIDE 163

A Tiny Example

Actual Boxer output... There are still some steps to work through...

slide-164
SLIDE 164

A Tiny Example

Using the sliiiightly modified text “Jim retired. Jim travels to London. Jim will have fun.” we get a better

  • utput for the temporal information, which we turn into strings:

retire(jim), ref1 now travel(jim, london), ref2, now now haveFun(jim), ref3

slide-165
SLIDE 165

A Tiny Example

Finally we superpose these strings to give an output (omitting the reference times): retire(jim) travel(jim, london), now haveFun(jim)

slide-166
SLIDE 166

Applications

slide-167
SLIDE 167

Applications

Automatic summarisation of a document

slide-168
SLIDE 168

Applications

Automatic summarisation of a document Fact-checking via corroboration between sources

slide-169
SLIDE 169

Applications

Automatic summarisation of a document Fact-checking via corroboration between sources Tooling for automatic aiding of annotation (e.g. consistency-checking)

slide-170
SLIDE 170

Applications

Automatic summarisation of a document Fact-checking via corroboration between sources Tooling for automatic aiding of annotation (e.g. consistency-checking) Question-answering systems which rely on temporal info (“What was the employee doing during the last inspection?”)

slide-171
SLIDE 171

Applications

Automatic summarisation of a document Fact-checking via corroboration between sources Tooling for automatic aiding of annotation (e.g. consistency-checking) Question-answering systems which rely on temporal info (“What was the employee doing during the last inspection?”) The current implementation has also been used to solve problems in non-temporal domains - for example, the Zebra Puzzle (aka the Einstein Puzzle)

slide-172
SLIDE 172

Further Work

What are we still working on?

slide-173
SLIDE 173

Further Work

What are we still working on? Evaluating the choice of basic units (intervals, points, semi-intervals) - using a combined approach?

slide-174
SLIDE 174

Further Work

What are we still working on? Evaluating the choice of basic units (intervals, points, semi-intervals) - using a combined approach? Developing out the pipeline

slide-175
SLIDE 175

Further Work

What are we still working on? Evaluating the choice of basic units (intervals, points, semi-intervals) - using a combined approach? Developing out the pipeline Evaluation of Boxer-based output compared to human annotation-based output

slide-176
SLIDE 176

Thanks!

Any questions? dwoods@tcd.ie

Slides available here: https://www.scss.tcd.ie/~dwoods/dclrs1119