Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.32 KB

README.md

File metadata and controls

51 lines (38 loc) · 1.32 KB

Viterbi

An implementation of HMM-Viterbi Algorithm

  • How to Use
public static void main(String[] args)
{
     int[] result = Viterbi.compute(observations, states, start_probability, transititon_probability, emission_probability);
     for (int r : result)
     {
        System.out.print(Weather.values()[r] + " ");
     }
}
  • About the algorithm

See Wiki

Viterbi

通用维特比算法的Java实现

  • 调用方法
public static void main(String[] args)
{
     int[] result = Viterbi.compute(observations, states, start_probability, transititon_probability, emission_probability);
     for (int r : result)
     {
        System.out.print(Weather.values()[r] + " ");
     }
}
  • 算法详解

代码本身没什么新意,看到Git上没有好用的Viterbi的Java实现,所以补个缺。特点是简单好懂,一个方法搞定。调用简单,往compute方法里填充HMM的五元组就能得到最佳标注序列。 附赠一个对经典天气预测问题的求解,问题的描述和思路详见前文: 详见《HMM与分词、词性标注、命名实体识别》