马勒隐马尔可夫模型训练问题

5

我目前正在为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个回答

2
我已经成功解决了这个特定问题,并认为对于遇到同样问题的其他人可能会有用。在Mallet的examples包中有一个解决方案:http://hg-iesl.cs.umass.edu/hg/mallet/file/83adf71b0824/src/cc/mallet/examples/TrainHMM.java
主要问题与如何通过管道导入数据有关。此外,从我所了解的情况来看,如果您的数据以这种格式呈现,则会有所帮助:
TOKEN  TAG 
TOKEN  TAG

我假设您可以在TOKEN和TAG之间添加功能,但并不完全确定。 如果有人知道有关在Mallet中使用HMM的良好示例和文档,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接