def __target_chart(scenario_name, program_runs): chart = report.pygal_bar() entries = {} # get targets for target_name, target_arr in target.get_targets().iteritems(): target_title = "Target " + target_name entries[target_title.upper( )] = target_arr[scenario_name]['actions-per-sec'] program_scenarios_processed = {} # for each config in each program try to find a matching scenario for program_run_name, program_run in program_runs.iteritems(): program_scenarios_processed[program_run_name] = {} for config_name, config_run in program_run['config_runs'].iteritems(): if scenario_name in program_scenarios_processed[ program_run_name]: # already checked for this program break if scenario_name in config_run['config_params']['scenarios']: config_params = config_run['config_params'] scenario_params = config_params['scenarios'][scenario_name] # if we have an empty entry here from previous iterations, then remove it, since we have found a valid one if program_run_name in entries: entries.pop(program_run_name, None) program_run_title = "%s (%d vu's)" % ( program_run_name, int(config_params['users'] * (scenario_params["percent-of-users"] / 100.0))) entries[ program_run_title] = config_report.scenario_peak_core_actions_per_sec_avg( scenario_name, config_run['enriched_metrics'], scenario_params) program_scenarios_processed[program_run_name][ scenario_name] = True else: entries[program_run_name] = None chart.title = scenario_name + ': action/s - program comparison' sorted_keys = sorted(entries) sorted_vals = map(lambda key: entries[key], sorted_keys) # format x_labels shared_prefix = __shared_prefix(sorted_keys) chart.x_labels = map( lambda key: key.replace(shared_prefix, "", 1) if shared_prefix else key, map(__format_set_title, sorted_keys)) chart.add('Actions/s', sorted_vals) chart.render_to_file( __report_path(program_runs.keys()) + "/" + __scenario_chart_name(scenario_name) + ".svg")
def __target_chart(scenario_name, program_runs): chart = report.pygal_bar() entries = {} # get targets for target_name, target_arr in target.get_targets().iteritems(): target_title = "Target " + target_name entries[target_title.upper()] = target_arr[scenario_name]['actions-per-sec'] program_scenarios_processed = {} # for each config in each program try to find a matching scenario for program_run_name, program_run in program_runs.iteritems(): program_scenarios_processed[program_run_name] = {} for config_name, config_run in program_run['config_runs'].iteritems(): if scenario_name in program_scenarios_processed[program_run_name]: # already checked for this program break if scenario_name in config_run['config_params']['scenarios']: config_params = config_run['config_params'] scenario_params = config_params['scenarios'][scenario_name] # if we have an empty entry here from previous iterations, then remove it, since we have found a valid one if program_run_name in entries: entries.pop(program_run_name, None) program_run_title = "%s (%d vu's)" % (program_run_name, int(config_params['users'] * (scenario_params["percent-of-users"] / 100.0))) entries[program_run_title] = config_report.scenario_peak_core_actions_per_sec_avg(scenario_name, config_run['enriched_metrics'], scenario_params) program_scenarios_processed[program_run_name][scenario_name] = True else: entries[program_run_name] = None chart.title = scenario_name + ': action/s - program comparison' sorted_keys = sorted(entries) sorted_vals = map(lambda key: entries[key], sorted_keys) # format x_labels shared_prefix = __shared_prefix(sorted_keys) chart.x_labels = map(lambda key: key.replace(shared_prefix, "", 1) if shared_prefix else key, map(__format_set_title, sorted_keys)) chart.add('Actions/s', sorted_vals) chart.render_to_file(__report_path(program_runs.keys()) + "/" + __scenario_chart_name(scenario_name) + ".svg")
def __combined_target_chart(target_chart_scenarios, program_runs): bar_args = {} if len(program_runs) > 5: bar_args["truncate_legend"] = 30 chart = report.pygal_bar(**bar_args) # chart.x_labels = map(str, range(2002, 2013)) # chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1]) # chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3]) sets = {} # collect target sets for target_name, target_arr in target.get_targets().iteritems(): target_title = "Target " + target_name sets[target_title] = {} for scenario_name in target_chart_scenarios: sets[target_title][scenario_name] = target_arr[scenario_name]['actions-per-sec'] for program_run_name, program_run in program_runs.iteritems(): sets[program_run_name] = {} # collect scenario run for each program sets for config_name, config_run in program_run['config_runs'].iteritems(): config_params = config_run['config_params'] for scenario_name in config_run['config_params']['scenarios']: scenario_params = config_params['scenarios'][scenario_name] sets[program_run_name][scenario_name] = config_report.scenario_peak_core_actions_per_sec_avg(scenario_name, config_run['enriched_metrics'], scenario_params) chart.title = 'All scenarios: action/s - program comparison' # make entries data_sets = {} x_labels = [] for set_name, set in sets.iteritems(): data_sets[set_name] = {"data":[]} shared_prefix = __shared_prefix(sets.keys()) for set_name in data_sets: if shared_prefix: shortened_set_name = set_name.replace(shared_prefix, "", 1) else: shortened_set_name = set_name set_title = shortened_set_name data_sets[set_name]["title"] = {"title": set_title, "data":[]} x_labels = [] for scenario_name in target_chart_scenarios: x_labels.append(scenario_name) x_labels = sorted(x_labels) # arrange data arrays according to sorted scenario_names for scenario_name in x_labels: for set_name, _set in sets.iteritems(): if (scenario_name in sets[program_run_name]) and (scenario_name in _set): data_sets[set_name]["data"].append(_set[scenario_name]) else: data_sets[set_name]["data"].append(None) chart.x_labels = map(__format_set_title, x_labels) # att chart sets for each target and program_run sorted_set_names = sorted(data_sets) for set_name in sorted_set_names: chart.add(data_sets[set_name]["title"], data_sets[set_name]["data"]) chart.render_to_file(__report_path(program_runs.keys()) + "/all_runs_and_targets.svg")
param_dict = { 'lang': 'en', 'processors': 'pos, lemma, tokenize, depparse', 'use_gpu': True, 'pos_batch_size': 3000 } nlp = stanza.Pipeline(**param_dict) text = args.input text = text.strip('?') text = nlp(text) # Identify targets # and extract string from word object target_words = get_targets(text) targets = [] for target_word in target_words: targets.append(target_word.text.strip("s").lower()) print("\nStarting program...") print("\nGot input question: ", args.input) print("") [print("Targets identified: ", target) for target in targets] # Get user triples if relational(text): triples = get_user_triples_relational(text, nlp) else:
def __combined_target_chart(target_chart_scenarios, program_runs): bar_args = {} if len(program_runs) > 5: bar_args["truncate_legend"] = 30 chart = report.pygal_bar(**bar_args) # chart.x_labels = map(str, range(2002, 2013)) # chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1]) # chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3]) sets = {} # collect target sets for target_name, target_arr in target.get_targets().iteritems(): target_title = "Target " + target_name sets[target_title] = {} for scenario_name in target_chart_scenarios: sets[target_title][scenario_name] = target_arr[scenario_name][ 'actions-per-sec'] for program_run_name, program_run in program_runs.iteritems(): sets[program_run_name] = {} # collect scenario run for each program sets for config_name, config_run in program_run['config_runs'].iteritems(): config_params = config_run['config_params'] for scenario_name in config_run['config_params']['scenarios']: scenario_params = config_params['scenarios'][scenario_name] sets[program_run_name][ scenario_name] = config_report.scenario_peak_core_actions_per_sec_avg( scenario_name, config_run['enriched_metrics'], scenario_params) chart.title = 'All scenarios: action/s - program comparison' # make entries data_sets = {} x_labels = [] for set_name, set in sets.iteritems(): data_sets[set_name] = {"data": []} shared_prefix = __shared_prefix(sets.keys()) for set_name in data_sets: if shared_prefix: shortened_set_name = set_name.replace(shared_prefix, "", 1) else: shortened_set_name = set_name set_title = shortened_set_name data_sets[set_name]["title"] = {"title": set_title, "data": []} x_labels = [] for scenario_name in target_chart_scenarios: x_labels.append(scenario_name) x_labels = sorted(x_labels) # arrange data arrays according to sorted scenario_names for scenario_name in x_labels: for set_name, _set in sets.iteritems(): if (scenario_name in sets[program_run_name]) and (scenario_name in _set): data_sets[set_name]["data"].append(_set[scenario_name]) else: data_sets[set_name]["data"].append(None) chart.x_labels = map(__format_set_title, x_labels) # att chart sets for each target and program_run sorted_set_names = sorted(data_sets) for set_name in sorted_set_names: chart.add(data_sets[set_name]["title"], data_sets[set_name]["data"]) chart.render_to_file( __report_path(program_runs.keys()) + "/all_runs_and_targets.svg")
return subjects, predicates, objects if __name__ == '__main__': param_dict = { 'lang': 'en', 'processors': 'pos, lemma, tokenize, depparse', 'use_gpu': True, 'pos_batch_size': 3000 } nlp = stanza.Pipeline(**param_dict) # doc = nlp("Which is the shortest and longest river in America?") # doc = nlp("Who are the professors of NLU and DSA?") # doc = nlp("Which is the highest mountain in Germany?") # doc = nlp("What is Angela's birth name?") # doc = nlp( # doc = nlp("Which rivers and lakes traverse Alaska") doc = nlp("Who is the oldest instructor in NLU?") # doc = nlp("What are the courses in ICT?") # doc = nlp("What is the longest river in Nepal and India?") target_words = target.get_targets(doc) targets = [] for target_word in target_words: targets.append(target_word.text.strip("s").lower()) triples = get_user_triples_non_relational(doc, nlp, targets) print("===================TRIPLES=====================") for subject, predicate, obj in triples: print(subject, predicate, obj) print("===============================================")