Skip to content
FrancisBond edited this page Sep 28, 2013 · 15 revisions

ACE Frequently Asked Questions

  • When I try to compile my grammar with ACE, I see a lot of errors.

You may inadvertently be using a very old copy of ACE. If you have installed an older version of the LOGON distribution (dating to before mid-June 2013), there used to be an ace binary on your PATH which dates to roughly 2005. Current versions of the LOGON tree include up-to-date ACE binaries (invoked through a wrapper script called ‘answer’; see the LogonAnswer page). Or, if you have a locally installed binary, you may try invoking a modern copy of ACE by its full path. Modern versions of ACE support the -V command-line option to report the version; if your ACE does not recognize the -V option, it is too old to be useful.

  • Why are the compiled grammar images so big?

The ACE precompiler prepares a complete image of the initial contents of memory that will be needed for runtime processing. For complex grammars, this can be a few hundred megabytes. The advantage of this is that ACE can start up and be ready to parse or generate in a matter of a few milliseconds, if the file is in cache.

  • Why isn't ACE stripping punctuation like the LKB or PET?

The LKB and PET used to have their own idiosyncratic methods for stripping punctuation, pre-dating the inclusion of Regular Expression-Based Pre-Processing (REPP) rules as part of each grammar. Older grammars may not have been upgraded yet for REPP usage. For example, in Jacy's pet/japanese.set file:

 punctuation-characters := "!\"!&'()*+,-−./;<=>?@[\]^_`{|}~。!?…. ○●◎*☆★◇◆" 

ACE uses the REPP tokenizer (see ReppTop) to accomplish this. The above can be made into a REPP rule as follows (where → is a tab character and ▁ is a space; note that special characters may need to be escaped):

 ![!"&'()*+,\-−./;<=>?@[\]^_`{|}~。!?…. ○●◎*☆★◇◆]→   →       ▁ 

  • Does ACE use the maxent model for both parsing and generation?

Yes. If you want separate models, you can make two grammar images.

Clone this wiki locally