• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java CRFTrainerByLabelLikelihood类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中cc.mallet.fst.CRFTrainerByLabelLikelihood的典型用法代码示例。如果您正苦于以下问题:Java CRFTrainerByLabelLikelihood类的具体用法?Java CRFTrainerByLabelLikelihood怎么用?Java CRFTrainerByLabelLikelihood使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CRFTrainerByLabelLikelihood类属于cc.mallet.fst包,在下文中一共展示了CRFTrainerByLabelLikelihood类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testGetSetParameters

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void testGetSetParameters() {
	int inputVocabSize = 100;
	int numStates = 5;
	Alphabet inputAlphabet = new Alphabet();
	for (int i = 0; i < inputVocabSize; i++)
		inputAlphabet.lookupIndex("feature" + i);
	Alphabet outputAlphabet = new Alphabet();
	CRF crf = new CRF(inputAlphabet, outputAlphabet);
	String[] stateNames = new String[numStates];
	for (int i = 0; i < numStates; i++)
		stateNames[i] = "state" + i;
	crf.addFullyConnectedStates(stateNames);
	CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(crf);
	Optimizable.ByGradientValue mcrf = crft
			.getOptimizableCRF(new InstanceList(null));
	TestOptimizable.testGetSetParameters(mcrf);
}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:18,代码来源:TestCRF.java


示例2: 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);

}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:23,代码来源:TestCRF.java


示例3: testPrint

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void testPrint() {
	Pipe p = new SerialPipes(new Pipe[] {
			new CharSequence2TokenSequence("."), new TokenText(),
			new TestCRFTokenSequenceRemoveSpaces(),
			new TokenSequence2FeatureVectorSequence(),
			new PrintInputAndTarget(), });
	InstanceList one = new InstanceList(p);
	String[] data = new String[] { "ABCDE", };
	one.addThruPipe(new ArrayIterator(data));
	CRF crf = new CRF(p, null);
	crf.addFullyConnectedStatesForThreeQuarterLabels(one);
	CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(crf);
	crf.setWeightsDimensionAsIn(one, false);
	Optimizable mcrf = crft.getOptimizableCRF(one);
	double[] params = new double[mcrf.getNumParameters()];
	for (int i = 0; i < params.length; i++) {
		params[i] = i;
	}
	mcrf.setParameters(params);
	crf.print();
}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:22,代码来源:TestCRF.java


示例4: testSpaceViewer

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void testSpaceViewer () throws IOException
{
  Pipe pipe = TestMEMM.makeSpacePredictionPipe ();
  String[] data0 = { TestCRF.data[0] };
  String[] data1 = { TestCRF.data[1] };

  InstanceList training = new InstanceList (pipe);
  training.addThruPipe (new ArrayIterator (data0));
  InstanceList testing = new InstanceList (pipe);
  testing.addThruPipe (new ArrayIterator (data1));

  CRF crf = new CRF (pipe, null);
  crf.addFullyConnectedStatesForLabels ();
  CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood (crf);
  crft.trainIncremental (training);

  CRFExtractor extor = TestLatticeViewer.hackCrfExtor (crf);
  Extraction extraction = extor.extract (new ArrayIterator (data1));

  if (!outputDir.exists ()) outputDir.mkdir ();
  DocumentViewer.writeExtraction (outputDir, extraction);
}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:23,代码来源:TestDocumentViewer.java


示例5: 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;
}
 
开发者ID:hakchul77,项目名称:irnlp_toolkit,代码行数:24,代码来源:MalletWrapper.java


示例6: 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);

}
 
开发者ID:cmoen,项目名称:mallet,代码行数:23,代码来源:TestCRF.java


