Как изменить параметры (обрезку, итерацию) модели обучения Opennlp

Я использую OpenNLP(1.7.2) Token Name finder для анализа неструктурированных данных. Модель строится на параметрах по умолчанию, то есть итерации 100 и обрезании 5. Когда я пытаюсь сделать это следующим образом:

./opennlp TokenNameFinderTrainer -cutoff 8 -lang -en-кодирование utf8 -данные es_corpus_train_persons.txt -model es_ner_person.bin

тогда неправильно

Обнаружены нераспознанные параметры: [-cutoff, 8], но

Поэтому мой вопрос, как я могу изменить параметры (обрезка, итерация).

Заранее спасибо!

3 ответа

Если вы используете командную строку, вы можете создать файл свойств, например, здесь: https://github.com/apache/opennlp/tree/master/opennlp-tools/lang/ml

.bin/opennlp TokenNameFinderTrainer -params PerceptronTrainerParams.txt -lang en -encoding utf8 -data es_corpus_train_persons.txt -model es_ner_person.bin

TrainingParameters tp = new TrainingParameters();
tp.put(TrainingParameters.CUTOFF_PARAM, "1");
tp.put(TrainingParameters.ITERATIONS_PARAM, "100");
TokenNameFinderFactory tnff = new TokenNameFinderFactory();
model = NameFinderME.train(language, modelName, sampleStream, tp, tnff);

Это должно сделать это!

Параметры по умолчанию определены как:

`

public static TrainingParameters defaultParams() {
    TrainingParameters mlParams = new TrainingParameters();
    mlParams.put(TrainingParameters.ALGORITHM_PARAM, "MAXENT");
    mlParams.put(TrainingParameters.TRAINER_TYPE_PARAM, EventTrainer.EVENT_VALUE);
    mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100);
    mlParams.put(TrainingParameters.CUTOFF_PARAM, 5); 

    return mlParams;
  }

Вы можете настроить, как вы хотите, методом, описанным Nuwanda

Другие вопросы по тегам