1 通信模型
通信的本质就是一个编解码和传输的过程。
当自然语言处理的问题回归到通信系统中的解码问题时,很多难题就迎刃而解了。
雅格布森通信六要素是:发送者(信息源),信道,接受者,信息, 上下文和编码。
通信的解码就是根据接受到的信号还原出发送到信号。
几乎所有的自然语言处理的问题都可以等价成通信的解码问题。
只需要从所有的源信息中找到最可能产生出观测信号的那一个信息。
2 隐含马尔可夫模型
隐含马尔可夫模型是马尔可夫链的一个扩展:任一时刻t的状态St是不可见的。所以观察者没法通过观察到一个序列状态S1,S2,S3,...,St 来推测转移概率等参数。但是,隐含马尔可夫模型在每个时刻t会输出一个符号Ot,而且Ot跟St相关而且仅跟St相关。这个称为独立输出假设。
针对不同的应用,P(S1,S2,S3,...|O1,O2,O3,...)名称页各不相同,在语音识别中它被称为“声学模型”,在机器翻译中是“翻译模型”,而在拼写纠正中是“纠正模型”。
3 隐含马尔可夫模型的训练
三个基本问题:
给定一个模型,如何计算某个特定的输出序列的概率。(Forward-Backward算法)
给定一个模型和某个特定的输出序列,如何找到最可能产生这个输出的状态序列。(维特比算法)
给定足够量的观测数据,如何估计隐含马尔可夫模型的参数。
要利用隐含马尔可夫模型解决实际问题,需要事先知道从前一个状态St-1进入当前状态St的概率P(St|St-1),也称为转移概率,和每个状态St产生相应输出符号Ot的概率P(Ot|St),也称为生成概率。这些概率称为隐含马尔可夫模型的参数,而计算或者估计这些参数的过程称为模型的训练。
训练隐含马尔可夫模型更实用的方式是仅仅通过大量观测到的信号O1,O2,O3,...就能推算模型参数的P(St|St-1)和P(Ot|St)的方法,这类方法称为无监督的训练方法,其中主要使用的是鲍姆-韦尔奇算法。
首先找到一组能够产生输出序列O的模型参数。
接下来,不断寻找模型,直到模型的质量不再有明显提高为止。