Example #1
0
            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():
Example #2
0
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')
Example #3
0
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)