public static ACRF makeFactorial (Pipe p, int numLevels) { ArrayList t = new ArrayList (); for (int i = 0; i < numLevels; i++) { t.add (new BigramTemplate (i)); if (i+1 < numLevels) t.add (new PairwiseFactorTemplate (i, i+1)); } Template[] tmpls = (Template[]) t.toArray (new Template [t.size()]); return new ACRF (p, tmpls); }
new ACRF.BigramTemplate (0), new ACRF.BigramTemplate (1), new ACRF.PairwiseFactorTemplate (0,1), new CrossTemplate1 (0,1) };
new ACRF.BigramTemplate (0), new ACRF.BigramTemplate (1), new ACRF.PairwiseFactorTemplate (0,1), new CrossTemplate1 (0,1) };
new ACRF.BigramTemplate (0), new ACRF.BigramTemplate (1), new ACRF.PairwiseFactorTemplate (0,1), new CrossTemplate1 (0,1) };
public void train(Collection<Alignment> examples) { Pipe pipe = makePipe(); InstanceList instances = makeExamplesFromAligns(examples, pipe); ACRF.Template[] tmpls = new ACRF.Template[]{ new ACRF.BigramTemplate(0), new ACRF.BigramTemplate (1), new ACRF.PairwiseFactorTemplate (0,1), new CrossTemplate1(0,1) }; ACRF acrf = new ACRF(pipe, tmpls); ACRFTrainer trainer = new DefaultAcrfTrainer(); acrf.setSupportedOnly(true); acrf.setGaussianPriorVariance(2.0); DefaultAcrfTrainer.LogEvaluator eval = new DefaultAcrfTrainer.LogEvaluator(); eval.setNumIterToSkip(2); trainer.train(acrf, instances, null, null, eval, 9999); }
public static ACRF makeFactorial (Pipe p, int numLevels) { ArrayList t = new ArrayList (); for (int i = 0; i < numLevels; i++) { t.add (new BigramTemplate (i)); if (i+1 < numLevels) t.add (new PairwiseFactorTemplate (i, i+1)); } Template[] tmpls = (Template[]) t.toArray (new Template [t.size()]); return new ACRF (p, tmpls); }
public static ACRF makeFactorial (Pipe p, int numLevels) { ArrayList t = new ArrayList (); for (int i = 0; i < numLevels; i++) { t.add (new BigramTemplate (i)); if (i+1 < numLevels) t.add (new PairwiseFactorTemplate (i, i+1)); } Template[] tmpls = (Template[]) t.toArray (new Template [t.size()]); return new ACRF (p, tmpls); }