hankcs / Viterbi

An implementation of HMM-Viterbi Algorithm 通用的维特比算法实现

Home Page:http://www.hankcs.com/nlp/hmm-and-segmentation-tagging-named-entity-recognition.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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与分词、词性标注、命名实体识别》

About

An implementation of HMM-Viterbi Algorithm 通用的维特比算法实现

http://www.hankcs.com/nlp/hmm-and-segmentation-tagging-named-entity-recognition.html

License:Apache License 2.0


Languages

Language:Java 100.0%