def __init__(self, freebase_graph_name_entity_file, freebase_graph_alias_entity_file, graphquestions_train_friendlyname_entity_file, clueweb_mention_pro_entity_file): self.freebase_graph_name_entity = read_dict( freebase_graph_name_entity_file) self.freebase_graph_alias_entity = read_dict( freebase_graph_alias_entity_file) if graphquestions_train_friendlyname_entity_file != '': self.graphquestions_train_friendlyname_entity = read_dict( graphquestions_train_friendlyname_entity_file) else: self.graphquestions_train_friendlyname_entity = dict() self.clueweb_mention_pro_entity = read_dict_dict( clueweb_mention_pro_entity_file)
graphq.graph_query = questionAnnotation["graph_query"] for node in questionAnnotation["graph_query"]["nodes"]: graphq.nodes.append(GroundedNode( nid=node["nid"], node_type=node["node_type"], type_class=node["class"], friendly_name=node["friendly_name"], question_node=node["question_node"], function=node["function"], id=node["id"], score=1.0)) for edge in questionAnnotation["graph_query"]["edges"]: graphq.edges.append(GroundedEdge( start=edge["start"], end=edge["end"], relation=edge["relation"], friendly_name=edge["friendly_name"], score=1.0)) graphq.sparql_query = questionAnnotation["sparql_query"] graphquestionsList.append(graphq) return graphquestionsList graph_questions_struct = read_graph_question_json(globals_args.fn_graph_file.graphquestions_testing_dir) def look_for_aggregation_by_qid(qid): function = "none" for graphq_struct in graph_questions_struct: if graphq_struct.qid == qid: function = graphq_struct.function break return function qid_to_q_dict = read_dict(globals_args.fn_graph_file.question_qid_normal_dict) def look_for_q_normal_by_qid(qid): q_normal = "none" if str(qid) in qid_to_q_dict: q_normal = qid_to_q_dict[str(qid)][0] return q_normal
from collections import OrderedDict from fuzzywuzzy import fuzz from common import globals_args from common import hand_files from method_sp.grounding._2_1_grounded_graph.node_linking import node_linking_utils quotation_dict = hand_files.read_dict(globals_args.kb_freebase_latest_file.quotation_file) def node_linking(node=None, top_k=10, elp=None): '''node grounding {'entity_id', 'entity_pro'} return top_k results''' results_dict = OrderedDict() if node.node_type == 'entity': entities_pros = elp.get_indexrange_entity_el_pro_one_mention(node_linking_utils.get_old_mention(node.friendly_name).lower(), top_k=top_k) if len(entities_pros) == 0: entities_pros = _node_entity_linking_quotation(node_mention=node.friendly_name, top_k=1) for entity, pro in entities_pros.items(): results_dict[entity] = pro elif node.node_type == 'class': results_dict['hhh'] = 1.0 # results_dict = cl_interface(node=node) 2020.11.03 elif node.node_type == 'literal' or node.node_type == 'DATE': if node.normalization_value is not None: results_dict[node.normalization_value] = 1.0 else: results_dict[node.friendly_name] = 1.0 node.node_type = 'literal' return results_dict
q_mode = globals_args.argument_parser.q_mode # 2.2 args if q_mode == 'cwq': oracle_file_root = globals_args.fn_cwq_file.grounded_graph_file + 'result/' oracle_all_files_path_names = os.listdir(oracle_file_root) literal_to_id_map = grounding_utils.read_literal_to_id_map( file_root=globals_args.fn_cwq_file.grounded_graph_file) kb_relations = hand_files.read_set( globals_args.kb_freebase_latest_file.freebase_relations_file) mediators_instances_set = hand_files.read_set( globals_args.kb_freebase_latest_file.mediators_instances_file) schema_lines_list = hand_files.read_list( globals_args.kb_freebase_latest_file.schema_file) property_reverse_dict = hand_files.read_dict( globals_args.kb_freebase_latest_file.freebase_reverse_property) literal_property_dict = hand_files.read_dict( globals_args.kb_freebase_latest_file.freebase_literal_property) elif q_mode == 'graphq': oracle_file_root = globals_args.fn_graph_file.grounded_graph_file + 'result/' oracle_all_files_path_names = os.listdir(oracle_file_root) literal_to_id_map = grounding_utils.read_literal_to_id_map( file_root=globals_args.fn_graph_file.grounded_graph_file) kb_relations = hand_files.read_set( globals_args.kb_freebase_en_2013.freebase_relations_file) mediators_instances_set = hand_files.read_set( globals_args.kb_freebase_en_2013.mediators_instances_file) schema_lines_list = hand_files.read_list( globals_args.kb_freebase_en_2013.schema_file)