# Identifying events related to dates in a paragraph

Is there an algorithmic approach to identify that dates given in a paragraph correlate to particular events (phrases) in the paragraph?

Example, consider the following paragraph:

In June 1970, the great leader took the oath. But it was only after May 1972, post the death of the Minister of State, that he took over the reins of the country. While he enjoyed popular support until Mid-1980, his influence began to fall thereafter.

Is there an algorithm (deterministic or stochastic)# that can generate a 2-tuple (date, event), where the event is implied, by the paragraph, to have occured on the date? In the above case:

• (June 1970, great leader took oath)

• (May 1972, took over the reins)

or better yet

• (May 1972, the great leader took over the reins)

• (1980, fall in influence)

• This problem seems to contain three phases: 1) extract dates, 2) extract events and 3) correlate both data sets. 1) is certainly doable and I can imagine decent heuristics for 3), but how do you expect to solve 2)? – Raphael Mar 11 '12 at 23:02
• @Raphael Nice rephrasing of my question! – check123 Mar 12 '12 at 1:58
• Well, do you have some info regarding 2), e.g. a restricted set of interesting events (i.e. words)? Do you want to extract all noun/verb pairs as long as they have a date? – Raphael Mar 12 '12 at 7:31
• Do you want to extract time frames, too? In your example, consider (<= May 1972, death of the Minister of State) or (<= Mid-1980, [the great leader] enjoyed popular support). – Raphael Mar 12 '12 at 7:32
• @Raphael Sorry for the (very) late reply. Regarding 2) No. I am trying for a generalised approach. – check123 Mar 17 '12 at 16:52

In general, the problem of identifying dates and other temporal markers in text is called the problem of extracting temporal references. The search linked will take you to papers related to this.

• Didn't knew that the problem had a name. Will look up more on that and see if I can find something worthwhile. :) – check123 Mar 18 '12 at 2:48

Since you ask for a algorithmic approach, I will be as stubborn as an algorithm. I'm sorry to treat this question like this, but since it doesn't seem like a complex theoretical problem, I will synthesize the possible approaches.

Question: can you give me a algorithmic definition of a date and of particular event?

If you can: Since your definition is algorithmic, then this is probably some kind of formal grammar, and your problem will be to tune that grammar to catch every case you need to consider. (I'm interested if you can give me an exact definition that isn't a formal grammar)

If you can't: then at least you can come up with examples. Alright then. The best – and only I can think of – approach is machine learning algorithms, that you will have to train in order to recognize your dates and then your events. (Using a corpus of sentences annotated by hand) However this is quite overweening compared to some big hand-made regexp that will probably do the job. If you really, really want to do it I think the most efficient will be this kind of regexp given as a parameter to the learning algorithm but you better ask machine learning experts.

Good luck with this, It's much easier just to talk about it (in both cases).

• That said, I think combining dates and events will definitely need some stochastic models. – Raphael Mar 12 '12 at 22:57
• Dates in most formats I can capture using regexp. With some programming logic, I can extract the sentences around the dates. The problem then is that I need a model or a probability distribution that when a particular sentence pattern, Ex.: The cat ate the mouse on 25th August. [<article><noun><verb><article><noun><preposition><date>], appears then a (sub)set of the pattern, The cat ate the mouse (in our case), correlates to the date y (25th August) with probability z. – check123 Mar 17 '12 at 17:07
• @jmad If you don’t mind could you adjust the formatting of your post? Using the quote style for a non-quote (or a self quote?) is rather confusing. – uli Mar 17 '12 at 17:12