int baseline_lm_feat_id = 0;
//??????????????????????????????????????
SymbolTable p_symbolTable = new BuildinSymbol(null);
KBestExtractor kbestExtractor =null;
int topN=300;//TODO
boolean extract_unique_nbest = true;//TODO
boolean do_ngram_clip_nbest = true; //TODO
if(orc_extract_nbest==true){
System.out.println("oracle extraction from nbest list");
kbestExtractor = new KBestExtractor(p_symbolTable, extract_unique_nbest, false, false, false, false, true);
}
BufferedWriter orc_out = FileUtility.getWriteFileStream(f_orc_out);
boolean rerankKbestOracles = true;
BufferedWriter rerankOrcOut=null;
if(rerankKbestOracles==true){
rerankOrcOut = FileUtility.getWriteFileStream(f_orc_out+".rerank");
}
long start_time0 = System.currentTimeMillis();
long time_on_reading = 0;
long time_on_orc_extract = 0;
BufferedReader t_reader_ref = FileUtility.getReadFileStream(f_ref_files);
DiskHyperGraph dhg_read = new DiskHyperGraph(p_symbolTable, baseline_lm_feat_id, saveModelScores, null);
dhg_read.initRead(f_hypergraphs, f_rule_tbl, null);
KBestExtractor oracleKbestExtractor = new KBestExtractor(p_symbolTable, extract_unique_nbest, false, false, true, false, true);//extract kbest oracles
KBestExtractor rerankOracleKbestExtractor = new KBestExtractor(p_symbolTable, extract_unique_nbest, false, false, false, false, true);//extract kbest oracles
int topKOracles= 500;//TODO
//OracleExtractionOnHGV2 orc_extractor = new OracleExtractionOnHGV2(p_symbolTable, baseline_lm_feat_id);
OracleExtractionOnHGV3 orc_extractor = new OracleExtractionOnHGV3(p_symbolTable);
String ref_sent= null;
int sent_id=0;