Hello Jan,
Thanks for your help! I think I've found the bug.
In the DependencyLanguageModel constructor (src/Syntax/DependencyLanguageModel.cc) the function:
fillDummyWords()
is not called. This makes the 2 vocabularies, sriVocabulary_ and dependencyAlphabet_ out of sync.
Below a fix I've applied, not sure the behaviour is now what it should be, but I don't have the problem above any more and nicer numbers ;)
DependencyLanguageModel::DependencyLanguageModel(const Core::Configuration &config,
StaticAlphabetRef dependencyAlphabet, bool justTestingFunctionality) :
Component(config),
userOrder_(paramLmOrder_(config)),
fname_(paramFname_(config)),
penaltyNoEntry_(paramPenaltyNoEntry_(config)),
penaltyNotFound_(paramPenaltyNotFound_(config)),
sriVocabulary_(new Vocab(0)), sriLm_(0),
vocabBuffer_(new VocabIndex[50]), vocabBufferSize_(50),
dependencyAlphabet_(dependencyAlphabet) {
fillDummyWords(dependencyAlphabet_); /* ff257 otherwise sriVocabulary_ and dependencyAlphabet_ are not synced! */
[...]
Cheers,
Federico