2011-10-31 93 views
4

我現在正在用Mallet關於HMM的荒謬文檔很差的努力掙扎。我設法將數據導入實例(從ImportExample.java片段調整),我只是想知道如何使用它們來訓練HMM模型。 我首先創建一個HMM實例開始,但我不知道是否去:Mallet 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

如果您能提供任何幫助,我將不勝感激。

乾杯

回答

2

我已成功地解決這方面的問題,並認爲這可能是有用的其他有同樣的問題。在小槌的示例包中有一個解決方案:http://hg-iesl.cs.umass.edu/hg/mallet/file/83adf71b0824/src/cc/mallet/examples/TrainHMM.java

主要問題與您如何通過管道導入數據有關。此外,從我可以告訴它幫助,如果你的數據的格式如下:

TOKEN TAG 
TOKEN TAG 

我假設你可以擁有的功能在令牌與標籤之間,但我不是100%肯定。如果有人知道任何有關在槌子中使用HMM的好例子和文檔,請告訴我。