Mallet HMM培训问题

时间:2011-10-31 14:56:26

标签: java mallet hidden-markov-models

目前我正在努力与Mallet关于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 个答案:

答案 0 :(得分:2)

我已设法解决这个特殊问题,并认为对于遇到同样问题的其他人可能会有用。在mallet中的示例包中有一个解决方案:http://hg-iesl.cs.umass.edu/hg/mallet/file/83adf71b0824/src/cc/mallet/examples/TrainHMM.java

主要问题与您通过管道导入数据的方式有关。如果您的数据采用以下格式,我也可以告诉它:

TOKEN  TAG 
TOKEN  TAG

我假设您可以在TOKEN和TAG之间使用功能但不是100%肯定。如果有人知道在mallet中使用HMM的任何好例子和文档,请告诉我。