几种不同程序语言的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版呢?欢迎补充!

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:http://www.52nlp.cn/several-different-programming-language-version-of-hmm

此条目发表在隐马尔科夫模型分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。

几种不同程序语言的HMM版本》有 36 条评论

  1. lyg说:

    This is the Python version of HMM. Please visit it and get the information you need.

    [回复]

    admin 回复:

    Thank you so much!

    [回复]

    admin 回复:

    Python 版的HMM可在如下地址获取:
    http://www.biocomp.unibo.it/piero/PHMM/
    谢谢lyg提供信息!

    [回复]

  2. xcui说:

    博主你好,关注你的博客有一段时间了。可以再wikipedia上找到很多对Viterbi的实现:

    http://en.wikipedia.org/wiki/Viterbi_algorithm

    [回复]

    admin 回复:

    非常感谢,好像是崔师兄吧,呵呵!

    [回复]

  3. admin说:

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

    [回复]

    水林 回复:

    请问有人编译了这个C++版的吗 我弄了但是isinf这个函数不存在 不知有人知道吗?

    [回复]

    wanxue 回复:

    用gcc编译

    [回复]

  4. YaseenTA说:

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

    [回复]

    52nlp 回复:

    Thanks a lot!

    [回复]

    孔明 回复:

    这个页面没有说怎么用啊!只有源代码。

    [回复]

  5. ck说:

    谢谢,正在研究中。。。

    [回复]

  6. 52nlp说:

    不客气,欢迎写个研究心得!

    [回复]

  7. stone说:

    http://julius.sourceforge.jp/en_index.php
    这个很不错

    [回复]

    52nlp 回复:

    谢谢!

    [回复]

  8. 水林说:

    请问有人编译了Dekang Lin的C++版的吗 我弄了但是isinf这个函数不存在 不知有人知道吗

    [回复]

    52nlp 回复:

    我没有编译过,查了一下,不知你是否是在windows下进行的编译?如果是的话,可能需要在Linux下利用gcc/g++了,下面这个似乎遇到了相似的问题:
    http://yourlei.blog.sohu.com/69878075.html

    [回复]

    水林 回复:

    谢谢。刚接触到这些,通过博主的文章学到了很多,努力学习中!

    [回复]

  9. ciwei020621说:

    文章如何转载啊?

    [回复]

    52nlp 回复:

    转载都不会吗?ctrl+a, ctrl+c, 不过保留出处。

    [回复]

    ciwei020621 回复:

    大哥,我要的是转载,不是复制,谢谢!

    [回复]

    52nlp 回复:

    其实我仅是举个例子,不过真不知道你要的是怎么样的转载,呵呵。

    52nlp 回复:

    很多人转载都不告我的~

  10. anita5577说:

    有没有C#版的呢?

    [回复]

    52nlp 回复:

    Google了一些,貌似还没有合适的。

    [回复]

  11. 老芦说:

    您好,感谢您分享的这些资料,不知您知道哪个的适用于连续HMM 的代码比较好吗?

    [回复]

    52nlp 回复:

    不太清楚,抱歉。

    [回复]

  12. 老芦说:

    UMDHMM 调试通过,但不适用于连续HMM。关于连续HMM里用到的混合高斯模型能不能讲一下。

    [回复]

    52nlp 回复:

    这一块儿不是很熟悉,抱歉。

    [回复]

  13. 老芦说:

    谁在使用连续HMM或者第一个HTK程序,加我QQ609518232,大家互相交流下连续HMM。

    [回复]

  14. 匆匆说:

    博主你好,我下载了matlab版的HMM toolbox,但是运行的时候报错了。不知道是什么情况?
    未定义与 ‘double’ 类型的输入参数相对应的函数 ‘gmm’。
    出错 mixgauss_init (line 30)
    mix = gmm(d, M, cov_type);

    [回复]

    52nlp 回复:

    抱歉,没用用过Matlab版本

    [回复]

    匆匆 回复:

    我也是初学,因为做的科研里面要用到这个算法……不管怎么样还是非常感谢博主的贡献~

    [回复]

    匆匆 回复:

    今天又试了一下,是我没按照指导来做…………应该要先把全部四个文件夹都添加到matlab的路径中,已测试可运行。

    Cassandra 回复:

    您好,我在使用MATLAB工具包中HMMs with mixture of Gaussians outputs部分时候,总是报错,说没有定义cov_type,您遇到过这个情况么?

    马泽 回复:

    您好,我刚开始学习HMM,能不能留个联系方式交流一下。

    [回复]

发表评论

电子邮件地址不会被公开。 必填项已用*标注