private static CRFTrainerByThreadedLabelLikelihood makeNewTrainer(CRF crf) { CRFTrainerByThreadedLabelLikelihood trainer = new CRFTrainerByThreadedLabelLikelihood(crf, getCpuCount()); trainer.setGaussianPriorVariance(2); trainer.setAddNoFactors(true); trainer.setUseSomeUnsupportedTrick(false); return trainer; }
private TransducerTrainer trainOnce(Pipe pipe, InstanceList trainData) { Stopwatch watch = Stopwatch.createStarted(); CRF crf = new CRF(pipe, null); crf.addOrderNStates(trainData, new int[]{1}, null, null, null, null, false); crf.addStartState(); crf.setWeightsDimensionAsIn(trainData, false); if (initFrom != null) { crf.initializeApplicableParametersFrom(initFrom); } log.info("Starting alignTag training..."); CRFTrainerByThreadedLabelLikelihood trainer = new CRFTrainerByThreadedLabelLikelihood(crf, 8); trainer.setGaussianPriorVariance(2); trainer.setAddNoFactors(true); trainer.setUseSomeUnsupportedTrick(false); trainer.train(trainData); trainer.shutdown(); watch.stop(); log.info("Syll align Tag CRF Training took " + watch.toString()); crf.getInputAlphabet().stopGrowth(); crf.getOutputAlphabet().stopGrowth(); return trainer; }
private TransducerTrainer trainOnce(Pipe pipe, InstanceList trainData) { Stopwatch watch = Stopwatch.createStarted(); CRF crf = new CRF(pipe, null); // O,O O,N -O,C- // N,O N,N N,C // C,O ?C,N? C,C Pattern forbidden = null; if (USE_ONC_CODING) { forbidden = Pattern.compile("(O,C|<START>,C|O,<END>)", Pattern.CASE_INSENSITIVE); } crf.addOrderNStates(trainData, new int[]{1}, null, null, forbidden, null, false); crf.addStartState(); crf.setWeightsDimensionAsIn(trainData); if (this.pullFrom != null) { crf.initializeApplicableParametersFrom(pullFrom); } log.info("Starting syll phone training..."); CRFTrainerByThreadedLabelLikelihood trainer = new CRFTrainerByThreadedLabelLikelihood(crf, 8); trainer.setGaussianPriorVariance(2); trainer.setAddNoFactors(false); trainer.setUseSomeUnsupportedTrick(true); trainer.train(trainData); trainer.shutdown(); watch.stop(); pipe.getAlphabet().stopGrowth(); pipe.getTargetAlphabet().stopGrowth(); log.info("Align Tag CRF Training took " + watch.toString()); return trainer; }
crft.setUseSomeUnsupportedTrick(false); crft.setUseSomeUnsupportedTrick(true); crft.setUseSomeUnsupportedTrick(false);
crft.setUseSomeUnsupportedTrick(false); crft.setUseSomeUnsupportedTrick(true); crft.setUseSomeUnsupportedTrick(false);
crft.setUseSomeUnsupportedTrick(false); crft.setUseSomeUnsupportedTrick(true); crft.setUseSomeUnsupportedTrick(false);