Hello,
I am getting very strange results with *TokenNameFinderCrossValidator* API.
My generators.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<generators>
<cache>
<generators>
<window prevLength="4" nextLength="2">
<tokenclass />
</window>
<window prevLength="4" nextLength="2">
<token />
</window>
<definition />
<prevmap />
<bigram />
<sentence begin="true" end="false" />
</generators>
</cache>
</generators>
CODE:
* try (ObjectStream<NameSample> samples =
ObjectStreamUtils.createObjectStream(trainedCvs)) {*
* TrainingParameters mlParams = new TrainingParameters();*
* mlParams.put(TrainingParameters.ALGORITHM_PARAM,
PerceptronTrainer.PERCEPTRON_VALUE);*
* mlParams.put(TrainingParameters.ITERATIONS_PARAM,
Integer.toString(300));*
* mlParams.put(TrainingParameters.CUTOFF_PARAM,
Integer.toString(0));*
* TokenNameFinderCrossValidator test = new
TokenNameFinderCrossValidator("it",*
* "person", mlParams, factory); *
* test.evaluate(samples, 1);*
* FMeasure result = test.getFMeasure();*
* System.out.println(result.toString()); *
* }*
Where *factory* is:
*HashMap<String, Object> map = new HashMap<>(); *
*factory = new TokenNameFinderFactory(*
* IOUtils.toByteArray(in), // generators.xml*
* map,*
* new BioCodec()*
*);*
The result is:
*Precision: 0.1197736748064324*
*Recall: 0.11417702833134616*
*F-Measure: 0.1169084091503648*
It looks very weird! Sounds like a bug to me.
Can anyone help me?
Damiano