标签:
隐含马尔可夫模型是一个数学模型,它被认为是解决大多数自然语言处理问题最为快速、有效的方法。它成功的解决了复杂的语音识别、机器翻译等问题。
人类信息交流的发展贯穿了人类的进化和文明的全过程。而自然语言是人类交流信息的工具,语言和通信的联系是天然的。通信的本质就是一个编解码和传输的过程。当自然语言处理的问题回归到通信系统中的解码问题时,很多问题都迎刃而解了。
所谓语音识别,就是听话的人去猜测说话者要表达的意思。这就像通信中,根据接收端收到的信号去分析、理解、还原发送端传送过来的信息。我们平时在说话时,脑子就是一个信息源,声带、空气,就像电线和光缆般的信道。听众的耳朵就是接收器,而听到的声音就是传送过来的信号。根据声学信号来推测说话者的意思,就是语音识别。几乎所有的自然语言处理问题都可以等价成通信的解码问题。
隐含马尔可夫模型并不是19世纪俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆等人在20世纪六七十年代发表的一系列论文中提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他的名字命名的。
要介绍隐含马尔可夫模型,还要从马尔可夫链说起。到了19世纪,概率论的发展从对(相对静态的)随机变量的研究发展到对随机变量的时间序列,即随机过程(动态的)的研究。这在哲学的意义上,是人类认识的一个飞跃。但是,随机过程要比随机变量复杂得多。因为随机过程可能有多个纬度的不确定性。
马尔可夫为了简化问题,提出了一种简化的假设,即随机过程中各个状态的概率分布,只与它的前一个状态有关。比如,对于天气预报,硬性假定今天的气温只与昨天有关而和前天无关。当然这种假设未必适合所有的应用,但是至少对以前很多不好解决的问题给出了近似解。这个假设后来被命名为马尔可夫假设,而符合这个假设的随机过程则称为马尔可夫过程,也称为马尔可夫链。
隐含马尔可夫模型是马尔可夫链的一个扩展:任一时刻t的状态是不可见的。所以观察者没法通过观察到一个状态序列s来推测转移概率等参数。但是,隐含马尔可夫模型在每个时刻t会输出一个符号o,而且o和s有关且仅和s有关。这个被称为独立输出假设。鲍姆把这种模型称为“隐含”马尔可夫模型。
隐含马尔可夫模型成功的应用最早是语音识别。20世纪70年代,卡内基-梅隆大学毕业的贝克夫妇,提出用隐含马尔可夫模型来识别语音,语音识别的错误率相比人工智能和模式匹配等方法降低三分之二。20世纪80年代末,李开复博士坚持采用隐含马尔可夫模型的框架,成功开发了世界上第一个大词汇量连续语音识别系统Sphinx。接下来,隐含马尔可夫模型陆续成功地应用于机器翻译、拼写纠错、手写体识别、图像处理、基因序列分析等很多IT领域,近20年来,它还广泛应用于股票预测和投资。
标签:
原文地址:http://my.oschina.net/realfighter/blog/424525