def main(): call(["rm", "-f", "../isi_aligner_3/fAtable"]) call(["rm", "-f", "../isi_aligner_3/bAtable"]) call(["rm", "-f", "new-train-tokens"]) call(["rm", "-f", "new-train-concepts"]) #f = open('../isi_aligner_3/fAtable','w'); #f.close(); #f = open('../isi_aligner_3/bAtable','w'); #f.close(); load_amr_stopwords() amr_objects = read_corpus_file(sys.argv[1]) print "Aligning ", len(amr_objects), " AMRs" for amrobj in amr_objects: pair_count(amrobj) k = 1 f = open(sys.argv[2], 'w') for amrobj in amr_objects: #print k; amrobj.setAlignments(aligner(amrobj)) #amrobj.generate_printable_AMR(); s = amrobj.generate_writable(0) if len(amrobj.alignments) != 0: f.write(s + "\n") k = k + 1 f.close()
def main(): call(["rm","-f","../isi_aligner_3/fAtable"]); call(["rm","-f","../isi_aligner_3/bAtable"]); call(["rm","-f","new-train-tokens"]); call(["rm","-f","new-train-concepts"]); #f = open('../isi_aligner_3/fAtable','w'); #f.close(); #f = open('../isi_aligner_3/bAtable','w'); #f.close(); load_amr_stopwords(); amr_objects = read_corpus_file(sys.argv[1]); print "Aligning ", len(amr_objects), " AMRs"; for amrobj in amr_objects: pair_count(amrobj); k = 1; f = open(sys.argv[2],'w'); for amrobj in amr_objects: #print k; amrobj.setAlignments(aligner(amrobj)); #amrobj.generate_printable_AMR(); s = amrobj.generate_writable(0); if len(amrobj.alignments) != 0: f.write(s+"\n"); k = k+1; f.close();
def main(): corpfile = sys.argv[1]; truefile = sys.argv[2]; AMR_objects = read_corpus_file(corpfile); true_alignments = read_true_file(truefile); if(len(AMR_objects) != len(true_alignments)): print "Error : Unequal number of Test and True alignments"; sys.exit(0); TP = 0; FP = 0; FN = 0; for i in range(0,len(AMR_objects)): amrobj = AMR_objects[i]; #print amrobj.ID; #print amrobj.alignments; #print amrobj.AMR_string_printable; true = true_alignments[i]; #(tp, fp, fn) = amrobj.evaluate_alignments(true); try: (tp, fp, fn) = amrobj.evaluate_alignments(true); except IndexError: #print "Index Error : ", amrobj.ID; continue; TP = TP + tp; FP = FP + fp; FN = FN + fn; Precision = (TP/float(TP+FP))*100; Recall = (TP/float(TP+FN))*100; print "Precision : ", Precision; print "Recall : ", Recall; print; print; for i in range(0,len(AMR_objects)): amrobj = AMR_objects[i]; true = true_alignments[i]; print "#" +amrobj.ID; print "#" +' '.join(amrobj.tokens); print "#" +' '.join(amrobj.alignments); print "#" +' '.join(true); print amrobj.AMR_string_printable; print; evaluator = amrobj.Evaluator; evaluator.print_result(); print;
def main(): corpfile = sys.argv[1] truefile = sys.argv[2] AMR_objects = read_corpus_file(corpfile) true_alignments = read_true_file(truefile) if (len(AMR_objects) != len(true_alignments)): print "Error : Unequal number of Test and True alignments" sys.exit(0) TP = 0 FP = 0 FN = 0 for i in range(0, len(AMR_objects)): amrobj = AMR_objects[i] #print amrobj.ID; #print amrobj.alignments; #print amrobj.AMR_string_printable; true = true_alignments[i] #(tp, fp, fn) = amrobj.evaluate_alignments(true); try: (tp, fp, fn) = amrobj.evaluate_alignments(true) except IndexError: #print "Index Error : ", amrobj.ID; continue TP = TP + tp FP = FP + fp FN = FN + fn Precision = (TP / float(TP + FP)) * 100 Recall = (TP / float(TP + FN)) * 100 print "Precision : ", Precision print "Recall : ", Recall print print for i in range(0, len(AMR_objects)): amrobj = AMR_objects[i] true = true_alignments[i] print "#" + amrobj.ID print "#" + ' '.join(amrobj.tokens) print "#" + ' '.join(amrobj.alignments) print "#" + ' '.join(true) print amrobj.AMR_string_printable print evaluator = amrobj.Evaluator evaluator.print_result() print