diff --git a/convert_text_to_amr.py b/convert_text_to_amr.py index 9b9b05d0c1ea7f1a066ec99aece629704469b6bc..261ec6a87cb578fbcb712e5c4dffb1d831df8fe0 100644 --- a/convert_text_to_amr.py +++ b/convert_text_to_amr.py @@ -39,6 +39,7 @@ TEXT_SUFFIX = ".txt" 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" AMR_RDF_SUFFIX = ".amr.nt" AMR_TTL_SUFFIX = ".amr.ttl" @@ -85,6 +86,11 @@ def get_dot_amr_graph_output_filepath(data): data_file_name = data["data_ref"] + DOT_AMR_GRAPH_SUFFIX return data_dir + data_file_name +def get_png_amr_graph_output_filepath(data): + data_dir = get_output_data_dir(data["output_data_dir"]) + data_file_name = data["data_ref"] + PNG_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 @@ -211,7 +217,7 @@ def prepare_work_data(base_ref): #============================================================================== def generate_penman_amr_graph(data): - """ Writing AMR graph to output file """ + """ AMR graph generation in penman format """ graph = data["graph"] @@ -223,18 +229,27 @@ def generate_penman_amr_graph(data): def generate_dot_amr_graph(data): - graph = data["graph"] - try: - output_file = get_dot_amr_graph_output_filepath(data) - format = 'png' - print("----- AMR Graph file (dot, png): " + output_file) - plot = AMRPlot(output_file, format) - plot.build_from_graph(graph) - plot.graph.render() - # plot.view() # -- vizualisation of the dot graph - except: - logger.warning('Exception when trying to plot') # -- TODO - traceback.print_exc() + """ AMR graph generation in dot and png format """ + + graph = data["graph"] + + try: + # -- generating dot/png files using AMRLib and GraphViz + dot_fn = get_dot_amr_graph_output_filepath(data) + 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) + + except: + logger.warning('Exception when trying to plot') # -- TODO + traceback.print_exc() def convert_sentences_to_graphs(model, data_list): diff --git a/outputData/TEST/TEST-01/TEST-01.amr.nt b/outputData/TEST/TEST-01/TEST-01.amr.nt index 3f781df0016d2578d5d71394e447f97007a72828..c9e5f29f0a1b42b867e246820592b0df0f03f43a 100644 --- a/outputData/TEST/TEST-01/TEST-01.amr.nt +++ b/outputData/TEST/TEST-01/TEST-01.amr.nt @@ -1,22 +1,22 @@ -<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Term" . -<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . -<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Frame" . -<http://amr.isi.edu/amr_data/TEST-01#root01> <http://amr.isi.edu/rdf/core-amr#has-id> "TEST-01" . -<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . -<http://amr.isi.edu/rdf/amr-terms#sun> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . -<http://amr.isi.edu/amr_data/TEST-01#s2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#sun> . -<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . -<http://amr.isi.edu/amr_data/TEST-01#root01> <http://amr.isi.edu/rdf/core-amr#has-sentence> "The sun is a star." . -<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . -<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Role" . -<http://amr.isi.edu/entity-types#star> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#NamedEntity> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-EntityType" . +<http://amr.isi.edu/amr_data/TEST-01#root01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#AMR> . +<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Concept" . <http://amr.isi.edu/amr_data/TEST-01#root01> <http://amr.isi.edu/rdf/core-amr#root> <http://amr.isi.edu/amr_data/TEST-01#s> . <http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . -<http://amr.isi.edu/amr_data/TEST-01#root01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#AMR> . +<http://amr.isi.edu/amr_data/TEST-01#s2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#sun> . +<http://amr.isi.edu/rdf/amr-terms#sun> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/TEST-01#root01> <http://amr.isi.edu/rdf/core-amr#has-id> "TEST-01" . <http://amr.isi.edu/amr_data/TEST-01#s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/entity-types#star> . -<http://amr.isi.edu/amr_data/TEST-01#s> <http://amr.isi.edu/rdf/amr-terms#domain> <http://amr.isi.edu/amr_data/TEST-01#s2> . +<http://amr.isi.edu/amr_data/TEST-01#root01> <http://amr.isi.edu/rdf/core-amr#has-sentence> "The sun is a star." . +<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Role" . <http://amr.isi.edu/rdf/amr-terms#domain> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . -<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Concept" . -<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-EntityType" . <http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Role" . +<http://amr.isi.edu/amr_data/TEST-01#s> <http://amr.isi.edu/rdf/amr-terms#domain> <http://amr.isi.edu/amr_data/TEST-01#s2> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Term" . +<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Frame" . +<http://amr.isi.edu/entity-types#star> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#NamedEntity> . +<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . diff --git a/outputData/TEST/TEST-01/TEST-01.stog.amr.dot.png b/outputData/TEST/TEST-01/TEST-01.stog.amr.png similarity index 100% rename from outputData/TEST/TEST-01/TEST-01.stog.amr.dot.png rename to outputData/TEST/TEST-01/TEST-01.stog.amr.png diff --git a/outputData/TEST/TEST-02/TEST-02.amr.nt b/outputData/TEST/TEST-02/TEST-02.amr.nt index 447bae5987b8ac80a4598824dad228a434c36326..9f6e879086edc85af147e5165a0893030c988d9b 100644 --- a/outputData/TEST/TEST-02/TEST-02.amr.nt +++ b/outputData/TEST/TEST-02/TEST-02.amr.nt @@ -1,19 +1,19 @@ -<http://amr.isi.edu/amr_data/TEST-02#root01> <http://amr.isi.edu/rdf/core-amr#root> <http://amr.isi.edu/amr_data/TEST-02#p> . -<http://amr.isi.edu/amr_data/TEST-02#root01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#AMR> . -<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . -<http://amr.isi.edu/amr_data/TEST-02#p> <http://www.w3.org/2000/01/rdf-schema#label> "Earth" . -<http://amr.isi.edu/amr_data/TEST-02#root01> <http://amr.isi.edu/rdf/core-amr#has-id> "TEST-02" . -<http://amr.isi.edu/entity-types#planet> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#NamedEntity> . +<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Concept" . <http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . <http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . -<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-EntityType" . -<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Frame" . -<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Concept" . +<http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Role" . +<http://amr.isi.edu/amr_data/TEST-02#p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/entity-types#planet> . +<http://amr.isi.edu/amr_data/TEST-02#p> <http://www.w3.org/2000/01/rdf-schema#label> "Earth" . <http://amr.isi.edu/amr_data/TEST-02#root01> <http://amr.isi.edu/rdf/core-amr#has-sentence> "Earth is a planet." . -<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-EntityType" . <http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . -<http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Role" . <http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Role" . -<http://amr.isi.edu/amr_data/TEST-02#p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/entity-types#planet> . <http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Term" . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/TEST-02#root01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#AMR> . +<http://amr.isi.edu/amr_data/TEST-02#root01> <http://amr.isi.edu/rdf/core-amr#root> <http://amr.isi.edu/amr_data/TEST-02#p> . +<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Frame" . +<http://amr.isi.edu/entity-types#planet> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#NamedEntity> . +<http://amr.isi.edu/amr_data/TEST-02#root01> <http://amr.isi.edu/rdf/core-amr#has-id> "TEST-02" . +<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . diff --git a/outputData/TEST/TEST-02/TEST-02.stog.amr.dot.png b/outputData/TEST/TEST-02/TEST-02.stog.amr.png similarity index 100% rename from outputData/TEST/TEST-02/TEST-02.stog.amr.dot.png rename to outputData/TEST/TEST-02/TEST-02.stog.amr.png