Hi,

MBR decoding is currently not supported by Moses Chart, and also not
lattice MBR, but this should be something that is worth adding. So, it
would be helpful if you could add it.

-phi

On Tue, Apr 16, 2013 at 12:56 PM, Gideon Wenniger <gem...@hotmail.com> wrote:
> Dear Sir/Madam,
> I've been trying to use Lattice Minimum Bayes Risk decoding in Moses,
> by adding the flag "-lminimum-bayes-risk".
> What then normally happens is the decoder crashes,
> since the file /mosesdecoder/moses-chart-cmd/Main.cpp
> contains the line CHECK(!staticData.UseMBR());
> This assertion basically makes the chart decoder stop if you try to use it
> with
> MBR as far as I understood this.
>
> On the other hand, I really wanted to use MBR with Moses chart, so I have
> been
> so bold to just comment this assertion out and see what happens.
> Things were running fine (it seemed), and I did get improvement over
> experiments without
> MBR. Lately however, on bigger data sets (1 million instead of 200000
> training sentences)
> I got results with MBR that were actually (slightly) below Viterbi. This
> surprised me
> a lot, since I would expect MBR should always improve the results, or at
> least not lower them.
> Other experiments, were I was using Viterbi (i.e. no MBR) during tuning with
> Mira and MBR only
> during decoding of the test set showed no change whatsoever over the Viterbi
> results/translations.
> An equally puzzling result in my opinion, suggesting that perhaps MBR is not
> really executed?
> Altogether these findings gave me the idea something might be quite wrong.
>
> Am I doing something completely wrong? Is MBR actually not really supported
> for Moses Chart?
> I would be really surprised, since all the code seems to be there, and there
> is a lot of information
> about it on the website suggesting it should be usable.
> But why than this line with CHECK(!staticData.UseMBR());  ?
> Any Chance you can help me out, as I'm confused regarding this issue.
> Thanks a lot in advance.
> Kind regards,
>
> Gideon Wenniger
>
> To be specific, I have simply been using the main branch of Moses in my
> experiments .
> (I don't know if this makes any difference either).
>
>
> Below, I add an example of the command I ran and the output:
>
> MTComponentCreater.runExternalCommandUsingPreSpecifiedJavanBinDir -
> Command:
>  /home/gideon/AI/tools/mosesdecoder/scripts/training/mert-moses.pl
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/data/dev/sourceEnriched.txt
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/data/dev/target.tokenized.lowercased.txt
> /home/gideon/AI/tools/mosesdecoder/bin/moses_chart
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/mert_config.moses.ini
> --decoder-flags="-threads 2 -lminimum-bayes-risk "  --batch-mira
> --no-filter-phrase-table --nbest=300 --return-best-dev
> --maximum-iterations=30 --mertdir /home/gideon/AI/tools/mosesdecoder/bin/
> --working-dir=/home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/tuner-work-dir/
>>
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/mert.out
>
> Output of running is:
> Using SCRIPTS_ROOTDIR: /home/gideon/AI/tools/mosesdecoder/scripts
> Asking moses for feature names and values from
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/mert_config.moses.ini
> Executing: /home/gideon/AI/tools/mosesdecoder/bin/moses_chart -threads 2
> -lminimum-bayes-risk  -config
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/mert_config.moses.ini
> -inputtype 0 -show-weights > ./features.list
> Defined parameters (per moses.ini or switch):
>     config:
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/mert_config.moses.ini
>     cube-pruning-pop-limit: 2000
>     input-factors: 0
>     inputtype: 0
>     lminimum-bayes-risk:
>     lmodel-file: 8 0 3
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/resources/LM-TargetLanguageAbbreviation.binary
>     mapping: 0 T 0
>     max-chart-span: 300 1000
>     non-terminals: X S X-MONO X-ATOMIC X-BITT X-PET X-HAT
>     search-algorithm: 3
>     show-weights:
>     threads: 2
>     translation-details: translation-details.log
>     ttable-file: 6 0 0 22
> /home/gideon/AI/atv-bitg-workingdirectory/trunk/mtPipelineTestsResults/JoshuaHatsHiero-reorderingLabeled-Basic-EnFr/JoshuaHatsHiero/intermediate-results/mert/de-en-grammar-mert
>     ttable-limit: 90
>     weight-l: 0.5
>     weight-t: 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
> 0.5 0.5 0.5 0.5 0.5 0.5 0.5
>     weight-w: 0.0
>
> _______________________________________________
> 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

Reply via email to