幾種不同程序語言的HMM版本

轉載自:http://www.52nlp.cn/several-different-programming-language-version-of-hmm

“紙上得來終覺淺,絕知此事要躬行”,在繼續翻譯《HMM學習最佳範例》之前,這裏先補充幾個不同程序語言實現的HMM版本,主要參考了維基百科。讀者有興趣的話可以研究一下代碼,這樣對於HMM的學習會深刻很多!

C語言版:
1、 HTK(Hidden Markov Model Toolkit):
  HTK是英國劍橋大學開發的一套基於C語言的隱馬爾科夫模型工具箱,主要應用於語音識別、語音合成的研究,也被用在其他領域,如字符識別和DNA排序等。HTK是重量級的HMM版本。
  HTK主頁:http://htk.eng.cam.ac.uk/
2、 GHMM Library:
  The General Hidden Markov Model library (GHMM) is a freely available LGPL-ed C library implementing efficient data structures and algorithms for basic and extended HMMs.
  GHMM主頁:http://www.ghmm.org/
3、 UMDHMM(Hidden Markov Model Toolkit):
  Hidden Markov Model (HMM) Software: Implementation of Forward-Backward, Viterbi, and Baum-Welch algorithms.
  這款屬於輕量級的HMM版本。
  UMDHMM主頁:http://www.kanungo.com/software/software.html

Java版:
4、 Jahmm Java Library (general-purpose Java library):
  Jahmm (pronounced "jam"), is a Java implementation of Hidden Markov Model (HMM) related algorithms. It's been designed to be easy to use (e.g. simple things are simple to program) and general purpose.
  Jahmm主頁:http://code.google.com/p/jahmm/

Malab版:
5、 Hidden Markov Model (HMM) Toolbox for Matlab:
  This toolbox supports inference and learning for HMMs with discrete outputs (dhmm's), Gaussian outputs (ghmm's), or mixtures of Gaussians output (mhmm's).
  Matlab-HMM主頁:http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html

Common Lisp版:
6、CL-HMM Library (HMM Library for Common Lisp):
  Simple Hidden Markov Model library for ANSI Common Lisp. Main structures and basic algorithms implemented. Performance speed comparable to C code. It's licensed under LGPL.
  CL-HMM主頁:http://www.ashrentum.net/jmcejuela/programs/cl-hmm/

Haskell版:
7、The hmm package (A Haskell library for working with Hidden Markov Models):
  A simple library for working with Hidden Markov Models. Should be usable even by people who are not familiar with HMMs. Includes implementations of Viterbi's algorithm and the forward algorithm.
  Haskell-HMM主頁:http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hmm
  注:Haskell是一種純函數式編程語言,它的命名源自美國數學家Haskell Brooks Curry,他在數學邏輯方面上的工作使得函數式編程語言有了廣泛的基礎。

  是否還有C++版、Perl版或者Python版呢?歡迎補充!

以下來自原文的評論部分:

Python 版的HMM可在如下地址獲取:http://www.biocomp.unibo.it/piero/PHMM/

可以再wikipedia上找到很多對Viterbi的實現:http://en.wikipedia.org/wiki/Viterbi_algorithm

C++版的HMM可在如下地址獲取:http://www.cs.ualberta.ca/~lindek/hmm.htm

For Delphi,C++: http://www.shokhirev.com/nikolai/abc/alg/hmm/hmm.html

http://julius.sourceforge.jp/en_index.php  這個很不錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章