dicee.query_generator
Classes
Module Contents
- class dicee.query_generator.QueryGenerator(train_path, val_path: str, test_path: str, ent2id: Dict = None, rel2id: Dict = None, seed: int = 1, gen_valid: bool = False, gen_test: bool = True)
- train_path
- val_path
- test_path
- gen_valid = False
- gen_test = True
- seed = 1
- max_ans_num = 1000000.0
- mode
- ent2id = None
- rel2id: Dict = None
- ent_in: Dict
- ent_out: Dict
- query_name_to_struct
- list2tuple(list_data)
- tuple2list(x: List | Tuple) List | Tuple
Convert a nested tuple to a nested list.
- set_global_seed(seed: int)
Set seed
- construct_graph(paths: List[str]) Tuple[Dict, Dict]
Construct graph from triples Returns dicts with incoming and outgoing edges
- fill_query(query_structure: List[str | List], ent_in: Dict, ent_out: Dict, answer: int) bool
Private method for fill_query logic.
- achieve_answer(query: List[str | List], ent_in: Dict, ent_out: Dict) set
Private method for achieve_answer logic. @TODO: Document the code
- write_links(ent_out, small_ent_out)
- ground_queries(query_structure: List[str | List], ent_in: Dict, ent_out: Dict, small_ent_in: Dict, small_ent_out: Dict, gen_num: int, query_name: str)
Generating queries and achieving answers
- unmap(query_type, queries, tp_answers, fp_answers, fn_answers)
- unmap_query(query_structure, query, id2ent, id2rel)
- generate_queries(query_struct: List, gen_num: int, query_type: str)
Passing incoming and outgoing edges to ground queries depending on mode [train valid or text] and getting queries and answers in return @ TODO: create a class for each single query struct
- save_queries(query_type: str, gen_num: int, save_path: str)
- abstract load_queries(path)
- get_queries(query_type: str, gen_num: int)
- static save_queries_and_answers(path: str, data: List[Tuple[str, Tuple[collections.defaultdict]]]) None
Save Queries into Disk
- static load_queries_and_answers(path: str) List[Tuple[str, Tuple[collections.defaultdict]]]
Load Queries from Disk to Memory