// Copyright 2015 Thomas Müller // This file is part of MarMoT, which is licensed under GPLv3. package lemming.test.lemma; import lemming.lemma.BackupLemmatizerTrainer; import lemming.lemma.LemmaCandidateGenerator; import lemming.lemma.LemmaCandidateGeneratorTrainer; import lemming.lemma.LemmaInstance; import lemming.lemma.LemmaResult; import lemming.lemma.SimpleLemmatizerTrainer; import lemming.lemma.BackupLemmatizerTrainer.BackupLemmatizerTrainerOptions; import lemming.lemma.edit.EditTreeGeneratorTrainer; import lemming.lemma.toutanova.ToutanovaTrainer; import org.junit.Test; public class GeneratorTest { @Test public void testGeneratorTrainer() { String train = "trn_mod.tsv"; String dev = "dev.tsv"; LemmaCandidateGeneratorTrainer trainer = new EditTreeGeneratorTrainer(); testGeneratorTrainer(trainer, train, dev); trainer = new SimpleLemmatizerTrainer(); testGeneratorTrainer(trainer, train, dev); trainer = new BackupLemmatizerTrainer(); BackupLemmatizerTrainerOptions options = (BackupLemmatizerTrainerOptions) trainer.getOptions(); options.setOption(BackupLemmatizerTrainerOptions.LEMMATIZER_TRAINER, SimpleLemmatizerTrainer.class.getName()); options.setOption(BackupLemmatizerTrainerOptions.BACKUP_TRAINER, ToutanovaTrainer.class.getName()); testGeneratorTrainer(trainer, train, dev); } public void testGeneratorTrainer(LemmaCandidateGeneratorTrainer trainer, String trainfile, String testfile) { LemmaCandidateGenerator generator = trainer.train(LemmaInstance.getInstances(getResourceFile(trainfile)), null); testGenerator(generator, testfile); } private void testGenerator(LemmaCandidateGenerator generator, String testfile) { // Result result = Result.testGenerator(generator, getResourceFile(testfile)); // result.logAccuracy(); // result = Result.testGenerator(generator, getResourceFile(testfile + ".morfette")); // result.logAccuracy(); } protected String getResourceFile(String name) { return INDEXES + String.format("res:///%s/%s", "marmot/test/lemma", name); } private final static String INDEXES = "form-index=4,lemma-index=5,tag-index=2,"; }