美文网首页
李航-第11章条件随机场

李航-第11章条件随机场

作者: 瘦长的丰一禾 | 来源:发表于2018-06-28 21:43 被阅读96次

条件随机场(CRF,conditonal random field)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。

什么样的问题需要CRF模型?

条件随机场可以用于不同的预测问题,可以用于标注问题。《统计学习方法》这一章主要讲的是标注问题。

自然语言处理中的词性标注(POS Tagging)就是非常适合CRF使用的地方。词性标注的目标是给出一个句子中每个词的词性(名词,动词,形容词等)。而这些词的词性往往和上下文的词的词性有关,因此,使用CRF来处理是很适合的,当然CRF不是唯一的选择,也有很多其他的词性标注方法。

从随机场到线性链条件随机场

X和Y有相同的结构的CRF就构成了线性链条件随机场(Linear chain Conditional Random Fields,以下简称 linear-CRF)。

即线性链条件随机场是条件随机场的特殊形式。

线性链条件随机场.jpg

从随机场到马尔科夫模型
马尔科夫随机场是随机场的特例,它假设随机场中某一个位置的赋值仅仅与和它相邻的位置的赋值有关,和与其不相邻的位置的赋值无关。继续举十个词的句子词性标注的例子: 如果我们假设所有词的词性只和它相邻的词的词性有关时,这个随机场就特化成一个马尔科夫随机场。比如第三个词的词性除了与自己本身的位置有关外,只与第二个词和第四个词的词性有关。

c.前向-后向算法评估标记序列概率

条件随机场j简写为CRF,隐马尔科夫模型简写为HMM

前向-后向标记序列位置概率.jpg
模型学习与维特比算法解码

条件随机场的预测问题是给定条件随机场P(Y|X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)y*,即对观测序列进行标注。条件随机场的预测算法是著名的维特比算法。

条件随机场预测的维特比算法.jpg
条件随机场的维特比预测算法

In [23]: def predict(self, x_vec, debug=False):
   ...:     """给定x,预测y。使用Viterbi算法"""
   ...:     # all_features, len(x_vec) + 1, Y, Y, K
   ...:     all_features = self.get_all_features(x_vec)
   ...:     # log_potential: len(x_vec) + 1, Y, Y  保存各个下标的非规范化概率
   ...:     log_potential = np.dot(all_features, self.w)
   ...:     T = len(x_vec)
   ...:     Y = len(self.labels)
   ...:     # Psi保存每个时刻最优情况的下标
   ...:     Psi = np.ones((T, Y), dtype=np.int32) * -1
   ...:     # 初始化
   ...:     delta = log_potential[0, 0]
   ...:     # 递推
   ...:     for t in range(1, T):
   ...:         next_delta = np.zeros(Y)
   ...:         for y in range(Y):
   ...:             w = delta + log_potential[t, :, y]
   ...:             Psi[t, y] = psi = w.argmax()
   ...:             next_delta[y] = w[psi]
   ...:         delta = next_delta
   ...:     # 回溯找到最优路径
   ...:     y = delta.argmax()
   ...:     trace = []
   ...:     for t in reversed(range(T)):
   ...:         trace.append(y)
   ...:         y = Psi[t, y]
   ...:     trace.reverse()
   ...:     return [self.labels[i] for i in trace]

参考链接:
条件随机场CRF(一)从随机场到线性链条件随机场
Simple CRF
条件随机场CRF总结和实现
线性链条件随机场-tutorial(一)
条件随机场CRF(三) 模型学习与维特比算法解码
HMM、MEMM、CRF

相关文章

  • 李航-第11章条件随机场

    条件随机场(CRF,conditonal random field)是给定一组输入随机变量条件下另一组输出随机变量...

  • 李文全随拍:蜜蜂的机场,在一面土墙的岁月里

    李文全随拍:蜜蜂的机场,在一面土墙的岁月里

  • 9月11日行业资讯

    厦航在成都机场开通“无纸化通关”服务 厦航在成都双流机场正式开通“无纸化通关”服务,厦航因此成为国内首批开通此服务...

  • CRF

    条件随机场(CRF)的理解如何轻松愉快地理解条件随机场(CRF)?条件随机场(CRF)如何直观地理解条件随机场,并...

  • 敢把人生付戏中 28-30

    (28)许哥的洋插队 要不要去机场给李彤送行?程墨跟许哥商量。给她到机场送行,就等于认同了李彤昨天提出的条件:程墨...

  • 条件随机场

    https://www.zhihu.com/answer/306485500

  • 条件随机场

    条件随机场就像HMM一样,最开始让我难以理解,但其实认真看了,也不是太难。本文总结自这边博客,它的引用的资料值得一...

  • 条件随机场

    机械匹配的时候,从前到后,和从后到前,哪一种方法更加准确。词库整理的技巧1、在现有词库的基础上,进行分词,在分出来...

  • 条件随机场

    隐马尔科夫模型有三个基本问题:1 概率计算问题:给定模型和观测序列,计算在模型下观测序列出现的概率。2 学习问题:...

  • 条件随机场

    1. CRF理解的过程 1.1 判别式模型 和 生成式模型 判别式模型的核心就是设定一个边界,直接对输入判定结果。...

网友评论

      本文标题:李航-第11章条件随机场

      本文链接:https://www.haomeiwen.com/subject/rdtvyftx.html