@Test public void testLoadFromSerialized() throws IOException { byte[] serialized = serializeModel(model); LanguageDetectorModel myModel = new LanguageDetectorModel(new ByteArrayInputStream(serialized)); Assert.assertNotNull(myModel); }
@Before public void init() throws Exception { this.model = trainModel(); }
public static LanguageDetectorModel trainModel(LanguageDetectorFactory factory) throws Exception { LanguageDetectorSampleStream sampleStream = createSampleStream(); TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ITERATIONS_PARAM, 100); params.put(TrainingParameters.CUTOFF_PARAM, 5); params.put("DataIndexer", "TwoPass"); params.put(TrainingParameters.ALGORITHM_PARAM, "NAIVEBAYES"); return LanguageDetectorME.train(sampleStream, params, factory); }
@Test public void evaluate() throws Exception { TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ITERATIONS_PARAM, 100); params.put(TrainingParameters.CUTOFF_PARAM, 5); params.put("PrintMessages", false); final AtomicInteger correctCount = new AtomicInteger(); final AtomicInteger incorrectCount = new AtomicInteger(); LanguageDetectorCrossValidator cv = new LanguageDetectorCrossValidator(params, new LanguageDetectorFactory(), new LanguageDetectorEvaluationMonitor() { @Override public void correctlyClassified(LanguageSample reference, LanguageSample prediction) { correctCount.incrementAndGet(); } @Override public void missclassified(LanguageSample reference, LanguageSample prediction) { incorrectCount.incrementAndGet(); } }); LanguageDetectorSampleStream sampleStream = LanguageDetectorMETest.createSampleStream(); cv.evaluate(sampleStream, 2); Assert.assertEquals(99, cv.getDocumentCount()); Assert.assertEquals(0.98989898989899, cv.getDocumentAccuracy(), 0.01); }
@Test public void testCorrectFactory() throws IOException { byte[] serialized = LanguageDetectorMETest.serializeModel(model); LanguageDetectorModel myModel = new LanguageDetectorModel(new ByteArrayInputStream(serialized)); Assert.assertTrue(myModel.getFactory() instanceof DummyFactory); }
public static LanguageDetectorModel trainModel() throws Exception { return trainModel(new LanguageDetectorFactory()); }
@Test public void testDummyFactory() throws Exception { byte[] serialized = LanguageDetectorMETest.serializeModel(model); LanguageDetectorModel myModel = new LanguageDetectorModel(new ByteArrayInputStream(serialized)); Assert.assertTrue(myModel.getFactory() instanceof DummyFactory); }
@Test public void processSample() throws Exception { LanguageDetectorModel model = LanguageDetectorMETest.trainModel(); LanguageDetectorME langdetector = new LanguageDetectorME(model);