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

Java TokenAccuracyEvaluator类代码示例

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

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



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

示例1: testTokenAccuracy

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的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


示例2: train

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的package包/类
public SyllTagModel train(Collection<Alignment> trainInputs, Collection<Alignment> testInputs, boolean eval) {
  Pipe pipe = makePipe();
  InstanceList trainExamples = makeExamplesFromAlignsWithPipe(trainInputs, pipe);
  InstanceList testExamples = null;
  if (testInputs != null) {
    testExamples = makeExamplesFromAlignsWithPipe(testInputs, pipe);
  }

  log.info("Training test-time syll aligner on whole data...");
  TransducerTrainer trainer = trainOnce(pipe, trainExamples);

  if (eval) {
    TokenAccuracyEvaluator evaler = new TokenAccuracyEvaluator(trainExamples, "traindata");
    evaler.evaluate(trainer);
    double trainAcc = evaler.getAccuracy("traindata");
    double testAcc = 0.0;
    if (testExamples != null) {
      TokenAccuracyEvaluator evaler2 = new TokenAccuracyEvaluator(testExamples, "testdata");
      evaler2.evaluate(trainer);
      testAcc = evaler2.getAccuracy("testdata");
    }
    log.info("Train data accuracy = " + trainAcc + ", test data accuracy = " + testAcc);
  }

  return new SyllTagModel((CRF) trainer.getTransducer());
}
 
开发者ID:steveash,项目名称:jg2p,代码行数:27,代码来源:SyllTagTrainer.java


示例3: ignoretestTokenAccuracy

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的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


示例4: train

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的package包/类
public CRF train(InstanceList trainingInstances, InstanceList testingInstances)
        throws FileNotFoundException, IOException {

    if (this.transducerTrainer == null) {
        throw new IllegalStateException("crfTrainer needs to be set via one of the available methods");
    }
    // trainer.addEvaluator(new PerClassAccuracyEvaluator(trainingInstances,
    // "training"));
    this.transducerTrainer.addEvaluator(new PerClassAccuracyEvaluator(testingInstances, "testing"));
    this.transducerTrainer.addEvaluator(new TokenAccuracyEvaluator(testingInstances, "testing"));

    // this.transducerTrainer
    // .addEvaluator(new FixedViterbiWriter(new
    // File("/home/mkoerner/viterbi.txt"), testingInstances, "test"));

    this.transducerTrainer.train(trainingInstances);
    return this.crf;
}
 
开发者ID:exciteproject,项目名称:refext,代码行数:19,代码来源:ReferenceExtractorTrainer.java


示例5: testDualSpaceViewer

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

  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);
  TokenAccuracyEvaluator eval = new TokenAccuracyEvaluator (new InstanceList[] {training, testing}, new String[] {"Training", "Testing"});
  for (int i = 0; i < 5; i++) {
  	crft.train (training, 1);
  	eval.evaluate(crft);
  }

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

  Pipe pipe2 = TestMEMM.makeSpacePredictionPipe ();
  InstanceList training2 = new InstanceList (pipe2);
  training2.addThruPipe (new ArrayIterator (data0));
  InstanceList testing2 = new InstanceList (pipe2);
  testing2.addThruPipe (new ArrayIterator (data1));

  MEMM memm = new MEMM (pipe2, null);
  memm.addFullyConnectedStatesForLabels ();
  MEMMTrainer memmt = new MEMMTrainer (memm);
  TransducerEvaluator memmeval = new TokenAccuracyEvaluator (new InstanceList[] {training2, testing2}, new String[] {"Training2", "Testing2"});
  memmt.train (training2, 5);
  memmeval.evaluate(memmt);

  CRFExtractor extor2 = hackCrfExtor (memm);
  Extraction e2 = extor2.extract (new ArrayIterator (data1));

  if (!htmlDir.exists ()) htmlDir.mkdir ();
  LatticeViewer.viewDualResults (htmlDir, e1, extor, e2, extor2);

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


