def test(body_file, summ_file, param_file, oracle_len, w_exp): """ run summarizer, perform structured prediction """ logger.debug('start testing...') logger.debug('[settings]: len_%s_exp_%d' % (oracle_len, w_exp)) corpus = buildCorpus(body_file, summ_file, w_exp) # load parameters from file decoder = Decoder() decoder.weights.load(param_file) # perform structured prediction estimator = ParamEstimator() estimator.predict(decoder, corpus, oracle_len) return
def train(body_file, summ_file, param_file, loss_func, num_passes, oracle_len, w_exp): """ run summarizer, learn structured prediction parameters """ logger.debug('start training...') logger.debug('[settings]: %s_%d_passes_len_%s_exp_%d' % (loss_func, num_passes, oracle_len, w_exp)) corpus = buildCorpus(body_file, summ_file, w_exp) # learn parameters decoder = Decoder() estimator = ParamEstimator() final_weights = estimator.learnParamsAdaGrad(decoder, corpus, param_file, loss_func, num_passes, oracle_len) # output parameters to file with codecs.open(param_file, 'w', 'utf-8') as outfile: outfile.write('#num_passes#: %d\n' % num_passes) outfile.write('%s\n' % final_weights.toString()) return
def summ(body_file, summ_file, param_file, oracle_len, w_exp, jamr=False): """ run summarizer, perform structured prediction """ logger.debug('start testing...') logger.debug('[settings]: len_%s_exp_%d' % (oracle_len, w_exp)) corpus = buildCorpus(body_file, summ_file, w_exp) # load parameters from file decoder = Decoder() decoder.weights.load(param_file) # perform structured prediction estimator = ParamEstimator() output_folder = param_file.replace('params', 'summ') if jamr == True: output_folder = param_file.replace('params', 'jamr_summ') estimator.summarize(decoder, corpus, oracle_len, output_folder) return