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;
long start_time = System.currentTimeMillis();
while( (ref_sent=FileUtility.read_line_lzf(t_reader_ref))!= null ){
System.out.println("############Process sentence " + sent_id);
start_time = System.currentTimeMillis();
sent_id++;
//if(sent_id>10)break;
HyperGraph hg = dhg_read.readHyperGraph();
if(hg==null)continue;
double orc_bleu=0;
//System.out.println("read disk hyp: " + (System.currentTimeMillis()-start_time));