The placeholder symbol must be aligned 1-to-1. This is enforced the the extract program - any extracted rule which doesn't breaks this constraint is discarded
Since PDBS doesn't use the extract program, I guess it causes the segfault Hieu Hoang http://www.hoang.co.uk/hieu On 8 July 2016 at 18:15, Prashant Mathur <prash...@fbk.eu> wrote: > Hi All, > > I am trying to work with the PhraseDictionaryBitextSampling(PDBS) and I > am running into a strange error. > > My partial config: > > *[feature]* > > *PhraseDictionaryBitextSampling name=TranslationModel0 num-features=4 > path=$workdir/model/phrase-table-mmsapt.1/ input-factor=0 output-factor=0 > L1=en L2=es* > > > *[weight]* > > *TranslationModel0= 0.2 0.2 0.2 0.2 0.2 0.2* > > > The above one with default weight works (even thought the num-features=4 > and num of weights = 6). Then I optimize the weights with MIRA which works > well. The following changes are made to the PDBS's weights: > > *TranslationModel0= 0.000243188868964612 0.00397991229152541 > -0.0357229544822343 0.111425061122397 -0.0183311421377486 > 0.0682370333070735* > > > So, when I run moses on default weight on the following input it works > fine: > > *feedback score is <ne translation="$num" entity="25">$num</ne> to <ne > translation="$num" entity="50">$num</ne>* > > > When I run moses with the tuned weights it fails with the following error. > > > > > > > > > > > > > > > *Translating: feedback score is $num|25 to $num|50 Line 0: Initialize > search took 0.001 seconds totalLine 0: Collecting options took 0.110 > seconds at moses/Manager.cpp Line 141Line 0: Search took 0.845 > secondsterminate called after throwing an instance of 'util::Exception' > what(): moses/Manager.cpp:1810 in std::map<long unsigned int, const > Moses::Factor*> Moses::Manager::GetPlaceholders(const Moses::Hypothesis&, > Moses::FactorType) const threw util::Exception because `targetPos.size() != > 1'.Placeholder should be aligned to 1, and only 1, wordAborted* > > When I change the first weight of TranslationModel0 to a higher value > there is no such error. As in I change the weights to > > *TranslationModel0= 0.2 0.00397991229152541 -0.0357229544822343 > 0.111425061122397 -0.0183311421377486 0.0682370333070735* > > 1. So, what is the first feature in PDBS? > 2. Is this behaviour expected if the weight is low? > 3. Can placeholders be used with PDBS? > > Any clues appreciated. > > Thanks, > Prashant > > _______________________________________________ > Moses-support mailing list > Moses-support@mit.edu > http://mailman.mit.edu/mailman/listinfo/moses-support > >
_______________________________________________ Moses-support mailing list Moses-support@mit.edu http://mailman.mit.edu/mailman/listinfo/moses-support