示例6: accuracyFor

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的package包/类
private double accuracyFor(InstanceList examples) {
  TokenAccuracyEvaluator teval = new TokenAccuracyEvaluator(examples, "train");
  teval.evaluate(lastTrainer);
  return teval.getAccuracy("train");
}
 
开发者ID:steveash,项目名称:jg2p,代码行数:6,代码来源:PhonemeCrfTrainer.java


示例7: ignoretestDualSpaceViewer

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

  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);
  TokenAccuracyEvaluator eval = new TokenAccuracyEvaluator (new InstanceList[] {training, testing}, new String[] {"Training", "Testing"});
  for (int i = 0; i < 5; i++) {
  	crft.train (training, 1);
  	eval.evaluate(crft);
  }

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

  Pipe pipe2 = TestMEMM.makeSpacePredictionPipe ();
  InstanceList training2 = new InstanceList (pipe2);
  training2.addThruPipe (new ArrayIterator (data0));
  InstanceList testing2 = new InstanceList (pipe2);
  testing2.addThruPipe (new ArrayIterator (data1));

  MEMM memm = new MEMM (pipe2, null);
  memm.addFullyConnectedStatesForLabels ();
  MEMMTrainer memmt = new MEMMTrainer (memm);
  TransducerEvaluator memmeval = new TokenAccuracyEvaluator (new InstanceList[] {training2, testing2}, new String[] {"Training2", "Testing2"});
  memmt.train (training2, 5);
  memmeval.evaluate(memmt);

  CRFExtractor extor2 = hackCrfExtor (memm);
  Extraction e2 = extor2.extract (new ArrayIterator (data1));

  if (!htmlDir.exists ()) htmlDir.mkdir ();
  LatticeViewer.viewDualResults (htmlDir, e1, extor, e2, extor2);

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


示例8: TrainCRF

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的package包/类
public TrainCRF(String trainingFilename, String testingFilename) throws IOException {

        ArrayList<Pipe> pipes = new ArrayList<Pipe>();

        int[][] conjunctions = new int[2][];
        conjunctions[0] = new int[] { -1 };
        conjunctions[1] = new int[] { 1 };

        pipes.add(new SimpleTaggerSentence2TokenSequence());
        pipes.add(new OffsetConjunctions(conjunctions));
        //pipes.add(new FeaturesInWindow("PREV-", -1, 1));
        pipes.add(new TokenTextCharSuffix("C1=", 1));
        pipes.add(new TokenTextCharSuffix("C2=", 2));
        pipes.add(new TokenTextCharSuffix("C3=", 3));
        pipes.add(new RegexMatches("CAPITALIZED", Pattern.compile("^\\p{Lu}.*")));
        pipes.add(new RegexMatches("STARTSNUMBER", Pattern.compile("^[0-9].*")));
        pipes.add(new RegexMatches("HYPHENATED", Pattern.compile(".*\\-.*")));
        pipes.add(new RegexMatches("DOLLARSIGN", Pattern.compile(".*\\$.*")));
        pipes.add(new TokenFirstPosition("FIRSTTOKEN"));
        pipes.add(new TokenSequence2FeatureVectorSequence());

        Pipe pipe = new SerialPipes(pipes);

        InstanceList trainingInstances = new InstanceList(pipe);
        InstanceList testingInstances = new InstanceList(pipe);

        trainingInstances.addThruPipe(new LineGroupIterator(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(trainingFilename)))), Pattern.compile("^\\s*$"), true));
        testingInstances.addThruPipe(new LineGroupIterator(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(testingFilename)))), Pattern.compile("^\\s*$"), true));

        CRF crf = new CRF(pipe, null);
        //crf.addStatesForLabelsConnectedAsIn(trainingInstances);
        crf.addStatesForThreeQuarterLabelsConnectedAsIn(trainingInstances);
        crf.addStartState();

        CRFTrainerByLabelLikelihood trainer =
                new CRFTrainerByLabelLikelihood(crf);
        trainer.setGaussianPriorVariance(10.0);

        //CRFTrainerByStochasticGradient trainer =
        //new CRFTrainerByStochasticGradient(crf, 1.0);

        //CRFTrainerByL1LabelLikelihood trainer =
        //	new CRFTrainerByL1LabelLikelihood(crf, 0.75);

        //trainer.addEvaluator(new PerClassAccuracyEvaluator(trainingInstances, "training"));
        trainer.addEvaluator(new PerClassAccuracyEvaluator(testingInstances, "testing"));
        trainer.addEvaluator(new TokenAccuracyEvaluator(testingInstances, "testing"));
        trainer.train(trainingInstances);

    }
 
