package joshua.discriminative.training; import java.io.BufferedReader; import java.util.HashMap; import java.util.List; import joshua.discriminative.DiscriminativeSupport; import joshua.discriminative.FileUtilityOld; public class FeatureSelectionNBEST { /*for 919 sent, time_on_reading: 148797 time_on_orc_extract: 580286*/ public static void main(String[] args) { //long start_time = System.currentTimeMillis(); if(args.length!=2){ System.out.println("wrong command, correct command should be: java FeatureSelection_NBEST f_l_test_nbest f_feature_set_out"); System.out.println("num of args is "+ args.length); for(int i=0; i <args.length; i++) System.out.println("arg is: " + args[i]); System.exit(0); } String f_l_test_nbest= args[0].trim(); String f_feature_set_out= args[1].trim();//output file List<String> testNbestFiles = DiscriminativeSupport.readFileList(f_l_test_nbest); //#### extract feat tbl HashMap tbl_feats = new HashMap(); tbl_feats.put(HGDiscriminativeLearner.baselineFeatName, 1); for(int fid=0; fid < testNbestFiles.size(); fid++){ System.out.println("#######Process file id " + fid); BufferedReader t_reader_nbest = FileUtilityOld.getReadFileStream((String)testNbestFiles.get(fid),"UTF-8"); String line=null; while((line=FileUtilityOld.readLineLzf(t_reader_nbest))!=null){ NBESTDiscriminativeLearner.featureExtraction(line, tbl_feats, null, 1, false); } FileUtilityOld.closeReadFile(t_reader_nbest); } //#### write hashtable FileUtilityOld.printHashTbl(tbl_feats, f_feature_set_out, true, false); } }