HMM与CRF模型的使用过程有哪些差异?

文章介绍了HMM和CRF在自然语言处理(NLP)中的应用,如文本序列标注问题。HMM模型基于隐马尔可夫假设,适合快速预测,但可能在复杂序列问题中准确性较低。相比之下,CRF没有隐马假设,允许更复杂的依赖关系,从而可能提供更高的准确性,但计算成本更高。两者都在训练后使用维特比算法找到最可能的隐含序列路径。
摘要由CSDN通过智能技术生成

在NLP领域, HMM用来解决文本序列标注问题. 如分词, 词性标注, 命名实体识别都可以看作是序列标注问题。同HMM一样, CRF一般也以文本序列数据为输入, 以该序列对应的隐含序列为输出。

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)。

CRF模型

首先, CRF模型表示为: lambda = CRF(w1, w2, …, wn), 其中w1到wn是模型参数.

接着, 我们开始训练CRF模型, 语料同样是事先准备好的一定数量的观测序列及其对应的隐含序列.与此同时我们还需要做人工特征工程, 然后通过不断训练求得一组参数, 使由观测序列到对应隐含序列的概率最大.

训练后, 我们就得到了具备预测能力的新模型: lambda = CRF(w1, w2, …, wn), 其中的模型参数已经改变.之后给定输入序列(x1, x2, …, xn), 经过模型计算lambda(x1, x2, …, xn)得到对应隐含序列的条件概率分布.

最后, 还是使用维特比算法从隐含序列的条件概率分布中找出概率最大的一条序列路径就是我们需要的隐含序列: (y1,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值