标签:style code http tar com strong
学习一下inside-outside算法,主要用于在已知文法结构下CFG,无监督parse。
CFG可定义为 Chomsky Normal Form, 对于生成的任何一个分析树有对应的potential值,树的potential值由其生成规则的potential值之乘积。因此对于potential的不同定义可衍生出类似的CFG,例如:
1, 将其potential定义为概率,则衍生出PCFG
2, 将其potential定义为特征的集合表示,则衍生出CRF-style CFG
类似于forward-backward算法,inside-outside算法需定义两个变量。
定义为内部的potential加和,表示以非终结符A为root,span(A) = [xi, xi+1, …, xj]的所有可能subtree的potential之和。
定义为外部的potential加和,表示以非终结符A为root,span(A) = [x0, x1,…, xi-1, A, xj+1, …, xn]的所有可能子结构的potential之和。
通过输入串以及CFG文法,计算inside和outside值
1, inside
初始化,如果存在于中,则其中为potential值,否则为0
通过自底向上的方法依次计算inside值,过程类似于CKY-style
2,outside
初始化,其余都为0
通过自顶向下的方法依次计算outside值
outside值分为两个部分
即A在span(i,j)的outside值为B在span(i,k)的outside值乘以C在span(j+1,k)的inside值
即A在span(i,j)的outside值为B在span(k,i)的outside值乘以C在span(k,i-1)的inside值
因此计算公式为
通过inside和outside的值可以计算的内容如下(一个句子):
所有可能的parse树potential值之和
在这些所有可能的parse树中,包含规则的parse树potential值之和
此外可以计算在所有可能的parse树中,存在非终结符A,span(A) = [xi, xi+1, …, xj]的parse树potential值之和
因此,在PCFG中参数估算中可使用inside-outside算法,potential函数定义为规则概率。在CRF-CFG中potential函数定义为特征向量的形式。
PCFG参数估计
首先定义potential函数
通过inside-outside算法可以得到一个句子所有可能性parse树potential之和,以及包含某个规则的所有parse树potential之和,因此:
以此形式不断的迭代从而估计规则概率值
CRF-CFG参数估计(此部分还是有些不清楚)
首先定义potential函数
余下的问题就是,在CRF-CFG中估计特征权重。在传统的PCFG中使用公式计算规则数量然后归一化成概率。而在CRF-CFG中规则是以某些特征值表示,因此需要估计的是特征的权重。
然后构造似然函数
在各个参数上求偏导(梯度矩阵)
此偏导表示某一特证“实际计数得到的值”与“在参数下模型期望的值”的差值,这种差值主要变现在上式的括号中,第一部分为实际计数得到的值,第二部分为在theta参数下模型期望值。
inside-outside 算法以及应用,布布扣,bubuko.com
标签:style code http tar com strong
原文地址:http://www.cnblogs.com/jmliunlp/p/3786214.html