1

I was following all steps for bootstrapping of existing language pair here http://wiki.apertium.org/wiki/How_to_bootstrap_a_new_pair and after following steps when i'm giving command in ubunto terminal
echo house | apertium -d . eng-spa
it replies me correct answer
casa
but when gave command
echo casa | apertium -d . spa-eng
it gave me
terminate called after throwing an instance of 'DeserialisationException' what(): can't deserialise 1 byte integer type: can't deserialise byte Aborted (core dumped)
How can i overcome this issue?

H S Umer farooq
  • 981
  • 1
  • 8
  • 14

1 Answers1

2

The typical way of debugging these things is to look at the file modes/spa-eng.mode and run the pipeline one step at a time until you get the crash.

If the file contained lt-proc spa-eng.automorf.bin | apertium-tagger -g spa-eng.prob | … and so on, I would first try

echo casa | lt-proc spa-eng.automorf.bin

then

echo casa | lt-proc spa-eng.automorf.bin | apertium-tagger -g spa-eng.prob 

etc. until I found the crash.

There might be a $2 as an argument to one of the programs in that file – if so, replace that with -g.

unhammer
  • 4,306
  • 2
  • 39
  • 52
  • thank you so much your kind answer, yes the problem was in `apertium-tagger -g spa-eng.prob` and when i add -x `apertium-tagger -g -x spa-eng.prob` then it worked fine. but why i had to add this can you please elaborate? – H S Umer farooq Apr 10 '18 at 10:38
  • 1
    See `apertium-tagger --help`, it says that `-x` (alternatively `--perceptron`) uses the averaged perceptron algorithm. So your `.prob` file was trained using a perceptron instead of the default (Baum-Welch / Hidden Markov Model stuff) – unhammer Apr 11 '18 at 07:52