@Override public List<Translation> decodeFast(List<String> phrase, PhraseTable phraseTable, List<String> featureNames, int nBest) { return decoder.get().decodeFast(phrase, phraseTable, featureNames, nBest); }
private List<Translation> doDecoding(TranslatorSetup setup, Decoder decoder, EntityLabel el, int options) { final ChunkList chunkList = setup.chunker(el.entity).chunk(tokenizer.tokenize(el.srcLabel)); final PhraseTableImpl pt = new PhraseTableImpl(setup.sourceLanguage(), setup.targetLanguage(), "mert_table"); for (Chunk chunk : chunkList) { for (TranslationSource source : setup.sources()) { pt.addAll(source.candidates(chunk)); } } PhraseTable rerankedTable = pt; for (TranslationFeaturizer featurizer : setup.featurizers(el.entity)) { try { rerankedTable = featurizer.featurize(rerankedTable, el.entity); } catch (Exception x) { } } final List<Translation> decoded = (options & OntologyTranslator.DECODE_FAST) == 0 ? decoder.decode(Arrays.asList(el.srcLabel.split("\\s+")), rerankedTable, setup.featureNames(), nBest) : decoder.decodeFast(Arrays.asList(el.srcLabel.split("\\s+")), rerankedTable, setup.featureNames(), nBest); return decoded; }