def make_tree(tree): if isinstance(tree, tuple) and len(tree) > 2: return ImmutableTree(tree[0], [make_tree(tree[i]) for i in range(2, len(tree))]) else: return tree if __name__ == "__main__": if len(sys.argv) != 2: print >> sys.stderr, "Usage: %s grammar.pickle" % (sys.argv[0]) exit(1) (grammar, sentence_tags) = pickle.load(open(sys.argv[1])) score = ChunkScore() for (gold, s) in list(sentences())[0:10]: print ' '.join(s) parses = list(parse(s, grammar, sentence_tags)) if parses: guess = make_tree(max(parses, key=operator.itemgetter(1))) print gold print guess score.score(gold, guess) print 'Accuracy:', score.accuracy() print 'Precision:', score.precision() print 'Recall:', score.recall() print 'F Measure:', score.f_measure()
if s not in parse(f, grammar): print "[ERROR] " + format(f) def make_tree(tree): if isinstance(tree, tuple) and len(tree) > 2: return ImmutableTree(tree[0], [make_tree(tree[i]) for i in range(2, len(tree))]) else: return tree if __name__ == "__main__": if len(sys.argv) != 2: print >> sys.stderr, "Usage: %s grammar.pickle"%(sys.argv[0]) exit(1) (grammar,sentence_tags) = pickle.load(open(sys.argv[1])) score = ChunkScore() for (gold, s) in list(sentences())[0:10]: print ' '.join(s) parses = list(parse(s, grammar, sentence_tags)) if parses: guess = make_tree(max(parses, key=operator.itemgetter(1))) print gold print guess score.score(gold, guess) print 'Accuracy:', score.accuracy() print 'Precision:', score.precision() print 'Recall:', score.recall() print 'F Measure:', score.f_measure()