crf进行词性标记详解

时间:2023-01-09 17:56:39

关于crf内容我看到了几篇写的不错的博客,具体链接如下,在此记录一下,仅做学习

CRF系列(一)——一个简单的例子

​​条件随机场CRF(一)从随机场到线性链条件随机场​​

​​条件随机场CRF(二) 前向后向算法评估标记序列概率​​

​​条件随机场CRF(三) 模型学习与维特比算法解码​​

CRF可以应用于对一串序列进行自动标注的问题。例如对文字序列进行词性标,即要自动判断句子中每个单词的词性。在这样的问题中,每一个词的标注结果,不仅依赖于该词语本身,还会依赖于其他词语的标注结果。CRF可以考虑到这样的依赖关系。

本文会以一个词性标注的应用为例,介绍CRF所解决的问题以及CRF模型的建立,学习与预测过程。

任务描述

词性标注(part-of-speech tagging),其目标就是对一个句子即一串单词的序列进行打标签(tagging),标注每个词的词性(ADJECTIVE, NOUN, PREPOSITION, VERB, ADVERB, ARTICLE)。我们假设在词性标准任务中,每个单词的词性不仅依赖其本身,而且也会依赖其前一个单词(这里做了简化,实际上每个单词的标注结果依赖更多东西)。

下面,我将针对对这个问题,建立一个简单的线性链条件随机场(linear-chain CRF)。并介绍这个CRF是如何表示上述的依赖关系,以及如何利用这个CRF来求解这个问题。

实际上,和其他的统计机器学习模型一样,我们有三个任务要完成:

1)指定模型参数(建立模型)

2)估计这些参数(学习)

3)利用这些参数进行预测(预测)

第一个任务——建立模型

特征函数

crf进行词性标记详解

crf进行词性标记详解

模型

crf进行词性标记详解

crf进行词性标记详解

参数模型

此时,我们的模型已经呼之欲出了,

crf进行词性标记详解

小结

这就是我们的线性链CRF参数模型,它有能力表示这样的依赖关系:每个位置的标注结果不仅依赖于该位置的单词本身,同时还依赖前一个位置的标注结果。

同时我们还指定了模型的参数为每个特征函数的权重crf进行词性标记详解

第二个任务——学习

目标

crf进行词性标记详解

计算问题

crf进行词性标记详解


小结

这样,我们第二个任务也搞定了。

参数的学习就是根据训练数据找到能使条件概率最大化的参数;

但是由于数据维度高,计算量很大,因此会使用前向-后向算法来计算线性链条件随机场的归一化项crf进行词性标记详解

第三个任务——预测

现在我们已经有了模型,并且在已知的数据集上得到了该模型最优的参数,接下来就是根据这个模型及参数对未知的数据进行推测了。具体到我们的词性标注问题,就是给定一个已知句子 crf进行词性标记详解 ,但是其标注未知,通过模型推测每个单词可能性最大的词性,即找到最优的一组 crf进行词性标记详解 ,使:crf进行词性标记详解

计算问题

这回我们谨慎一点,先看看计算有没有问题。

crf进行词性标记详解

小结

这样,我们知道了如何利用建立好的模型以及学习好的参数,对词性未知的句子进行标注了。同时,为了得到这个最优的标注,需要使用维特比算法

总结

至此,我们通过一个词性标注的例子,了解了:

  1. CRF适用于这样的情况:对于多个位置的标注,每一个位置的标注结果,不仅与其本身有关,而且依赖于其他位置的标注结果。
  2. CRF与其他统计机器学习模型一样,可以分为三个部分,分别是:
  1. 模型的建立
  2. 参数的学习
  3. 推测
  1. 对于模型的建立,我们使用了特征函数,它保证了模型拥有表示我们所需的依赖关系的能力。
  2. 对于模型参数的学习以及结果的预测,发现高维数据带来很大的计算量,因此需要一些算法来简化计算。

但是,还有一些问题需要探索:

  1. CRF是一种概率图模型,那么什么是概率图模型?从概率图的角度我们怎么看条件随机场?其他的概率图模型又能解决什么样的问题?
  2. 我们在这里说的都是线性链条件随机场(Linear Chain CRF),那么其他形式的CRF是怎样的,它们能解决什么问题?
  3. 在线性链CRF中,为了解决计算问题,在学习和预测中所用到的前向-后向算法以及维特比算法分别是什么?
  4. 我们现在看到的是CRF在NLP方面的应用,那么在图像处理中,如何利用CRF提高预测效果?

作者:​​你的雷哥​​

本文版权归作者所有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。