private void RunTagInference() { this.InitializeScorer(); if (Thread.Interrupted()) { // Allow interrupting throw new RuntimeInterruptedException(); } IBestSequenceFinder ti = new ExactBestSequenceFinder(); //new BeamBestSequenceFinder(50); //new KBestSequenceFinder() int[] bestTags = ti.BestSequence(this); finalTags = new string[bestTags.Length]; for (int j = 0; j < size; j++) { finalTags[j] = maxentTagger.tags.GetTag(bestTags[j + LeftWindow()]); } if (Thread.Interrupted()) { // Allow interrupting throw new RuntimeInterruptedException(); } CleanUpScorer(); }
public virtual void TestExactBestSequenceFinder() { IBestSequenceFinder bsf = new ExactBestSequenceFinder(); BestSequenceFinderTest.ITestSequenceModel tsm = new BestSequenceFinderTest.TestSequenceModel1(); RunSequenceFinder(tsm, bsf); RunPossibleValuesChecker(tsm, bsf); BestSequenceFinderTest.ITestSequenceModel tsm2 = new BestSequenceFinderTest.TestSequenceModel2(); RunSequenceFinder(tsm2, bsf); RunPossibleValuesChecker(tsm2, bsf); BestSequenceFinderTest.ITestSequenceModel tsm2nr = new BestSequenceFinderTest.TestSequenceModel2nr(); RunSequenceFinder(tsm2nr, bsf); RunPossibleValuesChecker(tsm2nr, bsf); BestSequenceFinderTest.ITestSequenceModel tsm3 = new BestSequenceFinderTest.TestSequenceModel3(); RunSequenceFinder(tsm3, bsf); RunPossibleValuesChecker(tsm3, bsf); }