Package joshua.discriminative.monolingual_parser

Source Code of joshua.discriminative.monolingual_parser.NbestDecoderThread

package joshua.discriminative.monolingual_parser;

import java.io.BufferedWriter;
import java.io.IOException;
import java.util.ArrayList;

import joshua.corpus.vocab.SymbolTable;
import joshua.decoder.JoshuaConfiguration;
import joshua.decoder.ff.FeatureFunction;
import joshua.decoder.ff.tm.GrammarFactory;
import joshua.decoder.hypergraph.HyperGraph;
import joshua.decoder.hypergraph.KBestExtractor;
import joshua.util.FileUtility;

public class NbestDecoderThread extends MonolingualDecoderThread {
  private final KBestExtractor kbestExtractor;
  private String          nbestFile; 
  private BufferedWriter t_writer_nbest;
 
 
  public NbestDecoderThread(GrammarFactory[] grammar_factories, boolean have_lm_model_, ArrayList<FeatureFunction> l_feat_functions, ArrayList<Integer> l_default_nonterminals_,
            SymbolTable symbolTable, String test_file_in, String nbest_file_in, int start_sent_id_in) throws IOException {
    super(grammar_factories, have_lm_model_, l_feat_functions,
        l_default_nonterminals_, symbolTable, test_file_in,
        start_sent_id_in);
    this.nbestFile      = nbest_file_in;

    t_writer_nbest =  FileUtility.getWriteFileStream(nbestFile);
   
   
    this.kbestExtractor = new KBestExtractor(this.symbolTable, JoshuaConfiguration.use_unique_nbest, JoshuaConfiguration.use_tree_nbest,
        JoshuaConfiguration.include_align_index, JoshuaConfiguration.add_combined_cost,  true, true);
   
  }

  @Override
  public void postProcessHypergraph(HyperGraph p_hyper_graph, int sentenceID) throws IOException{
     
//    ========================= do something to the hypergraph
    kbestExtractor.lazyKBestExtractOnHG(p_hyper_graph, featFunctions, JoshuaConfiguration.topN, sentenceID, t_writer_nbest)
  }

  @Override
  public void postProcess() throws IOException{
      t_writer_nbest.flush();
      t_writer_nbest.close();
    }
   
   
}
TOP

Related Classes of joshua.discriminative.monolingual_parser.NbestDecoderThread

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.