The feature function initialization message is just a general purpose exception 
handler.  I’ve seen this quite often when language models fail to load.  The 
most interesting part of the log to me is:

> Caused by: java.lang.RuntimeException: Something wrong with I/O.
>
> at edu.berkeley.nlp.lm.io.ArpaLmReader.parseHeader(ArpaLmReader.java:114)
>
> at edu.berkeley.nlp.lm.io.ArpaLmReader.parse(ArpaLmReader.java:76)


To me it looks like it could only be caused by the lack of the text 
"\\1-grams:" in the file you’re opening.  Reference this function: 
https://github.com/smilli/berkeleylm/blob/master/src/edu/berkeley/nlp/lm/io/ArpaLmReader.java#L105

Are you trying to load a binary lm with an Arpa reader by any chance?  Do you 
have the quoted text in your text based LM?

-Kellen
From: Tommaso Teofili
Sent: Monday, October 16, 2017 4:09 PM
To: dev@joshua.incubator.apache.org
Subject: Re: problems with LM loading

p.s.:
I've tried with other LPs (e.g. sd-en) and I get the same ...

Il giorno lun 16 ott 2017 alle ore 15:06 Tommaso Teofili <
tommaso.teof...@gmail.com> ha scritto:

> Hi all,
>
> I am trying to use the ES-EN language pack from our "Language Packs" page
> with Joshua 6.1, but when I get to load the two language models I get an IO
> execption.
> The config looks like:
>
> feature-function = LanguageModel -lm_type berkeleylm -lm_order 4 -lm_file
> model/lm.berkeleylm
> feature-function = Distortion
> feature-function = LanguageModel -lm_type berkeleylm -lm_order 4 -lm_file
> model/en.giga.twopercent.4.lm.berkeleylm
> feature-function = PhrasePenalty
>
> and I get the following:
>
> java.lang.RuntimeException: java.lang.RuntimeException: Unable to
> instantiate feature function 'LanguageModel -lm_type berkeleylm -lm_order 4
> -lm_file model/lm.berkeleylm'!
>
> ...
>
> Caused by: java.lang.RuntimeException: Unable to instantiate feature
> function 'LanguageModel -lm_type berkeleylm -lm_order 4 -lm_file
> model/lm.berkeleylm'!
>
> at
> org.apache.joshua.decoder.Decoder.initializeFeatureFunctions(Decoder.java:642)
>
> at org.apache.joshua.decoder.Decoder.initialize(Decoder.java:394)
>
> at org.apache.joshua.decoder.Decoder.<init>(Decoder.java:128)
>
> Caused by: java.lang.reflect.InvocationTargetException: null
>
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
> at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
>
> at
> org.apache.joshua.decoder.Decoder.initializeFeatureFunctions(Decoder.java:638)
>
> ... 58 common frames omitted
>
> Caused by: java.lang.RuntimeException: Something wrong with I/O.
>
> at edu.berkeley.nlp.lm.io.ArpaLmReader.parseHeader(ArpaLmReader.java:114)
>
> at edu.berkeley.nlp.lm.io.ArpaLmReader.parse(ArpaLmReader.java:76)
>
> at edu.berkeley.nlp.lm.io.ArpaLmReader.parse(ArpaLmReader.java:18)
>
> at edu.berkeley.nlp.lm.io.LmReaders.firstPassCommon(LmReaders.java:549)
>
> at edu.berkeley.nlp.lm.io.LmReaders.firstPassArpa(LmReaders.java:526)
>
> at
> edu.berkeley.nlp.lm.io.LmReaders.readArrayEncodedLmFromArpa(LmReaders.java:171)
>
> at
> edu.berkeley.nlp.lm.io.LmReaders.readArrayEncodedLmFromArpa(LmReaders.java:151)
>
> at
> org.apache.joshua.decoder.ff.lm.berkeley_lm.LMGrammarBerkeley.<init>(LMGrammarBerkeley.java:94)
>
> at
> org.apache.joshua.decoder.ff.lm.LanguageModelFF.initializeLM(LanguageModelFF.java:158)
>
> at
> org.apache.joshua.decoder.ff.lm.LanguageModelFF.<init>(LanguageModelFF.java:132)
>
> Any hints on what I could be doing wrong ? Encoding ?
> Did anyone else experience such issue ?
>
> BTW I am running this from within a Java application, Decoder is
> initialized as follows:
>
> JoshuaConfiguration configuration = new JoshuaConfiguration();
>     configuration.readConfigFile(pathToJoshuaConfig);
>     configuration.use_structured_output = true;
>     Decoder decoder = new Decoder(configuration, pathToJoshuaConfig);
>
> Regards,
> Tommaso
>

Reply via email to