% English Analytical to Czech Analytica => EACA
% former name: best-cz
TranslateAfunsLimit = int(500).
FactoredStackSize = int(10).
DirConf = dirconf(dirconf(
    % cache_desc("/net/cluster/orion1/h/tmp/bojar/euromatrix-cache/"),
    cache_desc("./cache", yes(200)),
    "./models",
    write_directly,
    % local_temp_directory("/mnt/h/tmp")
    guess_scratch_space_from_hostname
  )).
EnFactorsConfig = factors_config(factors_config(
  verbatim(4),
  wordfactor([
    "enform" - verbatim(0),
    "enlemma" - verbatim(1),
    "entag" - verbatim(2),
    "envalem" - verbatim(5),
    "enlemvalem" - verbatim(6),
    "entc" - verbatim(7)
  ]),
  afunfactor(
    verbatim(2)
  )
)).
EnFactAll = factors_to_use(
        [
          "entc"
        ]).
CsFactorsConfig = factors_config(factors_config(
  verbatim(4),
  wordfactor([
    % "csform" - verbatim(0),
    % "cslemma" - verbatim(1),
    % "cstag" - verbatim(2),
    % ord  3
    % gov  4
    % "csafun" - verbatim(5),
    "cstc" - verbatim(6)
  ]),
  afunfactor(
    verbatim(2)
  )
)).
TrainCorpus = corpus(corpus(
          "corp.gz",
          EnFactorsConfig,
          CsFactorsConfig
)).
AATable = aatable(not_inited(config(
  "aa",
  DirConf,
  TrainCorpus,
  3, % afunafun_limit
  [], % src parent factors
  [], % tgt parent factors
  dont_backoff_to_unconditioned,
  yes("default-afun") % default afun
))).
Limits = limits(limits(5,7, 10)).
config(
  produce_string,
  Limits,
  100, % stacklimit
  [
    tropt_limit - i(100),
    forced_upper_breadth - i(0)
  ],
  [ ], % weights -- use default, evenly distributed
  no_mert,
  file("./bug.in"),
  EnFactorsConfig,
  evaluate_bleu(
    [ "./bug.ref" ] % references
  ),

  DirConf,
  opened_positions_equal,
  % trg config
  first_of([
    trg(
      t_word_for_word_factored(config("tr_wfw",
        DirConf,
        TrainCorpus,
        % TrainCorpusINT,
        [ translate([], ["entc"], ["cstc"]) ],
        target_afun_probabilistically,
        AATable,
        FactoredStackSize,
        TranslateAfunsLimit
      ))),
    trg(
      keep_one_word_untranslated(AATable, TranslateAfunsLimit)
    )
  ]),

  % lmconfig
  oc_segments(config(not_inited(
    no_lm
  )))
).
