Hi,

you second language model operates on factor 2
(2:3:/media/sdb3/working-dir9/lm/pos.lm:0), but your
second translation path (0-0) does not produce this factor.
You should change t2 to 0-0,2.

-phi

2011/4/15 dongxinghua0213 <[email protected]>:
> Hi,
>
> when I train factored model for  the sample de-en parallel corpus in moses
> ,using the following command:
>
> bin/moses-scripts/scripts-20091006-1534/training/train-factored-phrase-model.perl
> -scripts-root-dir bin/moses-scripts/scripts-20091006-1534 -root-dir
> /media/sdb3/working-dir9 -corpus
> /media/sdb3/working-dir9/corpus/proj-syndicate.1000 -f de -e en   -lm
> 0:3:/media/sdb3/working-dir9/lm/surface.lm:0 -lm
> 2:3:/media/sdb3/working-dir9/lm/pos.lm:0 -translation-factors 0-1+3-2+0-0
> -generation-factors 1,2-0 -decoding-steps t0,t1,g0:t2
>
> An error seems like this :
> top@moses01:~/programming/language_model$ echo "wie|wie|kous|kous" |
> /home/top/programming/language_model/moses/moses-cmd/src/moses -config
> /media/sdb3/working-dir9/model/moses.ini
> Defined parameters (per moses.ini or switch):
>  config: /media/sdb3/working-dir9/model/moses.ini
>  distortion-limit: 6
>  generation-file: 1,2 0 2 /media/sdb3/working-dir9/model/generation.1,2-0
>  input-factors: 0 1 2 3
>  lmodel-file: 0 0 3 /media/sdb3/working-dir9/lm/surface.lm 0 2 3
> /media/sdb3/working-dir9/lm/pos.lm
>  mapping: 0 T 0 0 T 1 0 G 0 1 T 2
>  ttable-file: 0 1 5 /media/sdb3/working-dir9/model/phrase-table.0-1.gz 3 2 5
> /media/sdb3/working-dir9/model/phrase-table.3-2.gz 0 0 5
> /media/sdb3/working-dir9/model/phrase-table.0-0.gz
>  ttable-limit: 20 0 0
>  weight-d: 0.6
>  weight-generation: 0.3 0
>  weight-l: 0.2500 0.2500
>  weight-t: 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
>  weight-w: -1
> Loading lexical distortion models...
> have 0 models
> Start loading LanguageModel /media/sdb3/working-dir9/lm/surface.lm : [0.000]
> seconds
> Start loading LanguageModel /media/sdb3/working-dir9/lm/pos.lm : [1.000]
> seconds
> Finished loading LanguageModels : [1.000] seconds
> weight-generation: 0.300 0.000
> /media/sdb3/working-dir9/model/generation.1,2-0.gz
> Start loading PhraseTable /media/sdb3/working-dir9/model/phrase-table.0-1.gz
> : [1.000] seconds
> filePath: /media/sdb3/working-dir9/model/phrase-table.0-1.gz
> Start loading PhraseTable /media/sdb3/working-dir9/model/phrase-table.3-2.gz
> : [2.000] seconds
> filePath: /media/sdb3/working-dir9/model/phrase-table.3-2.gz
> Start loading PhraseTable /media/sdb3/working-dir9/model/phrase-table.0-0.gz
> : [3.000] seconds
> filePath: /media/sdb3/working-dir9/model/phrase-table.0-0.gz
> Finished loading phrase tables : [3.000] seconds
> IO from STDOUT/STDIN
> Created input-output object : [3.000] seconds
> Translating: wie|wie|kous|kous
> Collecting options took 0.000 seconds
> moses: LanguageModelSRI.cpp:154: virtual float
> Moses::LanguageModelSRI::GetValue(const std::vector<const Moses::Word*,
> std::allocator<const Moses::Word*> >&, const void**, unsigned int*) const:
> Assertion `(*contextFactor[count-1])[factorType] != __null' failed.
> Aborted
> my mose.ini file :
> #########################
> ### MOSES CONFIG FILE ###
> #########################
> # input factors
> [input-factors]
> 0
> 1
> 2
> 3
> # mapping steps
> [mapping]
> 0 T 0
> 0 T 1
> 0 G 0
> 1 T 2
> # translation tables: source-factors, target-factors, number of scores, file
> [ttable-file]
> 0 1 5 /media/sdb3/working-dir9/model/phrase-table.0-1.gz
> 3 2 5 /media/sdb3/working-dir9/model/phrase-table.3-2.gz
> 0 0 5 /media/sdb3/working-dir9/model/phrase-table.0-0.gz
> # generation models: source-factors, target-factors, number-of-weights,
> filename
> [generation-file]
> 1,2 0 2 /media/sdb3/working-dir9/model/generation.1,2-0
> # language models: type(srilm/irstlm), factors, order, file
> [lmodel-file]
> 0 0 3 /media/sdb3/working-dir9/lm/surface.lm
> 0 2 3 /media/sdb3/working-dir9/lm/pos.lm
> # limit on how many phrase translations e for each phrase f are loaded
> # 0 = all elements loaded
> [ttable-limit]
> 20
> 0
> 0
> # distortion (reordering) weight
> [weight-d]
> 0.6
> # language model weights
> [weight-l]
> 0.2500
> 0.2500
> # translation model weights
> [weight-t]
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> 0.2
> # generation model weights
> [weight-generation]
> 0.3
> 0
> # word penalty
> [weight-w]
> -1
> [distortion-limit]
> 6
>
> when I delete d the   lm file  pos.lm  and it weight ,the decoder worked,
> how  did  the error occur and when could the pos.lm be used ?
>
>
>
>
> ________________________________
> 体验网易邮箱2G超大附件,轻松发优质大电影、大照片,提速3倍!

_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to