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

Reply via email to