[Attempto] Attempto with Temporal (Tensed) Logic

Norbert E. Fuchs fuchs at ifi.uzh.ch
Tue Dec 10 12:04:51 CET 2013


On 9 Dec 2013, at 18:08 , David Hait <dhait at optionmetrics.com> wrote:

> Dear Professor Fuchs,
>  
>                 I have been following the Attempto Controlled English project for some time.  I see that you have added some basic modal expressions (e.g., should, must, may) to the grammar.
>  
>                 I am wondering if you have considered adding any type of temporal modal logic as part of this project?
>  
>                 Here are some interesting example use cases:
>                
> (1)    Specific events:
>  
> # Absolute times
> The file was downloaded at 3:02 PM on December 12th 2013.
> The computer overheated 3 hours after the file was downloaded.
> Did the computer overheat before 9:00 PM on December 12th 2013?
>  
> # Relative times – verb tense matters
> John goes to the doctor on March 3, 2014.
> Did John go to the doctor?
> Will John go to the doctor?
>  
> # Repeating times
> The file is downloaded at 8:00 PM each day.
> Was the file downloaded today?
>  
> (2)    Intervals:
>  
> Program1 was active between 1:00 PM and 2:00 PM.
> Program2 was active between 1:30 PM and 2:30 PM.
> Was Program1 active while Program2 was active?
> Did Program2 start before Program2 ended?
>  
> We would have quite a bit of real-life applications for these types of statements and rules.. I was wondering whether these are anywhere on your research agenda?
>  
> Thank you,
> Best regards,
> David
>  
>  
> David J. Hait, PhD
> President, OptionMetrics LLC
> (212) 707-8370

David

Thanks for your message and for your interest in Attempto Controlled English.

Please note that I took the liberty to cc the Attempto Mailing List whose recipients may be interested in the topic that you raised.

Before addressing technical details let me get to the very end of your message where you write

> I was wondering whether these are anywhere on your research agenda?

Alas, I have to inform you that I retired from the University of Zurich – where I remain as a guest – and that there is no longer an Attempto group. As far as I see it, the release of version 6.7 of the language ACE and its parser APE in October was the last activity of the group. Fortunately, the language and most of its tools are freely available under generous licences. My own research focuses on the Attempto reasoner RACE that is not yet publicly available.

Now I will address your technical questions and suggestions.

First, note that ACE offers only the simple present tense, active and passive. Thus your example sentences that use the past tense are not proper ACE. (Briefly for a medical project we had introduced the past tense, but removed it again when the project was abandoned.) One way to introduce some sense of past is the construct "copula plus participle perfect used as adjective" as, for example in "The task is completed.", respectively "The tasks are completed.".

Second, concerning temporal logic: In earlier implementations of ACE we had times, events and states introduced by verbs that denoted events or states. See for example one of our earliest publications

   N. E. Fuchs, R. Schwitter
   Specifying Logic Programs in Controlled Natural Language
   Proceedings CLNLP 95, ELSNET/COMPULOG-NET/EAGLES Workshop on Computational Logic for Natural Language Processing
   University of Edinburgh, April 1995.

For some time we even considered introducing temporal operators like "before", "after" and "while", but we never did for two reasons: first, classifying verbs as event or state is neither unambiguous nor easy and second, the development of ACE and its tools was often driven by the projects we were involved in – in recent years the semantic web and machine translation where there is no need for temporality. Thus at some time we decided to remove times, events and states from the language, concretely from the DRS representation derived from ACE texts, and we simplified the ACE parser accordingly. We never had plans to reintroduce these features.

Now you have two possibilities: First, reintroduce yourself temporality into ACE and the DRS language and modify the ACE parsing engine APE accordingly. Second, use prepositional phrases to express temporality similarly to what was done years ago in an Israelian project for signal processing. Here is an example expressing temporally sequential events:

   A customer enters a card into the ATM at a time T1.
   The ATM checks the card at a time T2 and T2>T1.

Third, explicit times and dates: ACE does not provide a special notation for explicit times and dates. You could express your sentence

   John goes to the doctor on March 3, 2014.

in ACE for example using a string for the date

   John goes to the doctor on "2014-03-03".

If now you want to reason about explicit times and dates, then your reasoner must be able to interpret these strings accordingly.

I do hope that I answered all aspects of your mail. Please do not hesitate to ask more questions, perhaps using the Attempto Mailing List where you have a larger audience.

Best regards.

Norbert E. Fuchs
Department of Informatics & Institute of Computational Linguistics
University of Zurich






More information about the attempto mailing list