Transfer module

I understand for translation task one needs 1. parser 2. transfer 3. generator.
ACE provides parser and generator.
Is there a simple and light way to use transfer module, along with ACE, without using full Logon system?

Hello, Vineet,

ACE does in fact do transfer. The command invocation is the same as for parsing, but you give it a special transfer grammar to use. For instance, in the following, I use Jacy to parse a Japanese sentence, then transfer with the Japanese-English transfer grammar JaEn, then generate with the ERG:

$ echo "その 犬 が 吠え た" | ace -g jacy.dat -Tq1 | ace -g jaen.dat -Tq1 | ace -g erg.dat -e
NOTE: 1 readings, added 329 / 97 edges to chart (28 fully instantiated, 41 actives used, 18 passives used)	RAM: 1545k
NOTE: parsed 1 / 1 sentences, avg 1545k, time 0.04657s
NOTE: 1 transfer results	RAM: 59k
NOTE: transfered 0 / 1 sentences, avg 59k, time 0.09347s
That dog barked.
NOTE: 36 passive, 159 active edges in final generation chart; built 38 passives total. [1 results]

NOTE: generated 1 / 1 sentences, avg 484k, time 0.01458s
NOTE: transfer did 194 successful unifies and 172 failed ones

You might also use the XMT tooling I wrote to facilitate experiments using this setup, but documentation is regrettably sparse.

None of the above uses the full LOGON system, but do note that transfer with ACE is not quite as featureful as with LOGON. Namely, some of the transfer and realization ranking models are not as sophisticated, so you may need to do some extra filtering to get the better outputs.

Hope that helps

2 Likes

Sorry, for the late response.
I could get the translation using the first method.
But while trying to use XMT I could run the xmt.sh --help.
[By the way, I needed to modify requirements.txt slightly.
In particular I had to change nltk entry to:
nltk == 3.2.5
Because the recent versions of nltk do not have moses.py]
However, I do not understand how to tell XMT paths to jacy.dat etc.
Actually, I am facing difficulty in interpreting output of
./xmt.sh --help
In particular:
ITEM profile to process
I think a working example may help dumb persons like me.
Regards