Using ACE (via PyDelphin) to generate fragments?


I am working on a project where I try to generate various referring expressions (so just NPs) provided an MRS.

I was hoping to use the ACE module in PyDelphin to generate the strings from the MRSes, but after some quick investigation, it seems that it won’t let me generate a fragment.

I tested this by using the PyDelphin ACE module to parse “the cat” with the pre-compiled ERG on the ACE website. Then I just took the exact MRS that it gave me from that and tried to generate from it, but got no results.

The default setting for the ERG generator produces sentences, but you can specify a different root condition when you invoke the generator so it will produce only fragments. The ACE flag for providing a particular root is “-r”, and the root name will be either “root_frag” or “root_inffrag” (for “informal fragment”), depending on whether you want the generator to allow less-formal fragments such as “the guy you gotta meet”. Here is an example of invoking ACE with this flag:
echo “the cat” | ace -g erg.dat -1 | ace -g erg.dat -1e -r root_frag

In the command line above you really mean two calls of ACE?

Well, yes, I needed to create an MRS to give to the generator, so I piped the string “the cat” to the first call to ACE as a parser, to produce an MRS for the string, and this MRS is then piped to the second call to ACE as a generator (invoked using the “-e” flag).

1 Like

Ops! Sorry, yes sure. I miss interpreted the outputs… In this case, the only paraphrase generated was The cat in upper case.