22.3.2 Temporal Normalization
The task of recognizing temporal expressions is typically followed by the task of normalization. Temporal normalization refers to the process of mapping a temporal expression to either a specific point in time, or to a duration. Points in time correspond either to calendar dates or to times of day (or both). Durations primarily consist of lengths of time, but may also include information concerning the start and end points of a duration when that information is available.
Normalized representations of temporal expressions are captured using the VALUE attribute from the ISO 8601 standard for encoding temporal values(ISO8601.2004). To illustrate some aspects of this scheme, let's return to our earlier example, reproduced in Fig. 22.21 with the value attributes added in.
The dateline, or document date, for this text was July 2, 2007. The ISO representation for this kind of fully qualified date expression is YYYY-MM-DD, or in this case, 2007-07-02. The encodings for the temporal expressions in our sample text all follow from this date, and are shown here as values for the VALUE attribute. Let's consider each of these temporal expressions in turn.
The first temporal expression in the text proper refers to a particular week of the year. In the ISO standard, weeks are numbered from 01 to 53, with the first week of the year being the one that has the first Thursday of the year. These weeks are represented using the template YYYY-Wnn. The ISO week for our document date is week 27, thus the value for last week is represented as “2007-W26”.
The next temporal expression is the weekend. ISO weeks begin on Monday, thus, weekends occur at the end of a week and are fully contained within a single week. Weekends are treated as durations, so the value of the VALUE attribute has to be a length. Durations are represented using the pattern Pnx, where n is an integer denoting the length and x represents the unit, as in P3Y for three years or P2D for two days. In this example, one weekend is captured as P1WE. In this case, there is also sufficient information to anchor this particular weekend as part of a particular week. Such information is encoded in the ANCHORTIMEID attribute. Finally, the phrase two weeks also denotes a duration captured as P2W.
| Unit | Pattern | Sample Value |
| Fully Specified Dates Weeks | YYYY-MM-DD | 1991-09-28 |
| YYYY-nnW | 2007-27W | |
| Weekends | PnWE | P1WE |
| 24 hour clock times | HH:MM:SS | 11:13:45 |
| Dates and Times | YYYY-MM-DDTHH:MM:SS | 1991-09-28T11:00:00 |
| Financial quarters | Qn | 1999-3Q |
There is a lot more to both the ISO 8601 standard and the various temporal annotation standards — far too much to cover here. Fig. 22.22 describes some of the basic ways that other times and durations are represented. Consult (ISO8601, 2004; Ferro et al., 2005; Pustejovsky et al., 2005) for more details.
Most current approaches to temporal normalization employ rule-based methods that associate semantic analysis procedures with patterns matching particular temporal expressions. This is a domain-specific instantiation of the compositional rule-to-rule approach introduced in Ch. 18. In this approach, the meaning of a constituent is computed from the meaning of its parts, and the method used to perform this computation is specific to the constituent being created. The only difference here is that the semantic composition rules involve simple temporal arithmetic rather than $ \lambda $-calculus attachments.
To normalize temporal expressions, we'll need rules for four kinds of expressions.
• Fully qualified temporal expressions
Absolute temporal expressions
• Relative temporal expressions
• Durations
Fully qualified temporal expressions contain a year, month and day in some conventional form. The units in the expression must be detected and then placed in the correct place in the corresponding ISO pattern. The following pattern normalizes the fully-qualified temporal expression used in expressions like April 24, 1916.
$$ FQTE\to Month\ Date\ ,\ Year\qquad\{Year.val\ -\ Month.val\ -\ Date.val\} $$
In this rule, the non-terminals Month, Date, and Year represent constituents that have already been recognized and assigned semantic values, accessed via the *.val notation. The value of this FQE constituent can, in turn, be accessed as FQTE.val during further processing.
Fully qualified temporal expressions are fairly rare in real texts. Most temporal expressions in news articles are incomplete and are only implicitly anchored, often with respect to the dateline of the article, which we'll refer to as the document's temporal anchor. The values of relatively simple temporal expressions such as today, yesterday, or tomorrow can all be computed with respect to this temporal anchor. The semantic procedure for today simply assigns the anchor, while the attachments for tomorrow and yesterday add a day and subtract a day from the anchor, respectively. Of course, given the circular nature of our representations for months, weeks, days and times of day, our temporal arithmetic procedures must use modulo arithmetic appropriate to the time unit being used.
Unfortunately, even simple expressions such as the weekend or Wednesday introduce a fair amount of complexity. In our current example, the weekend clearly refers to the weekend of the week that immediately precedes the document date. But this won't always be the case, as is illustrated in the following example.
(22.22) Random security checks that began yesterday at Sky Harbor will continue at least through the weekend.
In this case, the expression the weekend refers to the weekend of the week that the anchoring date is part of (i.e. the coming weekend). The information that signals this comes from the tense of continue, the verb governing the weekend.
Relative temporal expressions are handled with temporal arithmetic similar to that used for today and yesterday. To illustrate this, consider the expression last week from our example. From the document date, we can determine that the ISO week for the article is week 27, so last week is simply 1 minus the current week.
Again, even simple constructions such as this can be ambiguous in English. The resolution of expressions involving next and last must take into account the distance from the anchoring date to the nearest unit in question. For example, a phrase such as next Friday can refer to either the immediately next Friday, or to the Friday following that. The determining factor has to do with the proximity to the reference time. The closer the document date is to a Friday, the more likely it is that the phrase next Friday will skip the nearest one. Such ambiguities are handled by encoding language and domain specific heuristics into the temporal attachments.
The need to associate highly idiosyncratic temporal procedures with particular temporal constructions accounts for the widespread use of of rule-based methods in temporal expression recognition. Even when high performance statistical methods are used for temporal recognition, rule-based patterns are still required for normalization. Although the construction of these patterns can be tedious and filled with exceptions, it appears that sets of patterns that provide good coverage in newswire domains can be created fairly quickly (Ahn et al., 2005).
Finally, many temporal expressions are anchored to events mentioned in a
text and not directly to other temporal expressions. Consider the following example.
(22.23) One week after the storm, JetBlue issued its customer bill of rights.
To determine when JetBlue issued its customer bill of rights we need to determine the time of the storm event, and then that time needs to be modified by the temporal expression one week after. We'll return to this issue when we take up event detection in the next section.