本文整理汇总了Java中cc.mallet.fst.CRFTrainerByLabelLikelihood.setUseSparseWeights方法的典型用法代码示例。如果您正苦于以下问题:Java CRFTrainerByLabelLikelihood.setUseSparseWeights方法的具体用法?Java CRFTrainerByLabelLikelihood.setUseSparseWeights怎么用?Java CRFTrainerByLabelLikelihood.setUseSparseWeights使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cc.mallet.fst.CRFTrainerByLabelLikelihood
的用法示例。
在下文中一共展示了CRFTrainerByLabelLikelihood.setUseSparseWeights方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testTokenAccuracy
import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入方法依赖的package包/类
public void testTokenAccuracy() {
Pipe p = makeSpacePredictionPipe();
InstanceList instances = new InstanceList(p);
instances.addThruPipe(new ArrayIterator(data));
InstanceList[] lists = instances.split(new Random(777), new double[] {
.5, .5 });
CRF crf = new CRF(p.getDataAlphabet(), p.getTargetAlphabet());
crf.addFullyConnectedStatesForLabels();
CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(crf);
crft.setUseSparseWeights(true);
crft.trainIncremental(lists[0]);
TokenAccuracyEvaluator eval = new TokenAccuracyEvaluator(lists,
new String[] { "Train", "Test" });
eval.evaluateInstanceList(crft, lists[1], "Test");
assertEquals(0.9409, eval.getAccuracy("Test"), 0.001);
}
示例2: train
import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入方法依赖的package包/类
/**
*
* @param num_iterations
* @return
*/
public Boolean train(Integer num_iterations) {
this.model = new CRF(this.train_data.getPipe(), (Pipe) null);
for (int i = 0; i < this.model.numStates(); i++)
this.model.getState(i).setInitialWeight(Transducer.IMPOSSIBLE_WEIGHT);
String startName = this.model.addOrderNStates(this.train_data, new int[] { 1 }, null, DEFAULT_LABEL, Pattern.compile("\\s"), Pattern.compile(".*"), true);
this.model.getState(startName).setInitialWeight(0.0);
CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(this.model);
crft.setGaussianPriorVariance(DEFAULT_PRIOR_VARIANCE);
crft.setUseSparseWeights(true);
crft.setUseSomeUnsupportedTrick(true);
for (int i = 0; i < num_iterations; i++)
if (crft.train(this.train_data, 1))
break;
return this.model != null;
}
示例3: ignoretestTokenAccuracy
import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入方法依赖的package包/类
public void ignoretestTokenAccuracy() {
Pipe p = makeSpacePredictionPipe();
InstanceList instances = new InstanceList(p);
instances.addThruPipe(new ArrayIterator(data));
InstanceList[] lists = instances.split(new Random(777), new double[] {
.5, .5 });
CRF crf = new CRF(p.getDataAlphabet(), p.getTargetAlphabet());
crf.addFullyConnectedStatesForLabels();
CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(crf);
crft.setUseSparseWeights(true);
crft.trainIncremental(lists[0]);
TokenAccuracyEvaluator eval = new TokenAccuracyEvaluator(lists,
new String[] { "Train", "Test" });
eval.evaluateInstanceList(crft, lists[1], "Test");
assertEquals(0.9409, eval.getAccuracy("Test"), 0.001);
}
示例4: testDenseFeatureSelection
import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入方法依赖的package包/类
public void testDenseFeatureSelection() {
Pipe p = makeSpacePredictionPipe();
InstanceList instances = new InstanceList(p);
instances.addThruPipe(new ArrayIterator(data));
// Test that dense observations wights aren't added for
// "default-feature" edges.
CRF crf1 = new CRF(p, null);
crf1.addOrderNStates(instances, new int[] { 0 }, null, "start", null,
null, true);
CRFTrainerByLabelLikelihood crft1 = new CRFTrainerByLabelLikelihood(
crf1);
crft1.setUseSparseWeights(false);
crft1.train(instances, 1); // Set weights dimension
int nParams1 = crft1.getOptimizableCRF(instances).getNumParameters();
CRF crf2 = new CRF(p, null);
crf2.addOrderNStates(instances, new int[] { 0, 1 }, new boolean[] {
false, true }, "start", null, null, true);
CRFTrainerByLabelLikelihood crft2 = new CRFTrainerByLabelLikelihood(
crf2);
crft2.setUseSparseWeights(false);
crft2.train(instances, 1); // Set weights dimension
int nParams2 = crft2.getOptimizableCRF(instances).getNumParameters();
assertEquals(nParams2, nParams1 + 4);
}