1. 隐马尔科夫模型(Hidden Markov Models,HMM)
关于隐马尔科夫模型,在我爱自然语言处理上有一个很生动形象的解释:http://www.52nlp.cn/hmm-learn-best-practices-two-generating-patterns
至少要知道以下几点:
(1)HMM是一个数学模型,包括隐藏状态集合、观察状态集合、观察状态的初始概率向量π, 隐藏状态间的转移矩阵A,隐藏状态转换为观察状态的混淆矩阵B,B又叫做发射矩阵,隐藏状态转换为观察状态成为发射状态。
(2)HMM由π,A,B三个参数可以确定,HMM(π,A,B)。
(3)HMM可以用来解决三个问题:
a. 给定一个模型,如何计算某个特定的观测序列的概率;
b. 给定一个模型和某个特定的观测序列,如何找到最可能产生这个输出的隐藏状态序列;
c. 给定足够的观测数据,如何估计HMM的三个参数 。
(4)语音识别主要关注第一和第三个问题,词性标注主要关注第二和第三个问题。
(5)a 可以通过前向算法快速解决,b 需要利用Viterbi算法解决,c 有两种方法解决:有监督或者无监督方法训练参数。有监督的参数训练通过标注训练集统计获得相关参数,难度较低;无监督的参数训练则通过鲍姆-韦尔奇算法迭代训练获得,难度很大。