我对使用 MALLET 非常陌生。我需要一个用于序列标记任务的 HMM 库。我已经看过 Sequence Tagging Developer's Guide,但我无法理解如何训练 HMM。我有一个隐藏状态列表、一个观察符号列表、初始概率矩阵、转移概率矩阵和发射概率矩阵。我需要使用 BW 算法训练 HMM,重新估计参数,然后想使用这些参数执行序列标记任务。
例如,我有以下值:
hidden_states = ('下雨','晴天')
observation_symbols = ('walk', 'shop', 'clean')
initial_probability = {'雨天':0.6,'晴天':0.4}
转换概率= {
'雨天':{'雨天':0.7,'晴天':0.3},
'晴天':{'雨天':0.4,'晴天':0.6},
}
排放概率= {
'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5},
'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
}
观察序列= {
走干净的商店,
干净的步行商店
}
如何使用上述参数训练 HMM?请帮忙。