Gavin老师Transformer直播课感悟 - NLP信息提取中的Multivariate Prediction及Graphical Modeling解密系列

一、概述

CRF(Conditional Random Fields)作为信息提取框架在处理时能够确保全局最优是一个非常重要的特性。由于Transformer神经网络的运用会出现一些偏差,使用CRF可以很好地对信息进行纠正。

二、NLP信息提取中的Multivariate Prediction及Graphical Modeling解密系列

  1. 具有依赖关系的multivariate data classification模型意义分析

我们经常会预测大量的变量,在它们之间彼此存在依赖。结构化的预测方法本质上是分类和图形化建模的组合。可以把图形化模型对多变量数据进行紧凑建模的能力和分类方法使用大规模输入特征执行预测的能力进行组合。CRF作为一种流行的结构化预测的概率方法,在自然语言处理方面,计算机视觉等方面都有广泛的应用。这里描述的关于CRF的推理和参数评估方法存在实现大规模CRF时所带来的实际问题。

在表达序列化的模型时,可能会有很多的多变量数据(multivariate data,譬如POS tagging处理结果),CRF的转移矩阵训练好之后对所有的状态都是固定的,多变量数据从概率的角度讲就会变成一个统一的矩阵。这里提到的“结构化”主要强调的是序列化的模型,并不太强调输入的数据,因为CRF对所有的输入都有依赖,譬如在下面的架构图中,输入部分都是由Transformer进行处理后再交给CRF,无论输入什么,最后都会被统一变成上下文:

 2.  Graphical Modeling的核心场景及意义

对很多应用来说,最基本的就是预测相互依赖的多个变量的能力。从粗粒度来说,就是基于输入vector x所表示的随机变量,预测对应的vector y = {y0, y1, . . . , yT }。一个相对简单的自然语言处理例子就是POS tagging,每个变量ys就是在位置s的词汇的POS tag,而x被划分为feature vectors {x0, x1 . . . xT },每个xs包含在位置s的词汇的不同信息,譬如这个词汇的ID,拼写正确的features如词汇的前缀和后缀,在语义库(如WordNet)中的信息等。

关于解决多变量数据预测问题的方法,特别是如果目标是想最大化正确被分类的labels的数量,那么需要学习针对每个位置s能够把x映射到ys的独立的per-position分类器。然而困难之处在于输出的变量之间可能有复杂的依赖。举个例子,假设由两个单词可以构成一个名称(名词),如果再加上一个单词又可以构成一个名称,在CRF“看见”第3个位置时,也会看到前面两个相邻位置,这就是它们之间的依赖关系。如果输出的变量结构是一个复杂的parse tree,那么在这个tree的顶端附近使用什么样的语法规则会对tree的其余部分产生很大的影响。可以通过图形化模型来表示输出变量之间的依赖关系。通过图形化模型来描述一个给定的概率密度进行因数分解后如何能够对应到满足概率分布的一套条件独立的关系。

图形化建模在多变量概率分布中进行表示和推理时是一个强有力的框架。

 3.  Generative Models及其问题和解决方案

Generative Models是明确尝试基于输入和输出来对联合概率p(y, x) 进行建模。虽然这种方式有很多优点,但是也存在重大限制,不仅是输入x序列的维度可能会非常大,而且features也会有很复杂的依赖性,所以基于这些来构建一个概率分布是很困难的。对输入的依赖性进行建模可能会导致难以处理的模型,但是如果忽略依赖性又会导致模型表现降低。

 4.  Conditional Model和Joint Model解析

CRF能够把原有的联合概率分布的东西变成一个条件概率分布p(y|x),这样可以简化计算过程和计算量。CRF从本质上来说组合了分类和图形化建模的优点,以及把对多变量数据进行紧凑建模的能力和利用大规模输入features进行预测的能力组合起来。这样一个条件模型的优点在于把所有的输入作为上下文,而依赖关系是从转移矩阵的角度来考虑的。

下面是关于几种模型之间的相互关系,譬如HMMs通过条件处理转换为Linear-chain CRFs:

CRF可以看做是逻辑回归分类器扩展到图形化结构,或者是结构化数据生成模型的一个判别式的模拟物。

 5.  Undirected Models解密

基于随机变量V = X ∪Y来考虑概率分布,X是被观察的输入序列,而Y对应的是预测的序列,对于每个变量s ∈ V,从V的集合中获取结果,结果可能是连续的或者是离散的。用vector x表示X的一个随机分配,给定一个变量s ∈ X,符号xs表示x分配给s的值,类似地,xa表示分配给一个子集a ⊂ X的值。

undirected模型使用下面的公式来进行定义,左边表示联合概率,而右边1/Z表示归一化,

常量Z的定义如下:

下面是关于函数Ψa的计算,通过指数运算把乘法变为加法,如果x和y是离散型的,则不会有generality的损失:

猜你喜欢

转载自blog.csdn.net/m0_49380401/article/details/123539669