linear_chain_crf

    线性链条件随机场(Linear Chain CRF)

    条件随机场定义间接概率图,节点代表随机变量,边代表两个变量之间的依赖。CRF学习条件概率

    linear_chain_crf - 图1

    是结构性输入,

    为输入标签。

    线性链条件随机场(Linear Chain CRF)是特殊的条件随机场(CRF),有利于序列标注任务。序列标注任务不为输入设定许多条件依赖。唯一的限制是输入和输出必须是线性序列。因此类似CRF的图是一个简单的链或者线,也就是线性链随机场(linear chain CRF)。

    该操作符实现了线性链条件随机场(linear chain CRF)的前向——反向算法。详情请参照 和 http://cseweb.ucsd.edu/~elkan/250Bwinter2012/loglinearCRFs.pdf

    长度为L的序列s的概率定义如下:

    linear_chain_crf - 图2

    线性链条件随机场最终输出每个batch训练样本的条件概率的对数

    注意:

    1.条件随机场(CRF)的特征函数由发射特征(emission feature)和转移特征(transition feature)组成。发射特征(emission feature)权重在调用函数前计算,而不在函数里计算。

    2.由于该函数对所有可能序列的进行全局正则化,发射特征(emission feature)权重应是未缩放的。因此如果该函数带有发射特征(emission feature),并且发射特征是任意非线性激活函数的输出,则请勿调用该函数。

    3.Emission的第二维度必须和标记数字(tag number)相同。

    返回:

    Emission的指数形式。shape与Emission相同。这是前向计算中的中间计算结果,在反向计算中还会复用。

    Transition的指数形式。shape为[(D+2)*D]的二维张量。这是前向计算中的中间计算结果,在反向计算中还会复用。

    条件概率的对数形式。每个batch训练样本的条件概率的对数。这是一个shape为[S*1]的二维张量,S是mini-batch的序列数。注:S等于mini-batch的序列数。输出不再是LoDTensor。

    返回类型:

    Emission的指数形式。Variable(Tensor|LoDTensor):数据类型为float32, float64的Tensor或者LoDTensor。

    Transition的指数形式。Variable(Tensor|LoDTensor):数据类型为float32, float64的Tensor或者LoDTensor。

    条件概率的对数形式。Variable(Tensor):数据类型为float32, float64的Tensor。