/** * Initialize the decoder */ private void init() { skipSeqs.add(eps); skipSeqs.add(sb); skipSeqs.add(se); skipSeqs.add(skip); skipSeqs.add("-"); // keep an augmented copy (for compose) Compose.augment(0, g2pmodel, g2pmodel.getSemiring()); ArcSort.apply(g2pmodel, new ILabelCompare()); String[] isyms = g2pmodel.getIsyms(); loadClusters(isyms); // get epsilon filter for composition epsilonFilter = Compose.getFilter(g2pmodel.getIsyms(), g2pmodel.getSemiring()); ArcSort.apply(epsilonFilter, new ILabelCompare()); }
@Test public void testArcSort() { // Input label sort test Fst fst1 = createUnsorted(); Fst fst2 = createIsorted(); assertThat(fst1, not(equalTo(fst2))); apply(fst1, new ILabelCompare()); assertThat(fst1, equalTo(fst2)); // Output label sort test fst1 = createUnsorted(); fst2 = createOsorted(); assertThat(fst1, not(equalTo(fst2))); apply(fst1, new OLabelCompare()); assertThat(fst1, equalTo(fst2)); }
/** * Initialize the decoder */ private void init() { skipSeqs.add(eps); skipSeqs.add(sb); skipSeqs.add(se); skipSeqs.add(skip); skipSeqs.add("-"); // keep an augmented copy (for compose) Compose.augment(0, g2pmodel, g2pmodel.getSemiring()); ArcSort.apply(g2pmodel, new ILabelCompare()); String[] isyms = g2pmodel.getIsyms(); loadClusters(isyms); // get epsilon filter for composition epsilonFilter = Compose.getFilter(g2pmodel.getIsyms(), g2pmodel.getSemiring()); ArcSort.apply(epsilonFilter, new ILabelCompare()); }