diff --git a/config.sample.ini b/config.sample.ini index 0a6ebd959f6607348f52a4a33e838fb61eda87d1..da1a9f2b3cfacede965cea4c5cf3794fb5e36f5a 100644 --- a/config.sample.ini +++ b/config.sample.ini @@ -10,6 +10,7 @@ SENTENCE_SUFFIX = .sentence.txt PENMAN_AMR_GRAPH_SUFFIX = .stog.amr.penman DOT_AMR_GRAPH_SUFFIX = .stog.amr.dot PNG_AMR_GRAPH_SUFFIX = .stog.amr.png +SVG_AMR_GRAPH_SUFFIX = .stog.amr.svg AMR_RDF_SUFFIX = .stog.amr.nt AMR_TTL_SUFFIX = .stog.amr.ttl diff --git a/convert_text_to_amr.py b/convert_text_to_amr.py index fe6df82a4e1656fe0af9bf345c154bb9deffe4e8..1b0fda287f629b58c7019d2f5345cc7c311ac8ef 100644 --- a/convert_text_to_amr.py +++ b/convert_text_to_amr.py @@ -44,6 +44,7 @@ SENTENCE_SUFFIX = config['PARAM']['SENTENCE_SUFFIX'] PENMAN_AMR_GRAPH_SUFFIX = config['PARAM']['PENMAN_AMR_GRAPH_SUFFIX'] DOT_AMR_GRAPH_SUFFIX = config['PARAM']['DOT_AMR_GRAPH_SUFFIX'] PNG_AMR_GRAPH_SUFFIX = config['PARAM']['PNG_AMR_GRAPH_SUFFIX'] +SVG_AMR_GRAPH_SUFFIX = config['PARAM']['SVG_AMR_GRAPH_SUFFIX'] AMR_RDF_SUFFIX = config['PARAM']['AMR_RDF_SUFFIX'] AMR_TTL_SUFFIX = config['PARAM']['AMR_TTL_SUFFIX'] @@ -95,6 +96,11 @@ def get_png_amr_graph_output_filepath(data): data_file_name = data["data_ref"] + PNG_AMR_GRAPH_SUFFIX return data_dir + data_file_name +def get_svg_amr_graph_output_filepath(data): + data_dir = get_output_data_dir(data["output_data_dir"]) + data_file_name = data["data_ref"] + SVG_AMR_GRAPH_SUFFIX + return data_dir + data_file_name + def get_amr_rdf_triple_output_filepath(data): data_dir = get_output_data_dir(data["output_data_dir"]) data_file_name = data["data_ref"] + AMR_RDF_SUFFIX @@ -238,19 +244,30 @@ def generate_dot_amr_graph(data): graph = data["graph"] try: - # -- generating dot/png files using AMRLib and GraphViz dot_fn = get_dot_amr_graph_output_filepath(data) + + # -- generating dot/png files using AMRLib and GraphViz format = 'png' print("----- AMR Graph file (dot): " + dot_fn) plot = AMRPlot(dot_fn, format) plot.build_from_graph(graph) plot.graph.render() - render_fn = dot_fn + '.' + format # -- renaming PNG file good_png_fn = get_png_amr_graph_output_filepath(data) print("----- AMR Graph file (png): " + good_png_fn) os.rename(render_fn, good_png_fn) + # -- generating dot/svg files using AMRLib and GraphViz + format = 'svg' + print("----- AMR Graph file (dot): " + dot_fn) + plot = AMRPlot(dot_fn, format) + plot.build_from_graph(graph) + plot.graph.render() + render_fn = dot_fn + '.' + format # -- renaming SVG file + good_svg_fn = get_svg_amr_graph_output_filepath(data) + print("----- AMR Graph file (svg): " + good_svg_fn) + os.rename(render_fn, good_svg_fn) + except: logger.warning('Exception when trying to plot') # -- TODO traceback.print_exc()