目前,我正在与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
如果你能提供任何帮助,我将不胜感激。
干杯
发布于 2011-11-03 09:48:06
我设法解决了这个特殊的问题,并认为它可能对其他有同样问题的人有用。在mallet中的示例包中有一个解决方案:http://hg-iesl.cs.umass.edu/hg/mallet/file/83adf71b0824/src/cc/mallet/examples/TrainHMM.java
主要问题与如何通过管道导入数据有关。此外,如果您的数据是这种格式的,那么我可以告诉您:
TOKEN TAG
TOKEN TAG我假设您可以在标记和标记之间有一些特性,但不是100%肯定的。如果有人知道在槌子中使用HMM的好例子和文档,请告诉我。
https://stackoverflow.com/questions/7955448
复制相似问题