java - Mallet HMM 训练问题

标签 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 cannot be cast to cc.mallet.types.FeatureVectorSequence

如果您能提供任何帮助,我将不胜感激。

干杯

最佳答案

我已经设法解决了这个特殊问题,并认为它可能对遇到同样问题的其他人有用。 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 的任何好的示例和文档,请告诉我。

关于java - Mallet HMM 训练问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955448/

相关文章:

python - PyMC:马尔可夫系统中的参数估计

java - 集群/分布式服务有哪些好的中间件解决方案

java - 从客户适配器的 getView 中的 onclick 监听器访问特定 View

python - 如何在 Gensim 主题建模上预测测试数据

python - 在 PyMC3 中重现 Hamilton 1989 马尔可夫切换模型

machine-learning - 分类 HMM 陀螺仪数据 Jahmm 无法学习模型

java - 编译错误 java.io.IOException 错误必须被捕获或声明

java - 如何借助 liferay 注册 portlet 创建用户注册

java - 无法打开 mallet logging.properties 文件

machine-learning - bin/mallet 训练主题在每个实例中都会得到不同的结果