Thanks Barry.
I copied the command from the manual and checked the the missing quote in the
end, but the problem was not solved.
Of course, i found the reason.
I copied the command from moses manual (opened by Document viewer in ubuntu) to
my terminal and modify the path. but i have the following message after running:
usage: /home/mohammadifar/mosesdecoder/scripts/training/mert-moses.pl
input-text references decoder-executable decoder.ini
Options:
--working-dir=mert-dir ... where all the files are created
--nbest=100 ... how big nbestlist to generate
--lattice-samples ... how many lattice samples (Chatterjee & Cancedda,
emnlp 2010)
--jobs=N ... set this to anything to run moses in parallel
--cache-model=STRING ... local directory into which copy model before
running decoder
--mosesparallelcmd=STR ... use a different script instead of moses-parallel
--queue-flags=STRING ... anything you with to pass to qsub, eg.
'-l ws06osssmt=true'. The default is: '-hard'
To reset the parameters, please use
--queue-flags=' '
(i.e. a space between the quotes).
--decoder-flags=STRING ... extra parameters for the decoder
--continue ... continue from the last successful iteration
--skip-decoder ... skip the decoder run for the first time,
assuming that we got interrupted during
optimization
--shortest --average --closest
... Use shortest/average/closest reference length
as effective reference length (mutually exclusive)
--nocase ... Do not preserve case information; i.e.
case-insensitive evaluation (default is false).
--nonorm ... Do not use text normalization (flag is not active,
i.e. text is NOT normalized)
--filtercmd=STRING ... path to filter-model-given-input.pl
--filterfile=STRING ... path to alternative to input-text for filtering
model. useful for lattice decoding
--rootdir=STRING ... where do helpers reside (if not given explicitly)
--mertdir=STRING ... path to new mert implementation
--mertargs=STRING ... extra args for both extractor and mert
--extractorargs=STRING ... extra args for extractor only
--mertmertargs=STRING ... extra args for mert only
--scorenbestcmd=STRING ... path to score-nbest.py
--old-sge ... passed to parallelizers, assume Grid Engine < 6.0
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
1 for confusion network, 2 for lattices,
default is 0)
--no-filter-phrase-table ... disallow filtering of phrase tables
(useful if binary phrase tables are available)
--random-restarts=INT ... number of random restarts (default: 20)
--predictable-seeds ... provide predictable seeds to mert so that random
restarts are the same on every run
--range=tm:0..1,-1..1 ... specify min and max value for some features
--range can be repeated as needed.
The order of the various --range specifications
is important only within a feature name.
E.g.:
--range=tm:0..1,-1..1 --range=tm:0..2
is identical to:
--range=tm:0..1,-1..1,0..2
but not to:
--range=tm:0..2 --range=tm:0..1,-1..1
--activate-features=STRING ... comma-separated list of features to optimize,
others are fixed to the starting values
default: optimize all features
example: tm_0,tm_4,d_0
--prev-aggregate-nbestlist=INT ... number of previous step to consider when
loading data (default = -1)
-1 means all previous, i.e. from iteration 1
0 means no previous data, i.e. only the
current iteration
N means this and N previous iterations
--maximum-iterations=ITERS ... Maximum number of iterations. Default: 25
--return-best-dev ... Return the weights according to dev bleu,
instead of returning
the last iteration
--random-directions ... search only in random directions
--number-of-random-directions=int ... number of random directions
(also works with regular optimizer,
default: 0)
--pairwise-ranked ... Use PRO for optimisation (Hopkins and May,
emnlp 2011)
--pro-starting-point ... Use PRO to get a starting point for MERT
--batch-mira ... Use Batch MIRA for optimisation (Cherry and
Foster, NAACL 2012)
--hg-mira ... Use hypergraph MIRA, ie batch mira with
hypergraphs instead of kbests.
--batch-mira-args=STRING ... args to pass through to batch/hg MIRA. This
flag is useful to
change MIRA's hyperparameters such as
regularization parameter C,
BLEU decay factor, and the number of iterations
of MIRA.
--promix-training=STRING ... PRO-based mixture model training (Haddow, NAACL
2013)
--promix-tables=STRING ... Phrase tables for PRO-based mixture model
training.
--threads=NUMBER ... Use multi-threaded mert (must be compiled in).
--historic-interpolation ... Interpolate optimized weights with prior
iterations' weight
(parameter sets factor [0;1] given to current
weights)
--spe-symal=SYMAL ... Use simulated post-editing when decoding.
(SYMAL aligns input to refs)
So mira was not ran.
But i modified quote ’ to quote ' in the command! (note that these are two
different characters in ubuntu!) and my problem was solved. I think the problem
is related to document viewer in Ubuntu, because it changes the true quote in
copying text. Copying from firefox pdf viewer has no problem.
Regards
Davood
Date: Thu, 29 Oct 2015 09:38:13 +0000
From: [email protected]
To: [email protected]; [email protected]
Subject: Re: [Moses-support] Correct form of using Mira
Hi Davood
The first command you give has a quote missing at the end - is this
correct?
Another difference is that you have "-v 0", so moses will run
silently.
What was the actual output when you ran this command? What you have
below looks correct to me.
cheers - Barry
On 28/10/15 21:57, Davood Mohammadifar
wrote:
Hello everyone
because of variations in BLEU score when using normal mert, i
decided to use mira instead. Moses manual (updated on 28 October
2015) says me to use this command:
$MOSES_SCRIPTS/training/mert-moses.pl work/dev.fr work/dev.en
$MOSES_BIN/moses work/model/moses.ini --mertdir $MOSES_BIN
--rootdir $MOSES_SCRIPTS --batch-mira --return-best-dev
--batch-mira-args '-J 300' --decoder-flags '-threads 8 -v 0
but this command is not work for me. When i execute the command,
i just see some options for it and nothing happens. So i wanted
to change the command. Based on usual mert, i changed the
command to this:
$MOSES_SCRIPTS/training/mert-moses.pl
/home/mohammadifar/corpus/tune.true.fa
/home/mohammadifar/corpus/tune.true.en $MOSES_BIN/moses
/home/mohammadifar/First/train/model/moses.ini --mertdir
$MOSES_BIN--rootdir $MOSES_SCRIPTS --batch-mira
--return-best-dev --batch-mira-args="-J 300"
--decoder-flags="-threads all"
the difference of two command is in the end. The latter works
for me very good. BLEU variations in test-set are very slight
(many times <0.1 and rarely about 0.2 in 3 times running the
whole of translation commands for same dataset). So i want to be
sure, Is the form of using mira correct? (Moses v3.0)
Regards
Davood
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support