示例7: ignoretestSpaceViewer

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void ignoretestSpaceViewer () throws IOException
{
  Pipe pipe = TestMEMM.makeSpacePredictionPipe ();
  String[] data0 = { TestCRF.data[0] };
  String[] data1 = { TestCRF.data[1] };

  InstanceList training = new InstanceList (pipe);
  training.addThruPipe (new ArrayIterator (data0));
  InstanceList testing = new InstanceList (pipe);
  testing.addThruPipe (new ArrayIterator (data1));

  CRF crf = new CRF (pipe, null);
  crf.addFullyConnectedStatesForLabels ();
  CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood (crf);
  crft.trainIncremental (training);

  CRFExtractor extor = TestLatticeViewer.hackCrfExtor (crf);
  Extraction extraction = extor.extract (new ArrayIterator (data1));

  if (!outputDir.exists ()) outputDir.mkdir ();
  DocumentViewer.writeExtraction (outputDir, extraction);
}
 
开发者ID:cmoen,项目名称:mallet,代码行数:23,代码来源:TestDocumentViewer.java


示例8: getLikelihood

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
double getLikelihood(CRF crf, InstanceList data) {
	CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood(crf);
	Optimizable.ByGradientValue mcrf = crft.getOptimizableCRF(data);
	// Do this elaborate thing so that crf.cachedValueStale is forced true
	double[] params = new double[mcrf.getNumParameters()];
	mcrf.getParameters(params);
	mcrf.setParameters(params);
	return mcrf.getValue();
}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:10,代码来源:TestCRF.java


示例9: 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);

}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:30,代码来源:TestCRF.java


示例10: testXis

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void testXis() {
	Pipe p = makeSpacePredictionPipe();

	InstanceList instances = new InstanceList(p);
	instances.addThruPipe(new ArrayIterator(data));

	CRF crf1 = new CRF(p, null);
	crf1.addFullyConnectedStatesForLabels();
	CRFTrainerByLabelLikelihood crft1 = new CRFTrainerByLabelLikelihood(
			crf1);
	crft1.train(instances, 10); // Let's get some parameters

	Instance inst = instances.get(0);
	Sequence input = (Sequence) inst.getData();
	SumLatticeDefault lattice = new SumLatticeDefault(crf1, input,
			(Sequence) inst.getTarget(), null, true);
	for (int ip = 0; ip < lattice.length() - 1; ip++) {
		for (int i = 0; i < crf1.numStates(); i++) {
			Transducer.State state = crf1.getState(i);
			Transducer.TransitionIterator it = state.transitionIterator(
					input, ip);
			double gamma = lattice.getGammaProbability(ip, state);
			double xiSum = 0;
			while (it.hasNext()) {
				Transducer.State dest = it.nextState();
				double xi = lattice.getXiProbability(ip, state, dest);
				xiSum += xi;
			}
			assertEquals(gamma, xiSum, 1e-5);
		}
	}
}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:33,代码来源:TestCRF.java


示例11: testSpaceViewer

import cc.mallet.fst.CRFTrainerByLabelLikelihood; //导入依赖的package包/类
public void testSpaceViewer () throws FileNotFoundException
{
  Pipe pipe = TestMEMM.makeSpacePredictionPipe ();
  String[] data0 = { TestCRF.data[0] };
  String[] data1 = { TestCRF.data[1] };

  InstanceList training = new InstanceList (pipe);
  training.addThruPipe (new ArrayIterator (data0));
  InstanceList testing = new InstanceList (pipe);
  testing.addThruPipe (new ArrayIterator (data1));

  CRF crf = new CRF (pipe, null);
  crf.addFullyConnectedStatesForLabels ();
  CRFTrainerByLabelLikelihood crft = new CRFTrainerByLabelLikelihood (crf);
  crft.trainIncremental (training);

  CRFExtractor extor = hackCrfExtor (crf);
  Extraction extration = extor.extract (new ArrayIterator (data1));

  PrintStream out = new PrintStream (new FileOutputStream (htmlFile));
  LatticeViewer.extraction2html (extration, extor, out);
  out.close();

  out = new PrintStream (new FileOutputStream (latticeFile));
  LatticeViewer.extraction2html (extration, extor, out, true);
  out.close();


}
 
开发者ID:kostagiolasn,项目名称:NucleosomePatternClassifier,代码行数:30,代码来源:TestLatticeViewer.java



注:本文中的cc.mallet.fst.CRFTrainerByLabelLikelihood类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DatabaseIdProvider类代码示例发布时间:2022-05-21
下一篇:
Java GroupRequest类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap