经典序列模型
1.1、HMM模型的输入和输出
HMM(hidden Markov Model)中文称为隐马尔可夫模型,因俄罗斯数学家马尔可夫而得名,它一般以文本序列数据为输入,以该序列对应的隐含序列为输出
1.2、什么是隐含序列
序列数据中每个单元包含的隐形信息。这些隐形信息之间也存在一定关联
1.3、HMM序列的作用
在NLP领域,HMM用来解决文本序列标注问题。如分词,词性标注,命名实体识别都可以看作是序列标注问题。
1.4、HMM模型使用过程简述
首先,HMM模型表示为:lambda = HMM(A,B,pi),其中A,B,pi都是模型的参数,分别称作:转移概率矩阵,发射概率矩阵和初始概率矩阵
接着,我们开始训练HMM模型,语料就是事先准备好的一定梳理的观测序列及其对应的隐含序列,通过不断训练求得一组参数,使由观测序列到对应隐含序列的概率最大
在训练过程中,为了简化计算,马尔可夫提出一种假设:隐含序列中每个单元的可能性只与上一个单元有关,这个假设就是著名的隐含假设
训练后,我们就得到了具备预测能力的新模型:lambda=HMM(A,B,pi),其中的模型参数已经改变
之后给定输入序列(x1,x2…xn),经过模型计算lambda(x1,x2…xn)得到对应隐含序列的条件概率分布
最后,使用维特比算法从隐含序列的条件概率分布中找出概率最大的一条序列路径就是我们需要的隐含序列:(y1,y2…yn)
2.1、CRF模型的输入和输出
CRF(Conditional Random Fields)中文称作条件随机场,同HMM一样,它一般以文本序列数据为输入,以该序列对应的隐含序列为输出
2.2、CRF模型的作用
同HMM一样,在NLP领域,CRF用来解决文本序列标注问题,如分词,词性标注,命名实体识别
2.3CRF模型使用过程简述
首先,CRF模型表示为:lambda =CRF(w1,w2…wn),其中w1到wn是模型参数
接着,我们开始训练CRF模型,语料统一是事先准备好的一定数量的观测序列及其对应的隐含序列
与此同时我们还需要做人工特征工程,然后通过不断训练球的一组参数,使得由观测序列到对应隐含序列的概率最大
训练后,我们就得到具备预测能力的新模型:lambda =CRF(w1,w2…wn),其中模型的参数已经改变
之后给定输入序列(x1,x2…xn),经过模型计算lambda(x1,x2…xn)得到对应隐含序列的条件概率分布
最后,使用维特比算法从隐含序列的条件概率分布中找出概率最大的一条序列路径就是我们需要的隐含序列:(y1,y2…yn)
2.3、HMM与CRF模型之间差异
HMM模型存在隐马假设,而CRF不存在,因此HMM的计算速度要比CRF模型快很多,适用于对预测性能要求较高的场合
同样因为隐马假设,当预测问题中隐含序列单元并不是只与上一个单元有关是,HMM的准确率会大大降低,而CRF不受这样的限制,准确率明显高于HMM
2.4、HMM和CRF的发展现状
HMM和CRF模型曾在多种序列任务中表现出色,伴随NLP工程师度过漫长的一段时间
但由于近年来深度学习发展迅速,经典序列模型,如HMM和CRF,已经慢慢淡出人们的视野