开发者ID:karahindiba,项目名称:WikiInfoboxExtractor,代码行数:51,代码来源:TrainCRF.java


示例9: TrainWikiCRF

import cc.mallet.fst.TokenAccuracyEvaluator; //导入依赖的package包/类
public TrainWikiCRF(String trainingFilename, String testingFilename) throws IOException {
	
	ArrayList<Pipe> pipes = new ArrayList<Pipe>();

	int[][] conjunctions = new int[2][];
	conjunctions[0] = new int[] { -1 };
	conjunctions[1] = new int[] { 1 };

	pipes.add(new SimpleTaggerSentence2TokenSequence());
	pipes.add(new OffsetConjunctions(conjunctions));
	//pipes.add(new FeaturesInWindow("PREV-", -1, 1));
	pipes.add(new TokenTextCharSuffix("C1=", 1));
	pipes.add(new TokenTextCharSuffix("C2=", 2));
	pipes.add(new TokenTextCharSuffix("C3=", 3));
	pipes.add(new RegexMatches("CAPITALIZED", Pattern.compile("^\\p{Lu}.*")));
	pipes.add(new RegexMatches("STARTSNUMBER", Pattern.compile("^[0-9].*")));
	pipes.add(new RegexMatches("HYPHENATED", Pattern.compile(".*\\-.*")));
	pipes.add(new RegexMatches("DOLLARSIGN", Pattern.compile(".*\\$.*")));
	pipes.add(new TokenFirstPosition("FIRSTTOKEN"));
	pipes.add(new TokenSequence2FeatureVectorSequence());

	Pipe pipe = new SerialPipes(pipes);

	InstanceList trainingInstances = new InstanceList(pipe);
	InstanceList testingInstances = new InstanceList(pipe);

	trainingInstances.addThruPipe(new LineGroupIterator(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(trainingFilename)))), Pattern.compile("^\\s*$"), true));
	testingInstances.addThruPipe(new LineGroupIterator(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(testingFilename)))), Pattern.compile("^\\s*$"), true));
	
	CRF crf = new CRF(pipe, null);
	//crf.addStatesForLabelsConnectedAsIn(trainingInstances);
	crf.addStatesForThreeQuarterLabelsConnectedAsIn(trainingInstances);
	crf.addStartState();

	CRFTrainerByLabelLikelihood trainer = 
		new CRFTrainerByLabelLikelihood(crf);
	trainer.setGaussianPriorVariance(10.0);

	//CRFTrainerByStochasticGradient trainer = 
	//new CRFTrainerByStochasticGradient(crf, 1.0);

	//CRFTrainerByL1LabelLikelihood trainer = 
	//	new CRFTrainerByL1LabelLikelihood(crf, 0.75);

	//trainer.addEvaluator(new PerClassAccuracyEvaluator(trainingInstances, "training"));
	trainer.addEvaluator(new PerClassAccuracyEvaluator(testingInstances, "testing"));
	trainer.addEvaluator(new TokenAccuracyEvaluator(testingInstances, "testing"));
	trainer.train(trainingInstances);
	
}
 
开发者ID:karahindiba,项目名称:WikiInfoboxExtractor,代码行数:51,代码来源:TrainWikiCRF.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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