具有特征函数滤波的线性链CRF

时间:2017-08-03 06:31:34

标签: stanford-nlp mallet

我正致力于实体的集体分类并使用 用于序列标记的CRFClassifier类。我要求一个 某些特征F_i不应与某些类别标签C_i一起考虑。

我已在CRFClassifier(Stanford CoreNLP)的属性文件中指定了各种标志,因此NERFeature工厂会生成这些功能。在内部,我想 它生成总L * N二进制特征函数(指标函数),其中,L = #classLabels和N =#特征。在这个交叉产品的总功能中,我不想考虑几对。实现这一目标的最佳方法是什么?

注意:我认为L * N函数是由 - getObjectiveFunction at生成的 以下位置。

CRFClassifier {
    protected double[] trainWeights(int[][][][] data, .......) {
              CRFLogConditionalObjectiveFunction func =
getObjectiveFunction(data, labels);
    }
}

EHat protected variable in Class CRFLogConditionalObjectiveFunction
 contains the empirical counts for these L*N features

对于我在分类器中不需要的组合, 是否可以将经验计数显式设置为0 在我调用Minimizer之前组合(在EHat变量中)?是不是说我的模型中没有这种组合?

Mallet是否提供了这样做的方法?

0 个答案:

没有答案