Маллет HMM Проблемы с обучением - PullRequest
4 голосов
/ 31 октября 2011

Сейчас я борюсь со смехотворно плохой документацией Маллета относительно HMM.Мне удалось импортировать данные в экземпляры (адаптированные из фрагмента ImportExample.java), и мне было просто интересно, как их можно использовать для обучения модели HMM.Я сначала начал с создания экземпляра HMM, но я не был уверен, стоит ли переходить на:

    HMM hmm = new HMM(instances.getDataAlphabet(), instances.getTargetAlphabet());

Или использовать один и тот же алфавит данных дважды, например:

    HMM hmm = new HMM(instances.getDataAlphabet(), instances.getDataAlphabet());

В любом случае, когда я добираюсь до

    hmm.train(instances);

Я получаю следующую ошибку:

cc.mallet.types.FeatureVector не может быть приведен к cc.mallet.types.FeatureVectorSequence

Я был бы признателен за любую помощь, которую вы можете предоставить.

Приветствия

1 Ответ

2 голосов
/ 03 ноября 2011

Мне удалось решить эту конкретную проблему, и я подумал, что она может быть полезна другим людям с такой же проблемой. Есть решение в пакете примеров в mallet: http://hg -iesl.cs.umass.edu / hg / mallet / file / 83adf71b0824 / src / cc / mallet / examples / TrainHMM.java

Основная проблема была связана с тем, как вы импортировали данные через канал. Также из того, что я могу сказать, это помогает, если ваши данные в этом формате:

TOKEN  TAG 
TOKEN  TAG

Я предполагаю, что у вас могут быть функции между TOKEN и TAG, но я не уверен на 100%. Если кто-нибудь знает какие-либо хорошие примеры и документацию по использованию HMM в молотке, пожалуйста, дайте мне знать.

...