def main(): args = get_args() rouge_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'rouge/RELEASE-1.5.5/') data_path = os.path.join(args.iobasedir, 'processed/', args.dataset, args.domain, args.split) log_path = os.path.join(args.iobasedir, 'logs') log_file = os.path.join( args.iobasedir, 'logs', 'baselines_rsumm_%s_%s_%s_%s.log' % (args.dataset, args.domain, args.split, str(args.summary_size))) mkdirp(log_path) set_logger(log_file) data_file = os.path.join(data_path, 'test0.csv') df = pd.read_csv(data_file, sep=",", quotechar='"', engine='python', header=None, skiprows=1, names=[ "user_id", "product_id", "rating", "review", "nouns", "summary", 'time' ]) # check_index = 1099 for index, row in df.iterrows(): # if index != check_index: # continue topic = row['user_id'] + '_' + row['product_id'] docs = [[sent] for sent in sent_tokenize(row['review'].strip())] refs = [sent_tokenize(row['summary'].strip())] if not refs: continue if not args.summary_size: summary_size = len(" ".join(refs[0]).split(' ')) else: summary_size = int(args.summary_size) logger.info('Topic ID: %s', topic) logger.info('###') logger.info('Summmary_len: %d', summary_size) rouge = Rouge(rouge_dir) algos = [ 'Luhn', 'LexRank', 'TextRank', 'LSA', 'KL', "ICSI", 'UB1', 'UB2' ] best_summary = [] best_score = 0.0 for algo in algos: best_summary, best_score = get_summary_scores( algo, docs, refs, summary_size, args.language, rouge, best_summary, best_score) rouge._cleanup() logger.info('###')
def main(): args = get_args() rouge_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'rouge/RELEASE-1.5.5/') data_path = os.path.join(args.iobasedir, args.data_setpath) log_path = os.path.join(args.iobasedir, 'logs') log_file = os.path.join( args.iobasedir, 'logs', 'baselines_%s_%s.log' % (args.data_set, args.summary_size)) mkdirp(log_path) set_logger(log_file) for filename in os.listdir(data_path): data_file = os.path.join(data_path, filename) topic = filename[:-5] try: docs, refs = load_data(data_file) except: pass if not refs: continue if not args.summary_size: summary_size = len(" ".join(refs[0]).split(' ')) else: summary_size = int(args.summary_size) logger.info('Topic ID: %s', topic) logger.info('###') logger.info('Summmary_len: %d', summary_size) rouge = Rouge(rouge_dir) algos = ['UB1', 'UB2', 'ICSI', 'Luhn', 'LexRank', 'LSA', 'KL'] for algo in algos: get_summary_scores(algo, docs, refs, summary_size, args.language, rouge) rouge._cleanup() logger.info('###')