Пример #1
0
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()
Пример #2
0
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();
Пример #3
0
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;
Пример #4
0
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