[Attempto] Some questions about ACE

Vijay Saraswat vijay at saraswat.org
Fri Jan 17 16:24:01 CET 2014


I am studying ACE with interest. My interests go back twenty years ago, 
when I was working with colleagues on the natural language 
syntax/semantics interface (what came to be called "glue semantics"). At 
that time I was also working with  text-based social virtual realities 
(MOOs), and it was clear to me that it would be very nice if the many 
English / Agriculture / Political Science etc majors frequenting such 
places could use a subset of natural language to interact with the MOO, 
a subset that had a precise computational interpretation.

Now, I am interested in something similar: permitting  very broad class 
of business users (non-programmers) to specify (executable) rules of 
various kinds (e.g. business logic, policy rules, campaign ruels etc) in 
a "controlled" natural language.  (Particularly rules with non-trivial 
temporal clauses.)

Hence, I am trying to become familiar with the advantages and 
disadvantages of ACE. I understand the basic premise of ACE (controlled 
English, single meaningful parse etc) and support it.

While the "ACE 6.7 Construction Rules" page is helpful, it seems to be 
missing some cases.

(a) I see that

(a.i) John saw a dog, a cat and a pony.

does not work. (I want a list with more than two items.) The following 
works:

(a.ii) John saw a dog and a cat and a pony.

but not

(*) John saw a dog, and a cat, and a pony.

So "commas" matter here, counter-intuitively. What is the "idiomatic" 
way in ACE to say (a.ii)?

(b) It appears that compound nouns may not always be treated in the same 
way as non-compound nouns...?

The following does not work:

(*) An attendee is a business-entity. He has an email-address and a name 
and a phone-number. He is related to some followers and some followees 
and some follow-requests and some favorite-locations. He has some alerts 
and some ratings and some requests. A follower is an attendee.

There is an error at favorite-locations. Replace that with programmers 
and it works:

(b.1) An attendee is a business-entity. He has an email-address and a 
name and a phone-number. He is related to some followers and some 
followees and some follow-requests and some programmers. He has some 
alerts and some ratings and some requests. A follower is an attendee.

Note I have added various entries to the lexicon, e.g.:

noun_sg('follow-request', followRequest, human).
noun_sg('favorite-location', favoriteLocation, neuter).
noun_sg('last-location-time-stamp', lastLocationTS, neuter).

noun_pl('follow-requests', followRequest, human).
noun_pl('favorite-locations', favoriteLocation, neuter).
noun_pl('last-location-time-stamps', lastLocationTS, neuter).

Should I be adding different entries? Why does 'some follow-requests' 
not exhibit a problem?

Interestingly, I changed favorite-locations to be "human" instead of 
neuter and (b.1) works!

Can someone tell me why?

(More as I experiment more...)

Best,
Vijay








More information about the attempto mailing list