mrp_post_processed = {} mrp_dict = json.loads(line) input = mrp_dict['input'] id = mrp_dict['id'] framework = mrp_dict['framework'] flavor = mrp_dict['flavor'] time = mrp_dict['time'] version = mrp_dict['version'] tops = mrp_dict['tops'] if len(tops) > 0: top = tops[0] else: top = None node_ids = get_id2lex(mrp_dict) edges = get_mrp_edges(mrp_dict) node_ids, edges = update_id_labels(edges, node_ids) lowered = lower_edge(edges) decompressed = decompress_c(lowered, node_ids) revised_top, with_h = add_h(decompressed, node_ids, top) mrp_post_processed['tops'] = [revised_top] mrp_post_processed['id'] = id mrp_post_processed['framework'] = framework mrp_post_processed['flavor'] = flavor mrp_post_processed['time'] = time mrp_post_processed['version'] = version mrp_post_processed['input'] = input node_ids, with_h = update_id_labels(with_h, node_ids) mrp_nodes = get_terminal_nodes(mrp_dict) for node in node_ids.keys():
from edge_to_irtg import edge2irtg from convert_irtg_to_mrp import get_edges, get_id2lex, get_input, get_mrp_edges, get_nodes, get_tops, irtg2mrp from process_c import compress_c_edge, decompress_c infile = sys.argv[1] outfile = sys.argv[2] non_deducible = ["id", "flavor", "framework", "version", "time"] with open(infile, 'r') as f: for line in f: mrp_dict = json.loads(line) extras = {} for category in mrp_dict.keys(): if category in non_deducible: extras[category] = mrp_dict[category] edges = get_mrp_edges(mrp_dict) labels = get_id2lex(mrp_dict) decompressed_c = decompress_c(edges) raised_d = raise_edge(decompressed_c, 'D', ['P', 'S'], mark=True) print(labels) for (u, v) in decompressed_c.keys(): if u not in labels: labels[u] = 'Non-Terminal' print(labels) postprocessed_mrp = irtg2mrp(raised_d, labels) for key in extras.keys(): postprocessed_mrp[key] = extras[key] with open(outfile, 'a') as out: out.write(json.dumps(postprocessed_mrp)) out.write('\n')
import sys import json import collections import os import random from tqdm import tqdm from edge_to_irtg import edge2irtg from get_edges_from_mrp import get_id2lex, get_mrp_edges from convert_irtg_to_mrp import get_edges, get_mrp_edges, get_nodes, get_tops, irtg2mrp from eliminate_h_top import eliminate_h from a_star_mrp import * mrp_in = sys.argv[1] with open(mrp_in) as infile: for line in infile: mrp = json.loads(line) print(mrp['id']) labels = get_id2lex(mrp) edges = get_mrp_edges(mrp, get_remote = False) irtg = edge2irtg(edges, labels) print(irtg) print('_'*40)