【NLP】命名实体识别NER——CRF方法详解

命名实体标注

对于给定的长度为 m 的序列 X,假设标注的结果为 [ y1, … , ym ] ,yi=PER/LOC/ORG/O,则命名实体标注问题可以表示在已知序列 X 的条件下,找出使得 [ y1, … , ym ] 的概率 P ( y1, … , ym ) 最大的序列 [ Y1, … , Ym ] 。

这个问题适合用线性链条件随机场建立模型:

结合前面模型的一般形式,我们定义该问题的能量函数如下:

b [ y_1 ] 表示序列首位是标签 y1 的 score; e [ y_m ] 表示序列末位是标签 y_m 的 score,  表示当前 word 标签为 y 的情况下的 score,表示前后标签状态转换的 score。

以上的四项也比较清楚的描述了在进行标注时我们考虑的几个因素:当前词相关信息及该标签出现的位置信息。

标注序列 y 的最优解    满足如下条件:

可以用 Viterbi 算法(动态规划)求解最优的标注序列。

CRF(条件随机场)

为了理解条件随机场,需要先解释几个概念:概率图模型、马尔科夫随机场。

概率图模型(Graphical Models):图是由结点及连接结点的边组成的集合,结点和边分别记作 v 和 e,结点和边的集合分别记作 V 和 E,图记作 G= ( V,E ) ,无向图是指边没有方向的图。概率图模型是由图表示的概率分布。设联合概率分布 P ( Y ) ,   是一组随机变量。由无向图 G= ( V,E ) 表示概率分布 P ( Y ) ,即在图 G 中,结点    表示一个随机变量,;边    表示随机变量之间的概率依赖关系。

成对马尔可夫性(Pairwise Markov):设 u 和 v 是无向图 G 中任意两个没有边连接的结点,结点 u 和 v 分别对于随机变量 Y_u   和 Y_v。成对马尔可夫性是指给定随机变量组 Y_o   的条件下随机变量 Y_u   和 Y_v   是条件独立的,即:

图 4 成对马尔可夫性

局部马尔可夫性(Local Markov):设    是无向图 G 中的任意一个结点,W 是与 v 有边连接的所有结点,O 是 v,W 以外的其他所有结点,v 表示随机变量是 Y_v  ,W 表示的随机变量组是 ,O 表示的随机变量组是 Y_w ,局部马尔可夫性是指在给定随机变量组 Y_w 的条件下,随机变量 与随机变量组 是独立的,即:

图 5 局部马尔可夫性

全局马尔可夫性(Local Markov):设结点集合 A,B 是在无向图 G 中被结点集合 C 分开的任意结点集合,结点集合 A,B 和 C 所对应的随机变量组分别是 Y_A、Y_B 和 Y_C。全局马尔可夫性是指给定随机变量组 Y_C 条件下随机变量组   Y_A、Y_B   是条件独立的,即

图 6 全局马尔可夫性

全局马尔可夫性,局部马尔可夫性和成对马尔可夫性三个性质可以证明是等价的。

马尔科夫随机场(Markov Random Field / MRF):设有联合概率分布 P ( Y ) ,由无向图 G= ( V,E ) 表示,在图 G 中,结点表示随机变量,边表示随机变量之间的依赖关系,如果联合概率分布 P ( Y ) 满足成对、局部或全局马尔可夫性,就称此联合概率分布为马尔可夫随机场。

团(clique):无向图 G 中任何两个结点均有边连接的结点子集称为团。若 C 是无向图 G 的一个团,并且不能再加进任何一个 G 的结点使其成为一个更大的团,则称此 C 为最大团。

引入概率无向图的一个重要作用是可以将概率无向图表示的联合概率分布拆分成每个团的联合概率分布的乘积:

Hammersley-Clifford 定理:概率无向图模型的联合概率分布 P ( Y ) 可以表示为如下形式:

其中,C 是无向图的团,Y_C 是 C 的结点对应的随机变量,  是 C 上定义的严格正函数(也称为势函数),乘积是在无向图所有的团上进行的(这些团正好覆盖整个无向图中的所有节点)。

我们通常将势函数写成如下形式:

其中 E ( Y_c ) 成为团 C 的能量函数,受热力学中玻尔兹曼分布的「能量越小的状态概率越大」的性质启发而来。

进一步地,我们对团 C 的能量函数   E ( Y_c )   进行建模,认为它是由 C 中的各个随机变量 Y_c 的一系列函数 f_k ( Y_c ) 的线性组合而来:

而   f_k ( Y_c )   称为特征函数。

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

可以简单的将上面各个表达式中的 Y 替换为 Y|X,于是我们有:

条件随机场可以用在不同的预测问题中,本文只讨论它在标注问题的应用。因此主要讲述线性链条件随机场(Linear Chain CRFs),对应的概率图 8 所示:

图 8 线性链条件随机场

其中白色节点表示输出随机变量 Y,灰色节点表示输入随机变量 X。在线性链条件随机场中,每个输出变量仅与相邻的两个输出变量以及输入变量 X 之间存在依赖关系。这个时候,我们可以将一般的 CRF 模型简化为:

序列标注问题

这里的序列标注问题是将序列中出现的不同种类的命名实体(人名,地名,组织名)标记出来,例如:

John ( B-PER ) lives ( O ) in ( O ) New ( B-LOC ) York ( I-LOC ) and ( O ) works ( O ) for ( O ) the ( O ) European ( B-ORG ) Union ( I-ORG ) .

括号中的内容是标注:PER 表示人名,LOC 表示地名,ORG 表示组织名称,O 表示非命名实体,B-X 表示命名实体的第一个词(B-PER 表示人名的第一个单词),I-X 表示命名实体第二个以后的词。

解决命名实体标注问题的一个简单的方法是将所有的这些命名实体都预先存在一个列表里面,然后将序列中出现的每个子序列从列表中匹配即可。这种方法的一个最大的问题是对于列表中没有的命名实体就无法进行识别。我们可以想象一下人类做命名实体识别的过程:除了用到先验的知识(New York 是地名),还会对没有先验知识的词根据上下文做出推测,比如上面的例子中如果我们不知道 European Union 是什么,可以根据首字母大写判断它可能是一个专名,然后结合前面的 works for 推测出它可能是一个机构名称。

转载自:https://blog.csdn.net/u010159842/article/details/82222527

猜你喜欢

转载自blog.csdn.net/zkq_1986/article/details/90902368