evaluator.evaluate(measuredSampleStream); } catch (IOException e) { System.err.println("failed");
private void eval(TokenNameFinderModel model, File testData, LANGUAGE lang, int types, double expectedFMeasure) throws IOException { ObjectStream<NameSample> samples = new Conll02NameSampleStream( lang, new MarkableFileInputStreamFactory(testData), types); TokenNameFinderEvaluator evaluator = new TokenNameFinderEvaluator(new NameFinderME(model)); evaluator.evaluate(samples); Assert.assertEquals(expectedFMeasure, evaluator.getFMeasure().getFMeasure(), 0.0001); }
/** * Evaluate and print every error. * @throws IOException if test corpus not loaded */ public final void evalError() throws IOException { List<EvaluationMonitor<NameSample>> listeners = new LinkedList<>(); listeners.add(new NameEvaluationErrorListener()); TokenNameFinderEvaluator evaluator = new TokenNameFinderEvaluator(nameFinder, listeners.toArray(new TokenNameFinderEvaluationMonitor[listeners.size()])); evaluator.evaluate(testSamples); System.out.println(evaluator.getFMeasure()); }
new NameFinderME(model), listeners); evaluator.evaluate(new DocumentToNameSampleStream(trainingSampleStream.getTestSampleStream()));
/** * Evaluate and print precision, recall and F measure. * @throws IOException if test corpus not loaded */ public final void evaluate() throws IOException { TokenNameFinderEvaluator evaluator = new TokenNameFinderEvaluator(nameFinder); evaluator.evaluate(testSamples); System.out.println(evaluator.getFMeasure()); } /**
@Test public void testEvaluator() throws IOException, URISyntaxException { DictionaryNameFinder nameFinder = new DictionaryNameFinder( createDictionary()); TokenNameFinderEvaluator evaluator = new TokenNameFinderEvaluator( nameFinder, new NameEvaluationErrorListener()); ObjectStream<NameSample> sample = createSample(); evaluator.evaluate(sample); sample.close(); FMeasure fmeasure = evaluator.getFMeasure(); Assert.assertTrue(fmeasure.getFMeasure() == 1); Assert.assertTrue(fmeasure.getRecallScore() == 1); }
/** * Evaluate and print the precision, recall and F measure per * named entity class. * * @throws IOException if test corpus not loaded */ public final void detailEvaluate() throws IOException { List<EvaluationMonitor<NameSample>> listeners = new LinkedList<>(); TokenNameFinderDetailedFMeasureListener detailedFListener = new TokenNameFinderDetailedFMeasureListener(); listeners.add(detailedFListener); TokenNameFinderEvaluator evaluator = new TokenNameFinderEvaluator(nameFinder, listeners.toArray(new TokenNameFinderEvaluationMonitor[listeners.size()])); evaluator.evaluate(testSamples); System.out.println(detailedFListener.toString()); } /**
public final TokenNameFinderModel train(final TrainingParameters params) { if (getNameClassifierFactory() == null) { throw new IllegalStateException( "Classes derived from AbstractNameFinderTrainer must create and fill the AdaptiveFeatureGenerator features!"); } TokenNameFinderModel trainedModel = null; TokenNameFinderEvaluator nerEvaluator = null; try { trainedModel = NameFinderME.train(lang, null, trainSamples, params, nameClassifierFactory); NameFinderME nerTagger = new NameFinderME(trainedModel); nerEvaluator = new TokenNameFinderEvaluator(nerTagger); nerEvaluator.evaluate(testSamples); } catch (IOException e) { System.err.println("IO error while loading traing and test sets!"); e.printStackTrace(); System.exit(1); } System.out.println("Final Result: \n" + nerEvaluator.getFMeasure()); return trainedModel; }
evaluator.evaluate(stream);
nameFinderEvaluator.evaluate(evalStream);
evaluator.evaluate(measuredSampleStream); } catch (IOException e) { System.err.println("failed");
evaluator.evaluate(measuredSampleStream); } catch (IOException e) { System.err.println("failed");
new NameFinderME(model), listeners); evaluator.evaluate(new DocumentToNameSampleStream(trainingSampleStream.getTestSampleStream()));
new NameFinderME(model), listeners); evaluator.evaluate(new DocumentToNameSampleStream(trainingSampleStream.getTestSampleStream()));